• 沒有找到結果。

以階層式韻律模型為基礎之中文半隱藏式馬可夫模型語音合成器

N/A
N/A
Protected

Academic year: 2021

Share "以階層式韻律模型為基礎之中文半隱藏式馬可夫模型語音合成器"

Copied!
88
0
0

加載中.... (立即查看全文)

全文

(1)

國 立 交 通 大 學

電信工程研究所

碩士論文

以階層式韻律模型為基礎之中文半隱藏式

馬可夫模型語音合成器

A HSMM-based Mandarin Speech Synthesizer Based

on Hierarchical Prosody Model

研 究 生:吳文良

指導教授:陳信宏

博士

(2)

以階層式韻律模型為基礎之中文半隱藏式

馬可夫模型語音合成器

A HSMM-based Mandarin Speech Synthesizer Based

on Hierarchical Prosody Model

研 究 生:吳文良 Student:Wen-Liang Wu

指導教授:陳信宏 博士 Advisor:Dr. Sin-Horng Chen

國 立 交 通 大 學 電信工程研究所

碩 士 論 文

A Thesis

Submitted to Institute of Communication Engineering College of Electrical and Computer Engineering

National Chiao Tung University in Partial Fulfillment of the Requirements

for the Degree of Master

In

Communication Engineering August 2011

Hsinchu, Taiwan, Republic of China

(3)

I

以階層式韻律模型為基礎之中文半隱藏式

馬可夫模型語音合成器

研 究 生:吳文良 指導教授:陳信宏

博士

國立交通大學電信工程研究所碩士班

中文摘要

本論文目標為引入階層式韻律模型,進一步提升以馬可夫模型為基礎之合成器表現。首 先引入韻律模型相關之韻律標記-音節邊界停頓標記與音節韻律狀態,將其運用到頻譜模型 訓練過程,在決策樹分群階段改以韻律標記取代傳統語言資訊,改以介於上層語法資訊與下 層音節資訊間的中層韻律資訊供決策樹分群使用,韻律標記除考量語言資訊外,更同時考量 了聲學上的資訊,故應比語言資訊與頻譜更加相關,經實驜證實,韻律標記確實可提供勝過 語言資訊的分群能力,訓練出更好的頻譜模型。接著進一步考慮合成時韻律模型的運用,因 合成階段僅有文字,但欲取得標記需同時具有聲學與語言資訊,故本論文提出以條件式隨機 域的方式訓練以文字預估韻律標記的模型,由於其可同時考量全域觀察序列之影響,並且利 用前後狀態相關性進行模型學習,對於具時間相關性的參數預估應極有幫助,從實驜結果可 發現,預估得到的韻律狀態,大多皆能符合音節邊界停頓對應的轉移特性。最後結合頻譜模 型、韻律模型與預估得到之韻律標記,即為一完整合成系統,此系統具韻律變化豐富之優點, 但因音節邊界停頓預估仍不夠好,導致部分合成語音的自然度欠佳,此有待未來繼續努力。

(4)

II

A HSMM-based Mandarin Speech Synthesizer Based

on Hierarchical Prosody Model

Student:Wen-Liang Wu Advisor:Dr. Sin-Horng Chen

Institute of Communication Engineering

National Chiao Tung University

Abstract

In this thesis, we introduce the hierarchical prosody model to further improve the HMM-based synthesis system performance. First, we apply two types of prosodic tags, prosodic breaks and prosody states, to the spectral model training process. In the process of decision tree clustering, we replace the high-level linguistic features with the middle-level prosodic tags to cluster context dependent model. For the prosodic tags labeling, we consider not only linguistic features but also acoustic features. We suggest it be more related to spectrum than considering linguistic features only. The experiment confirms that our proposed method is better than the conventional method considering linguistic features only in the clustering process.

Second, in the synthesis stage, there is no way to label the prosodic tags of the text with the prosody model owing to the lack of acoustic features. As a result, we propose the conditional random fields(CRFs) method to estimate two types of prosodic tags according to the input text information. Because during the CRF model training process, it considers all the observation sequences and the neighboring output states, it is contributive to estimate the time-dependent parameter. The results of experiment show the transition of prosody states matches the corresponding prosodic breaks.

(5)

III

Last, we build our proposed complete synthesis system by combining the training spectral model, the prosody model and the estimating prosodic tags,which has the advantage of prosodic diversity. Nevertheless, it is still not good enough for the prosodic break prediction. The prediction results degrade the naturalness of synthesis speech, thus improving the prosodic break prediction will be the future work.

(6)

IV

誌謝

完成這篇論文首先要感謝陳信宏老師從專題以來多年的指導,因為老師一直以來對我研 究的關心與指點,今天才能順利完成這篇論文;當然也要感謝王逸如老師從碩一來的指導, 有您不斷的提醒並點出我們研究上的盲點,我才能從大學生變成研究生,然後以個研究生的 身分從交大畢業。 除了感謝兩位老師之外,當然也要感謝實驜室各位學長姐、同學與學弟妹,首先感謝我 研究的啟蒙學長阿德,很遺憾最後沒有跟你一起做出很屌的方法幹掉 Toda,這個目標就靠你 一個人完成了;接著要感謝性獸,在後來這一年對我研究的大力幫助,沒有你就沒有今日的 我啊;也感謝合哥幫我解決了很多 HTK 與 Linux 的相關問題,另外還有輝哥、希群學長這 兩年的幫忙;感謝完博班學長後,接下來要感謝的是常找我去吃宵夜的小宋和普屋,雖然你 們都畢業兩年了,還是偶而會關心我給我研究上的建議;然後是去年畢業的各位學長姐,最 關心我的承燁學長,還好有你不斷的提醒我寫論文,不然我到現在論文說不定還沒寫完, PUMA 在口詴前一天還為了幫我看投影片不跟妹聊天,也感謝一哥宥余、未來的前輩小卡、 快變明星的 jolin 與 NOVA 一姐舒舒這一年來對我的鼓勵;再來是一起奮鬥的各位夥伴們, 第一梯先走一步的銘傑與勁竹,激勵剩下的人該好好認真不然就畢不了業;然後感謝一起口 詴的其他三人,感謝冠驛幫大家跑公文,從公民課本走出來的大胖讓我打球不會被電,玩遊 戲時要特別小心的豆腐讓我打電動不會被電;最後是還在奮鬥的小蝦跟帥氣的智障,接下來 就看你們表現了!!!實驜室的學弟妹,一起打球的三人組 DD、權哥、囂張的 KIWI(改天有空 再回來電你們啊),還有小邱、企鵝、雅婷跟昂星你們七個,實驜室的未來就託付給你們了。 最後的最後當然還要感謝生下我的父母,與各位大學同學們,還有一路上任何幫助過我 的你、你、你、你、你…,然後感謝上天的保佑,我終於畢業了!!!!!!!!!!!

(7)

V

目錄

中文摘要 ... I Abstract ... II 誌謝 ... IV 目錄 ... V 表目錄 ... VIII 圖目錄 ... X 第一章 緒論 ... 1 1.1 研究動機 ... 1 1.2 文獻回顧 ... 1 1.3 研究方向 ... 2 1.4 語料庫簡介 ... 3 1.5 章節概要說明 ... 4 第二章 HSMM-based 語音合成器 ... 5 2.1 HMM-based 語音合成系統 ... 5 2.2 HSMM-based 語音合成系統 ... 7 2.3 結合韻律模型之 HSMM-based 語音合成系統 ...11 第三章 以韻律模型為基礎之 HSMM ... 13 3.1 中文語音階層式韻律架構 ... 13 3.2 中文韻律模型 ... 14 3.2.1 韻律架構 ... 14 3.2.2 模型設計 ... 15 3.2.3 韻律標記及模型訓練方法 ... 21

(8)

VI 3.3 以韻律標記幫助訓練 HSMM ... 22 3.3.1 特徵參數抽取 ... 22 3.3.2 音檔切割 ... 22 3.3.3 中文馬可夫模型設定 ... 23 3.3.3 模型建立流程 ... 24 3.3.4 引入韻律標記 ... 26 3.3.5 文本標示資訊與問題集設計 ... 26 3.4 模型訓練結果分析 ... 28 3.4.1 決策樹分析 ... 29 3.4.2 客觀結果分析 ... 32 3.4.3 主觀結果分析 ... 38 第四章 韻律產生器 ... 39 4.1 條件式隨機域 ... 40 4.2 音節邊界停頓類別預估 ... 41 4.2.1 詞間邊界預估 ... 42 4.2.2 詞內邊界預估 ... 45 4.2.3 預估結果 ... 47 4.3 音節韻律狀態預估 ... 50 4.3.1 韻律狀態預估 ... 50 4.3.2 預估結果 ... 53 4.4 韻律參數產生 ... 57 第五章 合成系統實作與評估 ... 59 5.1 實驜介紹 ... 59 5.2 客觀實驜評估 ... 60 5.3 主觀實驜評估 ... 63

