已嘗試
- DeepVoice3:訓(xùn)練速度快(2*tacotron)但無法收斂,合成不出有效的聲音
- DCTTS:訓(xùn)練速度慢,合成效果差(用文檔原配置合成英文亦是)。
- Tacotron-2:速度一般(=tacotron),但是后接wavenet部分報錯,代碼臃腫,除了Location-attention外其他改動效果不明顯。
- Tacotron(對應(yīng)hparams.py中):
-
multi_mode_0是否啟用多說話人模式:將每個說話人映射到256維向量speaker_embedding,和text_embedding在最開始concat,人數(shù)根據(jù)speaker_datasets參數(shù)數(shù)量控制,speaker_proportion控制訓(xùn)練時抽取data比例。默認(rèn)每個data目錄中都含有train.txt -
multi_mode_1-4,use_attention_embedding是否使用不同的concat的位置,無明顯效果。 -
use_spectral_subtract是否預(yù)處理時額外提取共振峰頻率等信息。供給配合use_harmonics_priority參數(shù)在loss中給共振峰頻段增加loss權(quán)重,針對單個效果不好的音頻有效果(百度dyy) -
use_freq_priority是否增加<3000hz部分的權(quán)重(降噪),無明顯效果 -
use_sdtw_loss是否使用soft dtw loss,訓(xùn)練太慢,無明顯效果 -
use_pinyin是否用聲韻母進(jìn)行編碼,無明顯效果 -
abc_mode是否增加英文音標(biāo)編碼(支持中英文) -
outputs_per_step控制每步輸出幀數(shù)(調(diào)整過=2,3效果不明顯) -
use_location是否使用location-sensitive-attention,(對齊提升效果明顯) -
use_regular_loss對loss進(jìn)行L2正則,無明顯效果 -
use_zone_rnn替換decoder為zoneout-rnn,多人模型時有效果 -
use_sos在每個句子開頭增加sos符號避免開始對齊錯誤,對齊效果提升 -
inference_mask是否在對齊出錯情況下強制改變注意力,max_sos_wait_time,word_pron_time,min_focused_attention_value,raise_attention_to,對齊效果提升 -
inv_pre_emphasis是否過濾合成波形時某些值(降噪),無明顯效果 -
num_mels,num_freq合成mel維度和線性頻率刻度(調(diào)整過=160,2049效果不明顯) -
jinlong_vocoder,SPSI_GF_vocoder三種vocoder的選擇,默認(rèn)用GF,(音質(zhì)提升效果明顯) -
ctc_loss初始loss太大,無法收斂,pass。 - 可以適當(dāng)調(diào)節(jié)model/tacotron.py中l(wèi)earning rate(多人模型時調(diào)高,單人時調(diào)低)
- 可以使用evaluation.py測試對齊準(zhǔn)確率
- 可以使用save_model.py導(dǎo)出pb模型
- 嘗試gst-tacotron,可以影響發(fā)音韻律,但是效果不好,影響本身tts效果,原論文中是有多人語料。
-
-
Vocoder
-
bfs18/nsynth_wavenet,蒸餾,Teacher網(wǎng)路可訓(xùn)練收斂。
- 速度:2GPU;1.4sec/step
- 進(jìn)展:400k-靜音部分大量噪音,pass
- andabi/parallel-wavenet-vocoder,蒸餾,無法收斂,pass。
-
r9r9/wavenet_vocoder,自回歸,demo800k效果很好。
- 速度:2GPU;0.91sec/step
- 進(jìn)展:350k-語義不對;510k-語義對,略抖;1022k-抖改善-語義對,對接mel中;ing
-
dhgrs/UniWaveNet,云之聲uni-wavenet,demo1000k也有電音,可訓(xùn)練收斂。
- 速度:1GPU;1.86sec/step
- 進(jìn)展:370k-有少量電音;繼續(xù)訓(xùn)練無改善;pass
-
ksw0306/ClariNet,百度ClariNet,demo不知道多少步Teacher效果可以,Student有底噪。
- 速度:1GPU;1sec/step;
- 進(jìn)展:161k-Teacher有少量噪音;330k-Teacher噪音變??;680k-Teacher底噪無法消除;pass
-
dhgrs/ClariNet:文檔中student-sample也有底噪。
- 速度:2GPU;0.5sec/step;STU-2.6sec/step
- 進(jìn)展:500k-Teacher有少量底噪;170k-Student底噪比較??;對接mel中;ing
-
ksw0306/FloWaveNet,流生成,論文1000k效果較好
- 速度:1GPU;1.4sec/step
- 進(jìn)展:124k有顫音;240k-顫音明顯變小;484k-顫音基本消除,對接mel中;ing
- 對接:集成在fw-tacotron分支中,使用preprocess預(yù)處理數(shù)據(jù)(FW所需的audio-filepath加在最后),兩個模型共用真實mel訓(xùn)練。合成todo
-
NVIDIA/waveglow,流生成,論文580k效果較好
- 速度:1GPU;2.8sec/step
- 進(jìn)展:58k-質(zhì)量差;130k-質(zhì)量明顯改善,輕微抖音;250k-基本消除,效果跟FW相當(dāng),用原版tacotron-2對接mel中;ing
- 對接:修改原版tacotron-2支持中英文編碼,todo
- dhgrs/waveglow,訓(xùn)練太慢,已用NVIDIA官方版,pass。
-
bfs18/nsynth_wavenet,蒸餾,Teacher網(wǎng)路可訓(xùn)練收斂。
未嘗試
- DeepVoice3:文檔中sample效果一般,音色遷移(speaker adaptation)根據(jù)issue里反饋并不可行,pass
- WaveRNN:sample還行,todo
- TSNetVocoder:todo
- SING:一種樂器音調(diào)生成模型,理論上可以作為vocoder,todo
參考
數(shù)據(jù)集
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 |