史政府

- 韻律轉移工具包,即使您的培訓DB是普通人的中立聲音,您也可以使用它來產生時尚的演講。
- 我們可以轉移韓國方言(Kyongsang,Cheolla)和情感韻律以及中立的對話。
- 硬質體係是為了嚴格傳遞韻律,因此,參考音頻的句子結構和目標句子更好地匹配。
- 柔軟的Pittron追求自然的韻律轉移,甚至參考音頻和目標句子的內容都完全不同。
- 我們正在使用此項目發布的DB可以在Emotion_TTS上獲得
- 音頻樣本可從http://jsh-tts.tistory.com/entry/pitchtron獲得
- Pittertron紙:https://arxiv.org/abs/2005.10456
三個分支的差異
- 這裡提供的所有三個分支都是用於韻律轉移。
- 您可以產生所需風格,句子和聲音的演講。
- 參考音頻的發言人可以是任何人,並且該人不必將其包括在培訓數據中。
- 培訓數據中必須包括目標揚聲器(合成音頻的聲音)。
- 使用硬和柔軟的音調龍,即使模型只接受了簡單的,中立的語音訓練,即使模型只訓練了模型,也可以在“ kyongsang”方言,“ cheolla”方言和情感風格中合成。
- 另一方面,對於全球風格代幣,您需要在培訓時間期間需要的DB。
- 我提出了這個Pittron ,以便在韓國Kyongsang ANC Cheolla方言。
- 這些方言的DB非常有限,“音高輪廓”是自然參考它們的關鍵。許多其他傾斜的語言(日語),音調朗格格(中文)和情感說話風格也是如此。
| 時間分辨率 | 線性控制 | 人聲範圍調整 | 非平行引用 | 看不見的風格支持 | 維度分析要求 |
|---|
| GST | x | x | x | o | x | o |
| 軟管體 | o | * | o | o | o | x |
| 堅硬的Pittron | o | o | o | ** | o | x |
- *:柔軟的Pittron只要聽起來很自然,就可以讓您控制音調。如果它超出了目標揚聲器的聲音範圍,它將被剪裁以發出自然的聲音。
- **:硬螺旋槳允許有限的非平行引用。
- 有限的非平行:文本可能會有所不同,但是句子的結構必須匹配。
| 句子 |
|---|
| 參考 | “아니요지는그짝허고않아요” |
| 目標 | “그래요갸는친구허고같아요” |
- 時間分辨率:我們可以通過TimeStep來不同地控製樣式嗎?
- 線性控制:我可以準確地控制音高(注意)將要縮放的數量嗎?我不必在嵌入空間上探索以確定輸入變化時嵌入維度的比例變化嗎?
- 人聲範圍調整:如果參考揚聲器和目標揚聲器的人聲範圍截然不同,我可以自然地在目標揚聲器的聲音範圍內引用嗎?
- 非平行引用:如果參考句子和目標句子不同,我可以自然合成它嗎?
- 看不見的風格支持:如果所需的參考音頻是訓練中從未見過的樣式,那麼它可以自然地轉移嗎?
- 維度分析要求:我是否必須分析哪些令牌/維度控件哪些屬性要控制此模型?
1。軟螺旋槳
- 該分支提供了平行,有限的非並行和非並行句子的無監督韻律轉移。
- 並行:參考音頻句子和目標綜合句子匹配。
- 有限的非平行:上面提到的。
- 非平行:參考音頻句子和目標綜合句子不必匹配。
- 類似於全球樣式令牌,但是有幾個優點。
- 對於在培訓期間看不見的樣式來說,這要變得更加健壯。
- 控制要容易得多。
- 您不必分析令牌或尺寸即可查看每個令牌的作用。
- 您可以擴展參考音頻的音高範圍,以適合目標揚聲器的音頻,以使性別間的轉移更自然。
- 您還可以控制每個音素輸入的音高
- 將參考音頻的音高範圍縮放為適合目標揚聲器的音頻,以使性別間的轉移更加自然。
- 您對音高的控制並不是那麼嚴格,以至於它只會擴展到聽起來很自然的數量。
2。硬施龍
- 該分支提供了無監督和“有限的非平行”無監督韻律轉移。
- 相反,節奏和音高與參考音頻完全相同。
- 將參考音頻的音高範圍縮放為適合目標揚聲器的音頻,以使性別間的轉移更加自然。
- 您對音高範圍有嚴格的控制,即使它會導致不自然的聲音,它也可以擴展。
3。全球樣式令牌
- 全球樣式令牌實現。全球樣式令牌
- 與Pittertron不同,全球樣式令牌傾向於僅適用於訓練階段的樣式。
- 音高範圍無法縮放,如果參考音頻超出了目標揚聲器的聲音範圍,則導致嘈雜的聲音。
- 由於在訓練過程中對新風格的態度並不強大,因此有時會以大聲的能量或太長停頓產生語音。
為多演講者韓語TTS運行的預處理步驟
python preprocess.py --dataset={following keywords}
按以下順序運行它們。您可以根據您的需求選擇退出某些零件。
- selvas_multispeaker_pron
- public_korean_pron
- Integrate_Dataset
- check_file_integrity
- generate_mel_f0
1。 selvas_multispeaker_pron
- 每個揚聲器下的RAW PCM到WAV_22050
- src:'{data_root}/{speaker}/raw/*。
- dst:'{data_root}/{speaker}/wav_22050/*。
- 帶有25個頂部DB的修剪
- 數據拆分:對於每400個音頻,進行評估且測試相同
- 使用phoneme *filelists/single_language_selvas/train_file_list_pron.txt生成元文件。
2。 public_korean_pron
- 在哪裡下載:서울말서울말발화말뭉치
- 將採樣率定於22050 Hz(此DB具有不規則的SR)
- 帶有前25 dB的修剪
- 來源:
- wav_16000/{揚聲器}/*
- pron/{speaker}/t **。 txt
- 從腳本中排除:
- 不包括用於解壓縮和將WAV移至WAV_16000的腳本。您需要自己以這種形式做到這一點
- 在此DB中,所有揚聲器的文本文件都是平等的,因此我將此共享腳本由文獻手動分開。 (其中包括缺少newline錯誤,所以我必須手動進行)
- 另外,G2P的腳本也不包括
- 該數據庫中的其他錯誤是
1. Missing speaker: fy15, mw12
2. Wrong data format: mw13_t01_s11.wav, mw13_t01_s12.wav, mw02_t10_s08.wav
3. Overlapping files and naming mistakes: mv11_t07_s4' (==mv11_t07_s40), fy17_t15_s18(==fy17_t16_s01), fv18_t07_s63(==fv18_t07_s62)
- DST:wav_22050/{speeder}/*
3。 integrate_dataset
- 我在兩個韓國DBS上集成了。
- 這可以推廣到有多種語言的多個DB的多語言TT。
- 因此,將與每個DB相關的語言代碼附加到此步驟中創建的集成元文本文件。
- 如何
- 修改源文件列表('Train_file_lists','eval_file_lists','test_file_lists')和目標文件列表(target_train_file_list,target_eval_file_list,target_test_file_list)
- 您可能需要修改_integrate()方法以指定每個DB的語言代碼。抱歉,它暫時硬編碼了。
- 運行preprocess.py
python preprocess.py --dataset=integrate_dataset
4。 check_file_integrity
- 此步驟將生成無法讀取的WAV路徑的元文件。
- 您可能想將它們從最終的filelists中刪除或進行一些調查。它在你身上。此步驟不會從filelists中刪除這些檢測到的文件。
- 出局:alisional_merge_korean_pron _ {}。 txt
5。 generate_mel_f0(可選)
- 此步驟是可選的。此步驟提取培訓功能並保存為文件。
- SRC:wav_22050/*。 wav
- dst:mel/*。 pt and f0/*。
6。用單揚聲器DB初始化前幾個時期
- 為單揚揚聲器準備單獨的火車,有效的案件
- 單言式培訓和驗證的文件也包括在多宣言filestrists中。
- 我用單揚聲器DB嘗試了最初的30個時代的培訓,它有助於學習編碼器折線的對準器。
如何訓練?
1。命令
python train.py {program arguments}
2。程序參數
| 選項 | 強制的 | 目的 |
|---|
| -o | o | 目錄路徑保存檢查點。 |
| -c | x | 預驗證的檢查點要加載的路徑。 |
| -L | o | log目錄刪除張板的日誌。 |
3。驗證的模型
*預驗證的模型對音素進行了訓練。當您提供文本合成時,他們期望音素作為輸入。
| 模型 | 預驗證的檢查站 | 匹配的超參數 |
|---|
| 軟管體 | 軟管體 | 配置 |
| 堅硬的Pittron | 堅硬的Pittron | 配置 |
| 全球樣式令牌 | GST | 配置 |
| Waveglow Vocoder | 浪潮 | - |
如何合成?
1。軟螺旋槳
python inferent_soft_pitchtron.py
2。硬施龍
python inference_hard_pitchtron.py
3。 GST
python inference_gst_tts.py
尖端!
- 為了防止開裂的聲音,參考音頻聲音範圍需要縮放到目標揚聲器的聲音範圍。
- 該部分是在我們的代碼中實現的,但是目標揚聲器的聲音範圍是通過僅採樣10個音頻並將Max-Min作為差異來計算的。
- 如果您使用更準確的統計信息在目標揚聲器人聲範圍內,您的聲音將會更好。
致謝
- 該材料基於工業技術創新計劃下的貿易,工業與能源部(韓國Motie)支持的工作(第10080667號,開發會話言語綜合技術,通過聲音源多樣性來表達機器人的情感和個性)。
- 我從這個很棒的傢伙=> jeongpil_lee獲得了有關素的幫助
- 該存儲庫是作者實施以下紙張=>(Pittertron)https://arxiv.org/abs/2005.10456
- 引用的存儲庫
| 貢獻 | URL |
|---|
| tacotron2 | https://github.com/nvidia/tacotron2 |
| Mellotron | https://github.com/nvidia/mellotron |
| 浪潮 | https://github.com/nvidia/waveglow |
| 韓國文本處理 | https://github.com/keithito/tacotron |