这不是Bert-VITS2作者的官方教程,源自我使用过程的随手记录,不对正确性做保证。
这是2023年9月写下的教程,其中部分内容可能已经过时,仅供参考。如果在使用过程中发现教程有问题,欢迎讨论(虽然我也不一定能帮你解决就是了)或者pull request进行修正。
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
-
自定义数据集:
-
若干条语音
path/to/dataset/<speaker_name>/*.wav
,可以放在任意路径下,因为会在filelists/genshin.list
中注明;注意,语音文件的采样率必须与配置文件configs/config.json
中的data.sampling_rate
一致,如果不一致可以使用脚本resample.py
进行重采样 -
语音内容标注
filelist/genshin.list
(这个文件名是在脚本preprocess_text.py
中写死的),其中每行的格式为:{wav_path}|{speaker_name}|{language}|{text}
这是一个具体的例子:
/root/my_dataset/diona/114514.wav|diona|ZH|哼哼,快快开始激动人心的新人对局吧!
-
-
执行脚本
preprocess_text.py
对filelist/genshin.list
做预处理:python preprocess_text.py
这一步会在目录
filelists
生成中间文件genshin.list.cleaned
以及用于模型训练评估的train.list
和val.list
,同时会根据数据集中实际的角色修改configs/config.json
中的spk2id
字段
下载底模:Stardust_minus/Bert-VITS2 - Bert-VITS2 - OpenI - 启智AI开源社区提供普惠算力! (pcl.ac.cn),在logs
下新建目录<speaker_name>
将下载好的模型权重文件放入其中
在本repo中有目录bert/chinese-roberta-wwm-ext-large
,这一目录对应的原始repo为hfl/chinese-roberta-wwm-ext-large at main (huggingface.co),可以完整克隆进行替换,也可以下载pytorch_model.bin
放入目录bert/chinese-roberta-wwm-ext-large
python bert_gen.py
这一步会在目录path/to/dataset/<speaker_name>
中为每个音频生成*.bert.pt
python train_ms.py -c configs/config.json -m <speaker_name>
其中<speaker_name>
为第四步中保存底模的目录名。训练过程中默认每1000步保存一次checkpoint,保存路径为logs/<speaker_name>/*.pth
python webui.py --model logs/<speaker_name>/G_xxx.pth