Steve235lab / Bert-VITS2-Cook-Book

Documentation for Bert-VITS2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bert-VITS2 Cook Book

这不是Bert-VITS2作者的官方教程,源自我使用过程的随手记录,不对正确性做保证。

这是2023年9月写下的教程,其中部分内容可能已经过时,仅供参考。如果在使用过程中发现教程有问题,欢迎讨论(虽然我也不一定能帮你解决就是了)或者pull request进行修正。

1. 创建虚拟环境

virtualenv venv
source venv/bin/activate

2. 安装依赖项

pip install -r requirements.txt

3. 准备数据

  1. 自定义数据集:

    • 若干条语音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|哼哼,快快开始激动人心的新人对局吧!

  2. 执行脚本preprocess_text.pyfilelist/genshin.list做预处理:

    python preprocess_text.py

    这一步会在目录filelists生成中间文件genshin.list.cleaned以及用于模型训练评估的train.listval.list,同时会根据数据集中实际的角色修改configs/config.json中的spk2id字段

4. 准备底模

下载底模:Stardust_minus/Bert-VITS2 - Bert-VITS2 - OpenI - 启智AI开源社区提供普惠算力! (pcl.ac.cn),在logs下新建目录<speaker_name>将下载好的模型权重文件放入其中

5. 下载BERT模型权重

在本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

6. 使用BERT生成prosody embedding

python bert_gen.py

这一步会在目录path/to/dataset/<speaker_name>中为每个音频生成*.bert.pt

7. 开始训练

python train_ms.py -c configs/config.json -m <speaker_name>

其中<speaker_name>为第四步中保存底模的目录名。训练过程中默认每1000步保存一次checkpoint,保存路径为logs/<speaker_name>/*.pth

8. Web UI,启动!

python webui.py --model logs/<speaker_name>/G_xxx.pth

References

About

Documentation for Bert-VITS2

License:MIT License