项目介绍:vocal-remover
项目简介
vocal-remover 是一个基于深度学习的工具,专门用于从歌曲中提取伴奏曲目。它的主要功能是将输入的音频文件分离成伴奏和人声两个部分。这对于音乐制作人和音频工程师而言,是一款非常实用的软件,可以帮助他们创造无伴奏或纯伴奏的音乐版本。
安装指南
获取 vocal-remover
用户可以通过访问项目的 GitHub 页面,下载最新版本的 vocal-remover。下载后,需要进行必要的安装步骤以便于软件运行。
安装 PyTorch
vocal-remover 的正常运行依赖于 PyTorch。安装 PyTorch 的详细步骤可以通过访问其官方网站获得,以确保正确配置。
安装其他必要包
在下载和安装 vocal-remover 后,用户需要切换到项目文件夹,并使用以下命令来安装所需的 Python 包:
cd vocal-remover
pip install -r requirements.txt
使用说明
vocal-remover 可将输入音频文件分解为伴奏和人声音轨,分别保存为 *_Instruments.wav
和 *_Vocals.wav
。
使用 CPU 运行
用户可以通过以下命令进行操作:
python inference.py --input path/to/an/audio/file
使用 GPU 运行
如果具备 GPU 支持,可以使用以下命令以提高处理速度:
python inference.py --input path/to/an/audio/file --gpu 0
高级选项
对于想要提高分离质量的用户,可以使用一些高级选项:
-
--tta
:此选项执行测试时增强,可提升分离质量。python inference.py --input path/to/an/audio/file --tta --gpu 0
-
--postprocess
:此选项根据人声音量对伴奏部分进行遮罩以提高质量。注意:这是一个实验性功能,若使用中出现问题,请将此选项关闭。
python inference.py --input path/to/an/audio/file --postprocess --gpu 0
训练自定义模型
对于希望使用自定义数据训练模型的用户,可以按照以下步骤进行:
-
准备数据集 数据集需要按以下结构放置:
path/to/dataset/ +- instruments/ | +- 01_foo_inst.wav | +- 02_bar_inst.mp3 | +- ... +- mixtures/ +- 01_foo_mix.wav +- 02_bar_mix.mp3 +- ...
-
训练模型 使用以下命令开始训练:
python train.py --dataset path/to/dataset --mixup_rate 0.5 --reduction_rate 0.5 --gpu 0
参考文献
vocal-remover 项目的开发得益于多篇学术研究的支持,主要参考了如下文献:
- Jansson 等人关于深度 U 型网络在歌声分离中的应用
- Takahashi 等人的多尺度多带 DenseNets 研究
- Liutkus 等人关于信号分离评估的研究
这些文献为 vocal-remover 的核心算法与功能提供了坚实的理论基础。