Categories
程式開發

微軟聯合浙江大學提出全新TTS模型FastSpeech,語音生成速度提高38倍


近年來,隨著深度學習的發展,文本轉語音(TTS)受到了廣泛的關注。基於神經網絡的TTS模型(如Tacotron 2、DeepVoice 3和Transformer TTS)在語音質量方面已經超過了傳統的連續式統計參數方法。

本文最初發佈於微軟官方博客,由InfoQ中文站翻譯並分享。

微軟聯合浙江大學提出全新TTS模型FastSpeech,語音生成速度提高38倍 1

基於神經網絡的TTS模型通常首先由文本輸入自回歸地生成梅爾譜圖,然後使用聲碼器從梅爾譜圖合成語音。 (注:梅爾刻度是用來測量頻率的,單位是赫茲,刻度是基於音高的比較。譜圖是一種隨時間變化的頻率的可視化表示。)

由於梅爾譜圖的長序列和自回歸性質,這些模型面臨幾個挑戰:

  • 自回歸梅爾譜圖生成的推理速度較慢,因為梅爾譜圖序列通常有數百或數千幀的長度。
  • 合成語音通常不完整,單詞會有跳過和重複,這是由於傳播錯誤和基於encoder-attention-decoder框架的自回歸生成中文本和語音之間的注意力對齊錯誤(attention alignments)造成的。
  • 由於生成長度是由自回歸生成自動確定的,所以語速和韻律(如斷句)無法調整,缺乏可控性。

為了解決上述問題,來自微軟和浙江大學的研究人員提出了FastSpeech,這是一種新型的前饋網絡,可以快速生成具有魯棒性、可控性的高質量梅爾譜圖。我們的研究論文《FastSpeech:一種快速、魯棒、可控的TTS》已經被第三十三屆神經信息處理系統會議(NeurIPS 2019)接受。 FastSpeech採用了一種獨特的架構,與其他TTS模型相比,它的性能在許多方面都得到了提升。這些結論來自於我們對FastSpeech的實驗,稍後我們將在這篇文章中詳細介紹。

在LJ語音數據集以及其他語音和語言上的實驗表明,FastSpeech具有以下優點。簡要概述如下:

  • 快:FastSpeech使梅爾譜圖的生成速度提高了270倍,使語音生成速度提高了38倍。
  • 魯棒:FastSpeech避免了錯誤傳播和錯誤注意力對齊的問題,因此幾乎消除了單詞跳過和重複。
  • 可控:FastSpeech可以很好的調節和控制語速。
  • 高質量:FastSpeech實現了與以前的自回歸模型(如Tacotron 2和Transformer TTS)相當的語音質量。

解構支持FastSpeech的模型框架

微軟聯合浙江大學提出全新TTS模型FastSpeech,語音生成速度提高38倍 2

圖1:FastSpeech的總體架構。 (a)前饋轉換器。 (b)前饋轉換器塊。 (c)長度調節器。 (d)音長預測器。 MSE損失是預測時間和提取時間之間的損失,只存在於訓練過程中。

前饋轉換器

FastSpeech採用了一種新穎的前饋轉換器結構,拋棄了傳統的encoder-attention-decoder框架,如圖1a所示。前饋轉換器的主要組成部分是前饋轉換器塊(FFT塊,如圖1b所示),它由自註意力和1維卷積組成。 FFT塊用於音素序列到梅爾譜圖序列的轉換,音素側和梅爾譜圖側分別有N個堆疊塊。與眾不同的是,中間有一個長度調節器,用來彌補音素和梅爾譜圖序列之間的長度不匹配。 (注:音素是根據語音的自然屬性劃分出來的最小語音單位。)

長度調節器

模型的長度調節器如圖1c所示。由於音素序列的長度小於梅爾譜圖序列,一個音素對應幾個梅爾譜圖。對應一個音素的梅爾譜圖的數量稱為音長(phoneme duration)。長度調節器根據音素的持續時間擴展音素的隱藏序列,以匹配梅爾譜圖序列的長度。我們可以通過按比例增加或減少音長來調整語速,也可以通過改變空白標記的時長來調整單詞間的斷句從而控制部分韻律。

音長預測器

