spleeter分离伴奏和人声

Spleeter是一款高效的音乐源分离引擎,利用深度学习技术将音乐混合音分离成不同乐器或人声音轨。本文介绍了Spleeter的工作原理、使用手册,包括2stems、4stems和5stems模型的运用,以及Windows下的配置和测试方法。此外,还提及了模型训练、评估和Docker的使用。
摘要由CSDN通过智能技术生成


近日,Deezer开源了一个名为Spleeter项目,该项目利用深度学习对音乐曲目进行源分离。它使用Keras和TensorFlow构建,Spleeter可以帮助音乐信息检索(MIR)领域的研究机构,充分利用最先进的源分离算法的强大功能,它以基于Tensorflow的Python库的形式出现,包含针对2、4和5个词干分隔的预训练模型。

什么是源分离?

音乐录音通常是几个单独乐器音轨的组合(主音,鼓,贝斯,钢琴等)。
音乐源分离的任务是:给定混合音我们是否可以恢复这些分离的音轨(有时称为tems)
在这里插入图片描述
这个任务的应用范围非常广泛:比如混音、上混音、主动聆听、教育目的,还可以预处理其他任务,例如转录。
通过多种乐器的混合,像Spleeter这样的源分离引擎会输出一组单独的音轨或词干。
有趣的是,我们的大脑非常擅长分离乐器。只需专注于该曲目中的一种乐器,您就可以与其他乐器完全区别开来,并且听到它。但这并不是真正的分离,您仍然可以听到所有其他部分。
在许多情况下,可能无法准确恢复已混合在一起的各个音轨。因此,面临的挑战是尽可能地逼近它们,也就是说,在不造成太多失真的情况下,尽可能地接近原作。
多年来,来自世界各地的数十个杰出研究团队探索了许多策略。
近来,取得了突破性的进步,这主要归功于机器学习方法的进步。
为了跟踪最新进展,人们一直在国际评估活动中比较他们的算法。所以我们知道Spleeter的性能与提出的最佳算法相匹配。
此外,Spleeter非常快。如果您运行的是GPU版本,则预期分离速度比实时速度快100倍,这使其成为处理大型数据集的理想选择。

数据集
mushdb

使用手册

命令 描述
train 训练源分离模型,您需要一个单独的轨道数据集才能使用它
evaluate 在musDB 测试集中进行预训练的模型评估

要获得有关separate 命令可用的不同选项的帮助 ,请键入:

spleeter separate -h

使用2stems模型

您可以使用默认的2个词干 (人声/伴奏)预训练模型直接分离音频文件, 如下所示:

spleeter separate -i audio_example.mp3 -o audio_output

-i 选项用于提供音频文件名列表。
-o 是提供输出路径在哪里写分离的wav文件。
由于该命令将下载预先训练的模型,因此在第一次运行时可能会花费一些时间。如果一切顺利,则应该获得一个audio_output/audio_example 包含两个文件的文件夹 : accompaniment.wav 和 vocals.wav。

使用4stems模型

您还可以使用预先训练的4个主音色 (人声/贝斯/鼓/其他)模型:
该 -p 选项用于提供模型设​​置。它可以是Spleeter

  • 10
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
ReadMe Release Version beta_1.0 index.py imageMatlab.py This is more or less a wrapper for Matplotlib imaging functions such that their behavior is equivalent, in terms of colormap, aspect and so forth, to the expected behavior of Matlab's functions. sepVocal.py This script can be used to execute the desired separation. See below for an example of use of this file. SIMM.py This script implements the actual algorithm for parameter estimation. It is mainly used by sepVocal.py. tracking.py The Viterbi decoding algorithm is implemented in this script. Requirements: These scripts have been tested with Python 2.7, The packages that are required to run the scripts are pydub,ffmepg, Numpy, Spicy, Matplotlib. One can respectively find the latest versions at the following addresses: http://pydub.com/ https://ffmpeg.org http://numpy.org/ http://scipy.org/ http://matplotlib.sourceforge.net/ Notes: Prefer recent versions of the above packages, in order to avoid compatibility issues, notably for Matplotlib. Note that this latter package is not necessary for the program to run, although you might want to watch a bit what is happening! Spicy should be version 0.8+, since we use its io.wavefile module to read the wave files. We once used the audio lab module, but it would seem that it is a bit more complicated to install (with the benefit that many more file formats are allowed). Usage: The easy way to use these scripts is to run the exec package of our release version: http://www.github.com/beata_1.0 for more develop: you can run the index.py on pycharm directly. note: the output files will create under you source wav file. ContactMe Email:xlzhang14@fudan.edu.cn
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值