音乐人声分离工具:极简的人声和背景音乐分离工具

这是一个极简的人声和背景音乐分离工具,本地化网页操作,无需连接外网,使用 2stems/4stems/5stems 模型。

将一首歌曲或者含有背景音乐的音视频文件,拖拽到本地网页中,即可将其中的人声和音乐声分离为单独的音频wav文件,可选单独分离“钢琴声”、“贝斯声”、“鼓声”等

自动调用本地浏览器打开本地网页,模型已内置,无需连接外网下载。

支持视频(mp4/mov/mkv/avi/mpeg)和音频(mp3/wav)格式

只需点两下鼠标,一选择音视频文件,二启动处理。

预编译Win版使用方法/Linux和Mac源码部署

  1. 点击此处打开Releases页面下载预编译文件;

  2. 下载后解压到某处,比如 E:/vocal-separate;

  3. 双击 start.exe ,等待自动打开浏览器窗口即可;

  4. 点击页面中的上传区域,在弹窗中找到想分离的音视频文件,或直接拖拽音频文件到上传区域,然后点击“立即分离”,稍等片刻,底部会显示每个分离文件以及播放控件,点击播放;

  5. 如果机器拥有英伟达GPU,并正确配置了CUDA环境,将自动使用CUDA加速。

源码部署(Linux/Mac/Window)

  1. 要求 python 3.9->3.11

  2. 创建空目录,比如 E:/vocal-separate, 在这个目录下打开 cmd 窗口,方法是地址栏中输入 cmd, 然后回车。

  3. 使用git拉取源码到当前目录 git clone git@github.com:jianchang512/vocal-separate.git .

  4. 创建虚拟环境 python -m venv venv

  5. 激活环境,win下命令 %cd%/venv/scripts/activate,linux和Mac下命令 source ./venv/bin/activate

  6. 安装依赖: pip install -r requirements.txt

  7. win下解压 ffmpeg.7z,将其中的ffmpeg.exe和ffprobe.exe放在项目目录下, linux和mac 到 ffmpeg官网下载对应版本ffmpeg,解压其中的ffmpeg和ffprobe二进制程序放到项目根目录下

  8. 下载模型压缩包,在项目根目录下的 pretrained_models 文件夹中解压,解压后,pretrained_models中将有3个文件夹,分别是2stems/3stems/5stems

  9. 执行 python  start.py ,等待自动打开本地浏览器窗口。

API 

接口地址: http://127.0.0.1:9999/api

请求方法: POST

请求参数:

file: 要分离的音视频文件

model: 模型名称 2stems,4stems,5stems

返回响应: json code:int, 0 处理成功完成,>0 出错

msg:str,  出错时填充错误信息

data: List[str], 每个分离后的wav url地址,例如 ['http://127.0.0.1:9999/static/files/2/accompaniment.wav']

status_text: dict[str,str], 每个分离后wav文件的包含信息,{'accompaniment': '伴奏', 'bass': '低音', 'drums': '鼓', 'other': '其他', 'piano': '琴', 'vocals': '人声'}
import requests
# 请求地址
url = "http://127.0.0.1:9999/api"
files = {"file": open("C:\\Users\\c1\\Videos\\2.wav", "rb")}
data={"model":"2stems"}
response = requests.request("POST", url, timeout=600, data=data,files=files)
print(response.json())

{'code': 0, 'data': ['http://127.0.0.1:9999/static/files/2/accompaniment.wav', 'http://127.0.0.1:9999/static/files/2/vocals.wav'], 'msg': '分离成功
', 'status_text': {'accompaniment': '伴奏', 'bass': '低音', 'drums': '鼓', 'other': '其他', 'piano': '琴', 'vocals': '人声'}}

CUDA 加速支持

安装CUDA工具 详细安装方法

如果你的电脑拥有 Nvidia 显卡,先升级显卡驱动到最新,然后去安装对应的 CUDA Toolkit 11.8 和 cudnn for CUDA11.X。

安装完成成,按Win + R,输入 cmd然后回车,在弹出的窗口中输入nvcc --version,确认有版本信息显示,类似该图:

然后继续输入nvidia-smi,确认有输出信息,并且能看到cuda版本号,类似该图:

注意事项

  1. 中文音乐或中式乐器,建议选择使用2stems模型,其他模型对“钢琴、贝斯、鼓”可单独分离出文件;

  2. 如果电脑没有NVIDIA显卡或未配置cuda环境,不要选择 4stems和5stems模型,尤其是处理较长时长的音频时, 否则很可能耗尽内存。

项目链接

https://github.com/jianchang512/vocal-separate

  • 15
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB音频分离函数可以通过信号处理的方法将混合在一起的音频信号分离成各个独立的音频信号。音频分离函数在音频处理、语音识别音乐分析等领域有广泛的应用。 MATLAB提供了多种音频分离函数,其中比较常用的有基于快速独立成分分析(FastICA)算法的`fastica`函数、基于盲源分离(Blind Source Separation,BSS)算法的`bssmld`函数、基于非负矩阵分解(Non-negative Matrix Factorization,NMF)算法的`nmf`函数等。 使用这些函数进行音频分离的一般步骤如下: 1.加载音频数据:使用MATLAB的音频读取函数如`audioread`将混合的音频文件加载为MATLAB中的音频信号。 2.预处理音频数据:根据需要进行预处理,如去除噪声、均衡化音量等。 3.选择合适的音频分离函数:根据音频信号的特点和分离的需求选择合适的音频分离函数。 4.将音频信号输入分离函数:将预处理后的音频信号输入选择的音频分离函数进行处理。 5.获取分离后的音频信号:从音频分离函数的输出中获取分离后的音频信号。 6.保存分离后的音频信号:使用MATLAB的音频写入函数如`audiowrite`将分离后的音频信号保存为音频文件。 需要注意的是,音频分离是一个复杂的任务,其结果受到多个因素的影响,包括音频信号的质量、混合音频的复杂程度、选择的分离算法等。因此,在实际应用中需要根据具体情况进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值