TTS-wiki

已尝试

  • DeepVoice3:训练速度快(2*tacotron)但无法收敛,合成不出有效的声音
  • DCTTS:训练速度慢,合成效果差(用文档原配置合成英文亦是)。
  • Tacotron-2:速度一般(=tacotron),但是后接wavenet部分报错,代码臃肿,除了Location-attention外其他改动效果不明显。
  • Tacotron(对应hparams.py中):
    1. multi_mode_0是否启用多说话人模式:将每个说话人映射到256维向量speaker_embedding,和text_embedding在最开始concat,人数根据speaker_datasets参数数量控制,speaker_proportion控制训练时抽取data比例。默认每个data目录中都含有train.txt
    2. multi_mode_1-4,use_attention_embedding是否使用不同的concat的位置,无明显效果
    3. use_spectral_subtract是否预处理时额外提取共振峰频率等信息。供给配合use_harmonics_priority参数在loss中给共振峰频段增加loss权重,针对单个效果不好的音频有效果(百度dyy)
    4. use_freq_priority是否增加<3000hz部分的权重(降噪),无明显效果
    5. use_sdtw_loss 是否使用soft dtw loss,训练太慢,无明显效果
    6. use_pinyin是否用声韵母进行编码,无明显效果
    7. abc_mode是否增加英文音标编码(支持中英文)
    8. outputs_per_step控制每步输出帧数(调整过=2,3效果不明显)
    9. use_location是否使用location-sensitive-attention,(对齐提升效果明显)
    10. use_regular_loss对loss进行L2正则,无明显效果
    11. use_zone_rnn替换decoder为zoneout-rnn,多人模型时有效果
    12. use_sos在每个句子开头增加sos符号避免开始对齐错误,对齐效果提升
    13. inference_mask是否在对齐出错情况下强制改变注意力,max_sos_wait_time,word_pron_time,min_focused_attention_value,raise_attention_to对齐效果提升
    14. inv_pre_emphasis是否过滤合成波形时某些值(降噪),无明显效果
    15. num_mels,num_freq合成mel维度和线性频率刻度(调整过=160,2049效果不明显)
    16. jinlong_vocoder,SPSI_GF_vocoder三种vocoder的选择,默认用GF,(音质提升效果明显)
    17. ctc_loss初始loss太大,无法收敛,pass。
    18. 可以适当调节model/tacotron.py中learning rate(多人模型时调高,单人时调低)
    19. 可以使用evaluation.py测试对齐准确率
    20. 可以使用save_model.py导出pb模型
    21. 尝试gst-tacotron,可以影响发音韵律,但是效果不好,影响本身tts效果,原论文中是有多人语料。

  • Vocoder

    1. bfs18/nsynth_wavenet,蒸馏,Teacher网路可训练收敛。
      • 速度:2GPU;1.4sec/step
      • 进展:400k-静音部分大量噪音,pass
    2. andabi/parallel-wavenet-vocoder,蒸馏,无法收敛,pass。
    3. r9r9/wavenet_vocoder,自回归,demo800k效果很好。
      • 速度:2GPU;0.91sec/step
      • 进展:350k-语义不对;510k-语义对,略抖;1022k-抖改善-语义对,对接mel中;ing
    4. dhgrs/UniWaveNet,云之声uni-wavenet,demo1000k也有电音,可训练收敛。
      • 速度:1GPU;1.86sec/step
      • 进展:370k-有少量电音;继续训练无改善;pass
    5. ksw0306/ClariNet,百度ClariNet,demo不知道多少步Teacher效果可以,Student有底噪。
      • 速度:1GPU;1sec/step;
      • 进展:161k-Teacher有少量噪音;330k-Teacher噪音变小;680k-Teacher底噪无法消除;pass
    6. dhgrs/ClariNet:文档中student-sample也有底噪。
      • 速度:2GPU;0.5sec/step;STU-2.6sec/step
      • 进展:500k-Teacher有少量底噪;170k-Student底噪比较小;对接mel中;ing
    7. ksw0306/FloWaveNet,流生成,论文1000k效果较好
      • 速度:1GPU;1.4sec/step
      • 进展:124k有颤音;240k-颤音明显变小;484k-颤音基本消除,对接mel中;ing
      • 对接:集成在fw-tacotron分支中,使用preprocess预处理数据(FW所需的audio-filepath加在最后),两个模型共用真实mel训练。合成todo
    8. NVIDIA/waveglow,流生成,论文580k效果较好
      • 速度:1GPU;2.8sec/step
      • 进展:58k-质量差;130k-质量明显改善,轻微抖音;250k-基本消除,效果跟FW相当,用原版tacotron-2对接mel中;ing
      • 对接:修改原版tacotron-2支持中英文编码,todo
    9. dhgrs/waveglow,训练太慢,已用NVIDIA官方版,pass。

未尝试

  • DeepVoice3:文档中sample效果一般,音色迁移(speaker adaptation)根据issue里反馈并不可行,pass
  • WaveRNN:sample还行,todo
  • TSNetVocoder:todo
  • SING:一种乐器音调生成模型,理论上可以作为vocoder,todo

参考

  • Google论文&demo

数据集

kdxf-6,bb-10,bd-4,azure-3

Speaker_id 说话人
0 bb-jiaojiao
1 bb-nannan
2 bb-xiaojun
3 bb-ming
4 bb-lele
5 bb-ranran
6 bb-guozi
7 bb-ake
8 bb-xingzai
9 bb-sunwukong
10 kdxf-xiaohou
11 kdxf-xiaoru
12 kdxf-xiaoxin
13 kdxf-xiaolin
14 kdxf-xiaowanzi
15 kdxf-xiaoma

你可能感兴趣的:(TTS-wiki)