(9)

VII 5.3.1 偏好測定 ... 63 5.3.2 帄均主觀值分數 ... 65 第六章 結論與未來展望 ... 67 參考文獻 ... 68 附錄一 ... 70 附錄二 ... 72

(10)

VIII

表目錄

表 1.1 Sinica Treebank 語料庫內容 ... 4 表 2.1 文脈相關資訊 ... 9 表 3.1 韻律標記、韻律參數和語言參數的表示法 ... 17 表 3.2 文脈相關資訊 ... 27 表 3.3 音素單元決策樹韻律相關問題第一次出現位置統計 ... 30 表 3.4 聲、韻母單元決策樹韻律相關問題第一次出現位置統計 ... 30 表 3.5 聲、韻母單元決策樹根節點所出現之韻律相關問題前的個數統計(前十名) ... 31 表 3.6 各類韻律標記停頓類別與短靜音停頓對應情形 ... 31 表 3.7 音素單元之 MCD 計算結果 ... 34 表 3.8 聲、韻母單元之 MCD 計算結果 ... 34 表 3.9 音素單元傳統方法(phone , state)對測詴語料音節前後之停頓類別計算 MCD ... 35 表 3.10 音素單元我們方法(phone , phone)對測詴語料音節前後之停頓類別計算 MCD ... 35 表 3.11 聲、韻母單元傳統方法(phone , state)對測詴語料音節前後之停頓類別計算 MCD ... 36 表 3.12 聲、韻母單元我們方法(phone , state)對測詴語料音節前後之停頓類別計算 MCD ... 36 表 3.13 標點符號對應各類停頓標記之個數統計 ... 36 表 3.14 音素單元之 MCD 計算結果 ... 37 表 3.15 聲、韻母單元之 MCD 計算結果 ... 38 表 4.1 詞間邊界停頓模型的特徵參數 ... 43 表 4.2 詞間邊界停頓模型的特徵樣版 ... 45 表 4.3 詞內邊界停頓模型的特徵參數 ... 46 表 4.4 詞內邊界停頓模型的特徵樣版 ... 47 表 4.5 測詴語料詞間邊界停頓類別預估結果 ... 48 表 4.6 測詴語料詞間邊界停頓類別預估分群統計結果 ... 48

(11)

IX 表 4.7 測詴語料詞內邊界停頓類別預估結果 ... 49 表 4.8 測詴語料詞內邊界停頓類別預估分群統計結果 ... 49 表 4.9 韻律狀態預估模型的特徵參數 ... 50 表 4.10 音高韻律狀態預估模型的特徵樣版 ... 52 表 4.11 音長韻律狀態預估模型的特徵樣版 ... 52 表 4.12 能量韻律狀態預估模型的特徵樣版 ... 53 表 4.13 音節音長之均方根誤差 ... 55 表 4.14 音節音高之均方根誤差 ... 55 表 4.15 音節間靜音停頓模型的各類停頓帄均時長 ... 58 表 5.1 整體語料之 MCD 值 ... 61 表 5.2 整體語料之 lF0 RMSE... 62 表 5.3 整體語料之音節音長 RMSE ... 62 表 5.4 MOS 評分標準 ... 66

(12)

X

圖目錄

圖 2.1 HMM-based 語音合成系統架構圖 ... 6 圖 2.2 HTS 系統之決策樹【12】 ... 7 圖 2.3 三個狀態由左至右不允許狀態跳躍之 HMM ... 8 圖 2.4 三個狀態由左至右不允許狀態跳躍之 HSMM... 8 圖 2.5 語音合成系統架構圖 ... 12

圖 3.1 階層式多短語韻律句群(Hierarchical Prosodic Phrase Grouping)架構。【14】 ... 14

圖 3.2 本研究所用之階層式韻律架構 ... 15 圖 3.3 觀察到的音節基頻軌跡與其影響因素的關係圖 ... 19 圖 3.4 音素切割位置求取流程圖 ... 23 圖 3.5 HSMM 模型訓練流程 ... 24 圖 3.6 MDL-based 決策樹分裂 ... 25 圖 4.1 CRF 預估韻律標記之系統架構圖 ... 39 圖 4.2 線性鏈結 CRFs 圖型結構 ... 41 圖 4.4 勒讓德多項式四維正交基底 ... 54 圖 4.5 音長韻律狀態預估結果 ... 56 圖 4.6 音高韻律狀態預估結果 ... 56

圖 5.1 測詴語料五種方法之 log global variance 比較圖 ... 61

圖 5.2 (HTS-Phone, HTS-IF)偏好測定評估結果 ... 63

圖 5.3 (HTS-Phone, PLM-Phone)偏好測定評估結果 ... 63

圖 5.4 (PLM-Phone, PLM-IF)偏好測定評估結果 ... 64

圖 5.5 (HTS-IF, PLM-IF)偏好測定評估結果 ... 64

(13)

1

第一章 緒論

1.1 研究動機

二十一世紀是個科技爆炸的時代,隨著科技發展的日新月異,語音的實際應用也日益興 盛,例如氣象查詢系統 (Jupiter) 及航空訂票系統 (ATIS) 等,語音向來為人與人間最自然、 直接的溝通方式,因此使用語音取代其他輸入、輸出介面,做為人類與機器間的溝通橋樑, 便成為科技研究的重要目標;與電子資訊相關產品結合更是語音研究的未來趨勢,伴隨著帄 版電腦、手機、GPS 及網路等的普及,我們期望以語音技術,為科技發展寫下嶄新的一頁。 近年來,語音合成系統的發展已經相當成熟,市面上無論是玩具或者高科技產品,都結 合了語音合成的功能,但這些產品使用的合成技術大多有其限制存在,例如合成聲音不夠自 然,或只能在特定情境下運用,至今尚未有人發展出可適用於任何情境,並具高品質聲音的 合成器。因此本論文希望透過分析語者之韻律特性,將其運用到語音合成裡,進一步提升文 字轉語音系統的聲音自然度與聲音品質。

1.2 文獻回顧

文字轉語音合成(Text-to-Speech, TTS)技術的發展已經有好幾十年的歷史,採用大語料為 基礎的方法(Corpus-based method)如單元選取合成法(Unit selection method)大幅提升了 TTS 的合成聲音品質,其挑選的單元來自錄音語料,因此輸出語音的聲音品質與自然度都相當不 錯;但因欲合成語句不可能都包含在語料庫中,故需從不同的句子裡挑選單元,單元銜接處 易有不連續或不自然的情形,若能挑選到越大的單元輸出語音品質就越好,此方法的一大缺 點便是需要有龐大的語料庫才能得到較佳的聲音品質,且受限於錄音語料,故輸出聲音較固 定缺少變化。 另一較常見的方法為統計式參數語音合成法,其中包含近期最廣為人使用的基於隱藏式

(14)

2

馬可夫模型之語音合成器(HMM-based speech synthesis system),HMM 因其適宜學習連續變 化時間訊號的特性,故廣泛被使用在模型化語音信號,HMM-based 合成器可直接利用參數 產生演算法,由 HMM 模型合成聲音,相較於單元選取的方法,不需蒐集大量語料庫即可合 成出品質不錯的語音,雖然品質仍不如最好的串接式方法,但統計式參數語音合成法擁有方 便延伸應用這個最大優點,如利用調適方法【1-2】轉換合成聲音特性或利用內插等方法改 變語速等,且其相對於串接式合成法,具不需龐大空間儲存語料的優點,在實際應用上有極 大優勢。 綜合上述優點,HMM-based 合成器為目前公認相當不錯的一種合成方法,但其仍存在 許多待改善的問題,如基頻(F0)的求取及有聲與無聲(Unvoiced/Voiced, U/V)判定的問題, Tokuda【3】提出以連續與離散共存的機率分佈表示方法(Multi-Space Distribution, MSD),解 決了 F0 同時包含 U/V 部分難以模型化的問題,且有不錯的合成結果,但一些不正確的 U/V 判 定 仍 會 破 壞 合 成 聲 音 品 質 ; 另 一 造 成 聲 音 品 質 下 降 的 重 要 因 素 則 為 過 度 帄 滑 (Over-smoothing)之現象,參數間過度帄滑通常會使合成聲音有背景低鳴聲(Muffle)的現象; Toda【4】引入全域變異數(Global Variance, GV)的概念,大幅提升了合成聲音品質。然而合 成聲音的清晰度依然不足以在日常生活中廣泛使用,故仍有許多為進一步提升 HMM-based 合成之聲音品質的研究,如 Wu【5】提出最小生成誤差(Minimum Generation Error , MGE)的 方法,取代一般常用之最大概似函數(Maximum Likelihood , ML)的準則(criterion)訓練模型; Zen 【6】提出以半隱藏式馬可夫模型(Hidden Semi-Markov Model , HSMM )取代 HMM,解 決音長模型訓練與合成不一致的問題等等。

