在这篇文章中记录一下模型训练和声音克隆流程
1 前言
- 项目开源地址:https://github.com/RVC-Boss/GPT-SoVITS
- 官方中文教程文档:https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e
- 准备:wav 格式的音频,训练需要 不少于 6G 显存,推理需要 不少于 4G 显存。
- 整合包:https://www.123pan.com/s/5tIqVv-GVRcv.html
更新:下载 main 代码,用 GPT-SoVITS-main 里的文件替换整合包中的文件;
2 人声伴奏分离
- 这一步是在准备素材,不好的素材练不出好模型!,不应低于2分钟
- 有背景音的音频先进行人声伴奏分离。下载 uvr5 客户端,安装并运行。
2.1 提取人声
在 urv5 操作界面中选择输入音频路径、输出文件夹路径、格式勾选 wav、处理算法 MDX-Net、模型 Bs-Roformer-Viperx-1297、勾选 GPU Conversion和 Vocals Only,其他保持默认。设置好后,点击 Process Progress,进行人声提取。
如果有报错:An Error Occurred: ZeroDivisionError
原因:输入的多个音频中有几个音频的时长太短。
- 提取的人声比较干净就跳过接下来的去混响和降噪。
2.2 去混响
-
将提取的人声再输入去混响
选择提取的人声作为输入音频、选择输出文件夹路径、处理算法改为 VR Architecture、模型改为
UVR-De-Echo-Normal(轻度混响)、勾选 No Echo Only(只保留没有混响的),其他保持不变。

</p>
</details>
- 设置好后,点击 Process Progress,进行去混响。
2.3 降躁
- 设置好后,点击 Process Progress,进行降噪。
2.4 音频调峰
- 使用Pr,选中音频,右键,点击音频增益。
3 算力互联
- 云端训练,本地训练直接看“4 音频切割”
3.1 创建实例
点击社区镜像-圈中输入“GPT-SoVITS”,搜索到冷鸟鸟的镜像,点击进入创建实例界面。
3.2 运行实例
4 音频切割(制作数据集)
- 使用GPT-SoVITS进行模型训练,输入的样本(音频)的时长有限制(比如 16G 的显存不能超过 16s),所以要进行音频切割,切分成短音频。
4.1 上传音频
-
双击GPT-SoVITS(使用).ipynb;
-
然后打开
/fssd/workdir/GPT-SoVITS/input文件夹,上传原音频(上传时间因网速和音频大小而异,耐心等待,不要重复上传)。
4.2 启动Web-UI
- 运行第二段代码,启动Web-UI。
- 注意:Web-UI 有两个 URL,一个是
loads URL,一个是public URL,选择公网链接public URL(余 Web-UI 同)。
4.2 切割
-
切割,将上传的音频(素材)划分为短音频(数据集)。
4 标注音频(给数据集打标)
4.1 自动打标
先等待 ASR 完成(ASR 进程结束),再勾选下面的开启打标 WebUI。
4.2 人工校对
- 每进行一次修改后点击保持修改,在翻页前点击保存修改,全部修改结束后点击保存文件。
5 训练模型
5.1 数据集格式化
5.2 微调训练
- 关于圈中的batch-size(批次大小),24G 显存设置为6(每次输入6个数据集);
- 关于圈中的训练轮数,SoVITS 可以高一点,GPT 不要超过10。
5.3 下载模型
-
算力互联需要,本地直接推理即可;
-
训练完成后点击中断按钮,中断 Web-UI;
-
运行打包模型的代码,运行完成后显示“打包完成”;
-
进入
/fssd/workdir/GPT-SoVITS/文件夹路径下,找到GPT_ SoVITS_ pack.zip,右键下载。 -
下载结束后,回到算力互联,点击删除实例。
6 本地推理
-
将GPT模型(ckpt 后缀)放入 GPT_weights 文件夹,SoVITS 模型(pth 后缀)放入 SoVITS_weights文件夹;
-
双击整合包中的
go-webui.bat,等待 Web-UI 自动打开; -
点击
1-GPT-SoVITS-TTS,再点击1C-推理,刷新模型路径,选择对应模型; -
勾选开启 TTS 推理 WebUI,等待打开推理界面。
-
合成语音时间过长,注意一下终端,是否有进行推理,或者报错。
转载请注明出处