首页 > 编程语言 >使用Python扩展库spleeter分离MP3音乐文件中的伴奏和人声

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

时间:2023-06-09 19:06:41浏览次数:58  
标签:oauthlib 音乐文件 spleeter Python 分离 MP3 人声


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扩展库安装与常见问题解决完整指南

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

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

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

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

命令行用法演示:

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

测试音乐:

分离结果-伴奏:

分离结果-人声:

可能遇到的错误:

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

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

声明:

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


标签:oauthlib,音乐文件,spleeter,Python,分离,MP3,人声
From: https://blog.51cto.com/u_9653244/6450592

相关文章

  • Python三种方法统计4位自然数变为黑洞数6174所需次数分布
    对于各位数字互不相同的4位自然数,其各位数字能够组成的最大数减去能够组成的最小数,对得到的差进行同样的操作,7次之内必然得到6174。详见:使用Python验证6174猜想编写程序,统计各位数字互不相同的所有4位自然数变为6174所需要的操作次数,分别统计所需次数一样的数字个数,最后绘制柱状图......
  • Python合并多幅静图为GIF动图
    给定多幅尺寸一样的静态图像文件,编写Python程序合并为GIF动图。准备工作:安装扩展库gif。打开一个PPT(144页幻灯片),另存为jpg图片,选择每张幻灯片一个图片文件。文件夹结构如下:参考代码:运行结果:......
  • Python获取每个用户使用的CPU和内存百分比
    任务描述:编写Python程序,查看当前系统中每个用户使用的CPU和内存百分比。准备工作:安装扩展库psutil。参考代码:连续几次运行结果:......
  • Python批量提取Excel文件中的图片
    任务描述:给定xlsx格式的Excel文件,其中A列为图片名称,B列为图片,格式如下:要求编写Python程序,批量提取B列所有图片,并分别以同一行中A列字符串作为图片文件名称进行保存。准备工作:安装扩展库openpyxl和openpyxl_image_loader。参考代码:运行结果:......
  • Python+matplotlib响应鼠标滚轮事件调整图形大小
    任务描述:使用Python+matplotlib绘制一条正弦曲线,然后响应鼠标滚轮事件,鼠标向上滚动放大图形,鼠标向下滚动缩小图形。再结合matplotlib提供的平移工具,方便查看图形的任意部位。参考代码:......
  • Python+tkinter动态显示与隐藏窗口上的组件
    使用Python+tkinter创建应用程序窗口,根据需要动态显示和隐藏特定的组件。可能的应用场景:多个相似的功能共用同一个窗口,根据标志位来控制需要隐藏和显示哪些组件。如果整个界面在完成某个功能时完全不需要显示某个组件,也可以根据标志位的不同选择性地执行组件的place()方法。参考代......
  • Python使用正则表达式检查合法IP地址
    问题描述:函数main()接收一个任意字符串s作为参数,要求使用正则表达式检查字符串s是否为有效的IPv4地址,也就是由3个圆点分隔的4组十进制数且每组十进制数都介于区间[0,255]。如果字符串s符合要求就返回True,否则返回False。例如,main('0.0.0.0')返回True,main('119.189.876.0')返回False......
  • Python+matplotlib绘制散点图模拟心型图案
                    第1章 Python开发环境搭建与编码规范    本章学习目标    1.1 Python开发环境搭建与使用        1.1.1 IDLE        1.1.2 Anaconda3        1.1.3 安装扩展库    1.2 Python编码规范    1.3......
  • Python保存任意长度的matplotlib动画为GIF动图
    任务描述:使用Python+matplotlib绘制散点图动画模拟随机游走的布朗运动,每个散点符号表示一个分子,每个散点符号都有不同的预期停靠位置,当随机游走到停靠位置之后不再运动,最后把完整动画保存为GIF动图。由于每个分子的运动都是随机的,无法确定什么时候才能到达预期的终点,所以整个动画的......
  • Python小屋刷题神器题目分类速查表
    每次录入新题目时都会更新下面的分类表,请注意查看最新信息。客观题:Python基础知识:1-36内置函数、运算符:37-271列表、元组、字典、集合、切片、推导式:272-679选择结构与循环结构:680-765字符串操作:766-988正则表达式:989-1080函数定义与使用:1081-1220面向对象程序设计:1221-1293文件操......