1.3 研究方向

傳統 HMM-based 方法因為利用統計式參數還原的方法,會產生接近「帄均」的聲音, 雖然乍聽之下品質不差,但因合成的聲音接近統計上的帄均值,導致聲音變異性較小、韻律 固定,聲音清晰度稍嫌不足,且在聽感上並不夠自然。

(15)

3

本研究為進一步提升 HMM-based 語音合成器的聲音品質,同時對頻譜與韻律部分做改 進,以交大電信工程研究所江振孙博士所提出之非監督式中文語音韻律標記及韻律模型 (Prosody Labeling and Modeling,PLM)【7】為基礎,頻譜方面,希望藉由韻律資訊的運用, 取代傳統利用上層語言資訊對頻譜參數做分群的方法,本研究所使用之韻律標記可視為一介 於上層語法資訊與下層音節層次間的一中層資訊,且模型化韻律參數的過程同時考慮了聲學 (Acoustic)與語言學(Linguistic)的相關資訊,故此參數應較單純上層語言資訊更符合真實頻譜 分佈,且能提供下層音節資訊無法表示的韻律階層架構之影響,希望藉此資訊的引入提高模 型分佈的集中度,降低統計方法聲音會過度帄滑之影響;韻律方面,則利用 PLM 訓練得到 之韻律模型,根據預估之韻律標記與音節語言資訊直接產生音節音高與音長序列,此方法一 樣可避免掉統計方法韻律特性過度帄滑,語調帄淡、節奏固定的缺點,最後結合頻譜、韻律 模型提出本研究之合成器架構,解決傳統 HMM-based 合成器聲音品質不佳的缺點。

1.4 語料庫簡介

本論文所採用的實驜語料庫,是由一位專業的女性播音員讀稿錄製而成之中文語料庫, 總計 418 個音檔,共 55525 個音節,帄均一個音檔有 133 個字。音檔均為 16-bit PCM 格式, 取樣頻率為 16kHz,錄製文本為 Sinica Treebank Version 3.0 語料庫中選出的短篇文章,Sinica Treebank Version 3.0 語料庫的檔案總共有 6 個類型(表 1.1),本語料庫所選用的文本皆來自其 中的新聞語料(news.check);文本解析的內容是由自動標記後再經人工修正得到,音調與音節 類型是經由 130000 萬詞的字典標記而成,所有音節的切割位置和基頻軌跡(F0)的偵測則分別 由 Hidden Markov Model Tookit(HTK)【8】和 WaveSurfer【9】求取,再經過人工修正而成。 而為配合實驜需要,本研究進一步將語料庫分成 375 句的訓練語料共 51708 個音節,與測詴 語料 43 句共 3817 個音節。

(16)

4

表 1.1 Sinica Treebank 語料庫內容

File name Content

news.check, travel.check News papers, books, or internet articles ko.check, ev.check Elementary school text books

oral.check Text from phonetic balanced speech corpus

sino.check Text from Taiwan Panorama

1.5 章節概要說明

本論文的內容共分為六章: 第一章:緒論,介紹本論文之研究動機、研究方向、及語料庫說明。 第二章:HSMM-based 中文語音合成器,簡介傳統 HTS 系統與本研究提出之系統架構。 第三章:以韻律模型為基礎之 HSMM,介紹本研究頻譜訓練方法,並分析模型訓練結 果。 第四章:韻律產生器:介紹本研究所提出之韻律預估與產生方法。 第五章:合成系統實作與評估:整體合成系統比較與結果分析。 第六章:結論與未來展望。

(17)

5

第二章 HSMM-based 語音合成器

本章描述本論文之所使用之 HSMM-based 語音合成系統。2.1 節先介紹基於隱藏式馬可 夫模型的語音合成系統(HMM-based Speech Synthesis System, HTS),2.2 節介紹基於半隱藏式 馬可夫模型的語音合成系統(HSMM-based Speech Synthesis System),2.3 節介紹本論文所提出 之合成系統架構。

2.1 HMM-based 語音合成系統

過去隱藏式馬可夫模型被大量應用在語音辨識系統中,利用機率模型來描述口腔的各種 發音現象。近年來,此技術開始被廣泛應用到語音合成上,在目前眾多語音合成系統中,因 合成品質可達到不錯水帄被大眾廣為使用,並在 2005 年的語音合成比賽 Blizzard challenge 【10】中,獲得相當好的成績,且因統計式參數語音合成法易於進一步延伸應用的特性,一 躍成為當今語音研究中最受矚目的合成方法。 本研究使用的 HTS 為日本名古屋大學資工研究所開發出來的 HTS 2.1【11】,此系統為 基於 HTK 技術開發出的一套合成系統,專為使用隱藏式馬可夫模型語音合成系統建構。HTS 語音合成系統架構圖如圖 2.1 所示:

(18)

6 Speech database Context dependent HMM Excitation Parameter extraction Spectral Parameter extraction Training of HMM Text analysis Excitation

generation Synthesis filter Parameter

generation from HMM

Excitation parameter Spectral Parameter Speech signal Spectral parameter Excitation parameter Label Text Synthesized speech 圖 2.1 HMM-based 語音合成系統架構圖【12】 如圖 2.1 所示,HTS 系統可分為訓練部分與合成部分,訓練部分,首先由語料庫抽取廣 義梅爾倒頻譜參數(Mel-generalized Cepstrum, MGC)與激發訊號參數(log F0),另一方面,根 據文字分析器的文字分析結果產生對應的文脈相關之文本標示,搭配適當的文脈相關問題集, 訓練狀態(state)合併分裂樹,如圖 2.2 所示,首先收集所有屬於同一狀態的資料,由根節點根 據文脈相關問題集進行分裂,頻譜與音高模型的決策樹為獨立分開訓練,如圖 2.2 的 HMM 有三個狀態,便會針對每個狀態的頻譜與音高參數個別產生一顆決策樹,共六棵樹,而音長

(19)

7 模型則定義僅有一個狀態,參數維度同於頻譜與音長模型的狀態數,這邊即為三維,因為只 有一個狀態所以只訓練一顆決策樹,HTS 即透過決策樹之分群產生文脈相關 HMM,包含音 高模型、頻譜模型及音長模型。 合成部分,輸入文字後,透過文字分析器產生文脈相關的文本標示,利用分類與回歸樹 (CART)演算法,挑選對應的 HMM 模型序列,並藉由參數產生演算法,產生頻譜參數與激發 訊號參數,最後以 MLSA 濾波器(Mel Log Spectrum Approximation filter))產生語音信號。

圖 2.2HTS 系統之決策樹【12】

2.2 HSMM-based 語音合成系統

HSMM-based 的語音合成系統,基本架構與上一節中介紹的 HMM-based 語音合成系統 相同,差別僅在模型訓練階段,HMM-based 使用的 HMM 如圖 2.3 所示,而 HSMM-based 使用的 HMM 如圖 2.4 所示,比較兩圖可發現,圖 2.3 中標準 HMM 的狀態轉移機率,在圖 2.4 中被一機率分佈模型給取代,簡言之,HSMM 即以狀態持續時間模型取代 HMM 的轉移

State Duration Model

S1 S2 S3 Decision Tree for Spectrum HMM for Spectrum & F0 Decision Tree for F0 Decision Tree for

(20)

8 機率,可視為加入狀態持續時間模型的 HMM。傳統 HMM-based 合成器的狀態持續時間模 型由訓練階段模型最後一次估算的網狀結構(Trellis)中計算產生,然而在合成階段,預估頻譜 參數序列卻得同時考慮狀態持續時間模型與頻譜模型,但狀態持續時間模型在訓練階段並未 與頻譜模型一同訓練,導致訓練階段與合成階段所考慮之模型不一致,估出之最佳序列可能 會不夠好,以致影響最後合成的品質;Zen【6】提出以 HSMM 取代 HMM 的方法,如此即 可在訓練階段一併訓練狀態持續時間模型,解決訓練與合成時,考慮的模型不一致的問題。 圖 2.3 三個狀態由左至右不允許狀態跳躍之 HMM 圖 2.4 三個狀態由左至右不允許狀態跳躍之 HSMM 本論文即以 HSMM-based 語音合成系統為基礎做延伸應用,因此比較的對象為使用 HSMM 架構的傳統 HTS 系統,詳細的模型訓練流程將在第三章中介紹,而因合成系統是利 用決策樹對模型做分群,故重點在於決策樹對應的文本標記參數與問題集的選定,因此接下 來即對傳統 HTS 使用的問題集與文本標記做介紹。 文本標記資訊為 HTS 相當重要的一環,採用哪些語言參數會直接影響到文脈相關模型 p1(d) 5 p3(d) b2(ot) b3(ot) 2 1 3 4

a12 a23 a34 a45

b4(ot) 2 a22 5 1 3 a33 4 a44 a12 a23 a34 a45

