0. 说明
- 用 M2VoC 的数据训练
- 可以加上 databaker, thucoss
- 并且可以在 RTVC-7 Voice Cloning Model 的 Tacotron Pretrained Model 上忽略 embedding layer, 进行 Tune
1. Git Clone
- git clone https://github.com/ruclion/Pretrained-EarSpeech.git Tuned-EarSpeech -b 81428b30a486314577bfbd59b272d7e4bd369ef4
- mv Pretrained-EarSpeech Tuned-EarSpeech
- cd Tuned-EarSpeech
- git init
- git add .
- git commit -m 'init'
- git remote add origin https://github.com/ruclion/Tuned-EarSpeech.git
- git push -u origin master
2. 训练数据
2.1. AISHELL-3_denoise_dereverb_
实验室降噪过的数据, 感谢大家. (不过没关注怎么降得~)
/ceph/dataset/AISHELL-3_denoise_dereverb_
2.2. M2VoC
M2VoC 比赛的数据, 目标也是合出来他们的声音, 和大家对比~
/ceph/dataset/M2VoC
3. speaker embedding
和逸轩保持一致, 使用张阳的 speaker embedding 结果, 便于调试
/ceph/home/hujk17/npy-EarSpeech-HCSI-Data
目录结构:
npy-EarSpeech-HCSI-Data -> dereverb_npy -> SSB0005 -> spk-SSB00050001.npy
-> spk-SSB00050002.npy
-> SSB0009 -> ...
-> tst_npy -> MST-Originbeat-S1-female-5000 -> spk-000001.npy
-> TST-Track1-S4-male-Game-100 -> spk-000001.npy
4. 预处理数据 -> mel
见 preprocess_dataset
5. 改代码
改好了, 基本上没动
以 FaPig 为模型名字, 逻辑从 FaPig_train.py 开始
6. Base 版逻辑
https://github.com/ruclion/Tuned-EarSpeech
依据是改动代码最少
需要枚举的逻辑有很多, 其中本质上思路有不同的:
- Base 版 的 Speaker Embedding 使用张阳给逸轩的, 加了一个 FC 到 256; 再尝试下 GE2E 的
仅仅是可以加快收敛的:
- Base 版未进行 Guided Attention
- Base 版模型随机初始化, 不使用 warm-up
- 代码中只有 60000 的 train data, 没有 validation 的代码
- Batch 只使用的代码自带的 12, 实际上 16 或者 20 应该没问题
7. GE2E 版逻辑
https://github.com/ruclion/Tuned-GE2E-EarSpeech
依据是在 Base 版的基础上, 只改动 Speaker Embedding 为 GE2E 的结果, 其他思路先不加
逻辑从 /ceph/home/hujk17/Tuned-GE2E-EarSpeech/FaPig_extract_GE2E.py 开始, 提取完了所有的 GE2E Embedding
- 256 的 Embedding 仍然后面接了一个 FC, 和 Base 一致, 并且 FC 也不会太影响
- 换代码的时候, 仅仅是指定 speaker 路径不同
- 剩下代码和 Base 完全一致
8. Base 版实验结果
8.1. 默认 batch_size
- batch_size = 12, 4000 多内存
- 7 个小时左右, 到达 20000 步, 能够初步形成 alignment 图, 看来代码正确
- teacherForce 的音频还可以
8.2. 大 batch_size
根据峰哥的建议, 可以尝试跑满 GPU, 代码只有 Batch 那部分不同: https://github.com/ruclion/Tuned-BigBatch-EarSpeech
8000 步之后出了 cuda 的问题, epoch 都过去了, 很奇怪
接着恢复训练
9. GE2E 版实验结果
batch size = 12
9.1. 训练 Loss
- batch_size = 12, 4000 多内存
- 2个小时左右, 到达 7000 步, 能够初步形成 alignment 图, 看来 GE2E Speaker Embedding 更集中一些/准确
- teacherForce 的音频还可以