File size: 4,136 Bytes
3f9bd99
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# 版本V2.1
# 训练和命令行使用说明
## 注意:管理器里的每个按钮都对应了命令或训练相关操作。你需要自己学习训练流程。(如果使用webui,则不需要手动复制任何文件。)
```
%PYTHON% 
```
指代了包内的python环境,使用时代替
```
python
```
如果要使用自己的环境,需要更改管理器代码。修改是极其简单的。
## 环境维护和升级(示例):

 ```
 %PYTHON% -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
 ```
 一般情况下无需执行此命令。  
 看不懂的也不要执行这条命令。

## 0.安装ffmpeg:
```
%PYTHON% setup_ffmpeg.py
```
执行一次即可。安装是把当前文件夹下ffmpeg加入环境变量,因此执行完不要移动或删除。否则需要手动更改环境变量。***安装完可能需要重启才能生效。部分设备可能要手动加入系统的path,请自行寻找教程。***

# 注意:首先需要创建或更改全局设置。作用见default_config.yml。将config.yml放在根目录下即可生效。
## 参数解释
* `num_workers` : 简单地说是训练集加载线程数。这个值越高,内存开销越大,内存16G的情况下不建议设置太大。如果过低则会影响训练速度。


# 1.数据集重采样和标注:
* 训练需要没有噪声和背景音乐且说话清晰的单语言音频。
* 如果已有list文件,自行按训练流程处理对应文件,并将音频自行重采样至44100Hz单声道。请注意:某些软件导出的音频可能导致训练错误。
* 这一步会生成符合格式的.list数据集标注文件,包含路径,语言,说话人和转录文本  
### 请将音频`按说话人分文件夹`放入`custom_character_voice`内。 
## a.whisper通用标注(会自动重采样):音频在2-10s。根据显存选择配置,large需要12G显存。
```
%PYTHON% short_audio_transcribe.py --languages "CJE" --whisper_size large
```
```
%PYTHON% short_audio_transcribe.py --languages "CJE" --whisper_size medium
```
```
%PYTHON% short_audio_transcribe.py --languages "CJE" --whisper_size small
```
可选参数:`--lab_gen False`禁用生成标注  
默认同时生成`.lab`后缀标注文件,内容为:`<语言>|<转录文本>`  
方便后续直接使用此数据集(使用方法见下)   
 
**下载太慢或者失败,现在可以将whisper模型放在whisper_model下。**

## b.处理下载的已标注的原神数据集(也会自动重采样):
```
%PYTHON% transcribe_genshin.py
```
处理的lab文件内容是`<转录文本>`  
请按提示输入对应字母来选择语言。
### 如果希望处理whisper已经标注好的数据集  
执行
```
%PYTHON% process_whisper_lab_only.py
```
(不会也无需重采样)
## 2.文本预处理:
```
%PYTHON% cd
```
* 目的是将转录文本处理为注音以供训练。  

* 旧版本生成的cleaned文件请删除重新生成。

# 3.bert_gen & emo_gen
```
%PYTHON% bert_gen.py
```
```
%PYTHON% emo_gen.py
```
* 生成bert文件和emo文件  

**旧版本生成的文件请删除重新生成。**
# 4.训练:
**请先修改训练配置(位于Data/<实验名>/configs.json)**
## 参数解释
`batch_size`: 批大小,一次训练所抓取的数据样本数量。增加此数值在一定范围内有助于提高效果,也可能加快总体训练速度。但也会增加显存开销。
`learning_rate`: 学习率。推荐0.0002在batch_size=16下,可视情况调整,不宜过小或过大。   
`log_interval`: 输出训练情况的间隔。  
`eval_interval`: 评估和保存间隔。
## 首次训练:
你需要先将底模复制进models(模型输出目录)中  
  
然后执行
```
%PYTHON% train_ms.py 
```
## 继续训练
把`config.json`里的`skip_optimizer`改为`false`  
  
  然后执行  
```
%PYTHON% train_ms.py 
```  

# 启动TensorBoard:
```
%PYTHON% -m tensorboard.main --logdir=Data/<实验名>/models
```
看不懂不要管它

# 5.推理:
```
%PYTHON% webui.py -m Data\XXX\models\G_100.pth
```
参数:--c 可选,指定配置文件路径  --m为模型指定路径