論文地址:
natural tts synthesis by conditioning wavenet on mel spectrogram predictions
https://arxiv.org/pdf/1712.05884.pdf
論文翻譯
https://my.oschina.net/stephenyng/blog/1620467
一、模型框架
a. 一個引入注意力機制(attention)的基於循環seq2seq的特徵預測網絡,用於從輸入的字符序列預測梅爾頻譜的幀序列;
b. 一個WaveNet網絡的修訂版,用於基於預測的梅爾頻譜幀序列來學習產生時域波形樣本。
c. 連接層:低層次的聲學表徵-梅爾頻率聲譜圖
1.梅爾頻率聲譜圖作爲銜接層:
a.梅爾頻譜比波形樣本更平滑,並且由於其每一幀都是對相位不變的,所以更容易用均方誤差損失(MSE)進行訓練
b.線性頻率聲譜圖:短時傅里葉變換的振幅
梅爾頻譜是對短時傅里葉變換的頻率軸施加一個非線性變換,用較少的維度對頻率範圍進行壓縮變換得到的.
強調語音的低頻細節,低頻細節對語音的可理解度非常關鍵,
同時淡化高頻細節,而高頻部分通常被磨擦聲和其他爆裂噪聲所主導,因此基本上在高保真處理中不需要對高頻部分進行建模.
注:線性聲譜圖拋棄了相位信息(因此是有損的),而像Griffin-Lim這樣的算法可以對拋棄的相位信息進行估計,用一個短時傅里葉逆變換就可以把線性聲譜圖轉換成時域波形。
梅爾聲譜圖拋棄的信息更多,因此對逆向波形合成任務提出了挑戰。
2.頻譜預測網絡
a.tacotron的做法
在Tactron中,使用50毫秒幀長,12.5毫秒幀移,漢寧窗截取,然後施加短時傅里葉變換(STFT)得出線性頻譜。
然後使用頻率範圍在125赫茲到7.6K赫茲之間的80通道的梅爾濾波器組對STFT的線性頻率進行過濾,
後接對數函數進行範圍壓縮,從而把STFT幅度轉換到梅爾刻度上。
在進行對數壓縮前,濾波器組的輸出振幅被穩定到最小0.01以便限制其在對數域中的動態取值範圍。
b.tacotron2的做法
(1)編碼器
I.輸入字符被編碼成512維的字符向量
II.3層卷積,每層卷積包含512個5 x 1的卷積核,即每個卷積核橫跨5個字符,後接批標準化(batch normalization)[18]和ReLU激活函數
III.雙向 LSTM層用以生成編碼特徵,這個LSTM包含512個單元(每個方向256個單元)
(2)引入注意力機制的解碼器
解碼器是一個自迴歸的循環神經網絡
I.一個每層由256個隱藏ReLU單元組成的雙層全連接的“pre-net”
II.pre-net的輸出和注意力上下文向量拼接在一起,傳給一個兩層堆疊的由1024個單元組成的單向LSTM
III.LSTM的輸出再次和注意力上下文向量拼接在一起,然後經過一個線性變換投影來預測目標頻譜幀
IIII.目標頻譜幀經過一個5層卷積的“post-net”來預測一個殘差疊加到卷積前的頻譜幀上
post-net的每層由512個5 × 1卷積核和一個批標準化處理組成,除了最後一層卷積,每層的批標準化處理都後接一個tanh激活函數
網絡中的卷積層使用概率爲0.5的dropout進行正則化處理,LSTM層使用概率爲0.1的zoneout進行正則化處理。
爲了在推斷時給輸出結果帶來些變化,概率爲0.5的dropout只施加在自迴歸解碼器的pre-net上
c.與Tacotron對比
新模型使用更簡潔的構造模塊,在編碼器和解碼器中不使用Tacotron中的“CBHG”堆疊結構和GRU循環層,轉而使用普通的LSTM和卷積層。我們沒有在解碼器的輸出中使用“縮小因子(reduction factor)”,即每個解碼步驟只輸出一個單獨的頻譜幀。
3.WaveNet 聲碼器
a.梅兒頻譜特徵表達逆變換爲時域波形樣本。
在WaveNet的原架構中,有30個擴大卷積層,分3個循環進行,也就是說第k(k = 0 : : 29)層的擴張率等於2的p次方,p等於k (mod 10)。
b.我們沒有像WaveNet那樣使用softmax層預測離散片段,我們借鑑了PixelCNN++和最近WaveNet的改進版,
使用10元混合邏輯分佈(10-componentMoL)來生成頻率爲24k赫茲的16位深的語音樣本。
爲了計算混合邏輯分佈,WaveNet的堆疊輸出傳給ReLU激活函數,再連接一個線性投影層來爲每一個混元預測參數(均值,對數刻度,混合權重)。
損失函數使用標定真實數據的負對數似然函數計算而得。
c.原始的WaveNet使用5毫秒幀率下的語言特徵,音素時長,以及對數基頻(F0)。
我們在實驗中注意到在5毫秒幀率過於緊密,導致預測頻譜數據幀時有顯著的發音問題,
因此我們修改了WaveNet架構,在轉置卷積網絡中通過使用2層上採樣把幀率改成了12.5毫秒。