張雪英,陳 潔,孫 穎
(太原理工大學 信息工程學院,太原030024)
語音合成的目的是建立一個有講話能力的計算機系統,以實現真正意義上的人機交互。基于大語料庫的拼接合成方法[1]是近年來語音合成中的主流方法。其基本原理是根據輸入文本分析得到的信息,從預先錄制和標注好的語音庫中挑選合適的單元,然后拼接得到最終的合成語音。雖然大語料庫拼接合成系統保持了原始發音人的音質,但也存在不少缺陷,比如:合成語音的效果不夠穩定,音庫構建周期太長以及合成系統的可擴展性較差等,這些缺陷明顯限制了它在多樣化語音合成方面的應用。因此,近年來基于隱馬爾可夫模型[2](HMM)的可訓練語音合成方法被提出并逐漸得到應用。
基于HMM的語音合成系統對語音參數進行建模,然后利用音庫數據進行自動訓練,并最終形成一個相應的合成系統[3]。與現在大語料庫拼接合成相比,其優勢就在于可以在短時間內,基本不需要人工干預的情況下自動構建一個新的系統,而且整個訓練過程基本上是不依賴于發音人、發音風格以及情感等因素。筆者研究了基于HMM的可訓練語音合成方法,并將其原理應用到英語合成中。
圖1是基于HMM的語音合成系統的基本框圖,它包括訓練和合成兩個部分。在訓練部分,首先,從語料庫中提取譜參數和基頻參數,然后利用上下文相關因素,對聲道譜、基頻和時長進行建模。本系統利用HTK進行訓練。在合成部分,首先對輸入的文本進行文本分析后,轉化為與文本相關的標注序列,在此基礎上,利用上下文相關HMM,通過HTS[4-5]構建句子 HMM,從而確定了各音素的合成參數,最后通過參數合成器[6]合成出語音。

圖1 基于HMM語音合成流程
模型訓練前有一個重要的部分就是對上下文屬性集和用于決策樹聚類的問題集進行設計[7],即根據先驗知識來選擇一些對聲學參數(能量、基頻和時長)有一定影響的上下文屬性,并設計相應的問題集,以用于上下文相關模型。上下文屬性與決策樹設計的好壞會直接影響到最后合成語音的效果。因此,本文對英語的發音及語法特點進行了深入的研究,設計了與之對應的上下文屬性集和問題集。
音節是讀音的基本單位,任何單詞的讀音,都是分解為一個個音節朗讀。在英語中元音特別響亮,一個元音可構成一個音節,一個元音和一個或幾個輔音音素結合也可以構成一個音節;輔音不響亮,不能構成音節。但英語輔音字母中有4個輔音[m],[n],[ng],[l]是響音,它們和輔音音素結合,也可構成音節。它們構成的音節往往出現在詞尾,一般是非重讀音節。
英語單詞有一個音節的,兩個音節的,多個音節的。只有一個音節的詞叫單音節詞,如:take拿;有兩個音節的詞叫雙音節詞,如ta'ble桌子;包含三個音節或三個音節以上的詞叫多音節詞,如pop'ula'tion 人口,congrat'ula'tion 祝賀。
英語中,元音是構成音節的主體,輔音是音節的分界線,相應的音節劃分的規則如下:
1)兩輔音之間不管有多少個元音,一般都是一個音節。如:bed床,bet打賭,seat坐位,beat毒打,beaut極好的,beau'ty 美。
2)兩元音字母之間有一個輔音字母時,輔音字母歸后一音節。如:stu'dent學生,la'bour勞動。
3)有兩個輔音字母時,前一個輔音字母歸前一音節,另一個歸后一音節。如:let'ter 信,win'ter 冬天。
4)不能拆分的字母組合按字母組合劃分音節。如:fa'ther父親,tea'cher教師。
音節按是否重讀可以分為重讀音節和非重讀音節。重讀音節是指在雙音節或多音節詞中的一個發音特別響亮的音節。欲使合成的語音能更好地被人耳所識別,進行音節劃分時就必須考慮音節的重讀問題[8-9]。
英語中,判斷音節重讀的規則如下:
1)單音節詞多是重讀音節。
2)雙音節詞的第一個音節通常是重讀音節,但是:含有a-,be-,de-,re-,in-,ex-等前綴的雙音節詞往往是在第二個音節重讀。
3)多音節詞通常在倒數第三個音節重讀,但是:詞尾有-lc,-tion,-sion等后綴的詞,在其前一個音節重讀。
4)含有-tion、-sion、-ssion等字母組合時,重讀音節為該字母組合前與之緊挨著的那個音節。
欲實現文本到語音的轉換,必須對文本進行語音標注。首先需將文本內容按句斷開;然后對每一句中的具有獨立意義的詞進行分隔;分隔出來的獨立詞再按音節進行劃分,進行音節劃分時一定要注意重讀音節的位置;最后針對每一個音節進行音素切割,判斷每個音節內所包含的音素。
上下文相關語法記錄各聲學模型合成單元的特征及其與相鄰合成單元之間的聯系。在訓練階段,建立決策樹時應用此語法中所記錄的各個信息與問題集進行對比,進行資料分群;在合成階段,則可從決策樹中取得適當的參數,產生平順的合成語音。式(1)是針對英文語音合成系統設計的上下文相關語法的格式,其中各個符號的定義見表1。