b2(ot) b3(ot) b4(ot)

(21)

9

的狀態分裂合併結果。本論文所採用的語言參數,可粗分為五大類:音節層次(Syllable level)、 詞層次(Word level)、片語層次(Phrase level)、句子層次(Sentence level),詳細使用之文脈相關 語言參數,如表 2.1 所示: 表 2.1 文脈相關資訊 level ID Description Syllable level Pr_Phn Previous phone(Initial/Final) -Cur_Phn Current phone(Initial/Final) +Fol_Phn Following phone(Initial/Final) ^Phn_in_Syl Phone position in a syllable

=Pr_Tone Lexical tone of previous syllable @Cur_Tone Lexical tone of current syllable

#Fol_Tone Lexical tone of following syllable

&F_Syl_in_SubWrd Syllable position in a sub-lexical word (SLW) (forward) |B_Syl_in_SubWrd Syllable position in a SLW (backward)

/p:F_Syl_in_Wrd Syllable position in a lexical word (LW) (forward) /q:B_Syl_in_Wrd Syllable position in a LW (backward)

Word level

/a:Pre3POS_SWL 47-type POS/word length (WL) of previous-previous-previous SLW

/b:Pre2POS_SWL 47-type POS/WL of previous-previous SLW /c:Pre1POS_SWL 47-type POS/WL of previous SLW

/d:CurPOS_SWL 47-type POS/WL of current SLW /e:Fol1POS_SWL 47-type POS/WL of following SLW

/f:Fol2POS_SWL 47-type POS/WL of following-following SLW

/g:Fol3POS_SWL 47-type POS/WL of following-following-following SLW /A:Pre3POS_WL 47-type POS/word length (WL) of previous-previous-previous

LW

/B:Pre2POS_WL 47-type POS/WL of previous-previous LW /C:Pre1POS_WL 47-type POS/WL of previous LW

/D:CurPOS_WL 47-type POS/WL of current LW /E:Fol1POS_WL 47-type POS/WL of following LW

/F:Fol2POS_WL 47-type POS/WL of following-following LW

/G:Fol3POS_WL 47-type POS/WL of following-following- following LW

Phrase level

/H:F_Syl_in_Ph Syllable position in a syntactic phrase (forward) /I:B_Syl_in_Ph Syllable position in a syntactic phrase (backward) /J:CurPhType_PhL Syntactic phrase type/length of current phrase /K:FolPhType_PhL Syntactic phrase type/length of the following phrase

Sentence level

/L:Pr_PM PM type preceding current syllable /M:Fol_PM PM type following current syllable /N:F_Syl_in_Snt Syllable position in a sentence (forward) /O:B_Syl_in_Snt Syllable position in a sentence (backward)

(22)

10

/Q :FolSntL Following sentence length in syllable

建立好文脈標示後,接著根據表 2.1 之參數設計相關問題集,可分為下列五大類問題集: 1. 音節層次(Syllable level): i. 考慮當前音素與前、後音素:  聲母發音類別:爆破音、摩擦音、鼻音、邊音、塞擦音等等。  韻母發音類別:單元音韻母、複合元音韻母、鼻尾音韻母等等。 ii. 考慮當前音節聲調與前、後音節聲調。 iii. 考慮音節在詞中位置:由前面數來第幾個字,由後面數來第幾個字,詞中不同位置 都 可 能 影 響 最 後 聲 音 的 韻 律 特 性 , 此 處 將 詞 彙 詞 (Lexical word) 與 次 詞 彙 詞 (Sub-lexical word)分開考慮。 2. 詞層次(Word level): i. 考慮當前詞(0)與前後三個詞(1、2、3)的詞類,依中研院 46 類詞類依實詞、 虛詞、八大詞類及特殊詞類集合合併,產生問題集。 ii. 考慮當前詞(0)與前後三個詞(1、2、3)的詞長。 以上同樣分詞彙詞與次詞彙詞兩類考慮。 3. 片語層次(Phrase level): i. 考慮當前音節在片語中位置:由前面數來第幾個字,由後面數來第幾個字。 ii. 考慮當前片語與後一個片語的類別。 iii. 考慮當前片語與後一個片語的長度。 4. 句子層次(Sentence level): i. 考慮當前音節的前、後音節邊界是否存在標點符號 ii. 考慮當前音節位在句子中第幾個字:由前面數來,由後面數來。 iii. 考慮當前句子與後一個句子的長度。 訂定好問題集與文本標記後,只需對訓練與欲合成的文本做好文脈相關文本標記,即可 利用 HTS 系統,如圖 2.1 之系統架構圖訓練模型並合成聲音。

(23)

11

2.3 結合韻律模型之 HSMM-based 語音合成系統

本研究的模型訓練階段,與傳統 HTS 系統使用相似的訓練流程,但因合成階段架構不 同的緣故,將原本合併訓練的頻譜與音高參數(mgc+lf0)修改成單純訓練頻譜參數,並根據客 觀實驜結果,對模型結構做調整,取代傳統的狀態模型結構(State-based)根節點結合相同狀態 的 所 有 音 素 模 型 , 進 行 決 策 樹 分 裂 (Tree splitting) , 訓 練 本 研 究 之 文 脈 相 關 模 型 (Context-dependent model)。另一方面,以江振孙博士所提出之非監督式中文語音韻律標記及 韻律模型演算法訓練韻律模型,並使用此韻律模型所定義之兩類韻律標記幫助頻譜模型訓 練。 合成階段可參考下方之語音合成系統架構圖,當一段文字進來,首先透過文字分析器產 生所需的各項語言資訊,並利用此資訊預測兩類韻律標記,預測完成後即可透過韻律產生器, 利用聲調、音節類型與韻律標記,直接從訓練的韻律模型產生音節音高與音節音長序列;另 一方面,當具備語言資訊與韻律標記,即可從文脈相關 HSMM 中挑選合成單元串接成頻譜 與音長 HMM 序列;另一方面,韻律產生器產生之音節音長,配合音長 HMM 序列,預估每 個音素的狀態持續時間(State duration),有了頻譜 HMM 序列與狀態持續時間即可運用參數產 生演算法生成頻譜參數序列,音節音高根據有聲部分長度還原音節基頻軌跡(Syllable pitch contour, F0),經簡單轉換後可得激發訊號(Excitation),結合頻譜參數與激發訊號便可使用 MLSA 合成器合成語音。

(24)

12 Prosody generator Model selection State duration prediction Parameter generation from HMM

Prosody & Context dependent HSMM Text analyzer Prosody tag Syllable duration Label Prosody model Syllable pitch contour reconstruction Excitation

generation MLSA filter

Spectral prarmeter

Excitation parameter Synthesized speech Text

Prosody Tag Estimator

(25)

13

第三章 以韻律模型為基礎之 HSMM

本論文以江振孙博士所提出之中文韻律模型【7】為基礎,引入其所定義之兩類韻律標 記,幫助訓練 HSMM。3.1 節將介紹中文語音之階層式韻律架構;3.2 節簡介中文韻律模型; 3.3 節介紹本論文的 HSMM 訓練過程;3.4 節則對引入韻律標記所建立之模型做簡單分析。

3.1 中文語音階層式韻律架構

據韻律相關研究結果【13】,中文語音的韻律結構由階層式韻律架構(Hierarchical structure) 組成,傳統定義韻律架構由底層至上層分別為音節(Syllable, SYL)、韻律詞(Prosodic Word, PW)、韻律短語(Prosodic Phrase, PPh)及語調短語(Intonation Phrase, IP)。因中文一個音節一個 字的特性,故最底層的韻律單元為音節,而相同音節不同聲調語義多不相同,且聲調強烈影 響音節基頻軌跡走向(音高),也影響音節長度與音節能量,可視為音節層次最重要的韻律影 響因素;韻律詞則是由雙音節或多音節構成的詞組,通常在句法或語意上緊密相關,因此易 將其視為一個發音單元;韻律短語則是由一或多個韻律詞所組成,結尾通常有可察覺但不明 顯的停頓;語調短語則是中文韻律架構的最上層,結尾會有明顯的停頓,由數個韻律短語組 成的句子,音高變化亦受此層影響。基本上,一個句子中每個音節的音高和音長變化,皆可 由此四層韻律架構詮釋。 鄭秓豫博士【14】提出韻律標記的概念並定義了一個韻律架構,如圖 3.1 所示。其將中 文韻律結構分成五層,前三層(由下至上)和前述韻律架構相同,同樣為音節、韻律詞以及韻 律短語。第四層則是將連續的韻律短語組合成呼吸群(Breath Group, BG),代表一個有音高及 音長變化的篇章或段落,藉此表示上層對韻律的貢獻,同時定義了第五層,由連續 BG 組成 的韻律群(Prosody Group, PG)。此處的五層韻律架構共定義六種標記區分,其中 B0 和 B1 代 表 SYL 的邊界,B0 表示 reduced syllable boundary,B1 則是 normal syllable boundary,通常 B0 及 B1 的位置聽不出停頓;B2 及 B3 分別代表 PW 和 PPh 的邊界;B4 和 B5 則是區分 BG 和 PG 的邊界,B4 代表呼吸停頓,而 B5 為一完整語音段落的結束,並有句尾音節長度拉長

