一 环境配置
一台笔记本
安装pycharm pip miniconda3
在conda env环境中安装pip依赖并运行工程代码
注意:如果安装pip依赖WeTextProcessing失败,原因是其依赖pynini安装失败,其解决方法如下
conda install -c conda-forge pynini
pip install WeTextProcessing
二 工程代码路径
可直接在cpu上运行,包含依赖模型,底模文件,标贝数据集和修改后文件,可节省不少调试时间
工程压缩后总大小3.54G
扫码支付后得到百度网盘下载地址,然后自行下载
三 模型原理
vits-chinese 是在vits网络上的改进
vits网络前面已经介绍过,这里不再累述
改进点在于:
1. 使用bert中文模型处理音频中的中文信息,作为vits网络的输入bert
2. 将音频中的中文拼音分开为声母和韵母,然后将其数字化,作为vits网络的输入x
将音频进行短时帧傅里叶变换,作为vits网络的输入spec,这个和原网络一致
speaker id作为vits网络的输入sid,这个和原网络一致
四 训练
目的:新增speaker:Arik的语音训练
这里是直接使用标贝数据集作为Arik的语音进行训练,当然也可以基于标贝数据集的label,自行录制语音进行替换,制作自己的数据集
重采样
python prep_resample.py --wav train/wav/ --out vits_data/waves-16k
规范化label
python prep_format_label.py --txt train/000001-010000.txt --out vits_data/lables.txt --speaker Arik
数据预处理
python prep_bert.py --conf configs/bert_vits.json --data vits_data/
数据调试
python prep_debug.py
启动训练
cd monotonic_align
python setup.py build_ext --inplace
cd ../
python train.py -c configs/bert_vits.json -m bert_vits
推理
python vits_infer.py -c configs/bert_vits.json -m logs/bert_vits/G_xxx.pth -i 0
推理效果如下,
文本:遥望星空作文独自坐在乡间的小丘上,看着阳光渐渐变暗,听着鸟鸣渐渐变弱,触着清风渐渐变凉
输出音频:
不支持格式,就不放了
实际运行过程中,训练4个来回后,输出的语音已经很接近Arik的音色,其收敛效果比前面介绍的so-vits-svc模型好很多,该模型可强烈推荐作为中文语音转换的标杆模型。
附:
该工程代码基于vits-chinese,其源码地址如下: