文章目录
近日,Deezer开源了一个名为Spleeter项目,该项目利用深度学习对音乐曲目进行源分离。它使用Keras和TensorFlow构建,Spleeter可以帮助音乐信息检索(MIR)领域的研究机构,充分利用最先进的源分离算法的强大功能,它以基于Tensorflow的Python库的形式出现,包含针对2、4和5个词干分隔的预训练模型。
什么是源分离?
音乐录音通常是几个单独乐器音轨的组合(主音,鼓,贝斯,钢琴等)。
音乐源分离的任务是:给定混合音我们是否可以恢复这些分离的音轨(有时称为tems)
这个任务的应用范围非常广泛:比如混音、上混音、主动聆听、教育目的,还可以预处理其他任务,例如转录。
通过多种乐器的混合,像Spleeter这样的源分离引擎会输出一组单独的音轨或词干。
有趣的是,我们的大脑非常擅长分离乐器。只需专注于该曲目中的一种乐器,您就可以与其他乐器完全区别开来,并且听到它。但这并不是真正的分离,您仍然可以听到所有其他部分。
在许多情况下,可能无法准确恢复已混合在一起的各个音轨。因此,面临的挑战是尽可能地逼近它们,也就是说,在不造成太多失真的情况下,尽可能地接近原作。
多年来,来自世界各地的数十个杰出研究团队探索了许多策略。
近来,取得了突破性的进步,这主要归功于机器学习方法的进步。
为了跟踪最新进展,人们一直在国际评估活动中比较他们的算法。所以我们知道Spleeter的性能与提出的最佳算法相匹配。
此外,Spleeter非常快。如果您运行的是GPU版本,则预期分离速度比实时速度快100倍,这使其成为处理大型数据集的理想选择。
使用手册
命令 | 描述 |
---|---|
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