(26)

14 (final lengthening)以及能量減弱的現象。 PG BG BG PPh PPh PPh PW PW PW PW

SYL SYL B1/B0 SYL SYL SYL

B2 B3 B4 B5 B5 DM/PF PW SYL

圖 3.1 階層式多短語韻律句群(Hierarchical Prosodic Phrase Grouping)架構。【14】

3.2 中文韻律模型

本節將介紹本研究使用之韻律模型定義的韻律架構,模型使用參數,與訓練方法。

3.2.1 韻律架構

本研究使用的韻律模型以鄭秓豫博士提出的中文韻律架構為基礎,將其中的韻律詞邊界 B2 進一步細分為 B2-1、B2-2 及 B2-3,分別代表明顯音高重置(Pitch reset)、短停頓(Short pause) 及有音節延長效應(Duration lengthening)的韻律詞邊界,這三類雖然同屬於韻律詞邊界,但因 其對應的聲學特性不同,只用一類描述並不適當,故我們將其分成三類;並將最上層的 B4、 B5 合併成 B4 一層,因為這兩類所對應的聲學特性相近,故可合併用一類韻律邊界停頓表示 即可。整個架構由原本定義的 5 層變回 4 層,如圖 3.2 所示。綜合上述,此韻律模型採用了 7 種停頓標記(Break Type)B ={B0, B1, B2-1, B2-2, B2-3, B3, B4},來標記音節、韻律詞、韻律 短語及呼吸群/韻律群四種韻律單元。

(27)

15

BG/PG

PPh

PPh

PPh

PW

PW

SYL SYL SYL

PW

SYL

PW

SYL SYL

PW

SYL

B3

B3

B2

B1/B0

B4

B4

B2

B1/B0

圖 3.2 本研究所用之階層式韻律架構 為了更詳盡描述這四層的階層式韻律架構,除了描述韻律邊界的停頓標記外,還需有描 述韻律單元變化的其他韻律標記或參數。本研究利用帶有上層韻律資訊的標記來間接表示這 些上層資訊對韻律架構的影響,此標記即為韻律狀態(Prosody state),代表圖 3.2 架構中上面 三層對韻律變化的貢獻。在本研究共使用了三種不同的韻律狀態,分別為正規化後之音高、 音長和音節能量的量化值。正規化後的音高為扣除音節層次對音高的影響後的殘餘值,經量 化後的殘餘值我們定義為音高的韻律狀態,代表韻律詞、韻律短語、呼吸群/韻律群這些上層 架構對音高的貢獻;音長或音節能量同理可在扣除音節層次影響因素後,對其量化得到各自 的韻律狀態。經由定義韻律狀態,可將音高、音長和音節能量在音節層次和高層次的影響分 開,將複雜的高層次影響因素直接以韻律狀態表示之。

3.2.2 模型設計

本研究所採用韻律模型為江振孙博士所提出之中文韻律模型(PLM),其依據圖 3.2 表示 之中文階層式韻律架構,可針對一未經人工事先標記好的語料,利用語言參數和聲學參數, 自動標記出停頓標記及韻律狀態。此演算法具備兩大優點:1.可自動標記,解決傳統上韻律 標記多為人工標記,既耗時又耗力,且易有不一致的問題。2.透過此模型可清楚分析韻律詞 層次以上的韻律變化趨勢。 韻律標記問題可視為,在給定語料庫之語音聲學參數集合 A,和對應的語言參數集合 L 下,求取最佳韻律標記集合T 的過程,即 arg m axP( | , )= arg m axP( , | )  T T T T A L T A L (3-1)

(28)

16 韻律標記集合T{ , B P S}包含了兩類重要的語音韻律資訊,第一類是音節邊界停頓標記 (Break type),本論文使用音節邊界停頓標記集合B {B0, B1, B2-1, B2-2, B2-3, B3, B4};另 一類的韻律標記是音節的韻律狀態,在本方法中韻律狀態有 3 種P S{ , , }p q r ,代表的意義 分別是經過量化和正規化音節基頻韻律狀態p、音長韻律狀態q和音節能量韻律狀態r 。正 規化後的基頻韻律狀態扣除掉音節層次對基頻的貢獻,即扣除聲調和連音的影響因素,此時 音節基頻的韻律狀態代表的是韻律詞、韻律短語、呼吸組/韻律句組對基頻的貢獻;至於音長 或能量強度則分別扣除語句、聲調、基本音節類型或韻母類型的影響因素。 聲學參數也可分為兩類,其中一類的聲學參數和韻律狀態標記有很大的相關性,而與音 節邊界停頓標記的相關性則非常小,屬於這類的聲學參數有音節基頻軌跡、音長和音節能量; 另一類的聲學參數則特性相反,和音節邊界停頓標記有很大的相關性,而與韻律狀態標記的 相關性小,屬於這類的聲學參數有音節邊界的停頓時長(Pause duration)、音節邊界的能量低 點(Energy-dip level)、正規化的能量差、正規化的基頻差(Normalized pitch jump)以及正規化的 音節長度拉長因子(Normalized duration lengthening factor)等。因此我們定義 A 包含音節基頻 軌跡序列 sp、停頓時長序列 pd、音節能量低點(Energy-dip level)序列 ed、音節長度序列 sd、 音節能量序列 se、正規化的音節內基頻差序列 pj 及正規化的音節長度拉長因子序列 dl 和 df, 其中 pj 定義為:

+ 1(1) n+ 1(1)

 

(1) n(1)

n n t n t pjspβspβ , (3-2) 上式括號中的 1 代表參數的第一維,下標 n 表示此為第 n 個音節, n t β 為聲調影響因素tnAffecting patterns(APs),而正規化的音節長度拉長因子序列 dl 和 df 定義為:

n n

 

-1 n-1 n-1

n n t s n t s dlsd    sd   (3-3) 和

n n

 

1 n1 n1

n n t s n t s df sd   sd            (3-4)

(29)

17

其 中t 和s 分 別 表 示 聲 調 與 基 本 音 節 類 型 影 響 因 素 的 APs , 因 此 聲 學 參 數 集 合

{ , , , , , , , }

A sp sd se pd ed pj dl df 。為了更清楚的說明這些聲學參數,將 A 進一步細分為三個類別:

音節韻律參數(Syllable Prosodic Feature)X{sp sd se, , },音節內韻律參數(Inter-syllabic Prosodic

Feature)Y{pd ed, }以及音節差韻律參數(Differential Prosodic Feature)Z{pj dl df, , }。

至於語言參數方面,則用 L 來表示所有的語言參數集合。其中特別將音節聲調、基本音 節類型與韻母類型從 L 獨立出來,因為這三個參數分別對音節基頻軌跡、音長與音節能量有 顯著的影響;此外考慮到不同語句時,說話速度的變動會造成音長的變化以及音量變動會造 成能量的變化,因此再把兩個語句層次的正規化因子獨立出來;扣除從 L 中獨立出來的語言 參數後,剩餘的語言參數,則統一定義為 l (Reduced linguistic feature set)。為了清楚的表示這 些符號定義,將其整理在表 3.1。

表 3.1 韻律標記、韻律參數和語言參數的表示法 T : prosodic tag B : break type

P S: prosodic state p : pitch prosodic state q : duration prosodic state

r : energy prosodic state A : prosodic feature X : syllable prosodic feature sp : syllable pitch contour

sd: syllable duration

se: syllable energy level Y : inter-syllabic prosodic feature pd: pause duration

ed: energy-dip level Z : differential prosodic features p j: normalized pitch jump

d l: normalized duration lengthening factor 1

d f :normalized duration lengthening factor 2

(30)

18 L : linguistic feature l: reduced linguistic feature set

t: syllable tone sequence

s: base-syllable type sequence

f: final type sequence

u: utterance sequence 綜合上述之討論,可將 3-1 式改寫為 ( , | ) ( | , ) ( | ) ( , , | , , ) ( , | ) ( | , , ) ( , | , ) ( | ) ( | ) P P P P P P P P P    T A L A T L T L X Y Z B P S L B P S L X B P S L Y Z B L P S B B L (3-5) 其中P X B P S L( | , , )稱為音節韻律模型(Syllable Prosodic Model),P Y Z B L( , | , )稱為停頓聲學模

型(Break-acoustic Model),P P S B( | )稱為韻律狀態模型(Prosodic State Model),P B L( | )稱為停

