• 沒有找到結果。

使用豐富文脈模型之隱藏式馬可夫模型語音合成

第二章 文獻回顧

2.3 使用豐富文脈模型之隱藏式馬可夫模型語音合成

基於隱藏式馬可夫模型之語音合成如同統計式語音合成一般,皆有合成語 音頻譜過於平緩以及聲音沉悶(Muffled Sound)的缺點,此缺點的原因多歸咎於決 策樹分群法將關聯度較高的文脈關聯模型分群在同一葉節點並進行訓練後,導 致其聲學模型過於平緩(Over-Smoothed)。此種模型訓練的方式,會嚴重影響模 型之平均值,而對於統計模型式語音合成來說,模型的平均值遠比其平方差來 得重要,這是因為靜態平均值(Static Mean)代表了頻譜當中的峰值(Snap-Shot),

而動態平均值(Dynamic Mean)則表示了頻譜當中的趨勢[22]。

在過去有相當多學者提出了許多改善合成語音過於平緩且沉悶的方法,如:

增加決策樹之葉節點之高斯混和模型之數量[59]、提出最小產生誤差(Minimum

Generation Error, MGE) 準 則 至 聲 學 模 型 訓 練 當 中 [82] 、 將 語 者 轉 換 (Voice Conversion)當中所使用的全域平方差(Global Variance, GV)運用至語音合成來改

善其缺點[83],亦有在後處理(Post-Processing)階段使用共振峰尖銳化(Formant-Sharping)[84]等方法。

在此,我們將介紹另一種改善基於隱藏式馬可夫模型之語音合成缺點的方 法:使用豐富文脈模型之隱藏式馬可夫模型語音合成[22], [24–26]。在此我們統 稱為豐富文脈模型之語音合成。

豐富文脈模型之語音合成在 2009 年時由中國大陸學者 Yan 所提出[22],於

2012 起,日本學者 Takamichi 對其進行改良,並改良語音參數產生演算法來估

47

算豐富文脈模型所產生的語音參數[24–26]。

以下我們將就豐富文脈模型以及其語音參數產生演算法分別進行討論:

 豐富文脈模型:

在語音合成當中,每一個文脈關聯模型的文脈描述是由許多的韻律資訊所 組成,以中文為例,每個模型的文脈標記可能由以下資訊組成:

1. 目前音素與其前後音素。

2. 目前音高與其前後音高。

3. 目前詞彙之詞性標記與前後詞彙之詞性標記。

4. 目前語句結尾之標點符號以及前後語句之標點符號。

5. 目前音素在字、詞彙、以及語句當中的位置。

學者認為文脈標記充滿了豐富的韻律資訊,且代表了特定語音片段的聲學 模型,故將利用此種文脈標記的文脈關聯模型稱之為豐富文脈模型。

誠如前文所述,文脈關聯模型經過決策樹分群後,會將文脈標記上較相近 的模型分在同一群當中進行訓練,但此作法會導致其模型之頻譜平均值過於平 緩,進而讓最後合成語音效果不佳。

為了彰顯並保留每個豐富文脈模型之語音特色,中國學者 Yan 提出了豐富 文脈模型的訓練方法[22]:

1. 以決策樹分群法將文脈關聯模型分群後進行模型訓練得到決策樹分群 模型。

48

2. 利用步驟 1.訓練好的模型重新對語音資料庫進行強制對位(Forced-Alignment)辨識得到豐富文脈模型之時間標記。

3. 利用訓練好之決策樹分群模型作為每一個豐富文脈模型之起始模型。

4. 將訓練資料所對應的豐富文脈模型進行串聯,並以波氏演算法(Baum-Welch Algorithm)進行語句層次的訓練,在此我們僅更新其平均值,保 留原有決策樹分群模型之共變異數。

經由上述過程訓練完成後的豐富文脈模型因為在訓練時僅更新其平均值,

因此改善了每個豐富文脈模型的平均值,而保留原決策樹分群模型之共變異矩 陣亦能避免掉訓練豐富文脈模型之共變量矩陣可能會產生的資料稀疏問題。

但由於豐富文脈模型在現階段已成為一個單一獨特的模型,因此數量極為 龐大,而在合成階段,我們用於描述合成語句之文脈標記不見得與語音資料庫 訓練好的豐富文脈模型之標記一致,因此原本使用於隱藏式馬可夫模型之語音 合成的語音參數產生演算法便無法套用至豐富文脈模型當中。

