FaceBook的Demucs音乐分轨预训练模型

音乐分轨预训练模型

常规的音乐文件是由若干个波形叠加而成的,每个波形分别对应不同的音轨,例如人声,鼓,贝斯,键盘…等等。在音乐信息检索(MIR)领域,音乐的分轨一直是一个热门话题,当前已有的分轨模型主要有Open-Unmix,Wave-U-Net,Demucs,Conv-Tasnet,MMDenseLSTM,Spleeter 等模型,本文主要针对FaceBook的Demucs预训练模型进行简单的测试分析。Demucs预训练模型当前能够将音频文件分至多达4个不同的音轨,包括:人声,鼓点,贝斯,其它。

安装

1.首先安装Anaconda (Python 3.7版本)。
2.启动Anaconda提示符。
3.逐行输入以下命令(很有肯能下载失败):

cd %HOMEPATH%
conda install git
git clone https://github.com/facebookresearch/demucs
cd demucs
conda env update -f environment-cpu.yml
conda activate demucs
python.exe -m demucs.separate -d cpu --dl "PATH_TO_AUDIO_FILE_1" ["PATH_TO_AUDIO_FILE_2" ...]

如果下载失败,推荐直接从Github上下载源码:
https://github.com/facebookresearch/demucs
附上百度云链接:
链接:https://pan.baidu.com/s/1XSNWwtunMsGx2fA4W9aEow
提取码:09o3

使用

下载完毕后,在根文件夹目录,打开PowerShell,输入以下命令:

python.exe -m demucs.separate -d cpu --dl "PATH_TO_AUDIO_FILE_1" ...

请将上述代码中"PATH_TO_AUDIO_FILE_1" ...替换成需要分离的音频文件路径(可以直接把文件拖进PowerShell),不出意外应该会下载一个2.5G左右的预训练模型,下载时间可能略长。
附上下载链接:
链接:https://pan.baidu.com/s/1RztOmIJ_SjZJNEGrVBUxbw
提取码:hk4i
请将下载好的模型放入根目录中的models文件夹中。

效果

笔者将常规MP3文件输入模型,在文件夹separated下生成了4个分轨文件:
人声:
https://pan.baidu.com/s/1CdBLpOAqnf2YniFOwAp2pw
提取码:eiek
鼓点:
链接:https://pan.baidu.com/s/1RMukVWvBsKCwOryvkrN5Yw
提取码:64xy
贝斯:
链接:https://pan.baidu.com/s/1He0eqb45iW7vWFITIsu9MQ
提取码:qcq5
其它:
链接:https://pan.baidu.com/s/1Sxl6yjWfAk_vLvIUMwhusw
提取码:eird

评价

对少量的样本进行了测试,笔者主观认为人声的提取还是存在少部分不够干净的情况,特别是人声的高频部分,会有较多的伴奏混入,同样其它几个音轨也存在类似问题,但是总体而言,相比传统的音频分离方法,深度学习的效果还是比较令人满意的。
人声的提取对于音乐当中主旋律的提取起着决定性作用。未来通过增加一些基于乐理规则的修正算法或可较好地将歌曲还原成MIDI或乐谱文件。

你可能感兴趣的:(FaceBook的Demucs音乐分轨预训练模型)