目前GUI版有人测试还是会报错,算了,还是等未来有人写封装程序吧……
如果是小白,请直接用 iZotope RX7 这个软件吧……
也可以用在线网站提取,输入你的邮箱地址即可,它会发送文件到你邮件里。
https://melody.ml
https://moises.ai
如果对Python有基础的,可以往下继续看……

前言

这几天在恢复重建博客,大半年没打理有好多BUG要修,真是一把泪……终于今天搞完了,赶紧写教程先!
这几天有前来求助的网友问我怎么安装Spleeter,我说我到时候写教程吧,没想到我前几天在微博发的小测试竟然会有人需要,真是意想不到~其实这个项目一月前就看到了,就是没早点尝鲜,拖到现在才测试……既然有这么多人刚需,那我就顺便写教程帮助大家吧,希望本博文能帮到你,有问题或小技巧欢迎讨论交流(๑•ᴗ•๑)
这项目需要点少量命令行操作,虽然安装流程多,但是很简单的!只要前期准备好了以后就直接操作,慢慢熟悉就会习惯的~

介绍

Spleeter是Deezer工具源代码开源库,使用Python编写了预训练模型,通过预训练模型可以分离人声、伴奏、钢琴、其他乐器等。Deezer是一家法国在线音乐网站,这个我也没用过,但是它开源了项目这消息简直让人激动!赞美开发者!Spleeter通过预训练模型分离文件会输出4条左右音轨,每条轨都近乎完美分离,可以作为素材使用或者聆听喜欢的人声,一键化操作比在AU做效果简单粗暴多了233,如今是AI技术的时代,慢慢发展越来越好了,越来越多软件开发出来使工作效率提高好几倍,好软件确实值得分享。造福剪刀手啊!!

Spleeter官方项目:https://github.com/Deezer/spleeter

视频教程

视频教程出来啦~先看看视频版了解下。

下载 & 必备条件

2020-03-03更新:如果是小白建议看GUI图形化操作即可!建议走GUI操作,很方便!高级用户可以走命令行操作。
若您对此一窍不通,我的建议是:直接换iZotope RX7这软件。

由于github特殊原因,在国内下载相当慢,训练模型是最难下的,我也是下了好几天才下完……我也上传到网盘方便大家下载,按需下载。

Baiduyun 密码:fqng

网盘内文件有:

Spleeter 1.4.3 - 源码文件
models文件夹 - 里面有多种训练模型,按需下载
ffmpeg 4.4.2-win64 - 转换音频格式工具
Python 3.8.1 - 编程语言
SpleeterGUI_2.3 by boy1dr - GUI图形操作版(建议下载)
SpleetGUI.v2 by lazydevyo - GUI图形操作版(建议下载)

其中ffmpeg必须要安装的,因为它会调用ffprobe来做读取\转换音频等一系列工作,没有它无法工作滴~这个可以加入环境变量,方便日后操作。
下载所有文件后可以开始下面流程了。另外官方也有写了安装流程→wiki 如遇到某种问题可以去看看FAQ

软件安装

ffmpeg

ffmpeg官网:http://ffmpeg.org/download.html
在More downloading options 挑选您的系统即可,我的系统是windows 10,以windows系统为例,直接下载最新版本-windows 64-bit-static文件即可。然后解压到有空余时间的磁盘,将ffmpeg加入环境变量。
右键系统 系统属性 > 高级系统管理器 > 高级 > 环境变量 在系统变量path值添加ffmpeg路径,举例:F:\ffmpeg-4.2.2-win64-static\bin

打开CMD命令行窗口输入ffmpeg提示有版本号就表示安装成功了。
ffmpeg也很有用的,日常用来转换格式、封装音频等处理,其实在很多软件里也有ffmpeg,比如小丸工具箱、MeGUI、MediaCoder等,ffmpeg是必要有的,如果你有装过并加入环境变量也可以忽略本条直接跳下一步。

Python

Python官网:https://www.python.org/downloads/
建议下3.x往上版本,目前很多项目都是用3.x开发,2.x很少了,当然也可以同时存在两个版本,就是需要改不同名字……稍微要花点时间,这里不细讲了,有兴趣可以百度。请直接下3.x版本即可~

