AI 日报

【音源声音分离】超越UVR5的AI项目MSST

  • By aihubon
  • Dec 28, 2024 - 2 min read



100积分会自动显示隐藏内容,注册评论签到发布帖子即可获得大量论坛积分。

MSST-WebUI 介绍

本整合包是Music-Source-Separation-Training的WebUI,它是一个音乐源分离训练和推理框架。您可以使用该WebUI界面推理MSST模型和 UVR的VR_Models(推理代码来自 python-audio-separator,并且我们对其做了一些修改),预设流程页面允许您自行定制处理流程。您可以在 “安装模型 ”界面安装模型。如果您之前下载过 Ultimate Vocal Remover,则无需再次下载VR_Models。您可以进入 “设置 ”页面,直接选择UVR5模型文件夹。最后,我们还在WebUI中提供了一些小工具。

整合包作者:

我为何不继续使用UVR5?

你当然可以继续使用UVR5,但UVR5官方的稳定版已经停更将近一年。此外目前的新模型,基本都无法在UVR5上加载(如果你会修改配置文件以适配,那另说)。因此,这个问题是非常无聊且不好回答的一个问题。就好比你问我烧饭应该用铁锅还是不锈钢锅。用什么不重要,关键是你烧的菜是什么,也就是指你用什么模型。软件只是一个壳子,真正起作用的,是加载的模型。

配置要求

  1. 整合包所有的模型均支持CPU推理,因此理论上没有配置要求。不过经测试,速度会非常的慢。因此,若想拥有良好的使用体验,推荐使用一张支持CUDA且显存4g以上的N卡
  2. A卡用户默认无法使用GPU加速,若想使用,需要下载源码,用ROCM或ZLUDA配置,需一定动手能力
  3. 整合包仅支持Windows操作系统

云端使用教程

自MSST-WebUI1.5版本以来,此整合包已支持云端使用。若需要使用云端,请看子文档

下载整合包

整合包安装程序下载地址

1.6.2 v2

123盘:https://www.123pan.cn/s/1bmETd-AefWh.html  (不限速

百度网盘:https://pan.baidu.com/s/1uzYHSpMJ1nZVjRpIXIFF_Q非会员限速

v2版本修复CPU推理无法使用的问题
下载链接中包含以下部分:

All_Models文件夹

里面是目前所有可用的模型,根据不同的类别存放到程序目录下的pretrain文件夹的子文件夹中,如果在WebUI-安装模型界面,出现安装失败等错误,可以到这里来下载,然后放到指定目录中即可。

挑有用的下载就行!不建议一个劲的全部下载完,全部模型下载下来至少15个G。模型挑选可以看

SOME_weights文件夹

若需要使用小工具-歌声转MIDI,则需要下载里面的权重文件model_steps_64000_simplified.ckpt(不用此工具可以不下载),然后放置到程序目录下的tools/SOME_weights文件夹内。文件命名不可随意更改!具体可参考

