git clone https://github.com/fishaudio/Bert-VITS2.git
pip install -r requirements.txt
放置到根目录 bert 文件夹
下覆盖
https://huggingface.co/hfl/chinese-roberta-wwm-ext-large
https://huggingface.co/ku-nlp/deberta-v2-large-japanese-char-wwm
https://huggingface.co/microsoft/deberta-v3-large
放置到根目录 slm 文件夹
下覆盖
https://huggingface.co/microsoft/wavlm-base-plus
放到 根目录 data/{你的数据集名称}/models
文件夹下,需要自己新建
https://openi.pcl.ac.cn/Stardust_minus/Bert-VITS2/modelmanage/show_model
├── data (data建在根目录下,不知道大小写有没有关系,之前是Data)
│ ├── {你的数据集名称}
│ │ ├── configs (这个文件夹可以复制根目录下的,使用webui生成配置文件后,再拷贝出来)
│ │ ├── config.json (上面文件夹里的config.json拷贝到这里,训练时用的这个)
│ │ ├── models (放置4个底膜 D_0.pth、DUR_0.pth、WD_0.pth、G_0.pth)
│ │ ├── esd.list (示例在下面)
│ │ ├── raw (里面放分段好的原始音频)
│ │ │ ├── ****.wav
│ │ │ ├── ...
-
esd.list 文件为标签文本,对应wavs文件夹下的所有文件
-
wavs文件夹是音频重采样raw文件夹后自动生成的,训练时会自动用的wavs文件夹
-
esd.list 文件格式:
/data/{你的数据集名称}/wavs/***.wav|{说话人名}|{语言 ID}|{标签文本}
-
esd.list 文件示例:
data/{你的数据集名称}/wavs/paimon_02.wav|派蒙|ZH|没什么没什么,只是平时他总是站在这里,有点奇怪而已。
data/{你的数据集名称}/wavs/noa_51_01.wav|NOA|JP|そうだね、油断しないのはとても大事なことだと思う
data/{你的数据集名称}/wavs/albedo_01.wav|Albedo|EN|Who are you? Why did you alarm them?
- 运行:
python webui_preprocess.py
- 第一步:生成配置文件()
- 第二步:预处理音频文件()
- 第三步:预处理标签文件()
- 第四步:生成 BERT 特征文件()
- 训练执行
torchrun --nproc_per_node=1 train_ms.py
命令,或直接运行train_ms.py
config.json
文件里的eval_interval
是间隔多少保存模型,epochs
是本次总共训练多少次,其他还不清楚喵- 多卡运行可参考
run_MnodesAndMgpus.sh
中的命令
- 修改根目录下的
config.yml
中webui
下model
一项为models/{权重文件名}.pth
(如 G_10000.pth) - 然后执行
python webui.py
部署