為了解決此一問題,提出豐富文脈模型之學者將目標之文脈標記串聯,並 針對每一個文脈標記來挑選近似於其標記的豐富文脈模型作為其候選模型;挑 選完候選模型之後,將其候選模型串連起來形成一個候選豐富文脈模型連接圖

(Sausage of Rich Context Model Candidates),如圖(十二)所示:

49

圖(十二):候選豐富文脈模型連接圖

圖(十二)當中點與點之間的線條即為候選豐富文脈模型。為了從連接圖當中 挑選出一條最佳候選文脈模型序列,我們將目標之文脈標記以決策樹進行分群,

從中產生對應的聲學模型序列作為目標模型序列,並計算其與候選豐富文脈模 型連接圖當中可能的模型序列之距離,藉由求取與目標模型序列距離最小的豐 富文脈模型序列來做為語音參數產生演算法的起始語音參數序列。

現在我們假設𝑃 = {𝑝1, 𝑝2, ⋯ , 𝑝𝑁}為目標模型序列,𝑇 = {𝑡1, 𝑡2, ⋯ , 𝑡𝑁}為每個 模型之時間長度序列,𝑄 = {𝑞1, 𝑞2, ⋯ , 𝑞𝑁}為可能之候選豐富文脈模型序列。我們

定義 P 與 Q 之距離為:

𝐷(𝑃, 𝑄) = ∑ 𝐷KL(𝑝𝑛, 𝑞𝑛) ∙ 𝑡𝑛

𝑛

(87) 而 我 們 使 用 上 界 庫 爾 貝 克 萊 柏 爾 距 離 (Upper-Bound Kullback Leibler Distance, Upper-Bound KLD)[85]來測量目標模型𝑝𝑛與候選豐富文脈模型𝑞𝑛之距 離,其定義為:

𝐷KL(𝑝𝑛, 𝑞𝑛) = 𝐷KLS (𝑝𝑛, 𝑞𝑛) + 𝐷KLf0(𝑝𝑛, 𝑞𝑛) (88) 式(88)即頻譜模型距離與基頻模型距離之總和,其中上界庫爾貝克萊柏爾距離之

50

定義如下:

𝐷KLS f0 (𝑝𝑛, 𝑞𝑛) ≤ (𝑤0𝑝− 𝑤0𝑞) log𝑤0𝑝

𝑤0𝑞+ (𝑤1𝑞− 𝑤1𝑞) log𝑤1𝑝 𝑤1𝑞 +1

2tr{(𝑤1𝑝Σ𝑝−1+ 𝑤1𝑞Σ𝑞−1)(𝜇𝑝− 𝜇𝑞)(𝜇𝑝− 𝜇𝑞)T +𝑤1𝑝𝑝Σ𝑝−1− I) + 𝑤1𝑞𝑞Σ𝑞−1− I)}

+1

2(𝑤1𝑞− 𝑤1𝑝) log|Σ𝑝Σ𝑞−1|

(89)

其中,w0與w1為基頻模型之無聲區域與有聲區域之權重機率;令w0 ≡ 0以及 w1 ≡ 1即為頻譜模型之上界庫爾貝克萊柏爾距離。

但由於上界庫爾貝克萊柏爾距離之計算時間複雜度較高,用此方法來計算 與目標模型序列距離最近之豐富文脈模型序列是相當耗費時間的,因此該學者 日後將豐富文脈模型的概念與單元選取語音合成結合,藉由事先計算單元間的 距離存入資料庫中,以減少合成階段計算距離的時間[23]。

最後我們以圖(十三)來總結由中國學者 Yan 所提出的豐富文脈模型之訓練 與合成方法:

圖(十三):豐富文脈模型之訓練與合成方法

51

 豐富文脈模型之語音參數產生演算法:

由中國學者 Yan 提出的豐富文脈模型[22]在合成階段具有兩個缺點:

1. 合成的文脈標記不一定有對應之豐富文脈模型。

2. 於合成階段所使用的上界庫爾貝克萊柏爾距離需要龐大的計算量,因 此為了找到最佳豐富文脈模型序列需花費許多時間。

基於上述兩個缺點,使得利用豐富文脈模型來產生較佳合成語音的花費過 於龐大,為了解決這兩個問題,在 2012 年有日本學者 Takamichi 提出了改良式 的豐富文脈模型,並將其套用至隱藏式馬可夫模型語音合成的語音參數產生演 算法[24]。

