建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
直达楼层
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

采纳成功

您已采纳当前回复为最佳回复

WolfChen1996

发帖: 1粉丝: 0

发消息 + 关注

发表于2021年03月30日 08:59:06 142 2
直达本楼层的链接
楼主
显示全部楼层
[技术干货] 用Spleeter从音频中分离BGM和人声

大家好我是狗头人,今天,来跟大家介绍一下从音频中分离BGM和人声的 Spleeter

Git地址:https://github.com/deezer/spleeter

码云镜像地址:https://gitee.com/mirrors/spleeter

Spleeter 是法国的音乐流媒体公司 Deezer 基于 Tensorflow 的一个开源项目,

可以从音乐中分离出 人声/鼓/贝斯/钢琴/其他东西(Vocals / drums / bass / piano / other separation)

具体的效果我放在附件里啦,大家可以感受一下


#安装运行库

pip install ffmpeg
pip install tensorflow

#这一步比较慢啊,将下面6行复制到 Terminal 里运行,大概要在10分钟的时候敲个 y,然后继续安装。主要是需要 libsndfile 中的 sndfile library,如果不安装的话没法运行

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda install -c conda-forge libsndfile

#安装spleeter,安装到 tensorFlow==2.3.0 的时候会报错,不用在意,不影响项目运行

#这个也要复制到 Terminal 运行,不知为何,如果用 notebook 安装在后面回会显示找不到 spleeter

pip install spleeter

#从 obs 导入模型,这里我使用官方提供的 2stems 模型,也就是2条音轨;如需更多模型,可前往作者 git 进行下载,也可以用纯音轨自行训练。

#模型下载地址:https://github.com/deezer/spleeter/releases

from modelarts.session import Session
session = Session()
session.obs.download_file(src_obs_file="obs://spleeter/2stems/._checkpoint", dst_local_dir="/home/ma-user/work/pretrained_models/2stems/")
session.obs.download_file(src_obs_file="obs://spleeter/2stems/checkpoint", dst_local_dir="/home/ma-user/work/pretrained_models/2stems/")
session.obs.download_file(src_obs_file="obs://spleeter/2stems/model.data-00000-of-00001", dst_local_dir="/home/ma-user/work/pretrained_models/2stems/")
session.obs.download_file(src_obs_file="obs://spleeter/2stems/model.index", dst_local_dir="/home/ma-user/work/pretrained_models/2stems/")
session.obs.download_file(src_obs_file="obs://spleeter/2stems/model.meta", dst_local_dir="/home/ma-user/work/pretrained_models/2stems/")

#从 obs 导入要分离的音乐,也可以直接上传

from modelarts.session import Session
session = Session()
session.obs.download_file(src_obs_file="obs://spleeter/bigfish.mp3", dst_local_dir="/home/ma-user/work")

#开始分离

#切换路径至 work 文件夹

#spleeter: 后面是使用的模型,这里我使用官方提供的 2stems 模型,也就是2条音轨;如需更多模型,可前往作者git进行下载,也可以用纯音轨自行训练。

#模型下载地址:https://github.com/deezer/spleeter/releases

#-o后面是输出目录,这里设置成 output,之后会在 output 下生成对应名字的文件夹存放输出文件

#最后是需要分离的音频,这里我选用了周深的《大鱼》(分离整首歌大概用了1分钟吧……)

#分离完毕后,你将在 output 目录下,找到包含人声的 vocals.wav 以及包含 BGM 的 accompaniment.wav

spleeter separate -p spleeter:2stems -o output bigfish.mp3


这样一来,你就得到这段音乐的BGM和人声啦!

notebook的文件我放在附件里啦,有需要的可以下载

obs应该是开放的,里面的模型可以直接拿去用


image.png


最后,狗头人祝你,身体健康!

欢迎关注我的微信公众号:JNUWolf

400.jpg


Spleeter.ipynb.zip 3.98 KB,下载次数:0

分理出的人声和bgm.zip 2.19 MB,下载次数:0

举报
分享

分享文章到朋友圈

分享文章到微博

采纳成功

您已采纳当前回复为最佳回复

HW-QGS

发帖: 224粉丝: 19

发消息 + 关注

发表于2021年03月30日 09:33:50
直达本楼层的链接
沙发
显示全部楼层

感谢分享

点赞1 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

yyy7124

发帖: 162粉丝: 3

发消息 + 关注

发表于2021年03月30日 10:51:04
直达本楼层的链接
板凳
显示全部楼层

点赞1 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册

结贴

您对问题的回复是否满意?
满意度
非常满意 满意 一般 不满意
我要反馈
0/200