so-vits-svc3.0 中文详细安装、训练、推理使用教程

慈云数据 2024-03-13 技术支持 49 0

SO-VITS-SVC3.0详细安装、训练、推理使用步骤

2023-3-12文档更新说明:

so-vits-svc3.0 中文详细安装、训练、推理使用教程
(图片来源网络,侵删)

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

本文档的Github项目地址 点击前往

so-vits-svc3.0 中文详细安装、训练、推理使用教程
(图片来源网络,侵删)

本帮助文档为项目 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版本为例

                    –示例开始–

                    • 我们需要安装以下三个库
                      1. torch-1.13.0+cu117点击下载:torch-1.13.0+cu117-cp310-cp310-win_amd64.whl

                        其中cp310指python3.10, win-amd64表示windows 64位操作系统

                      2. torchaudio-0.13.0+cu117点击下载:torchaudio-0.13.0+cu117-cp310-cp310-win_amd64.whl
                      3. 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
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon