您当前的位置:首页 > 计算机 > 编程开发 > Python

使用Python扩展库spleeter分离MP3音乐文件中的伴奏和人声

时间:01-08来源:作者:点击数:

关于spleeter:

spleeter是由法国的音乐流媒体公司Deezer开源的项目,可以把音乐文件其分成2、4、5等多个独立的音轨,支持mp3、wav、ogg等常见音频格式。

Spleeter基于TensorFlow开发,依赖sniffio、 six、 oauthlib、 rfc3986、 requests-oauthlib、 numpy、 llvmlite、 h11、 anyio、 wheel、 tensorboard-plugin-wit、 tensorboard-data-server、 numba、 markdown、 hyperframe、 httpcore、 hpack、 grpcio、 google-auth-oauthlib、 charset-normalizer、 absl-py、 wrapt、 typing-extensions、 termcolor、 tensorflow-estimator、 tensorboard、 soundfile、 resampy、 pooch、 opt-einsum、 keras-preprocessing、 keras-nightly、 httpx、 h5py、 h2、 google-pasta、 gast、 flatbuffers、 click、 audioread、 astunparse、 typer、 tensorflow、 norbert、 librosa、 ffmpeg-python等大量扩展库,分离过程可以在GPU或CPU上执行,使用GPU可以获得更快的分离速度。

任务描述:

给定MP3音乐文件,分离其中的伴奏音乐和人声,保存为独立的MP3文件。

准备工作:

1. 准备待分离的MP3音乐文件。

2. 使用pip安装扩展库spleeter以及依赖库,由于依赖库较多,建议指定国内源提高速度,参考:Python扩展库安装与常见问题解决完整指南

afbd01c9fdab8d98fcf43fc7c7ba3523.png

3. 下载ffmpeg/ffplay/ffprobe(网上很容易下载,或者后台发送消息“分离人声”获取百度网盘地址),解压缩到本地硬盘,记下bin文件夹路径,然后添加到系统环境变量Path中,如下图

5e12807ba7860f9f18554ad9d2f643d5.png
700ad52abba2a58209433f04b8b1a4e5.png

命令行用法演示:

32639e15c0c22c7efebbd718ef1aeb57.png

测试音乐:

分离结果-伴奏:

分离结果-人声:

可能遇到的错误:

1. 如果遇到错误提示,

ValueError: Can't load save_path when it is None.

可以在资源管理器中进入执行命令的当前文件夹,删除子文件夹pretrained_models,然后重新执行命令。

2. 如果遇到错误提示,

ERROR:spleeter:ffprobe binary not found

回到准备工作的第3步,检查是否安装成功并配置Path变量,如果确认没问题,可以重新cmd或PowerShell。

3. 如果遇到错误提示,

httpx.ReadTimeout: The read operation timed out

检查网络连接是否正常,然后重新执行命令。

声明:

本文内容仅用于技术研究,切勿用于侵权行为,请支持音乐版权。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门