SO-VITS-SVC 5.0 安装与配置完全指南
项目基础介绍与编程语言
SO-VITS-SVC 5.0 是一个基于变分推理与对抗学习的端到端歌唱声音转换核心引擎。它利用了VITS(Variational Inference for Text-to-Speech)的技术,并专注于简化歌唱声音转换及克隆的过程。本项目面向深度学习初学者,需具备Python和PyTorch的基础知识。值得注意的是,尽管该工具强大,但它不支持实时语音转换。
主要编程语言: Python
关键依赖框架: PyTorch, Whisper, BigVGAN, Hubert, CrePE等。
关键技术和框架
- VITS (Variational Inference for Text-to-Speech): 提供文本转语音的基础。
- Whisper: 开放AI的语音识别模型,用于提取音频内容编码。
- BigVGAN: NVIDIA提供的高质量音频生成模型。
- Speaker Encoder (Timbre Encoding): 如@mueller91的工作,用于捕捉音色特征。
- HuBERT: 利用旋转位置嵌入来增强音频理解。
- NSF-iSTFTNet: 速度优化,来自Zhuiyi Technology的模型。
安装与配置详细步骤
环境准备
步骤1: 软件要求
确保你的系统已安装Python 3.7+ 和 Git。推荐安装Anaconda以方便管理环境。
步骤2: 创建虚拟环境
conda create -n sovits-env python=3.7
conda activate sovits-env
项目克隆与依赖安装
步骤3: 克隆项目
git clone https://github.com/PlayVoice/so-vits-svc-5.0.git
cd so-vits-svc-5.0
步骤4: 安装依赖
在项目根目录下运行以下命令安装所有必需的库,注意Whisper已被内置,无需单独安装。
pip install -r requirements.txt
预训练模型和数据下载
步骤5: 下载预训练模型与组件
- Speaker Encoder: 下载
best_model.pth.tar
至speaker_pretrain/
。 - Whisper Model: 获取
whisper-large-v2.pt
放置于whisper_pretrain/
。 - Hubert Soft Model: 将
hubert-soft-0d54a1f4.pt
置于hubert_pretrain/
。 - CrePE Pitch Extractor: 把完整的
full.pth
放入crepe/assets/
。 - Pretrained Model: 拷贝
sovits5.0_pretrain.pth
到vits_pretrain/
。
步骤6: 数据集准备与处理
准备或获取您想要转换声音的数据集,并按照说明进行音频分离、剪辑和归一化。之后,使用脚本进行预处理:
python svc_preprocessing.py -t 2
此步骤会生成所需的各种文件结构,包括声纹、音频片段及其对应的特征文件。
训练与推理前设置
步骤7: 配置文件调整
根据实际需求修改configs/base.yaml
中的参数,比如设置pretrain路径、学习率等。
步骤8: 开始训练 (可选)
如果您要从头开始训练或继续之前的训练,使用以下命令:
python svc_trainer.py -c configs/base.yaml -n
或者,如果是恢复中断的训练:
python svc_trainer.py -c configs/base.yaml -n sovits5.0 -p chkpt/sovits5.0/***pth
进阶:推理与模型导出
步骤9: 导出推理模型
若要部署,首先导出模型:
python svc_export.py --config configs/base.yaml --checkpoint_path chkpt/sovits5.0/***pth
步骤10: 进行语音转换
执行推理命令进行语音转换,可以是默认设置或手动指定F0等参数:
python svc_inference.py --config configs/base.yaml --model sovits5.0.pth --spk /data_svc/singer/your_singer.npy --wave test.wav
确保替换上述命令中的路径和文件名以匹配您的具体设置。
至此,您已经完成了SO-VITS-SVC 5.0项目的安装、配置以及基本操作流程,现在可以开始探索和实验歌唱声音的转换与克隆了。记得在进行任何修改或训练前仔细阅读项目文档和配置细节,以充分利用这一强大的工具。