音長預測器是長度調節器確定每個音素音長的關鍵。如圖1d所示,時長預測器由兩層1維卷積和一個預測音長的線性層組成。音長預測器位於音素側的FFT塊上,並通過均方根誤差(MSE)損失函數與FastSpeech聯合訓練。在自回歸教師模型中,音素時長的標籤是從編碼器和解碼器之間的注意力對齊中提取的。詳情請參閱論文。

FastSpeech實驗結果表明,TTS能力得到了改善

為了驗證FastSpeech的有效性,我們從語音質量、生成速度、魯棒性和可控性幾個方面對模型進行了評估。我們在LJ語音數據集上進行了實驗,該數據集包含13100個英語音頻片段和相應的轉錄文本,總時長約為24小時。我們將數據集隨機分為三組:12500個樣本用於訓練,300個樣本用於驗證,300個樣本用於測試。 FastSpeech是在師生框架下訓練的:教師是自回歸TTS模型,用於序列級知識提取和時長提取,學生模型是FastSpeech模型。

語音質量

為了測量音頻質量,我們對測試集進行了平均評價得分(MOS)評估。每個音頻至少有20名測試者收聽,這些測試者都是以英語為母語。我們將使用FastSpeech模型生成的音頻樣本的MOS與其他系統進行比較,其中包括:1)GT,基礎真實音頻;2) GT(Mel + WaveGlow),首先將基礎真實音頻轉換為梅爾譜圖,然後使用WaveGlow將梅爾譜圖轉換回音頻;3)Tacotron 2 (Mel + WaveGlow);4)轉換器TTS (Mel + WaveGlow];5) Merlin (WORLD),一個流行的參數化TTS系統,使用WORLD作為聲碼器。結果如表1所示。可以看出,FastSpeech的質量幾乎與Transformer TTS模型和Tacotron 2的質量相當,感興趣的話可以聽一下我們Demo中的音頻對比。

微軟聯合浙江大學提出全新TTS模型FastSpeech,語音生成速度提高38倍 3

表1:95%置信區間MOS

推理速度

我們評估了FastSpeech的推理延遲,並將其與自回歸轉換器TTS模型進行了比較。從表2可以看出,FastSpeech將梅爾譜圖的生成速度提高了約270倍,將端到端的音頻合成速度提高了約38倍。

微軟聯合浙江大學提出全新TTS模型FastSpeech,語音生成速度提高38倍 4

表2:95%置信區間的推理延遲比較。評估是在一個擁有12顆Intel Xeon CPU、256GB內存和1個NVIDIA V100 GPU的服務器上進行的。這兩個系統生成的梅爾譜圖的平均長度都在560左右。

魯棒性

自回歸模型中的編碼-解碼器注意力機制可能導致音素與梅爾譜圖之間的注意力排列錯誤,進而導致單詞重複和跳過的不穩定性。為了評估FastSpeech的魯棒性,我們選擇了50個對於TTS系統而言特別難的句子,錯誤統計如表3所示。可以看出Transformer TTS在這些困難的情況下並不健壯,錯誤率為34%,而FastSpeech可以有效地消除單詞重複和跳過,提高可理解性,這在我們的演示中也可以觀察到。

微軟聯合浙江大學提出全新TTS模型FastSpeech,語音生成速度提高38倍 5

表3:FastSpeech和Transformer TTS對於50個特別難的句子的魯棒性比較。每句話中每一種單詞錯誤最多計算一次。

長度控制

FastSpeech可以通過長度調節器調節語速,速度從0.5x到1.5x不等,而且不會影響音質。你可以訪問我們的頁面來查看針對語速和斷句的長度控制演示,其中包括0.5x到1.5x之間不同速度的錄音。

消融實驗

我們還研究了FastSpeech中各組件的重要性,包括FFT塊中的一維卷積和序列級知識蒸餾。 CMOS評價如表4所示。可見,FFT塊中的一維卷積和序列級知識蒸餾對於保證FastSpeech的語音質量都是非常重要的。

微軟聯合浙江大學提出全新TTS模型FastSpeech,語音生成速度提高38倍 6

我們還針對更多的語音和語言進行了實驗,我們發現FastSpeech總是可以與自回歸教師模型的語音質量相匹配,而且具有非常快的生成速度、魯棒性和可控性。在未來的工作中,我們將優化FastSpeech,並把它和並行聲碼器結合到一個單一的模型中,實現一個純粹的端到端TTS解決方案。

原文鏈接:

FastSpeech: New text-to-speech model improves on speed, accuracy, and controllability