diffgan-tts的Pytorch實現:高保真和有效的文本到語音,並具有降級擴散gan


音頻樣本可在 /演示中找到。
數據集在以下文檔中指的是數據集的名稱,例如LJSpeech和VCTK 。
模型是指模型的類型(從“幼稚”,“ aux ”,“ shallow ”中選擇)。
您可以使用
pip3 install -r requirements.txt
您必須下載預算的型號並將其放入
output/ckpt/DATASET_naive/ for'naive '模型。output/ckpt/DATASET_shallow/用於“淺”模型。請注意,“淺”模型的檢查站都包含“淺”和“ AUX ”模型,這兩個模型將共享所有目錄,除了整個過程中的結果。對於單揚聲器TTS ,運行
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --model MODEL --restore_step RESTORE_STEP --mode single --dataset DATASET
對於多演講者TTS ,運行
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --model MODEL --speaker_id SPEAKER_ID --restore_step RESTORE_STEP --mode single --dataset DATASET
可以在preprocessed_data/DATASET/speakers.json上找到學習的揚聲器的字典,並且生成的話語將放在output/result/ 。
也支持批次推理,嘗試
python3 synthesize.py --source preprocessed_data/DATASET/val.txt --model MODEL --restore_step RESTORE_STEP --mode batch --dataset DATASET
綜合preprocessed_data/DATASET/val.txt中的所有話語。
可以通過指定所需的音高/能量/持續時間比來控制合成話語的音高/音量/口語速率。例如,一個人可以將語言率提高20%,並將數量減少20%
python3 synthesize.py --text "YOUR_DESIRED_TEXT" --model MODEL --restore_step RESTORE_STEP --mode single --dataset DATASET --duration_control 0.8 --energy_control 0.8
請注意,可控性起源於FastSpeech2,而不是Diffgan-TTS的重要利益。
支持的數據集是
LJSpeech:單揚聲器的英語數據集由13100個女演講者的簡短音頻剪輯組成,其中7本非小說類書籍的閱讀段落總共約24小時。
VCTK:CSTR VCTK語料庫包括由110位英語說話者(多揚聲器TTS )發表的語音數據,並帶有各種口音。每個發言人都會讀出大約400個句子,這些句子是從報紙,彩虹通道和語音口音檔案中使用的啟發段落中選出的。
對於帶有外部揚聲器嵌入式的多揚聲器TT ,下載cacknn softmax+三胞胎預算的Philipperemy DeepSpeaker的揚聲器嵌入模型,並將其定位在./deepspeaker/pretrained_models/中。
跑步
python3 prepare_align.py --dataset DATASET
用於一些準備工作。
對於強制對準,蒙特利爾強制對準器(MFA)用於獲得發音和音素序列之間的比對。此處提供了數據集的預提取對齊。您必須在preprocessed_data/DATASET/TextGrid/中解壓縮文件。或者,您可以自己運行對準器。
之後,通過
python3 preprocess.py --dataset DATASET
您可以訓練三種類型的模型:“幼稚”,“輔助”和“淺”。
培訓幼稚版本(“天真”):
訓練幼稚版本
python3 train.py --model naive --dataset DATASET
培訓淺版本(“ AUX ”)的基本聲學模型:
要訓練淺版本,我們需要一個預訓練的FastSpeech2。以下命令將使您訓練fastspeech2模塊,包括輔助(MEL)解碼器。
python3 train.py --model aux --dataset DATASET
培訓淺版本(“淺”):
為了利用預訓練的FastSpeech2,包括輔助(MEL)解碼器,您必須--restore_step輔助FastSpeech2培訓的最後一步,通過以下命令。
python3 train.py --model shallow --restore_step RESTORE_STEP --dataset DATASET
例如,如果在輔助培訓期間將最後一個檢查點保存在200000個步驟中,則必須將--restore_step設置為200000 。然後,它將加載並凍結AUX模型,然後繼續在主動淺擴散機制下進行訓練。
使用
tensorboard --logdir output/log/DATASET
在您的本地主機上提供張板。顯示了損耗曲線,合成的MEL光譜圖和音頻。






lambda_fm已固定為Scala值,因為按L_RECON/L_FM計算的動態縮放標量使模型爆炸。'none'和'DeepSpeaker'之間)進行切換。
請用“引用此存儲庫”的“關於部分”(主頁的右上角)引用此存儲庫。