表1 上下文相關語法中各標號的含義
決策樹問題集記載了一系列資料分群規則,使得合成系統在建立決策樹時,能依據問題集進行資料分群[10]。本合成系統中,主要考慮設計了合成單元相關、字相關以及詞相關這三類問題。
1)合成單元相關。首先,考慮當前合成單元與前后各一個合成單元各是什么。然后考慮當前合成單元在字、詞中的順序(正序、倒序)。例:合成單元種類(以合成單元「a-i」為例):
L-a-i{a-i}//前一個合成單元是否為「a-i」?
C-a-i{a-i}//當前合成單元是否為「a-i」?
R-a-i{a-i}//后一個合成單元是否為「a-i」?
2)字相關。首先,考慮當前字及前后字中,各有幾個合成單元。其次,考慮當前字在詞中的順序(正序、倒序)。
3)詞相關。考慮當前詞在句中的順序(正序、倒序)。
根據上述設計改進,最終構造出可訓練英語語音合成系統。通過對該系統所生成的語音進行大量主觀辯聽實驗,證實了該系統能合成出流暢、清晰、易懂的英語語音。下面是利用本系統合成簡短語句的實例,通過該系統合成語音:“Alice was tired”。
首先,分析該語句的結構,通過斷句、斷詞以及音節劃分,得出該語句的結構如表2所示。

表2 語句“Alice was tired”的結構
然后,分析每個音節所包含的音素,并判斷該音節是否重讀,分析結果如表3所示。

表3 語句“Alice was tired”音節分析
根據以上分析結果,結合上下文相關語法手工編寫語句“Alice was tired”的語音標簽文件alice.lab。然后,依據所設計的決策樹問題集,最終通過本系統生成該語句的語音文件alice.wav。圖2為所合成語句“Alice was tired”的波形圖和語譜圖,圖3為該語句的基頻分析圖。由圖中可以看出,語音波形較穩定,而且沒有過高或過低的基頻點,即基頻分析圖中沒有基頻奇異點,說明合成的語音平穩流暢。另外,通過主觀辯聽,證實所合成出的語音清晰易懂,較好地實現了本英語語音合成系統的基本要求。

筆者將改進的HMM可訓練語音合成方法成功應用于英語語音合成。通過對HMM建模,并且基于英文語音特性設計上下文屬性集以及用于模型聚類的問題集,提高了其建模和訓練效果。實驗結果證實,該系統能實現英語文本到語音的轉換,并且轉換結果良好。下一步的研究工作是以設計出更完善的英語韻律邊界自動劃分、準確的重音預測系統,并在此基礎上設計出基于HMM可訓練的英語語音合成系統的前端,最后構建出功能更加完整的基于HMM可訓練的英語語音合成系統。
[1] CAMPBELL W N,BLACK A W.Prosody and the selection of source unit for concatenative synthesis[M].Springer Verlag:Progress in Spreech Synthesis,1996.
[2] RABINER L R.A tutorial on hidden Markov models and selected applications in speech recognition[J].Proceedings of the IEEE,1989,77(2):257-286.
[3] 馮志紅,張連海,吳保民.基于 HMM 的英語文語轉化系統 [J].信息工程大學學報,2008,9(1):31-35.
[4] Zen Heiga,Takashi,Nose,Yamagishi.The HMM-based speech synthesis system (HTS)version 2.0[C]∥Proc of ISCA Bonn Germany,Germany,2007:22-24.
[5] HUANG X,ACERO A .Recent improvements on Microsoft’s trainable text-to-speech system-whistler[C]∥Proc of ICASS,1997:959-963.
[6] 吳義堅.基于隱馬爾科夫模型的語音合成技術研究[D].合肥:中國科學技術大學,2010.
[7] 王碧泉,陳祖蔭.模式識別:理論、方法和應用[M].北京:地震出版社,1989:23-44.
[8] 朱維彬.支持重音合成的漢語語音合成系統[J].中文信息學報,2007,5(3):122-124.
[9] 邵艷波,韓紀慶.自然風格語言的漢語重音自動判別研究[J].聲學學報,2006,1(3):203-205.
[10] 段全盛,康世胤.一種適合HMM漢語語音合成的建模單元挑選算法[C]∥第十屆全國人機語音通訊學術會議論文集,2009:87-88.