Spleeter 项目介绍
项目背景
Spleeter 是由 Deezer 开发的一个音乐源分离库,采用了预训练模型,使用 Python 和 TensorFlow 编写。它让用户能够轻松训练源分离模型,并提供了用于执行不同分离操作的预训练模型。这些操作包括:
- 人声和伴奏的分离(2部分)
- 人声、鼓、贝斯及其他声部的分离(4部分)
- 人声、鼓、贝斯、钢琴及其他声部的分离(5部分)
Spleeter 的两部分和四部分模型在 musdb 数据集上表现优异,并在 GPU 上运行时可实现比实时快100倍的分离速度。
功能概述
Spleeter 可以直接从命令行使用,也可以在开发环境中作为 Python 库使用。它可以通过 pip 安装,也可以通过 Docker 使用。这种多样化的使用方式使其非常灵活且易于集成到各种项目中。
使用案例与集成应用
自发布以来,Spleeter 被广泛应用于多种项目中。尤其是在 Ableton Live 生态系统中的 Spleeter 4 Max 项目中被移植。Spleeter 的预训练模型也被专业的音频软件使用,例如:
- iZotope 的 RX 8 中的 Music Rebalance 功能
- Steinberg 的 SpectralLayers 7 中的 Unmix 功能
- Acon Digital 的 Acoustica 7
- VirtualDJ 的 stem 隔离功能
- Algoriddim 的 NeuralMix 和 djayPRO 应用程序套件
Spleeter 还是 Music Demixing Challenge 的基准方法。
商业版本
Deezer 还提供了 Spleeter 的商业版本,即 Spleeter Pro。用户可以通过此版本获得更精确的音频分离、更快的处理速度及专业支持服务。
快速入门
用户可以通过 Google Colab 在线上试用 Spleeter,无需安装任何东西。要在本地计算机上运行,需先安装 ffmpeg 和 libsndfile,然后可以通过 pip 安装 Spleeter。以下是一个简单实例:
# 安装依赖项
conda install -c conda-forge ffmpeg libsndfile
# 安装 spleeter
pip install spleeter
# 下载示例音频文件
wget https://github.com/deezer/spleeter/raw/master/audio_example.mp3
# 分离音频文件
spleeter separate -p spleeter:2stems -o output audio_example.mp3
完成后,用户将在 output/audio_example 文件夹中获得两个已分离的音频文件:vocals.wav
和 accompaniment.wav
。
发展与测试
该项目使用 Poetry 进行管理,可以通过克隆项目并使用 Poetry 执行测试:
# 克隆存储库并进入项目目录
git clone https://github.com/Deezer/spleeter && cd spleeter
# 安装 poetry
pip install poetry
# 安装项目依赖
poetry install
# 运行测试套件
poetry run pytest tests/
许可证与授权
Spleeter 的代码使用 MIT 许可证。如果打算在版权材料上使用 Spleeter,必须提前获得相关著作权人的正式授权。
贡献指南
欢迎大家为 Spleeter 的开发做出贡献。在提交拉取请求前,请查看我们的贡献指南。
通过上述描述,Spleeter 是一个功能强大且灵活的工具,为音频处理领域的开发者带来了极大的便利与启发。