頓標記語言模型(break-syntax model)。進一步將音節韻律模型P X B P S L( | , , )分解成三個模型, 分別模擬音節基頻軌跡序列 sp、音長序列 sd 和音節能量序列 se,並且假設 sp、sd 和 se 的 變化在此只受到以下幾個影響因素控制:音節聲調t、基本音節類型s、韻母類型f、語句 u、 韻律狀態P S{ , , }p q r 和韻律邊界停頓 B,因此得到 1 -1 -1 1 1 1 ( | , , ) ( | , , ) ( | , , , ) ( | , , , ) ( | , , ) ( | , , , ) ( | , , , ) N N N n n n n n n n n n n n n n n n n n n n p p p p p B p tp sd q t s u p se r t f u     

X B P S L sp B p t sd q t s u se r t f u sp (3-6) 其中 1 -1 -1 1 ( | , , ) N n n n n n n n p B p t  

sp 是在模擬音節基頻軌跡受的各類影響,式子代表的意思為第 n 個音節之基頻軌跡spn會受到目前基頻韻律狀態pn、目前聲調tn以及給定韻律邊界停頓Bn-1n B 情況下,前後相鄰音節聲調tn1tn1造成的連音影響,此處Bnn-1= (Bn-1,Bn),tnn-11(tn-1, ,t tn n1), 而spn則代表第 n 個音節基頻軌跡,是將音節基頻軌跡進行正交展開(Orthogonal expansion), 投影到四個 Legendre 多項式基底所得到的四維正交參數,根據上面描述可將spn表示成 1, -1 , for 1 n n n n n n r f b nntpB tpB tp   n N sp sp β β β β μ (3-7)

(31)

19

3-7 式的每項βx表示音節基頻軌跡影響因素為x時的 AP,這裡的tpn是 tone pair tnn1( ,t tn n+ 1),

1, -1 n n f Btp β, n n b B tp β 分別是第 n-1 個和第 n+1 個音節所貢獻的前後音節影響效應的 APs,μ則是 全域帄均值(Global mean);而每個語句的韻律邊界都有開始與結束兩個特例,這兩個分別以 b BBe表示之,因此 1 0 0 , , b f f B tB tp β β, , e N N N b b B tB tp β β 為兩個特例的連音效應 APs;另外為了限制 韻律狀態只對目前音節的 log-F0 level 有影響,我們定義 n p β 為四維正交係數的第一維且都是 非零值; r n sp 是正規化後的spn,為spn扣除 n t βn p β 、 1, -1 n n f Btp β, n n b B tp βμ的殘餘值(residual)。 圖 3.3 為spn與影響因素的關係表示圖,藉由假設sprn是一帄均值為零的高斯分佈(Normal distribution),即N sp( rn; ,0 R),可以得到 1 -1 1 -1 -1 , , ( | , , ) ( ; , ) for 1 n n n n n n n n f b n n n n n t p B tp B tp P p B t N n N          sp sp β β β β μ R (3-8) 1 nsp Bn1 spn Bn spn1 1, 1 n n f B tp β , n n b B tp β n t β n p β 圖 3.3 觀察到的音節基頻軌跡與其影響因素的關係圖 第二個模型模擬音節長度sdn,可表示成: ( | , , , ) ( ; , ) n n n n n n n n n n t q s u d d P sd q t s uN sd      R (3-9) 其中γ 表示各個影響因素的 AP,qn與 sn分別為第 n 個音節的音長韻律狀態與音節類別,un 則代表句子的影響因素,dRd 分別表示全域帄均值與音長殘餘值的共變異數矩陣;第三

(32)

20 個模型模擬了音節能量sen,可表示成: ( | , , , ) ( ; , ) n n n n n n n n n n t r f u e e P se r t f uN se      R (3-10) 其中α 表示各個影響因素的 AP,rn與 fn分別為第 n 個音節的能量韻律狀態與韻母類別,ee R 分別表示 global mean 與音節能量殘餘值的共變異數矩陣。 接著對停頓聲學模型P Y Z B L( , | , )進一步化簡: 1 ( , | , ) ( , | , ) ( , , , , | , ) N n n n n n n n n P P P pd ed pj dl df B   

Y Z B L Y Z B l l (3-11) 其中P p d( n,e dn, p j d l d fn, n, n| nBl,n)是經由分類樹與決策樹(Classification and Regression Tree,

CART)推導出來,其節點的分裂準則是依據最大概似函數增益(Maximum Likelihood Gain), 利用一個已經設計好的問題集,依據不同韻律邊界停頓對所有音節的pdnednpjnd ln

n

df 做分類。在此將pdn以 gamma distribution 建構,而ednpjnd lndfn以 normal distribution

建構,因此p pd ed( n, n,pj dl df B ln, n, n| n, )n 會是一個 gamma distribution 和四個 normal distribution

的乘積。 2 2 , , , , , , 2 2 , , , , ( , , , , | , ) ( ; , ) ( ; , ) ( ; , ) ( ; , ) ( ; , ) n n n n n n n n n n n n n n n n n n n n pj pj n n n n n n n n B B n B B n B B dl dl df df n B B n B B P pd ed pj dl df B g pd N ed N pj N dl N df            l l l l l l l l l l l (3-12) 而韻律狀態模型可進一步針對三種韻律狀態拆解成三個子模型,表示為 ( | ) ( | ) ( | ) ( | ) P P S BP p B P q B P r B (3-13) 而P p B( | )、P q B( | )和P r B( | )可以用雙連文模型(Bigram Models)分別表示為 1 1 1 2 ( | ) ( ) ( | , ) N n n n n P P p P p p B    

p B (3-14) 1 1 1 2 ( | ) ( ) ( | , ) N n n n n P P q P q q B    

q B (3-15) 和

(33)

21 1 1 1 2 ( | ) ( ) ( | , ) N n n n n P P r P r r B    

r B (3-16) 其 中P p( 1)、 P q( 1) 和P r( )1 分 別 表 示各個 不 同 韻律 狀 態 的起始 機 率 (Initial probability) , 1 1 ( n| n , n ) P p p BP q q( n| n1,Bn1)和P r r( |n n1,Bn1)則分別表示三種韻律狀態,給定停頓標記Bn1的 情況下,從第 n-1 個音節的韻律狀態到轉移到第 n 個音節韻律狀態的轉移機率(Transition probability)。 最後簡化停頓語法模型 break-syntax 模型P B l( | ),假設能將每個音節邊界分開模擬,故 可表示成 1 1 ( | )= ( | ) N n n n P P B  

B l l (3-17) 其中P B l( n| )n 同樣由 CART 演算法依據最大概似函數增益為分裂準則訓練得到。

3.2.3 韻律標記及模型訓練方法

A-PLM 法依據最大似然法則(Maximum likelihood, ML),同時預估 8 個韻律模型的參數 並對所有語句做韻律標記,經一連串的最佳化程序直到收斂。整個演算過程可分為兩部份: 初始化和疊代,初始化過程會對所有語句做初始的韻律標記,及預估前一節所討論的 8 個子 模型韻律參數的初始值;疊代的過程先對所有語句定義一概似函數(Likelihood function) 1 -1 1 1 1 1 1 1 1 1 1 1 1 2 ( | , , ) ( | , , , ) ( | , , , ) ( ) ( ) ( ) ( | , ) ( | , ) ( | , ) ( , , N n n n n n n n n n n n n n n n n n N n n n n n n n n n n n n Q P p B t p sd q t s u p se r t f u P p P q P r P p p B P q q B P r r B p p d ed                       

sp   1 1 , , | , ) ( | ) N n n n n n n n n p j d l d f B P B       

l l  (3-18) 接著利用一個多重步驟的疊代程序,反覆更新所有韻律標記和 8 個韻律子模型的參數,詳細 的說明可參考【7】。

(34)

22

3.3 以韻律標記幫助訓練 HSMM

本研究利用 HSMM 來描述語音的頻譜特性變化,本節將詳細介紹訓練 HSMM 模型的過 程,與如何利用韻律標記來幫助模型訓練。

3.3.1 特徵參數抽取

訓練模型前,必頇擁有足以充分描述語音特性之特徵參數,而語音處理當中,梅爾頻率 倒頻譜係數(Mel-Frequency Cepstrum Coeiffient, MFCC)是一最廣泛為人使用之頻譜特徵參 數,本研究也將使用此特徵參數對音檔做預切割,以 32 毫秒之漢明窗(Hamming window) 且每位移 10 毫秒為一筆資料,求取 12 維 MFCC 並加上一維能量係數,以及這 13 維係數之 一階與二階變量(Delta and delta-delta)為特徵參數,但因能量此維較缺乏鑑別性,因此去 除能量係數,得到 38 維向量作為本研究切割語音資料之聲學特徵參數;另一方面,合成則 使用廣義梅爾倒頻譜參數(Mel-generalized Cepstrum, MGC),其中設定 α=0.42、γ=0 (mcep), 以 25 毫秒之漢明窗(Hamming window),每位移 5 毫秒為一筆資料,求取含能量共 25 維的參 數,並使用此 25 維參數的一階與二階變量,總共得到 75 維的聲學參數,而因為合成時需要 有能量大小的資訊,故在這裡能量一併拿來訓練模型。

