本章節分成三個大主軸:
1. 介紹本論文會用到的深層學習的背景知識:
在這一章介紹本論文所會使用到的各種深層學習的模型的架構與原理。 從 基本的全連接層(Fully Connected Layer)導入,介紹類神經網路的訓練方式,
接著介紹其他類神經網路架構卷積式類神經網路(CNN)、遞迴式類神經網 路(RNN)。 爾後介紹生成對抗網路這種特別的訓練方式。
2. 語音生成會用到的一些數學工具:
自回歸模型、量化方法,在接下來的章節會更進一步使用這些數學工具來完 成聲碼器的訓練。
3. 語音生成運用的簡介:
在這一章介紹本論文會使用到的語音生成運用功能概述,包含了文句翻語音 系統和語者轉換系統。
第 三 章 聲碼器比較
3.1 簡介
語音生成過程中,為了讓語音生成難度降低、品質提高,我們通常會先生成較低 維度的聲學特徵值當作中介值,最後再經由聲碼器生成我們最後語音生成的結 果,此種兩步驟式的方法可以更提高生成品質。
低維度的聲學特徵值的表示方法有很多,常見的方法是將原始語音訊號通過 數學轉換(Transform),使其維度降低。 根據消息理論(Information Theory) [10],壓 縮必定會喪失一部分的資訊,而導致資訊不能完全被回復。 因此需要模型將壓縮 過的資訊還原成近似原本的音訊波形,而將聲學特徵值還原成音訊波形的模型即 為聲碼器(Vocoder)。
3.1.1 聲學特徵值
聲學特徵值是將原本音訊檔壓縮過的數值表現。 其中常見的做法之一是取時頻譜 的大小值作為聲學特徵值。
時頻譜的取得是先將訊號在時域截短為多段分進行短時(short-time)傅立葉轉 換,爾後取其轉換過後的大小(magnitude)當作成果,過程中丟棄其相位(phase)。
其中傅立葉轉換(Fourier Transform) [11]是將時域的資訊轉至頻域的轉換方式,屬 於無壓縮的轉換方式。 不過取其大小,而丟棄相位的步驟會將資訊量直接減半。
梅爾時頻譜(Melspectrogram)是將時頻譜通過梅爾標度濾波組(mel-scale filter banks),梅爾濾波組是一種模仿人耳的濾波器,這會將維度從傅立葉轉換維度降 至濾波組個數,會大幅降低維度。 梅爾時頻譜(Melspectrogram)是一種非常常見的
聲學特徵值的方法,也是本論文中所使用的聲學特徵值。
在本論文中聲學特徵值的抽取細節均依照表3.1。
前強調(Pre-emphasis) 0.97
音框長度(Frame Length) 800 數值點 音框移動(Frame Shift) 200 數值點
視窗類型(Window Type) 漢氏窗(Hann Window) 取樣率(Sample Rate) 22,050 Hz
梅爾時頻譜維度(Melspectrogram Dimension) 80
表 3.1: 梅爾時頻譜參數
3.1.2 聲碼器
聲碼器的目的是將聲學特徵值轉換成音訊波形,並且希望音訊波形越接近人聲越 好。
若聲學特徵值為時頻譜,可以透過迭代的方式估計出頻譜的對應相位,也就 是章節3.2.1的葛芬-林演算法。 倘若聲學特徵值不為時頻譜的話,葛芬-林演算法 則無法使用。
其他常見的方法是使用以深層學習為基礎的方法,且輸入只要能表示成任何 形式的聲學特徵值都可以估計出音訊波形,在以下會分別介紹:
• 章節3.2.2介紹卷積式類神經網路的WaveNet,是達到自回歸模型的先驅者。
• 章節3.2.3介紹WaveRNN透過兩段式的方式預測,先預測比較粗略的結果,
再比較精細地將正確結果預測出來。
• 章節3.2.4介紹將WaveNet改良成輕量版的FFTNet,不僅需要的記憶體大小降 低,也可以縮短在生成時所需花費的時間。
• 章節3.2.5介紹以對抗式生成訓練的聲碼器。