AI翻唱/变声教程

指南12个月前更新 管理员
585 0 0

炼丹百科全书

So-VITS-SVC 4.1-Stable 新版整合包使用教程

So-VITS-SVC 项目一直都有在更新,B站视频(指4月26日换源前的视频)里的版本已经比较落后了,并且原版整合包因为做的匆忙,有很多地方做得比较粗糙,所以痛定思痛重写了一个新的真·一站式WebUI整合包。

🤔有什么新的?

  • 放弃了各种乱七八糟的脚本文件,数据预处理/推理/训练现可在WebUI一站式解决
  • 支持多卡指定GPU训练、多分支一站式整合
  • 模块解耦,更多的推理可选参数和可选项(f0均值滤波、声码器增强器、浅扩散
  • 加入了更多防呆手段,尽可能减少报错
  • 保持更新,尽可能与项目仓库同步更新

🧐为什么是4.1-Stable?

经过了三个多月的迭代更新,So-VITS的版本号终于向前进了0.1(笑),除了浅扩散和编码器解耦,4.1比起4.0其实没有什么跨越式提升。主要在于4.1-Stable是官方认证的稳定分支,除此之外还有一个4.1-Latest分支,那里会有更多仍在开发中的实验性新功能。因为出BUG的概率很大,所以本整合包只会同步更新Stable分支的内容。

📚更新日志(什么时候可以折叠啊这一块好长的)

2023.05.20 v2.1.3 (NEWEST)

  • 修复了训练聚类模型的BUG
  • 修复了浅扩散推理时无法正确加载采样器的BUG

2023.05.20 v2.1.2

  • 修复了一个会导致无法加载模型的BUG

2023.05.20 v2.1.1

  • 修复了无法训练聚类模型的BUG,新增GPU训练聚类模型的可选项
  • 修复了无法继续训练扩散模型的BUG
  • 修复了其他的一些BUG

2023.05.19 v2.1.0

  • 🚩新增浅扩散功能,可显著改善电音底噪问题
  • 新增hubertsoft编码器底模
  • 修复了一些BUG和逻辑

本次更新较为重要,请仔细阅读文档内的v2更新指南,确保平稳更新。

2023.05.15 v2.0.0 (NEWEST)

  • 加入了训练时的特征编码器和f0预测器可选项
  • 新增模型压缩工具,可以将模型体积无损压缩至200M左右
  • 重构了部分代码,与项目仓库同步,将编码器与模型解耦

2023.05.13 v1.5.1

  • 修复了一个导致无法训练的BUG

2023.05.13 v1.5.0

  • 加入了推理时的f0预测器可选项
  • 加入了文本转语音的部分中文方言支持(东北话、陕西话、粤语)

2023.05.12 v1.4.2

  • 修复了一些无伤大雅的BUG,加入对P4显卡的识别
  • 优化了一些交互逻辑

2023.05.05 v1.4.1

  • 修复了一个致命BUG,会导致重新训练时无法正确备份先前的工作进度
  • 修复了其他的BUG和优化了逻辑

2023.05.02 v1.4.0

  • 🚩新增文本转语音功能(edge_TTS)
  • 新增数据集智能切片小工具,无需调参数即可一键制作时长符合要求的数据集
  • 修复了一些BUG

2023.04.28 v1.3.2

  • 修复了特定情况下训练Vec768分支无法正确加载模型和配置文件的BUG
  • 修复了其他的一些BUG

2023.04.27 v1.3.1

  • 修复了Vec768-Layer12分支训练时无法正确识别说话人的BUG
  • 修复了一些无关紧要的BUG

2023.04.26 v1.3.0

  • 🚩新增Vec768-Layer12(4.0v3)分支支持,该分支在小规模测试下质量和上限均优于原版
  • 新增音频批量推理功能

2023.04.25 v1.2.1

  • 修复了一些BUG
  • 新增f0均值滤波的过滤阈值可选项

2023.04.24 v1.2.0

  • 新增多模型声线融合功能
  • 新增 Onnx 批量转换
  • 优化了 WebUI 界面
2023.04.09 v1.1.0 
  • 整合了python环境,不需要再装python了(码的配环境配了一下午)
  • 🚩新增NSF-HiFiGAN声码器增强器功能
  • 新增了一些推理/训练可选项
2023.04.06 v1.0.0
  • WebUI一站式整合
  • 🚩f0均值滤波(缓解哑音问题)
  • 更多推理可选项

⚖️许可证声明和作品简介模板

So-VITS-SVC仓库与本整合包现已换用BSD 3-Clause许可,即日起使用本整合包或直接使用原项目仓库产出的作品,需遵循以下协议条款:

  1. 未经授权同意,禁止在音视频网站发布的作品中标注项目仓库地址、仓库作者、贡献者、整合包作者的信息。
  2. 必须在作品中标注免责声明,免去仓库作者、贡献者、整合包作者对该作品一切后果的责任。

作品简介模板

Cover/原唱: [使用的输入源音声来源]

音声来源:[训练集音声来源]

免责声明:本作品仅作为娱乐目的发布,可能造成的后果与使用的音声转换项目的作者、贡献者无关。

🚧v2 整合包更新指南(及旧模型兼容迁移)

为了方便So-VITS-SVC后续更大规模的更新,项目对部分代码进行了重构,将部分模块与模型解耦,同时实现了多分支、多编码器完全整合。由于项目本体改动较大,本整合包也对部分代码进行了同步重构,并加入了新功能。现在你可以自由选择训练时使用的特征编码和f0提取,进一步提升模型质量;多分支(v1/vec768/hubertsoft)无缝整合,可以在整合包内自由切换推理。但由于改动较大,v1.x 版本整合包将无法通过增量更新升级到 v2.0 及后续版本。同时,先前训练的模型需要进行一些简单的操作才能够兼容 v2 整合包

从 v1.x 升级到 v2

  1. 下载完整的最新 v2 整合包,并解压至任意目录
  2. 旧模型迁移:请按本文档最后的🥰外部模型如何迁移到新版整合包?内的指引迁移模型
  3. 模型兼容性修改:在configs文件夹内用文本编辑器打开模型的对应配置文件,从最后往上找,找到 "n_speakers"项,在这一行最后添加一个英文逗号(","),然后添加新的两行:

        "speech_encoder": "vec256l9",  # 如果是vec768模型,这一项改成"vec768l12"

        "speaker_embedding": false

↓像这样("speaker_embedding"最后不要有英文逗号

AI翻唱/变声教程

完成了!其实很简单,对吧?

如果你还是看不懂该怎么升级,或者对这一版本的新功能没有需求,也可以不更新。但后续So-VITS的所有重大更新都将基于2.0版本的整合包,因此你到时候还得走一遍更新流程。

🤗下载地址

🎉完整整合包(v2.1.3)

百度网盘:https://pan.baidu.com/s/12u_LDyb5KSOfvjJ9LVwCIQ?pwd=g8n4 提取码:g8n4 

Google Drive: 更新中

🚀增量更新(v2.1.3)

直接替换整合包内的文件

⚠️ v 2.0.0 以下版本无法通过增量包更新至 v2.1,请下载完整整合包

v2.1.3:https://pan.baidu.com/s/1N-47gaAFE1Ewd4hrOQEu8A?pwd=yryv 提取码:yryv 

🧭底模DLC

整合包内自带预训练模型(底模),但Vec768l12编码器目前有一个更强的底模,你可以自行下载并替换原来的底模。只要将下载的 clean_G_320000.pth 和 clean_D_320000.pth 分别改名为 G_0.pth 和 D_0.pth,替换到整合包内的 pre_trained_model/768l12 下同名文件即可。

新底模下载:https://huggingface.co/datasets/ms903/sovits4.0-768vec-layer12/tree/main/sovits_768l12_pre_large_320k

📢使用教程

Step 1: 安装Python 3.8.9

Python环境已经整合到整合包中,现在无需安装Python也可以使用新版整合包了。(你问我为什么之前不整合?问就是懒🤣)

Step 2: 解压整合包

将整合包解压到电脑硬盘中(路径中尽量不要包含中文),整合包内已经搭建好了运行所需的所有环境依赖,你无需自己手动搭建环境。

Step 3: 准备数据集

数据集的准备和旧版没有任何区别,请参考BV1H24y187Ko中的指引自己准备数据集。

5.2日更新:现在你可以在WebUI中进行数据集音频切片了。在WebUI中整合了一个小工具,可以无需调参一键式切片,确保你的数据集不会出现过长或过短的音频。

Step 4: 在WebUI中进行数据预处理/训练

将准备好的数据集放置在 .\dataset_raw\ 文件夹中,确保文件夹结构正确

dataset_raw

├───speaker0

│   ├───xxx1-xxx1.wav

│   ├───...

│   └───Lxx-0xx8.wav

└───speaker1

    ├───xx2-0xxx2.wav

    ├───...

    └───xxx7-xxx007.wav

打开启动WebUI.bat,选择上方“训练”标签卡,进入训练设置界面:

AI翻唱/变声教程

(很简单啊,一看就懂了)

遇到WebUI卡死请参照以下解决方案:关闭代理/换浏览器(Chrome为佳)/清除浏览器缓存/如果浏览器自带网页翻译也要关闭

一些说明:

  1. 评估日志和保存模型均是按照步数(steps)而非轮数(epoch)来计算的,默认的数值比较常用。步数和轮数的关系是:steps = epoch * (数据集数量/batch size)
  2. 批量大小(batch_size)极度影响显存占用。如果遇到CUDA out of memory报错请首先调低batch size,如果不行再考虑升级显卡驱动、CUDA驱动。本环境在CUDA 11.7和12.0中测试稳定
  3. 半精度训练(fp16)是一个比较玄学的参数,如果你不知道这是干嘛的还是保持关闭就好
  4. 多卡用户如果要指定某张显卡用于训练的话,可以使用 nvidia-smi 命令来查看显卡的系统编号,但是英伟达的编号分配逻辑就是依托,很容易出现指定不到你想选的那张显卡的问题。默认0是不会出错的
  5. 不要问我怎么才算训练好了,用整合包的启动tensorboard.bat来查看损失函数值收敛趋势,tensorboard里还可以试听当前模型的测试音频,但是测试音频不代表模型的实际产出。你觉得差不多训练好了就可以手动中止了。

Step 5: 在WebUI中进行推理

快来试试刚刚出炉的模型吧!

新版整合包的推理和旧版除了多出来一些可选项以外没有任何区别。仍然可以参考BV1H24y187Ko中的指引来操作。一些新的参数在WebUI中也有很详细的说明,你可以自己试试看。

新版WebUI在生成音频的时候会将文件自动保存在results文件夹内,你无需一个个手动下载了。

⏭关于浅扩散(Shallow Diffusion)

So-VITS 4.0近期的一个重大更新就是引入了浅扩散(Shallow Diffusion)机制,将So-VITS的原始输出音频转换为Mel谱图,加入噪声并进行浅扩散处理后经过声码器输出音频。经过测试,原始输出音频在经过浅扩散处理后可以显著改善电音、底噪等问题,输出质量得到大幅增强

要使用浅扩散机制,你必须在原有的数据集上新训练一个扩散模型,并确保配置文件中的说话人名称与So-VITS模型的配置文件一致。扩散模型与So-VITS模型是独立的,得益于浅扩散机制的向下兼容性,你仍然可以只使用其中任意一个模型进行推理,或者同时使用So-VITS和扩散模型进行完整的浅扩散推理。

AI翻唱/变声教程

🥰外部模型如何迁移到新版整合包?

G_模型Kmeans聚类模型放到新版整合包的以下目录:

.\logs\44k

把对应的config.json(在configs文件夹内)放置到新版的以下目录:

.\configs

把扩散模型放到新版整合包的以下目录:

.\logs\44k\diffusion

不太建议将旧版整合包未完成的训练转移到新版,因为两个包的环境依赖有所不同,容易出现意料之外的问题。

😪未来更新内容(有想要的功能或者BUG反馈可以在这里添加批注)

  • 音频批量推理
  • 文本转语音(edgetts)
  • onnx批量转换
  • 整合数据集音频切片
  • 加入So-VITS-SVC-vec768-layer12 的分支支持
  • 多模型音色融合

……

So-VITS-SVC 4.0云端训练教程

https://www.bilibili.com/video/BV1324y1572U/

感谢@风缘

目前AutoDL云端镜像已经与本整合包同步更新,基本能实现新版整合包的绝大多数功能。感谢云端镜像作者@麦哲云

请在社区镜像选择so-vits-svc-v4-Webui:v11即可使用最新镜像。

DDSP-SVC 3.0 (DDDSP, D3SP) 整合包及训练/推理教程

🤔DDSP-SVC 3.0 (D3SP) 是什么?

DDSP-SVC 是一个相对年轻的音声转换项目,相较于常用的So-VITS和更早的Diff-SVC,DDSP在训练推理速度和配置要求上都可以说是全面优于前两个项目,一般来说只要有一张2G以上显存的N卡,花上一两个小时就可以训练完成,大大降低了AI变声的门槛。当然,带来的牺牲就是其原本的转换效果是不太尽人意的。

但是最近DDSP项目迭代到了3.0版本,在原有的基础上加入了浅扩散机制,将DDSP输出的质量较低的音频梅尔谱图输入扩散模型进行浅扩散处理,输出梅尔谱图并通过声码器转换为高质量音频,使得转换效果大幅提升,在部分数据集上可以达到媲美So-VITS的效果。因此DDSP-SVC 3.0也可以称为D3SP(DDSP with Diffusion, DDDSP, 带带大涩批)。

戳这里:https://www.bilibili.com/video/BV1rs4y1Q7BQ/

转载自:炼丹百科全书 (qq.com)

© 版权声明

相关文章

暂无评论

暂无评论...