Sovits3.0使用过程记录
一、前言
首先说明笔者是从事单片机以及嵌入式开发相关专业的大学生,平常鲜有涉及人工智能领域,本文是笔者基于网上大佬们教程以及自己在使用sovits3.0时的经验,予以的总结,故对于专业性问题,笔者难以解决。说明:本文为笔者在使用sovits3.0过程中的记录,笔者是使用colab进行模型训练以及本地cpu进行推理的。
二、训练模型
首先打开github项目,点击一键colab,根据项目的注释一步步由上至下顺序执行即可。
大佬的注释非常清晰简洁,故笔者这里仅记录自己在训练时遇到的问题,以及一些注意事项,而对于训练过程不多做记录。
1.首先是注意自己训练时选择GitHub仓库是32k还是48k,推理时,需下载对应仓库的源码。如下图:

2.上传训练数据集压缩包时,需在google云盘里新建dataset文件夹,注意与压缩包路径保持一致。如下图:

3.笔者在训练过程中,在数据集预处理部分,遇到了报错。经过报错信息以及排查,发现问题是笔者上传云盘的数据集压缩包的文件结构不对,正确文件结构应为
dataset
├───test1(命名随意).zip
│ ├───speak0(命名随意).zip
│ │ ├1.wav
│ │ └….wav
│ └───speak1(命名随意).zip
│ ├1.wav
│ └….wav
└───test2(命名随意).zip
├───speak0(命名随意).zip
│ ├1.wav
│ └….wav
└───speak1(命名随意).zip
├1.wav
└….wav
4.训练过程中每1000step便会自动保存到谷歌云盘,故我们要中断训练最好是在以及保存记录点后,再进行中断。中断后我们再进行训练时,就无需再下载预模型了。我们使用时,下载config.json和G_x000.pth文件即可。
三、推理
先在https://github.com/innnky/so-vits-svc中下载对应源码。训练时使用32kGitHub仓库的下载32k分支,使用48k仓库的下载fs2分支。
在github项目下按照大佬的注释,将待转换文件(干人声),若不是干人声,请先将音频分离出来,将文件放到指定文件目录下。
这里由于笔者是使用的colab进行模型训练,故还需要进行额外的工作,才能正常使用inference_main.py文件。
1.首先,在github项目地址里下载hubert

这里windows操作系统仅需将选中的部分复制粘贴到网页上即可下载。
接着便把下载好的hubert放入我们本地项目的hubert文件夹下。

2.第二步,安装相关依赖,笔者以及将需要安装的依赖整理好,注意笔者使用的是cpu推理,故使用cuda的用户请看其余大佬教程,来进行对应的依赖安装,使用cmd命令进行安装依赖即可。
pip install scikit-maad
pip install librosa
pip install praat-parselmouth
pip3 install torch torchvision torchaudio

3.安装完依赖后,按照inference_main.py文件里的注释,修改对应的部分,选择说话人(说话人应与训练集保持一致,若忘记说话人,我们仅需将下载的config.json文件以txt的方式打开,即可查看说话人),点击运行,耐心等待即可得到生成的音频文件。

四、结束
最后感谢大佬的开源项目以及@MasterSatori大佬的炼丹教程,让我们这些外行人也体会到了AI的乐趣,最后附项目地址:https://github.com/innnky/so-vits-svc。