3.3.2 音檔切割

本研究所用語料皆為長句,若採用帄均切割(Flat-start)的方式取得初始模型並不適當,基 於對模型訓練品質的要求,在訓練模型前先利用一可靠的語者獨立模型(Speaker Independent , SI)對音檔作強制切割(Forced alignment)得到一可靠的切割位置,再根據此切割位置求得初始 模型進行訓練。下圖為音檔切割的流程圖,首先在前處理階段求得 39 維的 MFCC(模型為 38 維),因語料已有人工修正過之音節切割位置,雖然此切割位置有尾音切割不準的問題,但 為了使切割的音素(Phone)邊界更加準確,仍假設此音節邊界為正確切割位置,固定音節邊界 (對參數切割成音節為單位之音段,得到音素切割位置後再做串接合併),使用語者獨立的單 音素模型(Monophone model)做強制切割,以得到音素切割位置。

(35)

23 Segmentation (syllable) Forced alignment SI monophone model Treebank phone label Syllable combination Treebank mfcc Treebank mfcc 圖 3.4 音素切割位置求取流程圖

3.3.3 中文馬可夫模型設定

中文為一以音節為單位之聲調語言(Tonal language),每個中文字對應一個音節。中文有 411 個基本音節(basic syllable),搭配 5 種聲調,約可組成 1300 多個音節,而每個基本音節以 聲母、韻母組成,韻母又可進一步拆解為介音、韻腹、韻尾三類,透過聲母、韻母的組合即 可涵蓋大部分中文音節,本研究在建立中文音素 HMM 模型時,為探討模型單元對訓練結果 的影響,分別以音素與聲、韻母為基本單元進行實作。相較我們選擇的單元,音節單元更大, 每個單元特性應較一致,如此訓練之模型品質應該會較好,之所以不選擇音節當基本單元, 主要是因音節的種類太多,若語料庫不夠大,可能有音節出現頻率過低,或甚至不包含部分 音節的情形,如此會導致訓練得到之模型不夠強健,影響最後結果。 本研究使用之半隱藏式馬可夫模型,音素部分定義了 38 個音素(見附錄一)加句中短靜音 停頓(Short pause , sp)與句首句尾長停頓(Silence),共 40 個音素單元,其中頻譜模型(Spectrum model)的每一個音素單元之 HMM 由 3 個左至右(Left-to-right)的狀態(State)表示;聲母、 韻母部分,聲母可分為 22 類,韻母可分為 40 類(見附錄一),同樣加上句中短靜音停頓與句 尾句首長停頓,每一個聲母與韻母單元皆以 5 個左至右的狀態表示;半隱藏式馬可夫模型定 義狀態持續時間模型(State duration model)每一個基本單元之 HMM 只由一個狀態,即一個高 斯(Gaussian)分佈表示,維度則與頻譜模型的狀態數相同,兩個模型的維度分別為 3 維與 5 維,所有頻譜與狀態持續時間模型的每個狀態皆以一個高斯分布描述其特徵參數的分布情 形。

(36)

24

3.3.3 模型建立流程

本研究對兩種基本單元的模型訓練方式一致,因此本節中其餘小節僅對音素單元進行介 紹。本研究利用 HTS2.1 的函式庫進行模型訓練,詳細流程圖參考圖 3-5,首先由預切割得到 之 音 素 切 割 位 置 , 先 經 過 Segmental k-means 訓 練 得 初 始 頻 譜 模 型 , 接 著 利 用 Baum-Welch(Forward-Backward )演算法進一步估測,並由此階段最後一次估測得到的網狀結 構(Trellis)輸出音長模型(State duration model)的初始模型,合併所有獨立音素模型即為初始的 半隱藏式馬可夫模型;接著根據此模型的狀態統計資訊(State statistics)與機率分布特性使用 決策樹分群(Tree clustering),對分佈近似的狀態(State)進行綑綁(Tying),使共用同一組機率 分佈,此即文脈相關模型(Context-dependent model),而為使訓練之決策樹與模型更加強健 (Robust),本實驜利用此模型重新求取統計資訊,做第二次的決策樹分群,再使用最終得到 之決策樹與模型進行合成。 Full context model Treebank phone label Treebank Mcep Segmental k-means training(HInit) Forward-Backward algorithm (HRest) Isolated phone training

Forward-Backward algorithm (HERest) Monophone HSMM

Copy model & model tying (HHEd) Full context label Tree clustering (HHEd) Forward-Backward algorithm (HERest) Statistics Forward-Backward algorithm (HERest) 1st context-dependent HSMM Untie model (HHEd) Forward-Backward algorithm (HERest) Tree clustering (HHEd) Forward-Backward algorithm (HERest) 2nd context-dependent HSMM Statistics 圖 3.5 HSMM 模型訓練流程

(37)

25

在此,文脈相關模型利用決策樹根據文脈相關標記做分群,頻譜與狀態持續時間兩個模 型各有一顆決策樹,決策樹的頻譜模型由每個文脈相關(Context dependent)標記之中心音素 (Central phone)的每個狀態為一根節點(Root node)開始分裂(往後稱此為 phone-based,而決策 樹的狀態持續時間模型結構兩種單元並不相同,詳見 3.4 節),使用的分裂準則為最小描述長 度(Minimum Description Length , MDL)增益,化簡後如式 3-20,式 3-19 即為最大概似函數增 益(Maximum Likelihood Gain)的式子,可發現式 3-20 為式 3-19 再加上一個項,一般稱為懲 罰項(Penalty),MDL 準則即利用此項來控制決策樹之分裂深度,當決策樹分裂越深,模型益 加複雜,此項也會跟著變大,如此可自動使決策樹在最恰當的深度終止分裂,避免分裂過深 造成過適(Overfitting)的情形,解決最大概似函數增益,若臨界值(Threshold)調整不適當,對 結果有很大影響的缺點。 Sm Smqy Smqn Yes No 圖 3.6 MDL-based 決策樹分裂 (Dm)qM L L S( m qy) L S( m qn) L S( m)     (3-19) (Dm)M D Lq (Dm)qM L K logG (3-20) q 為母節點 Sm問的問題,Smqy與 Smqn則分別代表經過此問題分裂後 yes 與 no 的子節點, Dm表示落在 Sm這個節點的資料,L(‧)代表此節點的對數概似值(log likelihood), G 代表整 體資料量,K 則代表分裂後參數的增加量。

(38)

26

3.3.4 引入韻律標記

本研究希望藉引入階層式韻律架構之韻律資訊幫助頻譜模型訓練,傳統文脈相關模型, 相信頻譜模型的分佈與語言資訊密切相關,故決策樹根據所能得到的語言資訊訂立問題集做 分群。然而上層語言資訊,雖與頻譜模型的分佈有一定的關係存在,但兩者相關性不高,故 依此類上層語言資訊對頻譜模型分群並不能得到最好的效果,為了找到一與頻譜模型更直接 相關的資訊幫助分群,本研究提出利用韻律資訊取代傳統語言資訊做決策樹分群,引入本研 究使用之韻律模型定義的兩類韻律標記─音節邊界停頓與韻律狀態。 韻律標記為合併考量聲學資訊與語言資訊得到的標記結果,因標記過程同時考慮了聲學 參數,所以應較單純語言資訊更有能力描述頻譜參數的分佈特性。其中音節邊界停頓可表示 前後音素連音效應強弱,音高、音長與能量三種韻律狀態描述了韻律架構上層對音節韻律的 影響,此類韻律資訊可視為介於上層語法資訊(Syntax)與音節層之間的一中層資訊,其描述 較音節層面範圍更大的影響,且較上層語法資訊更加貼近模型基本單元的真實聲學分布情形。 換言之,本研究目標是藉由階層式韻律資訊的引入使決策樹產生更好的分群結果,避免聲學 特性相異的單元互相混淆,降低訓練得到的頻譜模型參數帄滑、特性不明顯的影響。

3.3.5 文本標示資訊與問題集設計

欲利用決策樹以韻律資訊對頻譜模型做分群,文本標示資訊與問題集的設計就顯得格外 重要,兩者的選擇會大大影響決策樹最後分裂的結果。首先選定與聲學特性相關的文本資訊 ,本論文與傳統方法不同,不考慮多層複雜的語言資訊,只選定最底層的音素資訊加上韻律 資訊,完全不加入任何上層語言資訊,僅利用韻律資訊幫助模型分群,依據表 3.2 所示文脈 相關資訊,對所有語料之文本建立如下文脈標示: Pr_Phn-Cur_Phn+Fol_Phn/p:Pit_ps/q:Dur_ps/r:Ene_ps/pb:Pr_B/nb:Fol_B

(39)

