Spleeter
Deezer 开源的音轨分离库,用 Python 和 TensorFlow 写成,自带预训练模型,可把歌曲拆成人声、鼓、贝斯、钢琴等 2 至 5 条音轨,在 GPU 上拆四轨比实时快 100 倍,适合开发者把分离能力接进自己的音频软件。
Spleeter 是音乐流媒体公司 Deezer 开源的一个音轨分离库,用 Python 写,底层跑在 TensorFlow 上。它要解决的问题很具体:一首混好的歌里人声、鼓、贝斯、钢琴全叠在一起,想单独拿出某一路来用,靠它就能拆开。仓库里直接带了训练好的模型,装完就能跑,不必自己准备数据集。
主要功能
按材料里的说法,它提供几种拆分方式:人声与伴奏两轨、人声/鼓/贝斯/其他四轨、人声/鼓/贝斯/钢琴/其他五轨。两轨和四轨模型在 musdb 数据集上表现不错。速度是它的卖点之一,在 GPU 上把音频拆成四轨比实时快 100 倍。
用法有两种:命令行直接处理音频文件,或者作为 Python 库嵌进自己的开发流程。安装走 pip,也提供 Docker 镜像。不想装环境的话,官方准备了一个 Google Colab 可以直接试。仓库里还提到,如果你手上有分离好的音源数据集,也可以拿它训练自己的模型。
适合谁
主要是开发者、做音频处理的研究者,以及想把分离能力接进自己软件的人。材料列了一串用过它预训练模型的商业音频软件,比如 iZotope RX 8 的 Music Rebalance、SpectralLayers 7 的 Unmix、Acoustica 7、VirtualDJ 和 djayPRO。社区里也有不少人给它套了图形界面或做成网站,但材料明确说这些第三方项目 Deezer 不托管、不维护、也不直接支持。
费用与限制
仓库采用 MIT 许可证,代码开源可商用。材料提到 2.1.0 版本引入了破坏性改动,包括输入参数的命令行选项改名,以及去掉了单独的 GPU 包,升级前要看 CHANGELOG。另外 Deezer 还有一个商业版 Spleeter Pro,主打更精确的分离、更快的速度和专业支持,具体价格材料里没写。安装前需要先装好 ffmpeg 和 libsndfile。