日本學者 Takamichi 認為,每一個豐富文脈模型雖然是特定語音片段的聲學 模型,但是在進行豐富文脈模型訓練之前,每個豐富文脈模型都是來自於決策 樹分群模型當中的一個葉節點;故訓練完成的豐富文脈模型,也應保留決策樹 分群模型之資訊,即豐富文脈模型應重新整合回原葉節點之中。為了達到上述 的目的,該學者提出將訓練完成的豐富文脈模型以混和模型(Mixture Model)重新 整合回決策樹分群模型之葉節點,因此整合後的決策樹分群模型的葉節點即變 成由豐富文脈模型所組成的高斯混和模型,如圖(十四)所示:

52

圖(十四):整合豐富文脈模型之高斯混和模型

藉由整合經訓練的豐富文脈模型,原有的決策樹分群模型之葉節點變成了 一個高斯混和模型,因此我們可以將決策樹分群模型之葉節點以下式表達:

𝑏𝑐(𝑜𝑡) = ∑ 𝑤𝑚𝒩(𝑜𝑡; 𝜇𝑐,𝑚, Σ𝑐)

𝑀𝑐

𝑚=1

(90)

其中,𝑤𝑚為第 m 個豐富文脈模型之權重,𝑀𝑐為此葉節點下其豐富文脈模型之數 量。此外,在此我們將每個豐富文脈模型之權重設定為:

𝑤𝑚 = 1

𝑀𝑐 (91)

由於決策樹分群模型已變成高斯混和模型,故原使用於隱藏式馬可夫模型 語音合成之語音參數演算法便可以套用至豐富文脈模型產生語音參數序列的問 題當中,此方法即為語音參數產生演算法之情況三,故在此便不加詳述;此外,

由於豐富文脈模型為特定語音片段之模型,因此該學者亦提出了使用單一混和 模型(在此即為豐富文脈模型)近似之語音參數產生演算法。

53

我們首先將式(69)改寫成高斯混和模型之形式:

𝑃(𝑂|𝑄, 𝜆) = ∑ 𝑃(𝑜, 𝑚|𝑞, 𝜆)

all 𝑚

(92) 又因為使用單一混和模型來近似其語音參數序列,故上式可改寫為:

𝑃(𝑂|𝑄, 𝜆) = ∑ 𝑃(𝑜, 𝑚|𝑞, 𝜆)

all 𝑚

≈ 𝑃(𝑜, 𝑚|𝑞, 𝜆) (93)

一旦決定起始之靜態語音參數序列𝑐(0),我們便可以以式(94)與式(95)來更新語

音參數序列𝑐(𝑖)

𝑚̂(𝑖+1)= argmax

𝑚

𝑃(𝑚|𝑊𝑐(𝑖), 𝑞, 𝜆) (94) 𝑐̂(𝑖+1) = argmax

𝑚

𝑃(𝑊𝑐|𝑚̂(𝑖+1), 𝑞, 𝜆) (95)

由於使用高斯混和模型所進行的語音參數產生演算法是屬於最大期望演算 法,且其最後所產生之語音參數序列與起始語音參數序列的好壞有著極大的關 聯性,因此要如何選定一個較好的起始語音參數序列便是一個重要議題。

在基於隱藏式馬可夫模型之語音合成當中,高斯混和模型的訓練是採用期 望值最大化(Expectation-Maximization, EM)演算法來調整其混和模型之權重與 其模型參數,因此一個高斯混合模型中的混和模型之間差異性不大,而起始參 數序列的產生則依其混和模型的權重進行結合產生[59]。

但在該學者所提出的改良式豐富文脈模型當中,其高斯混和模型之混和模 型數量遠高於一般高斯混和模型,雖然豐富文脈模型有著代表特定語音片段之 模型描述的特性,但在權重為均勻分布(Uniform Distribution)的情況下,若依其 混和權重來產生起始參數序列,會導致每一個葉節點與傳統決策樹分群模型所

54

產生的起始參數序列差異不大。

對此,該學者亦在隔年提出使用過度適應(Over-Fitting)決策樹分群模型作為 產生起始語音參數序列,並以豐富文脈模型進行語音參數產生演算法的方法

[25,26]。

過度適應決策樹分群模型即是調整在最小描述長度決策樹分群階段的常數

c,使模型過度適應其訓練語音資料庫,故應能產生較為精細的起始語音參數序

列;而此一較為精細的起始語音參數序列,將與豐富文脈模型結合,經過語音參

列;而此一較為精細的起始語音參數序列,將與豐富文脈模型結合,經過語音參