so-vits-svc环境安装和AI训练

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

So-VITS-SVC 项目一直都有在更新,B站视频(指4月26日换源前的视频)里的版本已经比较落后了,并且原版整合包因为做的匆忙,有很多地方做得比较粗糙,所以痛定思痛重写了一个新的真·一站式WebUI整合包。除了f0均值滤波功能外,项目本体没有太大改动,所以先前训练的进度也可无缝转移

有什么新的?

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

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

2023.04.28 v1.3.2 (NEWEST)

  • 修复了特定情况下训练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.1

  • 加入了对GTX 16系显卡的支持

2023.04.09 v1.1.0

  • 整合了python环境,不需要再装python了(码的配环境配了一下午)
  • 新增NSF-HiFiGAN声码器增强器功能
  • 新增了一些推理/训练可选项

2023.04.07 v1.0.1

  • 修复了tensorboard无法运行的bug
  • 优化了WebUI的启动逻辑
  • 添加了一些防呆手段

2023.04.06 v1.0.0

  • WebUI一站式整合
  • f0均值滤波(缓解哑音问题)
  • 更多推理可选项

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

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

1. 未经授权同意,禁止在音视频网站发布的作品中标注项目仓库地址、仓库作者、贡献者、整合包作者的信息。

2. 必须在作品中标注免责声明,免去仓库作者、贡献者、整合包作者对该作品一切后果的责任。

作品简介模板

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

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

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

下载地址

完整整合包(v1.3.2)

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

Google Drive: https://drive.google.com/file/d/1d38zLye6Nn8uM_-xFPzc36hrUdlaKEKQ/view?usp=share_link

增量更新

直接替换整合包内的文件(这是给新版整合包用的增量更新,旧版不能直接使用

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

关于Vec768-Layer12

Vec768-Layer12是So-VITS-SVC 4.0的最新分支(应该也是最后一个),将特征输入更换为了ContentVec的第12层Transformer输出。其实原本应该叫4.0v3的,后来大家认为长一点的名字很酷(不觉得这很酷吗?我觉得这泰裤啦,很符合我们对So-VITS的想象),于是就叫了这个名字。就是每次都要打全称不太方便。

从名字也能看出来,这个分支和原版不通用,模型需要重新训练,并且需要自己本地部署一个该分支推理。但现在本整合包将两个分支整合在一起了,你现在可以在本整合包下任意选择你要训练的分支,并且支持双分支模型的推理。本整合包自带Vec768-L12的底模,训练时会根据你选择的分支自动装载对应分支的底模,真正实现我奶奶来了也会用的自动化。

那么问题来了,Vec768-Layer12的效果如何呢?经过社区小规模测试,得出的结论是该分支相较原版可能存在性能提升,在数据集更大的情况下有更高的上限。当然也说了这只是小规模测试,我们推荐你在自己的数据集上亲自训练一个并比较和原分支的差异。

使用教程

Step 1: 安装Python 3.8.9

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

Step 2: 解压整合包

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

Step 3: 准备数据集

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

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

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

dataset_raw

├───speaker0

│ ├───xxx1-xxx1.wav

│ ├───...

│ └───Lxx-0xx8.wav

└───speaker1

├───xx2-0xxx2.wav

├───...

└───xxx7-xxx007.wav

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

so-vits-svc环境安装和AI训练_第1张图片

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

一些说明:

  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文件夹内,你无需一个个手动下载了。

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

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

.\logs\44k

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

.\configs

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

未来更新内容(可能)

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

……

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

【AI翻唱/SoVITS 4.0】手把手教你老婆唱歌给你听~无需高配电脑的云端训练教程!包教包会!_哔哩哔哩_bilibili

 

今天把笔记本电脑重装了系统,顺便重新弄了一遍so-vits-svc,过程非常折磨。。。


so-vits-svc项目地址:

https://github.com/innnky/so-vits-svc    (原作者已经删除了代码)

基于vits与softvc的歌声音色转换模型

作者:innnky    


2023年3月30日更改

由于很多人的对项目的滥用,原作者已经删除了项目。。。

不过还能GitHub上找到备份:

https://github.com/svc-develop-team/so-vits-svc

该项目目前由So-VITS社区维护。不知道后续会不会有更新


2023年3月30日补充:

特别注意:

1.版权问题一定要认真对待。

2.可以用自己的声音训练,这样不容易遇到版权问题。(要注意原曲的版权问题)

3.不要直接用别人的mv作为背景,最好自己制作。(比如用AI生成的图片或者视频)

4.不要制作对题材相关人员有伤害的内容。(声音来源和原唱不希望出现的内容)

5.既然原作者选择删除项目,那么后续再投稿就不要再带上作者和原项目地址了,除非你解决了所有版本问题而且没有伤害性内容。(滥用已经对原作者产生了困扰)

6.遇到问题,可以在评论区找一下有没有类似的情况。

7.训练好的模型文件不要分享出去。


我的硬件配置如下:

CPU

Intel(R) Core(TM) i7-10870H CPU @ 2.20GHz

GPU

NVIDIA GeForce RTX 3070 Laptop GPU  8G显存

AI的硬件需求主要在显卡这一块。

我的这个显卡是笔记本的3070 8G显存。刚好够用的水平。。。


我把折腾的过程整理了两个文档,文档我放在百度网盘了。


2023年3月30日更改

环境依赖安装.doc 链接: https://pan.baidu.com/s/1WS8d8zgQD5HhJcgZB4YE0Q?pwd=np93 

训练AI.doc 链接: https://pan.baidu.com/s/1mBhXv3xWLgt_L-Vn8x0I6Q?pwd=cd3h

制作文档的时候,还是3.0版本。

现在推荐用4.0版本,大幅优化了显存占用,8G显存已经可以直接推理一整首歌了。步骤都是差不多的,文档还有参考意义。


环境依赖安装.doc 包含了以下章节:

主要记录了需要安装的各种环境和依赖。

Cuda

Python

项目依赖

Pytorch

ffmpeg

git(可选)

vscode (推荐)

训练AI.doc 包含了以下章节:

主要讲解了训练这个AI的步骤和一些注意事项。

下载代码

预训练模型

准备数据

数据预处理

开始训练

日志文件

中断和继续

这两个文档只是记录了训练AI的步骤

对于AI的使用,我后续会出一个视频介绍怎么进行歌声音色转换

2023年3月30日补充

怎么进行歌声音色转换,可以参考这个视频。

视频当时还是用的3.0版本。推理的时候还需要把一首歌切成几个小段,再把结果拼接起来。

现在的4.0版本已经对显存占用进行了优化,可以直接推理一整首歌了,不需要切片。

09:10
AI翻唱制作流程(so-vits-svc)
 6.3万  424
视频
inifnite_loop
简单来说就是把A唱的歌转换成B的声音。


这个视频就是把周杰伦的声音转换成了我自己的声音。 作者:inifnite_loop https://www.bilibili.com/read/cv21425662 出处:bilibili

你可能感兴趣的:(人工智能)