@@ -9,61 +9,63 @@ A collection of neural vocoders suitable for singing voice synthesis tasks.
99python [ process.py] ( process.py ) --config 配置文件 --num_cpu 并行数量 --strx 1 代表 强制绝对路径 0 代表相对路径
1010
1111和预处理有关的配置文件项
12- ```
13- DataIndexPath: dataX11 这个是训练数据 index 的位置预处理会自动生成
12+ ``` yaml
13+ DataIndexPath : dataX11 # 这个是训练数据 index 的位置预处理会自动生成
1414
15- valid_set_name: validX 这个是val index 的名字预处理会自动生成
15+ valid_set_name : validX # 这个是val index 的名字预处理会自动生成
1616
17- train_set_name: trainX 这个是训练的 index 的名字预处理会自动生成
17+ train_set_name : trainX # 这个是训练的 index 的名字预处理会自动生成
1818
19- data_input_path: [] 这个是你的 wav 的输入目录
19+ data_input_path : [] # 这个是你的 wav 的输入目录
2020
21- data_out_path: [] 这个是你的 npz 的输出目录, 预处理之后的格式是 npz
21+ data_out_path : [] # 这个是你的 npz 的输出目录, 预处理之后的格式是 npz
2222
23- val_num: 1 这个是你要的 val 数量
23+ val_num : 1 # 这个是你要的 val 数量
2424` ` `
2525
2626例子
27- ```
28- data_input_path: ['wav/in1','wav/in2'] 这个是你的wav的输入目录
29-
30- data_out_path: ['wav/out1','wav/out2']这个是你的npz的输出目录
31- val_num: 5 这个是你要的 val 数量,预处理的时候会自动抽取文件
32- 两个列表里面的路径是一一对应的所以说数量要一样
33-
34- 然后预处理的时候会扫描全部的 .wav 文件,包括子文件夹的
35-
36- 正常情况下只有这三个要改
27+ ` ` ` yaml
28+ data_input_path : ['wav/in1','wav/in2'] # 这个是你的wav的输入目录
29+
30+ data_out_path : ['wav/out1','wav/out2'] # 这个是你的npz的输出目录
31+ val_num : 5 # 这个是你要的 val 数量,预处理的时候会自动抽取文件
32+ # 两个列表里面的路径是一一对应的所以说数量要一样
33+ # 然后预处理的时候会扫描全部的 .wav 文件,包括子文件夹的
34+ # 正常情况下只有这三个要改
3735```
3836# 离线数据增强
3937将预处理脚本替换为[ process_aug.py] ( process_aug.py ) 并增添配置项
40- ```
41- key_aug: false 表示训练时不进行增强
42- aug_min: 0.9 最小变调倍数
43- aug_max: 1.4 最大变调倍数
44- aug_num: 1 数据增强倍数
38+ ``` yaml
39+ key_aug : false # 表示训练时不进行增强
40+ aug_min : 0.9 # 最小变调倍数
41+ aug_max : 1.4 # 最大变调倍数
42+ aug_num : 1 # 数据增强倍数
4543` ` `
4644即可,注意数据增强可能会损伤音质!
4745# 在线数据增强(推荐)
4846增加配置项,注意使用在线数据增强请使用[process.py](process.py) 脚本,否则会造成离线增强与在线增强叠加
49- ``` angular2html
50- key_aug: true 表示在训练时进行增强
51- key_aug_prob: 0.5 增强概率
52- aug_min: 0.9 最小变调倍数
53- aug_max: 1.4 最大变调倍数
47+ ` ` ` yaml
48+ key_aug : true # 表示在训练时进行增强
49+ key_aug_prob : 0.5 # 增强概率
50+ aug_min : 0.9 # 最小变调倍数
51+ aug_max : 1.4 # 最大变调倍数
5452` ` `
5553注意数据增强可能会损伤音质!
5654# 训练
55+ ` ` ` sh
5756python [train.py](train.py) --config 配置文件 --exp_name ckpt名字 --work_dir 工作目录(可选)
57+ ```
5858
5959# 导出
60+ ``` sh
6061python [export_ckpt.py](export_ckpt.py) --ckpt_path ckpt路径 --save_path 导出的ckpt路径 --work_dir 工作目录(可选)
62+ ```
6163
6264# 注意
6365
6466因为 pytorch-lightning 的问题所以说在 GAN 训练过程中实际的步数是它显示步数的一半
6567
66- 如果你需要微调社区声码器权重建议使用[ ft_hifigan.yaml] ( configs%2Fft_hifigan .yaml ) 配置文件
68+ 如果你需要微调社区声码器权重建议使用[ ft_hifigan.yaml] ( configs/Fft_hifigan .yaml ) 配置文件
6769
6870如何使用微调功能建议参考 openvpi/diffsinger [ 项目文档] ( https://github.com/openvpi/DiffSinger/blob/main/docs/BestPractices.md#fine-tuning-and-parameter-freezing )
6971
@@ -77,37 +79,34 @@ python [export_ckpt.py](export_ckpt.py) --ckpt_path ckpt路径 --save_path 导
7779
7880## 预处理
7981以下是你需要根据自己的数据集修改的配置项
80- ``` angular2html
81-
82- data_input_path: [] 这个列表 是你原始wav文件的路径
83-
84- data_out_path: [] 此列表 预处理输出的npz文件的路径
85-
86- val_num: 1 这个是在验证的时候 抽取的音频文件数量
82+ ``` yaml
83+ data_input_path : [] # 这个列表 是你原始wav文件的路径
84+ data_out_path : [] # 此列表 预处理输出的npz文件的路径
85+ val_num : 1 # 这个是在验证的时候 抽取的音频文件数量
8786` ` `
8887然后执行预处理
89- ``` angular2html
88+ ` ` ` sh
9089python process.py --config (your config path) --num_cpu (Number of cpu threads used in preprocessing) --strx (1 for a forced absolute path 0 for a relative path)
9190```
9291## 训练
93- ``` angular2html
92+ ``` sh
9493python train.py --config (your config path) --exp_name (your ckpt name) --work_dir Working catalogue (optional)
9594```
9695测试中的配置项
97- ``` angular2html
98- use_stftloss: false 是否启用stft loss
96+ ``` yaml
97+ use_stftloss : false # 是否启用stft loss
9998lab_aux_melloss : 45
100- lab_aux_stftloss: 2.5 两种loss的混合控制
99+ lab_aux_stftloss : 2.5 # 两种loss的混合控制
101100` ` `
102101如果有其他需要可以修改 stftloss 的其他相关参数
103102## 导出
104- ``` angular2html
103+ ` ` ` sh
105104python export_ckpt.py --ckpt_path (your ckpt path) --save_path (output ckpt path) --work_dir Working catalogue (optional)
106105```
107106# 注意事项
108107实际步数是显示的一半
109108
110- 微调 nsf-hifigan 声码器请将 [ releases] ( https://github.com/openvpi/SingingVocoders/releases ) 中的权重解压后放至主目录下,并使用 [ ft_hifigan.yaml] ( configs%2Fft_hifigan .yaml )
109+ 微调 nsf-hifigan 声码器请将 [ releases] ( https://github.com/openvpi/SingingVocoders/releases ) 中的权重解压后放至主目录下,并使用 [ ft_hifigan.yaml] ( configs/Fft_hifigan .yaml )
111110
112111微调请使用 44100 Hz 采样率音频,并不要修改其他 mel 参数,除非你明确知道你在做什么
113112
@@ -117,7 +116,7 @@ python export_ckpt.py --ckpt_path (your ckpt path) --save_path (output ckpt pat
117116
118117如果要进一步导出成在 [ OpenUtau] ( https://github.com/stakira/OpenUtau ) 中使用的 onnx 格式权重,请使用 [ 这个] ( https://github.com/openvpi/DiffSinger/blob/main/scripts/export.py ) 脚本
119118
120- 配置文件中配置项的继承关系为: [ base.yaml] ( configs%2Fbase .yaml ) -> [ base_hifi.yaml] ( configs%2Fbase_hifi .yaml ) -> [ ft_hifigan.yaml] ( configs%2Fft_hifigan .yaml )
119+ 配置文件中配置项的继承关系为: [ base.yaml] ( configs/Fbase .yaml ) -> [ base_hifi.yaml] ( configs/Fbase_hifi .yaml ) -> [ ft_hifigan.yaml] ( configs/Fft_hifigan .yaml )
121120
122121不要使用bf16训练模型, 它可能导致音质问题
123122
@@ -126,18 +125,18 @@ python export_ckpt.py --ckpt_path (your ckpt path) --save_path (output ckpt pat
126125冻结 mpd 模块可能可以有更好的结果
127126
128127# 其它模型
129- [ HiFivae.yaml] ( configs%2FHiFivae .yaml ) hifivae.yaml 训练vae模型
128+ [ HiFivae.yaml] ( configs/FHiFivae .yaml ) hifivae.yaml 训练vae模型
130129
131- [ base_hifi_chroma.yaml] ( configs%2Fbase_hifi_chroma .yaml ) 训练忽略8度nsf hifigan
130+ [ base_hifi_chroma.yaml] ( configs/Fbase_hifi_chroma .yaml ) 训练忽略8度nsf hifigan
132131
133- [ base_hifi.yaml] ( configs%2Fbase_hifi .yaml ) 训练nsf hifigan
132+ [ base_hifi.yaml] ( configs/Fbase_hifi .yaml ) 训练nsf hifigan
134133
135- [ base_ddspgan.yaml] ( configs%2Fbase_ddspgan .yaml ) 训练带鉴别器的ddsp模型
134+ [ base_ddspgan.yaml] ( configs/Fbase_ddspgan .yaml ) 训练带鉴别器的ddsp模型
136135
137- [ ddsp_univnet.yaml] ( configs%2Fddsp_univnet .yaml ) 训练ddsp 混合univnet模型
136+ [ ddsp_univnet.yaml] ( configs/Fddsp_univnet .yaml ) 训练ddsp 混合univnet模型
138137
139- [ nsf_univnet.yaml] ( configs%2Fnsf_univnet .yaml ) 训练带nsf的univnet(推荐)
138+ [ nsf_univnet.yaml] ( configs/Fnsf_univnet .yaml ) 训练带nsf的univnet(推荐)
140139
141- [ univnet.yaml] ( configs%2Funivnet .yaml ) 训练原版univnet
140+ [ univnet.yaml] ( configs/Funivnet .yaml ) 训练原版univnet
142141
143- [ lvc_base_ddspgan.yaml] ( configs%2Flvc_base_ddspgan .yaml ) 训练使用lvc滤波器的 ddsp模型
142+ [ lvc_base_ddspgan.yaml] ( configs/Flvc_base_ddspgan .yaml ) 训练使用lvc滤波器的 ddsp模型
0 commit comments