0. 说明
把 LJSpeech 的作为 reference, 以及 DataBaker EN, 还有 VCTK 的
- 首先仍然用 55k 的那个 ckpt
- 其他的设置参看张阳的 Speaker Embedding 版本: https://blog.csdn.net/u013625492/article/details/114656320
1. 选取 Reference Speech
1.1. 选取音频
- 前 6 个是标贝双语, 分别是 2 个中, 2 个英, 2 个混合
- 然后两个是 LJSpeech
- 最后四个来源于 VCTK
- 注意, 采样率有的是 16k, 有的是 48k
1.2. 使用 GE2E Encoder 提取 Speaker Embedding
逻辑在: /ceph/home/hujk17/Tuned-GE2E-EarSpeech/FaPig_GE2E_Cross_synthesizer.py
2. 选取文本
- ti3 yu4 zong3 ju2 gai1 gan4 de5 rang4 ti3 yu4 zong3 ju2 gan4
- you3 liu4 shi2 jia1 gong1 si1 wei4 xin1 xing1 chan3 ye4 shang4 shi4 gong1 si1
- xing2 cheng2 ji4 you3 fen1 gong1 you4 xiang1 hu4 pei4 he2 de5 jian1 guan3 ji1 zhi4
- wo3 xi3 huan1 ni3 zhou1 cui4 bao4 zao4 ge1
- xie4 xie4 da4 jia1 lin2 ting1 yu3 yin1 he2 cheng2 shi2 yan4
3. 主观大体观察实验
https://drive.google.com/file/d/16QBHuLTM-4FGyMZlMbwpmWZnzgsnjxx0/view?usp=sharing
总体来说效果非常好!
3.1. 有些说话人 Attention 有错
可能是 GE2E 太过精细导致
3.2. 有些说话人女性变男性
可能是 AISHELL-3 覆盖的说话人不够了
4. Speaker Emb 观察实验
目标是画出下面的图:
并且补充上文字的分析:
4.1. 用 PCA 来观察
- PCA 快, 指定的参数也少
- PCA 可以先画训练集, 也就是 Aishell-3 说话人的 Speaker Emb 分布, 然后固定不动, 再去转换新来的 LJSpeech, 标贝-EN 等人, 比 t-SNE 方便
- 虽然 Git 名称: https://github.com/ruclion/ASV-T-SNE, 但是目前先画 PCA
4.2. 画图数据来源
4.2.1. samples_Cross
- (2 + 2 + 2) + 2 + 2 + 2 个说话人
- 音频在: /ceph/home/hujk17/Tuned-GE2E-EarSpeech/log_FaPig_GE2E_syn_wavs_Cross
- Speaker Emb 在: /ceph/home/hujk17/Tuned-GE2E-EarSpeech/samples_Cross
4.2.2. Aishell-3 samples
- /ceph/home/hujk17/npy-EarSpeech-HCSI-Data/dereverb_npy 文件夹中, 一共 174 个人 (本来 218 个人, 可能是实验室小伙伴去噪声时候删掉了一些), 每个文件夹取 100/16 句
- 能不能获得 Aishell-3 说话人的性别?
4.3. 代码
参考来源: https://blog.csdn.net/u013634684/article/details/49646311
谢谢作者~
4.4. SPK Emb 分析
https://drive.google.com/file/d/16QBHuLTM-4FGyMZlMbwpmWZnzgsnjxx0/view?usp=sharing
4.5. 解决办法
- 训 Tacotron 时, 用上语料, 允许 ASV Fine-tune (不太好做到)
- 追加 Aishell-3 和 VCTK 的数据, 去继续训练 ASV (推荐, 游哥推荐~). 其实有两个双语 ASR 语料: HK_ 和 SEMA
- 不做任何改动, 然后找到男中心, 女中心, 来一个说话人, 使用他/她所有句子中最接近男中心/女中心的句子; 甚至直接找邻近的向量替换掉 (有些糊弄)