文章目录
讲解链接
源码地址:https://github.com/RVC-Boss/GPT-SoVITS
文档
一、GPT-SoVITS特色
1、Zero-shot TTS: Input a 5-second vocal sample and experience instant text-to-speech conversion.
5秒钟克隆tts集外银色(不包含说话方式和咬字上的口癖)一般能80%到95%像
2、Few-shot TTS: Fine-tune the model with just 1 minute of training data for improved voice similarity and realism.
1分钟素材tts微调可以逼近真人(训练时间成本5~10分钟)
3、Cross-lingual Support: Inference in languages different from the training dataset, currently supporting English, Japanese, Korean, Cantonese and Chinese.
tts跨语言推理(已支持英文、日语、中文、汉语、粤语)
4、WebUI Tools: Integrated tools include voice accompaniment separation, automatic training set segmentation, Chinese ASR, and text labeling, assisting beginners in creating training datasets and GPT/SoVITS models.
独立可调试用的webUI页面调试工具
二、克隆音色示例
- 步骤
①先去除背景音乐杂音
1)去除背景音乐
双击BAT文件打开网页界面
打开伴奏音频分离工具填写音频地址
创建输入目录audio和输出目录vocal
关闭分离工具的打钩节省显存
填写输入音频目录和切分输出目录、填写要语音识别(音频转文本)的音频输入目录,分别作语音切分和语音识别=》将原来语音切分后进行语音识别成文本
语音识别结果在output/asr_opt这个目录下能找到
把语音识别的结果文件,也就是list文件作为标准工具的数据,用作文本校对,并打钩webUI
有杂音的或样本太少的文本建议删除
2)生成特征文件
得到文件后来到下一个目录
填写三个打*的地方
点击一键三连开始生成
生成特征文件
3)分别进行两个子模型微调
顺序随意
显存需求
4)推理界面试用
勾选点击按钮开始推理
推理前需要上传目标音色的参考视频,并填写对应的文本和语种
合成速度:3090每秒合成三秒长度
三、原理讲解
1)Sovits原理讲解
原理步骤
①首先通过softVC编码器去除音色
②然后通过VITS解码器重建音频
③在重建的过程中模型将训练集音色学习进它的参数中,因此输入其他音色的语音进过编码后,VITS模型也能重建出学习过的音色语音最大的问题:
编码器encoder去除音色这一步,事实上目前没有完全去除音色的特征,只有去音色相对强的特征,这也是为什么sovit编码器最后选用ContentVec作为编码器的原因
露音色备注
转换音色失败,不是自己想要的CN_Hubert音色引导作用(原始Hubert使用wenet中文数据训练)
保留丰富的音色信息反而成他的特色,结合RVQ将音频转化为包含音色的语义token,然后用类GPT模型将他补全
- 库目录
四、服务构建
1)环境安装
- 步骤
①安装conda
①安装conda
下载conda安装包
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
安装miniconda
bash Miniconda3-latest-Linux-x86_64.sh
重新加载环境变量:
source ~/.bashrc
验证 conda 是否可用
conda --version
conda环境
export PATH=~/miniconda3/bin:$PATH