SO-VITS-SVC 4.0和4.1Stable版 Intel/Apple Silicon Mac 本地推理
ROVERSX
编辑于 2024年01月15日 23:00
收录于文集
共2篇

本教程均基于本站视频和实践所得,以下为参考视频和文档:

So-VITS-SVC 4.1 整合包完全指南,由bilibili@羽毛布団​制作,很不错

https://www.yuque.com/umoubuton/ueupp5

so-vits-svc 4.1 详细使用记录,来源csdn

https://blog.csdn.net/qq_17766199/article/details/132436306

Mac就不要想着训练了,能预处理和推理就不错了,LLM倒是可以尝试跑跑,不过如果有在Mac上成功训练的还请告知(mps没搞定)

本教程主要讲讲训练后模型下载到本地的推理过程,本人实测都是可以跑的。

训练相关的可以移步到上面参考视频,讲到很详细,数据集是关键,训练要有耐心

项目链接:

https://github.com/svc-develop-team/so-vits-svc

本教程仅供交流与学习使用,请勿用于违法违规或违反公序良德等不良用途 严禁将此项目用于一切违反《中华人民共和国宪法》,《中华人民共和国刑法》,《中华人民共和国治安管理处罚法》和《中华人民共和国民法典》之用途。 严禁用于任何政治相关用途。

软件要求:

  1. Homebrew https://brew.sh/

  2. VScode (可选)

  3. Python3 

这个是为了SO-VITS-SVC 4.0 安装So-Vits-SVC-Fork防止没有包报错

代码块
Shell
自动换行
复制代码
brew install python-tk@3.11
复制成功

这个是为了防止SO-VITS-SVC 4.1 使用WebUI出现不兼容python3.11的问题

代码块
Shell
自动换行
复制代码
brew install python3.10
复制成功

看用哪个模型了,上面两个版本不需要都安装

SO-VITS-SVC 4.0 推理

这里我们主要需要用到so-vits-svc-fork(https://github.com/voicepaw/so-vits-svc-fork)

1. 创建虚拟环境

代码块
Shell
自动换行
复制代码
python3 -m venv myenv #myvenv 自己换个名字好了
复制成功

2. 进入虚拟环境

代码块
Shell
自动换行
复制代码
cd myenv
复制成功

代码块
Shell
自动换行
复制代码
source bin/activate
复制成功

3. 安装必要的包

代码块
Shell
自动换行
复制代码
python -m pip install -U pip setuptools wheel pip3 install torch torchvision torchaudio pip install -U so-vits-svc-fork
复制成功

4. 启动

代码块
Shell
自动换行
复制代码
svcg
复制成功

svcg

  • 关闭Use GPU

  • 点击infer开始推理

  • F0 predict可以试试

  • 4.1的模型在这里没测试成功故使用webui

需要这些文件(除了 REAMD.md)

SO-VITS-SVC 4.1 推理

这里用官方仓库的WebUI

https://github.com/svc-develop-team/so-vits-svc

1. 创建虚拟环境

代码块
Shell
自动换行
复制代码
python3.10 -m venv myenv #myvenv 自己换个名字好了,python3.9也是可以的
复制成功

2. 进入虚拟环境

代码块
Shell
自动换行
复制代码
cd myenv
复制成功

代码块
Shell
自动换行
复制代码
source bin/activate
复制成功

3. 克隆仓库

代码块
Shell
自动换行
复制代码
git clone https://github.com/svc-develop-team/so-vits-svc.git
复制成功

4.进入 项目目录

代码块
Shell
自动换行
复制代码
cd so-vits-svc
复制成功

5. 安装必要的包

代码块
Shell
自动换行
复制代码
pip install -r requirements.txt
复制成功

6. 启动WebUI(进入webUI后无法加载模型正常的)

代码块
Shell
自动换行
复制代码
python webUI.py
复制成功

WebUI 相关报错 出现以下报错时: 启动 webUI 时报错:ImportError: cannot import name 'Schema&#​39; from 'pydantic&#​39; webUI 加载模型时报错:AttributeError("&#​39;Dropdown' object has no attribute &#​39;update'&#​34;) 请限制以下依赖版本: fastapi==0.84.0, gradio==3.41.2, pydantic==1.10.12 具体解决方法为:在 cmd 中依次输入以下命令以更新依赖包

代码块
Shell
自动换行
复制代码
pip install --upgrade fastapi==0.84.0
pip install --upgrade gradio==3.41.2
pip install --upgrade pydantic==1.10.12
复制成功

Source: 该视频评论区

文件一览

7. 下载一些缺少的文件(模型不同缺少的文件不一样)

目前使用的一套配置

代码块
Shell
自动换行
复制代码
#默认使用带响度嵌入的768
!python preprocess_flist_config.py --speech_encoder vec768l12 --vol_aug
!rsync -v pre_trained_model/768l12/vol_emb/* logs/44k
#默认使用rmvpe且带浅扩散
!python preprocess_hubert_f0.py --f0_predictor rmvpe --use_diff
%cp pre_trained_model/diffusion/768l12/* logs/44k/diffusion
##### 浅扩散模型训练
!python train_diff.py -c configs/diffusion.yaml 
##### 主模型训练
!python train.py -c configs/config.json -m 44k
复制成功

Source: kiss丿冷鸟鸟​

主要缺少的文件在pretrain文件夹,根据命令行报错添加文件

meta.py

代码块
Shell
自动换行
复制代码
.
├── checkpoint_best_legacy_500.pt
├── chinese-hubert-large-fairseq-ckpt.pt
├── fcpe.pt
├── hubert-soft-0d54a1f4.pt
├── __init__.py
├── medium.pt
├── meta.py
├── nsf_hifigan
│   ├── config.json
│   ├── model
│   ├── NOTICE.txt
│   ├── NOTICE.zh-CN.txt
│   └── put_nsf_hifigan_ckpt_here
├── put_hubert_ckpt_here
└── rmvpe.pt
复制成功

可以从云端训练的服务器上下载相应文件或者根据🤗🔗下载文件

Mac端本地推理总结:MPS我测试下来依然是有些问题,目前依然是CPU跑。不过好歹能跑了,本人技艺不精,目前只能做到这样。手头有Windows和N卡的还是舒服很多。

模型:训练出来效果还是很不错的,不需要训练很多长时间步,服务器上跑几个小时足矣(当然还是看数据集)本人训练的数据集全部都是Elevenlab上生成的合成数据,质量还可以(用于文本推理的话)做TTS的话推荐Fish-Speech(感觉是很有希望的)和Bert-Vits2(中文效果不错)

感谢阅读,教程如有问题或更好的办法还请指出。

个人博客:blog.closex.org

Version: 1.0