该内容已被发布者删除 该内容被自由微信恢复
文章于 2020年3月7日 被检测为删除。
查看原文
被用户删除
其他

想听歌手清唱?用这个开源项目瞬间搞定!

GitHubDaily 2019-11-20
公众号关注 “GitHubDaily
设为 “星标”,每天带你逛 GitHub!

转自量子位,作者晓查
喜欢自己用手机 K 歌?但 K 歌 App 里人声往往清除得不够干净,录制起来效果一般。
现在有个 AI 神器可以干净地剥离歌曲里的乐器声啦。
来自法国的音乐流媒体公司 Deezer 开源了一个音轨分离软件 spleeter,只需输入一段命令就可以将音乐的人声和各种乐器声分离,支持 mp3wavogg 等常见音频格式。
这款软件基于 TensorFlow 开发,效果拔群,有网友说自己曾经试过无数类似软件,spleeter 是最好用的一个。
小编尝试了周杰伦的新歌《说好不哭》,人声轨道在开头部分几乎实现了静音,听不到任何乐器声,直到 26 秒才开始出现周杰伦的歌声:
而伴奏部分在整个过程中仅有极少量微弱的换气声:
spleeter 还支持 GPU 加速。如果在 GPU 上运行,会比实时分解速度快 100 倍,也就是说分解一首 5 分钟的歌曲只需要 3 秒
spleeter 在 GitHub 上线仅仅一周,就收获了 2.4K 星,在 Hacker News 上也有 1000 + 的热度。

最多分离 5 个音轨

用户可以根据自己的需求来训练模型,Deezer 还给出了在 musdb 数据集上的预训练模型,因此能直接拿来使用。
在官方提供的预训练模型里,spleeter 可将人声和乐器声分为 2 个音轨,已经能满足基本的要求。
此外它还能把乐器声进一步分离为鼓、贝斯、钢琴及其他乐曲,加上人声,spleeter 最多可以分离出 5 个音轨。
其中,2 个音轨和 4 个音轨的模型在 musdb 据集上均具有最先进的性能。

使用方法

spleeter 可以从 conda 或者 pip 安装。
如果用 conda 安装,可以选择 CPU 或者 GPU 环境,以 CPU 环境为例:
git clone https://github.com/deezer/spleeter
conda env create -f spleeter/conda/spleeter-cpu.yaml
conda activate spleeter-cpu
如果想换成 GPU 环境,只需将上述代码中的 spleeter-cpu 换成 spleeter-gpu。
在分离音轨的命令中,加入选项 - p spleeter:4stems 来指定音轨数量,如果不加,系统默认分离为 2 个音轨。
spleeter separate -i audio_example.mp3 -o audio_output -p spleeter:4stems
最终乐器和人声将以 wav 文件的格式保存在 audio_output 文件夹中。
分离过程可以在 GPU 或 CPU 上执行。在 GPU 上运行,速度非常快,可以实现 100 倍的加速。
经过实测,在单个英伟达 GTX 1080 上,spleeter 只用了 90 秒就分解完了 3 小时 27 分钟长度的 musDB 测试数据。
pip 安装更简单,但是不支持 GPU 加速,一般分解一两首歌已足够使用:
pip install spleeter

传送门

项目地址:
https://github.com/deezer/spleeter
---
以上便是今天的分享,觉得内容不错,还请点个在看,谢谢。
推荐阅读:
GitLab,是谁给了你歧视中国程序员的勇气?
警告!该图片涉嫌违规不予显示
开源神器!答应我,别再用 abc 做变量名了好么!
用这个开源项目给自己生成个二次元头像吧!
GitHub 标星破万,超全 Chrome 插件汇总整理!
「GitHub 交流群」已开放
想入群的可在公众号后台回复「入群」

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存