打开安装程序的时候别忘了勾选Add Python 3.8 to PATH它会帮你自动加入环境变量的,即使忘了也不要紧,按照ffmpeg那一步也一样手动添加位置即可。
举例:
C:\Python37
C:\Python37\Scripts
然后点击install Now就可以了,默认会装在C盘,也可以自定义路径,下面Customize installation就是自定义安装,然后就等待它安装完成。

其他文件

Spleeter源码:https://github.com/deezer/spleeter
训练模型:https://github.com/deezer/spleeter/releases

剩下源码文件和训练模型可以慢慢下载了,上面地址需要挂梯子,速度非常慢……可以从我分流的度盘里下。模型文件要放到Spleeter目录的pretrained_models文件夹,直接解压,不用改名字。
如果也安装了git的话,网速够好也可以直接用下面命令下载源码。

1
git clone https://github.com/Deezer/spleeter

GUI图形化操作(推荐)

写完教程几天后,我到github逛逛搜索,才发现原来早有了GUI版,天呐我怎么才看到!真是想捶死自己233
已经有大神们写了GUI版!如果是小白建议安装GUI版,直接安装一劳永逸。
我看了下,目前有两个GUI版,SpleetGUISpleeter_Gui,这两个名称看起来有点像,实际上配置不一样,前者是仅需要Python,后者是需要Pyhton和ffmpeg,然后直接安装即可。

SpleetGUI.v2 by lazydevyo

官网:https://github.com/lazydevyo/SpleetGUI

需要安装:Python 3.7.X or 3.6.X(实测3.8.x以上版本也可以),同时还需要配置好环境变量
这软件已包含ffmpeg,也不需要另外下载了。只需要安装python即可。
注意:目前测试还是有BUG,这个要等作者完善修复。建议歌曲文件命名不要含有空格,可能也会报错。

假如你已经安装了Python,并且设置了环境变量,那么就直接运行SpleetGUI.exe就可以了。别忘了右键“以管理员身份运行”。
1、首先第一步点击白色框选择你的歌曲文件
2、选择下面三组分离的种类,看图标和文字解释就很明白了
3、可以设定输出路径
4、最后点击split分离即可!

注意最后一步split如果是下载了官方原版,里面是没有模型文件夹的,这一步软件会自动下载模型,过程会很慢,我上传的网盘已经打包好了,不用很麻烦等待了。
分离过程中可能会出现未响应,这个不用担心,实际上它正在处理中,需要耐心等待。

SpleeterGUI_2.3 by boy1dr

官网:https://github.com/boy1dr/SpleeterGui

需要安装:Python 3.x以上版本和ffmpeg,请提前配置好环境变量
该软件仅支持Windows 8/10 64bit系统,windows7在我的虚拟机测试貌似不起作用……

双击SpleeterGUI_2.3 by boy1dr.msi文件,后面可以选择安装路径,然后一路Next下去直到安装完成。
然后安装后它实际上还没有训练模型组,安装完成后去安装目录下创建pretrained_models文件夹,然后把下好的模型组复制到这里。
然后就可以打开SpleeterGui.exe了。

1、第一步选择你需要的模型组
2、点击save to选择输出路径
3、最后可以点击Select music file选择你的歌曲文件
过程中需要等待,最终提示Finished processing all songs就成功了


命令行操作

推荐熟悉python、命令行的人使用,以下流程是面向熟悉的人,流程很长,如果是小白可以看上面看GUI图形化操作即可!这一步可以略过!

脚本安装

1、Conda 安装方式

这里是官方推荐安装方式,需要先安装conda才能使用,这里我当时也没搞懂,对conda实在不熟悉绕了一大圈子,后来看到还有pip安装方式,还是直接跳pip安装好了……

1
2
3
git clone https://github.com/Deezer/spleeter
conda install -c conda-forge spleeter
spleeter separate -i spleeter/audio_example.mp3 -p spleeter:2stems -o output

2、pip 安装方式

这是python包pip管理器安装方式,只安装了Python的人直接用这个方法就行。
如果在度盘下载了脚本也可以忽略这步了……

打开CMD输入下面命令安装

1
pip install spleeter

我是因为2.x和3.x同时存在,所以我的安装是这样的……