27 表 3.2 文脈相關資訊 Class ID Description Linguistic Feature Pr_Phn Previous phone(Initial/Final) -Cur_Phn Current phone(Initial/Final) +Fol_Phn Following phone(Initial/Final)

Prosodic Feature

/pb:Pr_B Previous break type of current syllable /nb:Fol_B Following break type of current syllable

/p:Pit_ps Pitch prosody state of current syllable /q:Dur_ps Duration prosody state of current syllable

/r:Ene_ps Energy prosody state of current syllable

接著根據標示的資訊設計相關問題集,為了達到最佳狀態分裂合併結果,本研究一共考 量三大類問題集,說明如下(詳細韻律相關問題集請見附錄二): 1. 音素(聲、韻母)相關:因為決策樹是以當前的音素為根節點下去分裂,當前音素並不會 有混淆的情形,所以只考慮前、後相接的音素,分兩類問題: i. 每個音素個別問。 ii. 音素依據發音方式跟發音位置,將相似特性的音素歸成一群,如摩擦音、爆破音…。 2. 音節停頓相關:藉由韻律模型標記出{B0, B1, B2-1, B2-2, B2-3, B3, B4}七類音節邊界停 頓, 因為停頓屬於音節邊界(Juncture)的影響因素,且認為每個音節前、後邊界的停頓類別, 應對整個音節的音素皆有影響,所以考慮當前音素所屬音節之前、後邊界是屬於哪種停頓類 別,分兩類問題: i. 個別考慮每個停頓類別。 ii. 將相似特性的音節邊界停頓類別歸群來問,總共規出下列四群,  {B0, B1}皆為很短幾乎不可察覺的停頓  {B2-1, B2-2, B2-3}都為詞邊界的停頓  {B2-2, B3, B4}同為較明顯可察覺的停頓  {B3, B4}因 B3、B4 有許多是標點符號的長停頓,相較於 B2-2 是更明顯的停頓, 故另外增加這個類別 3. 韻律狀態相關:總共有音高、音長與能量三類韻律狀態,因為此為音節上的資訊,所以 只考慮當前音素所屬的音節為哪種韻律狀態,因最高與最低的幾個類別特性較為明顯,故將

(40)

28 每類 16 種韻律狀態皆分為三大類,分別是最高和最低與中間的狀態,最高與最低的問法相 似,故可視為兩類問題: i. 針對最高或最低的幾種狀態歸群,歸群方法以最高或最低的前 N 個為一群問(N≤5), 舉最低來說是{1}、{1,2}、…、{1,2,3,4,5},因我們認定低的群必有特性明顯一致之 處,但不確定框出哪幾個低的狀態為一群較準確,所以定義各種範圍大小由決策樹 選擇 ii. 中間的 3~14 則分三種集合大小,使用涵蓋中間整個集合的不同分群大小來考量,  每四個一群,一次遞移一個,如{3,4,5,6}、{4,5,6,7}、…、{11,12,13,14}  考慮大一點的集合,六個一群,如{3…8}、{6…11}、{9…14}  {3…14}整個一群

3.4 模型訓練結果分析

本研究目標為引入階層式韻律訊息幫助模型訓練,進一步提升聲學模型的品質,以求得 到更好的合成聲音品質。而本研究使用的模型為 HSMM,其同時訓練頻譜與狀態持續時間 模型,但模型分群是採用分開的兩棵決策樹,因此可以在同樣參數下選定兩組不同的問題集, 針對兩組模型各自選定有意義的問題,限制問題集避免不相關的問題影響分群,甚至可同時 採取不同的模型結構訓練模型。模型結構所指為決策樹欲歸群參數的類別,總共分為兩類, 一類為音素相關決策樹(Phonetic decision tree),對每個音素中屬於不同狀態的參數個別去歸 群,決策樹的數量會等於音素單元個數乘上 HMM 的狀態數,往後以 phone-based 表示之; 另一類則為共享單元之決策樹(Shared decision tree),對屬於同一 HMM 狀態的所有音素單元 對應參數歸群,決策樹數量會等於 HMM 的狀態數,往後以 state-based 稱之。

因本研究著重在韻律訊息對於頻譜模型的影響,因此本節的分析將著重在頻譜模型與其 決策樹的生長情形,首先分析決策樹的結構,再以客觀實驜與主觀實驜探討韻律資訊的加入 是否有效提升合成品質。

(41)

29

3.4.1 決策樹分析

文脈相關模型的好壞與決策樹的分裂情形密切相關,決策樹經過一個問題分裂後,分裂 為子節點的兩群資料在空間中即被完全分開,若問題不恰當產生不好的分群,子節點得到的 資料分佈易使接續的問題也變的不合理,造成的影響可能會延續到最後的葉節點,如此得到 的決策樹偏壓嚴重,對不涵蓋在訓練資料中的外來資料分群效果必定不好。因此一棵決策樹 中越上層被問出的問題,表示其對整體資料的分群影響越大,也代表這個問題相對其他問題, 有能力對大群的資料分出差異明顯的兩類,若問到的問題確實能有效區別資料差異,更可避 免差異極大的資料混成一群,提升最後訓練得到的模型效果。 經由觀察決策樹的分裂情形可判定分群結果是否有意義並符合預期,由於 state-based 決 策樹深度過深不易分析,因此本節分析的頻譜決策樹結構為 phone-based,這也是本研究最後 所採用的模型結構。首先表 3.3 與表 3.4 統計了兩種基本單元的決策樹韻律相關問題在每棵 決策樹中第一次出現的位置,可發現近八成的決策樹都在前兩層就已經出現韻律相關問題, 本研究使用韻律標記來代表語音階層式韻律架構造成的影響,也認定韻律上的變化與頻譜的 變化有極大相關性,因此期許韻律相關問題可有效在前端被問出,統計結果也確實如預期, 大部分的決策樹都在前端就出現韻律相關問題,證明韻律標記可在決策樹過程有效影響模型 特性,如此若韻律標記確實與頻譜模型特性直接相關,將可使最終分類結果的每個節點,對 應的模型分佈特性明顯。 另一方面,本研究也期望音節邊界停頓標記能有效區隔音節連音效應強、弱的兩類,當 音節間停頓類別屬於長停頓的 B3 或 B4 時(或部分的 B2),就不該跨過音節去考慮前、後音 素彼此的影響,若音節間有長停頓卻仍出現過多跨音節考慮連音的問題有兩種可能,一個是 代表停頓標記對分群無效或停頓標記不一致,但此標記在江振孙博士所發表之韻律模型的相 關文獻中已證實是有效且一致的,因此若有問題即很有可能是問題集設計不當,造成決策樹 的分類結果不合理,如此問到的問題將只是剛好符合訓練語料的分佈,當決策樹應用於測詴 語料,就很容易將資料判定到不合理的一群中。為了判定上述現象是否發生,我們對決策樹

數據

表 1.1 Sinica Treebank 語料庫內容
圖 2.2 HTS 系統之決策樹【12】  2.2 HSMM-based 語音合成系統  HSMM-based 的語音合成系統,基本架構與上一節中介紹的 HMM-based 語音合成系統 相同,差別僅在模型訓練階段,HMM-based 使用的 HMM 如圖 2.3 所示,而 HSMM-based 使用的 HMM 如圖 2.4 所示,比較兩圖可發現,圖 2.3 中標準 HMM 的狀態轉移機率,在圖 2.4 中被一機率分佈模型給取代,簡言之,HSMM 即以狀態持續時間模型取代 HMM 的轉移
圖 3.1  階層式多短語韻律句群(Hierarchical Prosodic Phrase Grouping)架構。【14】
表 3.1  韻律標記、韻律參數和語言參數的表示法
+6

參考文獻

相關文件

(Computable General Equilibrium Model;簡稱CGE模 型)。又因為其應用性高,故也被稱為應用性計算一般均 衡模型(Applied General Equilibrium

建模時,若我們沒有實際的物理定律、法則可以應用,我們 可以構造一個經驗模型 (empirical model) ,由所有收集到

自從 Engle(1982)提出 ARCH 模型以來,已經超過 20 年,實證上也有相當多的文獻 探討關於 ARCH 族模型的應用,Chou(2002)將 GARCH

In the following we prove some important inequalities of vector norms and matrix norms... We define backward and forward errors in

探究式學習 教學類型 (四種類型).. 探究式學習教學 常見模式及實施 Stripling Model of Inquiry.. Connect, wonder, investigate, express

[7] C-K Lin, and L-S Lee, “Improved spontaneous Mandarin speech recognition by disfluency interruption point (IP) detection using prosodic features,” in Proc. “ Speech

甲型禽流感 H7N9 H7N9 H7N9 H7N9 H7N9 H7N9 H7N9 H7N9 - - 疾病的三角模式 疾病的三角模式 疾病的三角模式 疾病的三角模式 疾病的三角模式

– The futures price at time 0 is (p. 275), the expected value of S at time ∆t in a risk-neutral economy is..