• 沒有找到結果。

聲碼器在文字轉語音系統下的強健性比較

5.2.1 文 字轉語音系統模型介紹

Tacotron [23]為Google提出將英文字母(character)轉換至聲學特徵值–梅爾時頻譜的 模型,是直接輸入輸出對應模型(end-to-end model)中容易訓練且輸出相當穩定 的模型,只要擁有高品質的訓練集就可以有相當好的結果。 後來同團隊又針 對Tacotron進行改良,也就是我們本次文句翻語音系統所使用的Tacotron 2 [24]模 型介紹如圖5.1。

其 中 可 以 分 為 三 大 區 塊 : 藍 色 框 框 的 模 組 併 在 一 起 可 以 視 為 編 碼 器(Encoder),灰色的是專注(attention)的機制,橘色的是解碼器(decoder)。

編 碼 器 的 目 的 是 讓 英 文 字 母 轉 換 成 向 量 , 且 希 望 這 些 向 量 能 夠 含 有 音 素(phoneme)的資訊在其中,讓後面生成的模組可以更容易產生發音正確的語音。

專注機制是因為文字的輸入長度和語音的輸出長度其實是不等長的,而我們希望 模型能夠擁有文字和語音間相對應對齊(align)的關係,需要通過專注機制將兩者 對齊,讓解碼器知道現在應該專注在輸入的那一個部分,才能輸出該時刻點文字 所對應的語音。 解碼器則是一個遞迴性的模組會根據專注機制所得到的向量吐出 對應的梅爾時頻譜。

圖 5.1: Tacotron 2文句翻語音系統模型架構

除此之外,一般做文字生成時,如果文句結束時會自動吐出句終符號(End of Sentence),但語音訊號為連續訊號故無法吐出一個特定的符號來當作句終。 因 此結尾模組(stop token module)是一個辨識器(classifer)來判斷語音生成是否生成結

束,一旦判斷該句結束就會停止生成。

本實驗中,文句翻語音模型所使用的訓練集為LJ Speech [25],是來自一位女 性英文專業錄音語者,非常乾淨清晰,是訓練文句翻語音模型的最受歡迎的訓練 集之一。 我們使用NVIDIA已訓練好在LJ Speech的模型,並加以微調(fine tune)在 我們抽的梅爾時頻譜的參數設定上。

5.2.2 實驗設計

我們想要製造出聲碼器輸入為文字轉語音系統的輸出且對應輸出為原始音檔,當 作聲碼器輸出的上界值。 可是文字轉語音系統是一個一對多的關係,因此生成 出來的聲學特徵值和原始音檔的時間長度會不一樣,也沒有相對應的時間對應 關係。 因此想讓生成出的聲學特徵值和原始音檔長度一樣需透過一些小技巧,

在Tacotron 2的系統中decoder的輸入為包含有上一個時間點的輸出的聲學特徵值結 果,因此若把decoder的輸入從上一個時間點輸出的聲學特徵值置換成原始音檔的 聲學特徵值,便可得到和原始音檔完全一樣的聲學特徵值和音訊波型的時間對應 關係。這類型的對應關係,我們在實驗中當作聲碼器的訓練集,並標籤為Cond。

此外,我們也選擇和訓練文句翻語音系統模型相同的訓練集LJ Speech來當作 其中之一的訓練集,在接下來的表格中會標籤為LJ。 除了選擇LJ、Cond以外,我 們選擇了單語者英文的女性訓練集(En L)、多語者英文的訓練集(En F)、多語者多 語言(Lrg L)的訓練集(包含英文)當作我們訓練的對象,其中訓練集的詳細資訊我 們採用表4.2一樣的設置。

本 實 驗 產 生 的 所 有 音 檔 放 置 在 網 站: https://bogihsu.github.io/

Robust-Neural-Vocoding/

5.2.3 實驗結果和分析

聲碼器架構 聲碼器訓練集

LJ En F En L Lrg L Cond WaveNet 4.10±0.19 2.59±0.24 3.54±0.20 3.66±0.21 4.21±0.16 WaveRNN 4.16±0.18 3.05±0.24 3.32±0.20 3.73±0.19 3.79±0.19 FFTNet 2.75±0.27 2.16±0.29 2.50±0.27 2.28±0.28 2.86±0.30 Parallel WaveGAN 3.81±0.20 3.17±0.21 3.60±0.20 3.19±0.20 3.38±0.20

原始音檔 4.54±0.16

表 5.1:以MOS呈現聲碼器測試在文句翻語音模型輸出結果

通過章節4.3的方式得到MOS記錄在表5.1, 在原本預期中,Cond擁有文句 翻語音系統輸出和真實語音的對應關係,應該是聲碼器的上界值,但實驗發 現WaveNet以外的聲碼器在Cond的情形其實並不是最好的,猜測是因為可能對於 其他聲碼器來說,真實語音的對應關係對訓練的穩定性和結果是有所提升的。

對於訓練聲碼器來說,若使用的文句翻語音系統可以取得和原始音檔完全對應 關係的聲學特徵值,推薦選擇WaveNet當作聲碼器的訓練。 而若是聲碼器和文句 翻語音系統的訓練集是相同的,WaveRNN的MOS為4.16,是所有聲碼器表現中最 好,WaveNet的MOS是4.10,也非常不錯,僅次於WaveRNN。 在單一語者的文句 翻語音系統模型中,聲碼器訓練在大量資料的聲碼器來說,效果遠比不上專注在 訓練在和文句翻語音系統相同的語者。

這次所使用的單語者的文句翻語音系統Tacotron 2,其生成結果非常逼近原 始訓練者的特色,而且發音清晰無雜訊或回音,唯一的弱點是在語調上比真實 人聲平淡,不過仍可視為和原始語者擁有同樣的音色。 因此聲碼器的訓練集

為LJ Speech中,可發現在章節4.4的實驗,在相同語言相同語者的項目表現最優秀 的WaveNet, WaveRNN在這樣子的情形表現仍最為出色。

而對於不同語者所訓練的聲碼器來說,其表現趨勢也和測試在一般人聲上類 似。 整體來說,單語者的文句翻語音系統可以視為語調較平淡之人聲,因此若文 句翻語音系統是已知的語者,可以訓練該語者在WaveRNN, WaveNet上以達到最好 的效果,並且如果文句翻語音系統的架構是可以取得和原始音檔時間對應,將其 對應關係訓練在WaveNet上,可以取得最佳的生成品質。