1
pip3 install spleeter

装到哪里了呢?它在python目录下这两个地方~

1
2
C:\Python37\Lib\site-packages
C:\Python37\Scripts

使用

哎呀终于到使用部分了,前面可能会有绕晕了233不要怕!慢慢来一步步做,你会成功的!
首先找一个你喜欢的歌曲,把它放到Spleeter目录下,我们来做第一个分离项目。
先看命令行例子:

1
spleeter separate -i spleeter/audio_example.mp3 -p spleeter:2stems -o output

它的命令很简单,非常简单!下面是各命令作用。

命令 作用
separate 使用预训练的模型分离音频文件
train 训练源分离模型,需要单独的轨道数据集才能使用
evaluate 通过musDB测试集进行预训练的模型评估
训练模型组 作用
2stems 分离人声/伴奏
4stems 分离人声/贝司/鼓/其他
5stems 分离人声/钢琴/鼓/贝斯/其他

separate 是开始准备分离
-i 歌曲文件.mp3 歌曲文件.mp3后面是文件的绝对路径或相对路径
-p spleeter:2stems 这里的2stems是可以分离人声和伴奏两组,你可以把它改成4stems或5stems
-o output 是输出文件夹,你也可以自定义其他文件夹

了解了之后,假如我们需要分离4组音轨(人声/伴奏/鼓/其他乐器),就写4stems,提前写好命令后开CMD复制下面命令,歌曲文件改成你的歌曲文件,然后回车!
如何开CMD命令提示符呢?直接在系统开始菜单输入“CMD”就会有命令提示符了,如果是XP/7/8/10系统,请按win+R键,输入CMD也会打开了。
其实有更简单的方法,就在Spleeter根目录下空白处按住shift+鼠标右键就会有在此处打开命令窗口,直接可以输入命令了~也可以复制粘贴命令的。

1
spleeter separate -i 歌曲文件.mp3 -p spleeter:4stems -o output

就如下面样子:

可能要等待一小会儿,如果文件很大它需要慢慢分离……一首也就几秒钟就完成了。
在output文件夹可以看到输出了很多文件了~激动了有木有!然后可以用Audition、cabuse、GoldWave等软件试听了~

以我喜欢的“神舞幻想-天咏大合唱”为例,发现分离效果十分好!梦寐以求的分离技术终于有一天见到了,简直泪流满面……真心感谢开发人员!让我们得以用到神器!非常感谢!
输出后的音轨大概是这些,以5stems为例:
vocals是人声、other是伴奏、drums是鼓点、bass暂时未知,可能是和声?piano也未知。可能需要测试更多歌曲才知道。

暂时就这些了~不知有没有看懂呢?第一次写这样的教程可能还有遗漏可以在评论告诉我补充~如遇到BUG先去看看官方FAQ
歌曲文件可能遇上老歌或者码率十分低的,会有杂音情况,一般这是正常的,毕竟一个工具并不十全十美,它能这样已经十分厉害了,未来一定会优化的。
如今AI软件越来越多了,这是很好的事,能让我们效率提高,这真是太好了!当然你不止可以分离歌曲,也可以尝试分离电视剧对白,只要跟声音有关的数据都可以尝试~可能会发现惊喜呢!这下不用开AU粗暴提取了哈哈哈,Spleeter这项目2019年10月才发布,未来可能会更新更多的功能,这篇文章也会不定时更新,目前还没有编译好的GUI版本,未来一定会有人写GUI程序的,期待!Spleeter我很看好~真是太厉害了!
如果有什么问题可以在本博文下评论回复,我尽量解答。评论系统不需要注册账号,直接回复即可~

问题

Q:命令行出现报错 Cannot open xx\spleeter 1.4.3\spleeter-script.py
A:因为你没有安装Python,需要你先安装Python并配置好环境变量再运行。

Q:运行GUI图形化软件出现报错“系统找不到指定文件”
A:安装微软运行库合集,网盘内附有“MSVBCRT.AIO.2019.03.20.X86+X64.exe”,请下载安装。

相关软件:
iZotope RX7:相信这个软件大家都知道了,微博也火过一阵子,这软件也很厉害,也能分离人声和音乐,操作友好,功能该有的都有,有兴趣的可以去看看。