当前位置:网站首页 > 探索 > 伴奏提取神器spleeter探索记

伴奏提取神器spleeter探索记

伴奏提取神器spleeter探索记作为音乐爱好者,寻找伴奏算是频度较高的诉求了,比较常规的方法有au里的中置声道提取(此方法截至2022年已彻底沦为摆设

作为音乐爱好者,寻找伴奏算是频度较高的诉求了,比较常规的方法有au里的中置声道提取(此方法截至2022年已彻底沦为摆设,不必再浪费时间去尝试)、俄罗斯音频软件iZotope(其同时也可作为插件包附在au里)里的Music Rebalance、直接到5sing等原创音乐站点上下载等,本文想介绍的是另一种效果很好的软件——法国音乐流媒体公司Deezer研发的开源音轨分离软件spleeter。

一、软件简介

该项目于2019年年中发布于github(源地址deezer/spleeter),属于代码交互的机器学习软件(但也有人开发了图形化界面,详见后文),能将音乐的人声和各种乐器声分离,最多支持分离成人声、鼓、贝斯、钢琴、其他共5部分(分离效果取决于源文件音质及封装方式等,实践中通常建议只分为2轨,即伴奏+人声)。

由该软件在github上最新的README信息可知iZotope、AconDigital等专业音频软件在音轨分离的相关功能上都采用了其“核心科技”pretrained models(预训练模块),其实力之强大可见一斑——

探索宇宙的边缘_探索的_探索保护者

真·被大腿环抱的大腿

分离效果上,它确实不如原版单音轨文件(这是肯定的)以及花钱请音乐工作者通过扒谱等流程仿照原版编写出来的音频(否则人家凭什么收费拿什么恰饭),但对于制作自用伴奏、扒取影视作品中的纯音乐等日常非专业场景而言已足堪胜任了,对于一些官方未收录于ost中的罐头纯音乐更是可以DIY出来收藏欣赏(切记不要有商用等侵权行为)。

本软件原生于命令行界面,为了避免部分不习惯代码交互的同学望而却步、因技术受限而错失使用这一音频神器的机会,笔者决定把自己对其探索的全程记录下来,一方面给广大音乐爱好者一些参考和启示,另一方面也算为自己的捣鼓经历留点史料,纪念这次勤(tou)勉(tie)地点技能树的过程。

本文面向完全零基础用户,懂得基本下载操作即可。由于笔者水平有限,文中有讹误之处敬请谅解,同时欢迎批评指正。安装与使用中有任何疑问也欢迎在评论区留言,笔者看到后会尽量帮忙解答。

(本文保持更新中)

二、极简使用方案

完全不想涉足任何安装or研究的同学可以直接下载这个spleeterGUI(GUI=Graphical User Interface,即区别于黑白命令行的图形化界面应用软件)——

该软件自带spleeter核心,无需其他准备工作,即装即用,非常方便。截至2022.08.19最新版为2.9.2,不同版本之间功能上差别不大,每次更新的内容也不一定与deezer在github上的项目同步,具体可查阅软件主页上的更新日志,作为自用来说,一直不更新也没啥问题。但需注意,如想更新,需要检查新版本后下载新的安装包,而不能点击菜单中的“更新spleeter核心”,否则将出错导致需要重新安装软件。

探索宇宙的边缘_探索保护者_探索的

下载解压并选择合适的路径安装好后,直接进入文件夹打开spleeterGui.exe,将语言改成中文(英语大神请无视),就可以按提示自行操作了。

探索宇宙的边缘_探索保护者_探索的

GUI界面

点击“选择音乐档案”浏览选择待分离的音频文件,也可将音频直接拖动到软件界面处;

点击“储存至”选择导出分离后音轨的储存路径;

点击“分离声部”后的数字可选择将音频分为几个部分(建议只分为2部分即人声+伴奏,具体效果可自行测试)。

“最大歌曲长度”经部分同学反映调整后是无效的,无论调为多少,最多都只能分离前600秒(即10分钟)的音频,如果要分离时长大于10分钟的音频,可以手动切割后再分别分离,或者用命令行界面的spleeter完成(见下文《完整探索方案》)。

分离过程中鼠标可能会变成圆圈状,耐心等待即可。另外该软件对剩余内存(RAM,不是硬盘容量)的要求较高,如果内存不足,可能出现软件运行完毕但未生成分离后的文件。

探索保护者_探索的_探索宇宙的边缘

图片引自spleeter官方FAQ页

三、完整探索方案

本方案面向有兴趣&时间对命令行界面进行探索的同学,不想探索的同学也可以引为参考,借以对conda/python有个初步了解。

安装condaspleeter需要conda作为搭载平台,conda有anaconda和miniconda之分,顾名思义分别是完整版和精简版,功能上后者要少一些,但我们只是用于spleeter的安装,所以用miniconda就够了。

2. 下载miniconda。这是官网链接:

根据操作系统win/mac、32/64位选择安装包,python版本选3.9

探索宇宙的边缘_探索保护者_探索的

3.安装miniconda,安装路径不要改动,中间出现的两个打钩,第一个是为miniconda创建环境变量,第二个是将miniconda作为默认的python运行平台,把第一个钩起来即可。虽然英文注释不建议钩选它,但实测中问题不大,而且添加环境变量后,从cmd就可以调用spleeter并运行,不必再打开miniconda,操作上更简便。

探索的_探索保护者_探索宇宙的边缘

Tip1.(本文中的Tip面向对计算机了解较少的同学,已掌握的同学可自行忽略)

按Win+R键后,在弹出的窗口里输入cmd可打开windows默认的命令行界面。当命令行窗口的标题栏是最后输入的命令时,说明正在运行这个命令,耐心等待即可。

例如,下图是个无命令正在运行的“正常”标题栏:

探索的_探索保护者_探索宇宙的边缘

下图则是正在运行命令的标题栏,请耐心等待:

探索宇宙的边缘_探索的_探索保护者

Tip2.“环境变量”可以简单理解为命令行界面的“快捷方式”,当某程序添加了环境变量后,它可以不用输入精确路径便“一键打开”,这也是上述钩选行为最主要的目的,即方便调用spleeter。

安装spleeter

安装步骤在github/spleeter主页里的Quick Start部分有说明,但原文系英语,且由于墙等缘故,部分步骤需要对命令行进行改动,因此这里还是完整叙述,有兴趣的同学也可以参考原网页内容github.com/deezer/spleeter。

1.安装“依赖”。“依赖”可以简单理解为安装spleeter所必需的一些“预装数据”。打开cmd并在其中输入以下代码(直接复制下列代码,再粘贴到cmd中并按回车即可,下同)——

conda install -c conda-forge ffmpeg libsndfile

其中-c表示从特定网站(channel)下载,即代码中的conda-forge这一站点。

如果这步报错,则说明该站点连接情况不好(该站点存在不定期被墙的情况),需要对站点进行重定向。

“依赖”安装完成后,窗口会自动清屏并出现一个done:

2.安装主体

在cmd中输入以下代码

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple spleeter

-i用以在pip命令下实现从特定网站下载,所接的网址是清华大学开源软件镜像站,该站专门用以解决因墙的缘故而无法连接、无法安装软件的问题,类似的镜像站还有中科大、华中理工大学等高校自设的站点。

探索保护者_探索的_探索宇宙的边缘

部分开源软件镜像站网址

探索的_探索宇宙的边缘_探索保护者

清华大学开源软件镜像站主页

一切顺利的话,安装完成后会有如下提示——

探索的_探索宇宙的边缘_探索保护者

对于曾经使用过conda的同学需要注意一点,G站主页上特别指出了不再建议用conda install命令来直接安装spleeter——

笔者实测发现用conda命令安装的spleeter有时确实会报错,推测原因是代码层面的改动导致现行版本spleeter搭载于conda上运行时会出现动态库中dll文件的调用及python版本不兼容等问题。

使用spleeter

在cmd中输入以下格式的代码并运行,就可以进行音频分离了——

spleeter separate -p spleeter:2stems -o [导出路径] [待分离音频]

spleeter运行实例——将《江南》分成2轨并导出到桌面

探索保护者_探索宇宙的边缘_探索的

-d可设定最大分离时长(单位秒,默认600s),-s可设定开始分离的时间点(单位秒),该功能理论上可以突破前文提到的GUI只能分离10分钟音频的限制,但分离耗时及成功与否取决于电脑配置及音频属性,有兴趣的同学可以自行测试。

四、后记

本文始发于2020.03.28,两年半来spleeter几番更新和改动,为了让每个时间段的读者都能顺利使用,我作了多次更新,此次(2022.08)删去了几处冗余部分和原后记,增加了新后记和一些常见问题的解析。

本来想专门写写FAQ的,奈何最近真的心累,实在没心气再做整理了,能坚持做完这次大改已经是用尽全力了,有疑问的可以留言,我会尽力帮助解决,希望我的付出可以让大家在使用这个软件时少走点弯路吧。

有耐心看到这的朋友就当我抽空吐个槽吧,抱歉污了大家的眼,终究是玲珑心思风霜苦,混沌眉眼清平福。

探索保护者_探索的_探索宇宙的边缘

愿初心永不成灰

上一篇: 圆锥曲线发展史.doc
下一篇: 商住混合型历史文化街区的保护更新模式研究

为您推荐

发表评论