SO-VITS-SVC3.0详细安装、训练、推理使用步骤
2023-3-12文档更新说明:

由于特殊原因,本项目文档将停止更新,详情请见原作者首页,感谢各位的支持!
本文档的Github项目地址 点击前往

本帮助文档为项目 so-vits-svc补档 的详细中文安装、调试、推理教程,您也可以直接选择官方README文档
撰写:Sucial 点击跳转B站主页
1. 环境依赖
- 本项目需要的环境:
NVIDIA-CUDA
Python 11.7,请依然选择11.7进行下载安装(Cuda有版本兼容性)并且安装完成后再次在cmd输入nvidia-smi.exe并不会出现cuda版本变化,即任然显示的是>11,7的版本
- Cuda的卸载方法:**打开控制面板-程序-卸载程序,将带有NVIDIA CUDA的程序全部卸载即可(一共5个)
- Python
- 前往 Python官网 下载Python,版本需要低于3.10(详细安装方法以及添加Path此处省略,网上随便一查都有)
- 安装完成后在cmd控制台中输入python出现类似以下内容则安装成功:
Python 3.10.4 (tags/v3.10.4:9d38120, Mar 23 2022, 23:13:41) [MSC v.1929 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
- 配置python下载镜像源(有国外网络条件可跳过)
在cmd控制台依次执行
# 设置清华大学下载镜像 pip config set global.index-url http://pypi.tuna.tsinghua.edu.cn/simple pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn
安装依赖库
- 在任意位置新建名为requirements.txt的文本文件,输入以下内容保存
Flask==2.1.2 Flask_Cors==3.0.10 gradio==3.4.1 numpy==1.23.5 playsound==1.3.0 PyAudio==0.2.12 pydub==0.25.1 pyworld==0.3.2 requests==2.28.1 scipy==1.10.0 sounddevice==0.4.5 SoundFile==0.10.3.post1 starlette==0.19.1 tqdm==4.63.0 scikit-maad praat-parselmouth tensorboard librosa
- 在该文本文件所处文件夹内右击空白处选择 在终端中打开 并执行下面命令以安装库(若出现报错请尝试用pip install [库名称]重新单独安装直至成功)
pip install -r requirements.txt
- 接下来我们需要单独安装torch, torchaudio, torchvision这三个库,下面提供两种方法
方法1(便捷但不建议,因为我在测试这种方法过程中发现有问题,对后续配置AI有影响
直接前往 Pytorch官网 选择所需版本然后复制Run this Command栏显示的命令至cmd安装(不建议)
方法2(较慢但稳定,建议)
- 前往该地址使用Ctrl+F搜索直接下载whl包 点击前往 https://download.pytorch.org/whl/
- 这个项目需要的是
torch==1.13.0+cu117
torchaudio==0.13.0+cu117
torchvision-0.14.0+cu117
1.13.0 和0.13.0表示是pytorch版本,cu117表示cuda版本11.7
以此类推,请选择 适合自己的版本 安装
- 下面我将以Cuda11.7版本为例
–示例开始–
- 我们需要安装以下三个库
- torch-1.13.0+cu117点击下载:torch-1.13.0+cu117-cp310-cp310-win_amd64.whl
其中cp310指python3.10, win-amd64表示windows 64位操作系统
- torchaudio-0.13.0+cu117点击下载:torchaudio-0.13.0+cu117-cp310-cp310-win_amd64.whl
- torchvision-0.14.0+cu117点击下载:torchvision-0.14.0+cu117-cp310-cp310-win_amd64.whl
- 下载完成后进入进入下载的whl文件的目录,在所处文件夹内右击空白处选择 在终端中打开 并执行下面命令以安装库
pip install .\torch-1.13.0+cu117-cp310-cp310-win_amd64.whl # 回车运行(安装时间较长) pip install .\torchaudio-0.13.0+cu117-cp310-cp310-win_amd64.whl # 回车运行 pip install .\torchvision-0.14.0+cu117-cp310-cp310-win_amd64.whl # 回车运行
- 务必在出现Successfully installed ...之后再执行下一条命令,第一个torch包安装时间较长
–示例结束–
安装完torch, torchaudio, torchvision这三个库之后,在cmd控制台运用以下命令检测cuda与torch版本是否匹配
python # 回车运行 import torch # 回车运行 print(torch.__version__) # 回车运行 print(torch.cuda.is_available()) # 回车运行
- 最后一行出现True则成功,出现False则失败,需要重新安装
- FFmpeg
- 前往 FFmpeg官网 下载。解压至任意位置并在高级系统设置-环境变量中添加Path定位至.\ffmpeg\bin(详细安装方法以及添加Path此处省略,网上随便一查都有)
- 安装完成后在cmd控制台中输入ffmpeg -version出现类似以下内容则安装成功
ffmpeg version git-2020-08-12-bb59bdb Copyright (c) 2000-2020 the FFmpeg developers built with gcc 10.2.1 (GCC) 20200805 configuration: [此处省略一大堆内容] libavutil 56. 58.100 / 56. 58.100 libavcodec 58.100.100 / 58.100.100 ...
2. 预训练AI
- 下载项目源码
-
前往 so-vits-svc补档 选择32k分支(本教程针对32k)下载源代码。
-
解压到任意文件夹
- 下载预训练模型
- 这部分官方文档写得很详细,我这边直接引用
hubert
https://github.com/bshall/hubert/releases/download/v0.1/hubert-soft-0d54a1f4.pt
G与D预训练模型
https://huggingface.co/innnky/sovits_pretrained/resolve/main/G_0.pth
https://huggingface.co/innnky/sovits_pretrained/resolve/main/D_0.pth
上述三个底模如果原链接下载不了请点击下方的链接
https://pan.baidu.com/s/1uw6W3gOBvMbVey1qt_AzhA?pwd=80eo 提取码:80eo
- hubert-soft-0d54a1f4.pt放入.\hubert文件夹
- D_0.pth和G_0.pth文件放入.\logs\32k文件夹
- 准备训练样本
准备的训练数据,建议60-100条语音(格式务必为wav,不同的说话人建立不同的文件夹),每条语音控制在4-8秒!(确保语音不要有噪音或尽量降低噪音,一个文件夹内语音必须是一个人说的),可以训练出效果不错的模型
- 将语音连带文件夹(有多个人就多个文件夹)一起放入.\dataset_raw文件夹里,文件结构类似如下:
dataset_raw ├───speaker0 │ ├───xxx1-xxx1.wav │ ├───... │ └───Lxx-0xx8.wav └───speaker1 ├───xx2-0xxx2.wav ├───... └───xxx7-xxx007.wav
- 此外还需要在.\dataset_raw文件夹内新建并编辑config.json,代码如下:
"n_speakers": 10 //修改数字为说话人的人数 "spk":{ "speaker0": 0, //修改speaker0为第一个说话人的名字,需要和文件夹名字一样,后面的: 0, 不需要改 "speaker1": 1, //以此类推 "speaker2": 2, //以此类推 }
- 样本预处理
下面的所有步骤若出现报错请多次尝试,若一直报错就是第一部分环境依赖没有装到位,可以根据报错内容重新安装对应的库。(一般如果正确安装了的话出现报错请多次尝试或者关机重启,肯定可以解决报错的。)
1. 重采样
- 在so-vits-svc文件夹内运行终端,直接执行:
python resample.py
注意:如果遇到如下报错:
... E:\vs\so-vits-svc-32k\resample.py:17: FutureWarning: Pass sr=None as keyword args. From version 0.10 passing these as positional arguments will result in an error wav, sr = librosa.load(wav_path, None) E:\vs\so-vits-svc-32k\resample.py:17: FutureWarning: Pass sr=None as keyword args. From version 0.10 passing these as positional arguments will result in an error wav, sr = librosa.load(wav_path, None) ...
请打开resample.py,修改第17行内容
# 第17行修改前如下 wav, sr = librosa.load(wav_path, None) # 第17行修改后如下 wav, sr = librosa.load(wav_path, sr = None)
保存,重新执行python resample.py命令
- 成功运行后,在.\dataset\32k文件夹中会有说话人的wav语音,之后dataset_raw文件夹就可以删除了
2. 自动划分训练集,验证集,测试集,自动生成配置文件
- 在so-vits-svc文件夹内运行终端,直接执行:
python preprocess_flist_config.py
- 出现类似以下内容则处理成功:
PS E:\vs\so-vits-svc-32k> python preprocess_flist_config.py 100%|██████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00
- 出现类似以下内容则处理成功:
- 在so-vits-svc文件夹内运行终端,直接执行:
- 成功运行后,在.\dataset\32k文件夹中会有说话人的wav语音,之后dataset_raw文件夹就可以删除了
- 在so-vits-svc文件夹内运行终端,直接执行:
- 此外还需要在.\dataset_raw文件夹内新建并编辑config.json,代码如下:
- 将语音连带文件夹(有多个人就多个文件夹)一起放入.\dataset_raw文件夹里,文件结构类似如下:
- 这部分官方文档写得很详细,我这边直接引用
-
- 最后一行出现True则成功,出现False则失败,需要重新安装
- 务必在出现Successfully installed ...之后再执行下一条命令,第一个torch包安装时间较长
- torch-1.13.0+cu117点击下载:torch-1.13.0+cu117-cp310-cp310-win_amd64.whl
- 我们需要安装以下三个库
- 下面我将以Cuda11.7版本为例
- 这个项目需要的是
- 前往该地址使用Ctrl+F搜索直接下载whl包 点击前往 https://download.pytorch.org/whl/
- 接下来我们需要单独安装torch, torchaudio, torchvision这三个库,下面提供两种方法
- 在该文本文件所处文件夹内右击空白处选择 在终端中打开 并执行下面命令以安装库(若出现报错请尝试用pip install [库名称]重新单独安装直至成功)
- 在任意位置新建名为requirements.txt的文本文件,输入以下内容保存
- 配置python下载镜像源(有国外网络条件可跳过)