安装方法

  1. 双击Setup_MSST_WebUI_x.x_full.exe将整合包安装至硬盘内(不要装C盘!不要装带有中文路径的目录!
  2. 初次使用时,需要下载完整的安装程序,后续更新则只需要下载增量更新包即可,在不需要删除原整合包的情况下实现覆盖更新。(若有重大更新,可能会需要重新下载完整包,届时会有说明)
  3. 增量更新包:
如上图,有一个完整包和一个增量更新包,完整包文件名一般带有full,而增量包文件名一般会指明从哪个版本升级到哪个版本的增量包,例如上图中就是从1.3.x(1.3的任意版本)升级到1.4的增量包。
增量包提供给已经安装过特定版本的用户(如上图则是已经安装过1.3任意版本的用户),在不卸载原有版本的情况下,直接安装增量更新包就能实现升级。

如何判断是完整的安装程序还是增量更新包?

通常这在文件名中会直接体现。不过,要是实在看不懂,可以通过文件大小判断:完整的安装程序大小为2GB左右,而增量更新包则会小得多。
安装增量包时,旧版本不能卸载!若安装增量包后出现bug,请重新安装完整包!

在开始之前

为了避免在之后的使用中出现各种意料之外的问题,请务必对照下面的 Checklist 检查本机环境。
  • 更新显卡驱动!(如果你是N卡,但无法使用GPU加速,一般就是驱动版本太低!)
  • 关闭全局梯子或绕过局域网(一般显示无法连接,无法打开网页,就是这个原因)
  • 使用推荐的浏览器(Chrome / Edge / Firefox)
  • 关闭浏览器自带的网页翻译功能(如果点了开始分离按钮,控制台没有反应,一般就是这个原因)
  • 若程序被杀毒软件拦截,请放行。若有文件被杀毒软件误删,则需要重新安装。
  • 将系统虚拟内存设置为至少30G

启动 WebUI

本整合包的所有训练/推理流程均在浏览器交互界面(WebUI)中实现。
双击webui.exe即可启动 WebUI,启动完成后将会使用默认浏览器自动弹出 WebUI 窗口。如果没有自动弹出,则可以ctrl + 左键打开端口地址(通常是http://127.0.0.1:7860)或者直接将端口地址复制进浏览器访问。
  1. 初次启动或者清理缓存后再次打开,可能会出现加载时间较长的情况,此时可以不断刷新网页,直到进入为止。
  2. 若出现下载好模型后无法加载的情况,请删除程序根目录下的data文件夹后重新启动程序
  3. 使用过程中,不能关闭控制台!

各模型详解

您可以在

文档中看到所有可供使用的MSST模型和UVR模型,以及这些模型的作用

最新音频分离连招!

接下来请阅读本文档的子页面,以了解WebUI的具体使用方式。

暂时无法在飞书文档外展示此内容

MSST WebUI更新日志

Release 1.6.2

更新

  • 新增对apollo和bs_mamba2模型的支持
  • 新增mp3音质修复模型Apollo_LQ_MP3_restoration.ckpt
  • 新增两个气声分离模型aspiration_mel_band_roformer_(less_aggr)_sdr_18.1201.ckpt
  • MSST分离新增“仅输出次级音轨”功能
  • 非加速训练train.py现在也能使用“训练前验证”功能

优化

  • 优化次级输出选项,当模型配置文件中的target_instrument为null时,默认输出所有音轨,此时“同时输出次级音轨”将更改为“此模型默认输出所有音轨”且无法进行修改。
  • 优化预设流程中MSST模型输出音轨显示。从原先的“primary_only”更改为此模型对应的target_instrument。若此模型的target_instrument为null,则显示“All stems”即输出所有音轨,此时保留次级输出选项无效。
  • 优化WebUI中GPU选择方式。从原先的手动填入GPU ID更改为复选框选择GPU。
  • 优化WebUI中音频输出格式选择。从原先的下拉选择更改为单选框。
  • 将处理输出信息更改为“处理完成,耗时x.xx”。注意:处理完成不一定代表处理成功,有可能中途报错。
  • 第一次使用swin_upernet, segm_models类型的模型时,需要从huggingface上下载pretrain模型,下载链接会根据所处地区进行修改。且下载的模型文件存放在pretrain/hub而非C盘。

修复

  • 修复了当预设流程的预设只使用了一个模型时,无法准确将结果输出到输出文件夹的问题。
  • 修复了预设流程上传音频运行时,错误的将临时目录保存为输入文件夹路径的问题。
  • 修复将gradio cache设置到程序根目录后会导致ensemble模式无法使用的问题。
  • 修复使用swin_upernet模型时出现的报错,详见

Release 1.6.1

更新

  • 支持多条音频同时上传进行分离,而非以文件夹形式上传。
  • Gradio缓存路径从原本的%TEMP%修改至程序目录cache文件夹内。
  • 设置页面增加自动清理缓存: 开启后, 每次启动WebUI时会自动清理缓存。

修复

  • 修复“设置-重置设置/路径记录”无法正确执行的问题,详见

Release 1.6

更新

  • 新增emoji语言
  • 新增多轨分离模型model_scnet_sdr_9.3244.ckpt,去混响模型dereverb_mdx23c_sdr_6.9096.ckpt
  • 新增和声&混响分离模型dereverb_mel_band_roformer_anvuew_sdr_19.1729.ckptdereverb_mel_band_roformer_less_aggressive_anvuew_sdr_18.8050.ckpt
  • 新增VR去混响模型UVR-DeReverb-aufr33-jarredou_4band_v4_ms_fullband.pth
  • 新增云端专属webUI(目前仅适用于Linux),此webUI默认所有模型可用,推理时缺什么模型,会先自动下载,然后推理。模型默认下载地址是huggingface.co(需要学术加速)。
  • webUI设置增加“对本地局域网开放”的选项。局域网中的设备可通过“本机ip:端口”来访问webUI。
  • 支持添加非官方MSST模型和UVR模型,且非官方模型可以参与预设流程
  • msst分离和预设流程支持选择音频输出格式
  • 支持用户自定义模型名称
  • 更新至原仓库8月28日的commits

优化

  • 细分MSST模型类型和预设流程模型类型,方便在模型数量较多时,筛选出想要使用的模型
  • 优化webui_config.json的备份和恢复逻辑。
  • 简化vr_inference代码,仅保留关键代码,去除复杂的判断过程
  • 优化增量更新判断逻辑
  • 删除无用依赖项
  • 整理了配置文件文件夹和第三方配置文件文件夹
  • 大大加快了SDR的计算时间

修复

  • 模型model_vocals_mel_band_roformer_kj_sdr_10.98.ckpt重命名为Kim_MelBandRoformer.ckpt
  • 修复云端修改模型下载链接后不生效的错误

Release 1.5

更新

  • 支持自定义Grdaio启动端口,自定义选择是否开放对外链接
  • MacOS支持,MSST推理支持选择MPS为加速设备。需手动拉源码部署
  • 增加“强制停止”按钮,支持在推理/训练过程中,强制停止进程
  • i18n支持,目前支持简体中文,繁体中文,英语,日语
  • 支持选择huggingface或huggingface镜像站作为模型下载地址
  • 新增train_accelerate.py代码,对于多显卡用户,能加快训练速度
  • vocal_model新增两个模型:model_mel_band_roformer_karaoke_aufr33_viperx_sdr_10.1956.ckptmodel_vocals_mel_band_roformer_kj_sdr_10.98.ckpt

优化

  • 若检测不到ffmpeg及python,将使用系统环境变量中的值
  • 备份和恢复预设的功能迁移至预设流程子页面
  • 优化设置页面UI布局
  • 更新至原仓库8月15日的commits,优化bs_roformer代码,优化推理代码
  • 将3个去混响模型和2个降噪模型移动至single_stem_model

修复

  • 修复requirements.txt部分依赖版本
  • 修复CPU推理时模型加载的错误

Release 1.4.3

更新

  • 小工具中添加“歌声转MIDI”功能,使用项目SOME,需自行下载权重文件后才可使用
  • 添加查看预设的功能。此外,我们将删除预设移动到了查看预设页面
  • 设置页面增加备份和恢复预设的功能
  • 设置页面添加系统信息显示,可显示GPU及序号,以及系统版本
  • dataset中添加verbose选择,配置文件中的use_amp选项现在会影响到推理了
  • 预设流程中增加单个音频输入

优化

  • 优化进度条,现在只有推理会有二级进度条,训练和验证保持仅总进度条
  • 优化覆盖安装,现在覆盖安装或增量更新后不会重置配置文件了

修复

  • 修复了FLAC格式的音频会导致输出文件名字不正确的bug
  • 修复了预设流程中重复模型不会推理的bug

Release 1.4.2

更新

  • 添加最新去混响模型deverb_bs_roformer_8_384dim_10depth.ckpt
  • MSST分离中,添加子进度条,现在单个音频文件分离也有进度条了
  • 设置页面新增检查更新

优化

  • 完善setup_webui函数以适合覆盖安装
  • 小幅度优化了下载模型速度慢的问题(但实际上可能还是很慢)

修复

  • 修复单个音频上传推理时,若叉掉之前的音频,改选音频后,会导致重复推理的bug

Release 1.4.1

更新

  • 添加最新降噪模型denoise_mel_band_roformer_aufr33_sdr_27.9959.ckptdenoise_mel_band_roformer_aufr33_aggr_sdr_27.9768.ckpt
  • 项目源码更新至7月31日原作者ZFTurbo的commits
  • 新增bandit_v2模型支持
  • 新增Valid的WebUI页面,在训练MSST的子页面

优化

  • 修改部分模型配置文件参数
  • 优化WebUI布局
  • 优化控制台日志输出

Release 1.4

更新

  • 预设流程支持用户选择是否输出次要音轨(保留的次要音轨将会被直接输出到输出文件夹,不输入下一个模型)
  • 支持几乎全部MSST模型输出次要音轨
  • uvr推理和msst推理(命令行)支持选择额外输出路径(为了适配预设流程)

优化

  • 优化log输出及log格式,减少不必要的log输出
  • WebUI更改部分标签说明
  • 整合包删除workenv中的__pycache__缓存

Release 1.3.2

修复以下bug

  • MSST分离及UVR分离单个音频上传时,非wav格式音频会处理两次
  • UVR分离采样率不等于44100时,会出现变调现象
  • MSST分离仅会在全部处理完成以后才显示进度条
  • MSST多个音频分离时,音频总数超过30会出现卡住的情况
  • 其他代码问题

优化

  • 优化部分参数标签说明
  • 更改UVR分离模块中batch_size的默认值为2,以适应显存<=6G的用户
  • 更改UVR分离模块中Normalization的默认值为1
  • 预设流程处理时,控制台突出显示每一步使用的模型名字
  • 所有处理命令使用蓝色字体输出至控制台,便于debug
  • 代码:宏定义PHTHON和FFMPEG常量
  • 代码:降低gradio版本至4.8.0以解决依赖冲突

Release 1.3.1

修复

  • 紧急修复了点击重启WebUI按钮后无法重启或反复重启刷屏的BUG

Release 1.3

MSST-WebUI第一个对外发布的版本

实现基本功能

  • MSST模型分离支持
  • UVR模型分离支持
  • 预设流程(支持MSST和UVR模型混合)
  • 小工具(音频格式转换,音频合并,计算SDR,Ensemble模式)
  • 模型下载(支持自动下载和手动下载)
  • 提供简易的MSST模型训练页面和训练集制作教程
  • WebUI设置(支持选择UVR模型路径)

Release 1.2

此版本为内部测试版,未对外发布,省略小版本

实现功能

  • UVR模型分离支持
  • 小工具(音频合并,Ensemble模式)

Release 1.1

此版本为内部测试版,未对外发布,省略小版本

实现功能

  • MSST模型训练

Release 1.0

此版本为内部测试版,未对外发布,省略小版本

实现功能

  • MSST模型分离支持
  • 简单预设流程(仅支持MSST)
  • 小工具(音频格式转换,计算SDR)
  • 模型下载(仅自动下载)