so-vits-svc4.0 colab云端训练踩坑记录

试着训练了一下 pjsk-Kanade 的模型

因为不熟悉踩了好几个坑,记录一下

以后有人踩了坑的时候也许我能想起来我也踩过

数据获取

  • 对话数据集来源:B站 @涼风_青叶
  • 翻唱音频来源:SekaiViewer

音频预处理为dataset_raw

详细教程请参考【引用1】

  1. 对翻唱音频进行伴奏混响分离出人声,人工截取质量较好的部分

  2. 分别合并对话数据集和翻唱人声,切为6-15s的片段

  3. 打包文件为dataset.zip (打包格式:dataset.zip/Kanade/xxxxx.wav

后期吐槽:别加翻唱人声!是坑!!和对话数据集相比质量差的太多,加进去效果很差(电音Knd?)

但优点是高音好了不少,不会嘶哑失声

音频合并代码

(实在是不懂python…踩了一堆坑,这玩意最高吃了我5G内存,跑的还慢)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import os
import soundfile as sf
import numpy as np

if __name__ == '__main__':
dir_path = "C:/Users/littl/Desktop/kanade/kanade"
wav_list = os.listdir(dir_path)

output_path = "C:/Users/littl/Desktop/mergeout/output.wav"
output_signal = []

for i in wav_list:
path = os.path.join(dir_path, i)
signal, sr1 = sf.read(path)
output_signal = np.concatenate((output_signal, signal), axis=0)

sf.write(output_path, output_signal, sr1, format='WAV')

训练

使用 so-vits-svc 4.0分支 提供的 colab一键数据集制作、训练脚本 进行训练

3.11 修改:原作者跑路 脚本模型也删了 这里放上来一份我的备份

使用sovits4.0训练推理脚本修复版 进行训练

所需模型文件的备份

真一键式以至于过程没多少说的,说说坑

踩过的坑

导入zip之后一定要检查 dataset_raw 文件夹格式是不是正确的!

3.11 修改:已经在修复版脚本中解决以下两个问题

fairseq 安装失败:pip 版本低了,此步代码前面加一行 !pip install --upgrade pip

生成hubertf0失败:numpy不适配,此步代码前面加一行 !pip install numpy==1.23.5

colab防掉线脚本(网上看到的)

模拟点击 每分钟一次 浏览器控制台执行

1
2
3
4
5
6
7
function ClickConnect(){
colab.config
console.log("Connnect Clicked - Start");
document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click();
console.log("Connnect Clicked - End");
};
setInterval(ClickConnect, 60000)

引用

  1. 【AI翻唱/SoVITS 4.0】手把手教你老婆唱歌给你听~无需配置环境的本地训练/推理教程[懒人整合包]
    良心教程,dataset_raw部分完全参考这个视频的方案进行就能得到不错的效果

  2. so-vits-svc/tree/4.0
    请自觉遵循README里的使用规约