張雪英,陳 潔,孫 穎
(太原理工大學(xué) 信息工程學(xué)院,太原030024)
語音合成的目的是建立一個(gè)有講話能力的計(jì)算機(jī)系統(tǒng),以實(shí)現(xiàn)真正意義上的人機(jī)交互。基于大語料庫的拼接合成方法[1]是近年來語音合成中的主流方法。其基本原理是根據(jù)輸入文本分析得到的信息,從預(yù)先錄制和標(biāo)注好的語音庫中挑選合適的單元,然后拼接得到最終的合成語音。雖然大語料庫拼接合成系統(tǒng)保持了原始發(fā)音人的音質(zhì),但也存在不少缺陷,比如:合成語音的效果不夠穩(wěn)定,音庫構(gòu)建周期太長以及合成系統(tǒng)的可擴(kuò)展性較差等,這些缺陷明顯限制了它在多樣化語音合成方面的應(yīng)用。因此,近年來基于隱馬爾可夫模型[2](HMM)的可訓(xùn)練語音合成方法被提出并逐漸得到應(yīng)用。
基于HMM的語音合成系統(tǒng)對語音參數(shù)進(jìn)行建模,然后利用音庫數(shù)據(jù)進(jìn)行自動(dòng)訓(xùn)練,并最終形成一個(gè)相應(yīng)的合成系統(tǒng)[3]。與現(xiàn)在大語料庫拼接合成相比,其優(yōu)勢就在于可以在短時(shí)間內(nèi),基本不需要人工干預(yù)的情況下自動(dòng)構(gòu)建一個(gè)新的系統(tǒng),而且整個(gè)訓(xùn)練過程基本上是不依賴于發(fā)音人、發(fā)音風(fēng)格以及情感等因素。筆者研究了基于HMM的可訓(xùn)練語音合成方法,并將其原理應(yīng)用到英語合成中。
圖1是基于HMM的語音合成系統(tǒng)的基本框圖,它包括訓(xùn)練和合成兩個(gè)部分。在訓(xùn)練部分,首先,從語料庫中提取譜參數(shù)和基頻參數(shù),然后利用上下文相關(guān)因素,對聲道譜、基頻和時(shí)長進(jìn)行建模。本系統(tǒng)利用HTK進(jìn)行訓(xùn)練。在合成部分,首先對輸入的文本進(jìn)行文本分析后,轉(zhuǎn)化為與文本相關(guān)的標(biāo)注序列,在此基礎(chǔ)上,利用上下文相關(guān)HMM,通過HTS[4-5]構(gòu)建句子 HMM,從而確定了各音素的合成參數(shù),最后通過參數(shù)合成器[6]合成出語音。
圖1 基于HMM語音合成流程
模型訓(xùn)練前有一個(gè)重要的部分就是對上下文屬性集和用于決策樹聚類的問題集進(jìn)行設(shè)計(jì)[7],即根據(jù)先驗(yàn)知識來選擇一些對聲學(xué)參數(shù)(能量、基頻和時(shí)長)有一定影響的上下文屬性,并設(shè)計(jì)相應(yīng)的問題集,以用于上下文相關(guān)模型。上下文屬性與決策樹設(shè)計(jì)的好壞會直接影響到最后合成語音的效果。因此,本文對英語的發(fā)音及語法特點(diǎn)進(jìn)行了深入的研究,設(shè)計(jì)了與之對應(yīng)的上下文屬性集和問題集。
音節(jié)是讀音的基本單位,任何單詞的讀音,都是分解為一個(gè)個(gè)音節(jié)朗讀。在英語中元音特別響亮,一個(gè)元音可構(gòu)成一個(gè)音節(jié),一個(gè)元音和一個(gè)或幾個(gè)輔音音素結(jié)合也可以構(gòu)成一個(gè)音節(jié);輔音不響亮,不能構(gòu)成音節(jié)。但英語輔音字母中有4個(gè)輔音[m],[n],[ng],[l]是響音,它們和輔音音素結(jié)合,也可構(gòu)成音節(jié)。它們構(gòu)成的音節(jié)往往出現(xiàn)在詞尾,一般是非重讀音節(jié)。
英語單詞有一個(gè)音節(jié)的,兩個(gè)音節(jié)的,多個(gè)音節(jié)的。只有一個(gè)音節(jié)的詞叫單音節(jié)詞,如:take拿;有兩個(gè)音節(jié)的詞叫雙音節(jié)詞,如ta'ble桌子;包含三個(gè)音節(jié)或三個(gè)音節(jié)以上的詞叫多音節(jié)詞,如pop'ula'tion 人口,congrat'ula'tion 祝賀。
英語中,元音是構(gòu)成音節(jié)的主體,輔音是音節(jié)的分界線,相應(yīng)的音節(jié)劃分的規(guī)則如下:
1)兩輔音之間不管有多少個(gè)元音,一般都是一個(gè)音節(jié)。如:bed床,bet打賭,seat坐位,beat毒打,beaut極好的,beau'ty 美。
2)兩元音字母之間有一個(gè)輔音字母時(shí),輔音字母歸后一音節(jié)。如:stu'dent學(xué)生,la'bour勞動(dòng)。
3)有兩個(gè)輔音字母時(shí),前一個(gè)輔音字母歸前一音節(jié),另一個(gè)歸后一音節(jié)。如:let'ter 信,win'ter 冬天。
4)不能拆分的字母組合按字母組合劃分音節(jié)。如:fa'ther父親,tea'cher教師。
音節(jié)按是否重讀可以分為重讀音節(jié)和非重讀音節(jié)。重讀音節(jié)是指在雙音節(jié)或多音節(jié)詞中的一個(gè)發(fā)音特別響亮的音節(jié)。欲使合成的語音能更好地被人耳所識別,進(jìn)行音節(jié)劃分時(shí)就必須考慮音節(jié)的重讀問題[8-9]。
英語中,判斷音節(jié)重讀的規(guī)則如下:
1)單音節(jié)詞多是重讀音節(jié)。
2)雙音節(jié)詞的第一個(gè)音節(jié)通常是重讀音節(jié),但是:含有a-,be-,de-,re-,in-,ex-等前綴的雙音節(jié)詞往往是在第二個(gè)音節(jié)重讀。
3)多音節(jié)詞通常在倒數(shù)第三個(gè)音節(jié)重讀,但是:詞尾有-lc,-tion,-sion等后綴的詞,在其前一個(gè)音節(jié)重讀。
4)含有-tion、-sion、-ssion等字母組合時(shí),重讀音節(jié)為該字母組合前與之緊挨著的那個(gè)音節(jié)。
欲實(shí)現(xiàn)文本到語音的轉(zhuǎn)換,必須對文本進(jìn)行語音標(biāo)注。首先需將文本內(nèi)容按句斷開;然后對每一句中的具有獨(dú)立意義的詞進(jìn)行分隔;分隔出來的獨(dú)立詞再按音節(jié)進(jìn)行劃分,進(jìn)行音節(jié)劃分時(shí)一定要注意重讀音節(jié)的位置;最后針對每一個(gè)音節(jié)進(jìn)行音素切割,判斷每個(gè)音節(jié)內(nèi)所包含的音素。
上下文相關(guān)語法記錄各聲學(xué)模型合成單元的特征及其與相鄰合成單元之間的聯(lián)系。在訓(xùn)練階段,建立決策樹時(shí)應(yīng)用此語法中所記錄的各個(gè)信息與問題集進(jìn)行對比,進(jìn)行資料分群;在合成階段,則可從決策樹中取得適當(dāng)?shù)膮?shù),產(chǎn)生平順的合成語音。式(1)是針對英文語音合成系統(tǒng)設(shè)計(jì)的上下文相關(guān)語法的格式,其中各個(gè)符號的定義見表1。
表1 上下文相關(guān)語法中各標(biāo)號的含義
決策樹問題集記載了一系列資料分群規(guī)則,使得合成系統(tǒng)在建立決策樹時(shí),能依據(jù)問題集進(jìn)行資料分群[10]。本合成系統(tǒng)中,主要考慮設(shè)計(jì)了合成單元相關(guān)、字相關(guān)以及詞相關(guān)這三類問題。
1)合成單元相關(guān)。首先,考慮當(dāng)前合成單元與前后各一個(gè)合成單元各是什么。然后考慮當(dāng)前合成單元在字、詞中的順序(正序、倒序)。例:合成單元種類(以合成單元「a-i」為例):
L-a-i{a-i}//前一個(gè)合成單元是否為「a-i」?
C-a-i{a-i}//當(dāng)前合成單元是否為「a-i」?
R-a-i{a-i}//后一個(gè)合成單元是否為「a-i」?
2)字相關(guān)。首先,考慮當(dāng)前字及前后字中,各有幾個(gè)合成單元。其次,考慮當(dāng)前字在詞中的順序(正序、倒序)。
3)詞相關(guān)??紤]當(dāng)前詞在句中的順序(正序、倒序)。
根據(jù)上述設(shè)計(jì)改進(jìn),最終構(gòu)造出可訓(xùn)練英語語音合成系統(tǒng)。通過對該系統(tǒng)所生成的語音進(jìn)行大量主觀辯聽實(shí)驗(yàn),證實(shí)了該系統(tǒng)能合成出流暢、清晰、易懂的英語語音。下面是利用本系統(tǒng)合成簡短語句的實(shí)例,通過該系統(tǒng)合成語音:“Alice was tired”。
首先,分析該語句的結(jié)構(gòu),通過斷句、斷詞以及音節(jié)劃分,得出該語句的結(jié)構(gòu)如表2所示。
表2 語句“Alice was tired”的結(jié)構(gòu)
然后,分析每個(gè)音節(jié)所包含的音素,并判斷該音節(jié)是否重讀,分析結(jié)果如表3所示。
表3 語句“Alice was tired”音節(jié)分析
根據(jù)以上分析結(jié)果,結(jié)合上下文相關(guān)語法手工編寫語句“Alice was tired”的語音標(biāo)簽文件alice.lab。然后,依據(jù)所設(shè)計(jì)的決策樹問題集,最終通過本系統(tǒng)生成該語句的語音文件alice.wav。圖2為所合成語句“Alice was tired”的波形圖和語譜圖,圖3為該語句的基頻分析圖。由圖中可以看出,語音波形較穩(wěn)定,而且沒有過高或過低的基頻點(diǎn),即基頻分析圖中沒有基頻奇異點(diǎn),說明合成的語音平穩(wěn)流暢。另外,通過主觀辯聽,證實(shí)所合成出的語音清晰易懂,較好地實(shí)現(xiàn)了本英語語音合成系統(tǒng)的基本要求。
筆者將改進(jìn)的HMM可訓(xùn)練語音合成方法成功應(yīng)用于英語語音合成。通過對HMM建模,并且基于英文語音特性設(shè)計(jì)上下文屬性集以及用于模型聚類的問題集,提高了其建模和訓(xùn)練效果。實(shí)驗(yàn)結(jié)果證實(shí),該系統(tǒng)能實(shí)現(xiàn)英語文本到語音的轉(zhuǎn)換,并且轉(zhuǎn)換結(jié)果良好。下一步的研究工作是以設(shè)計(jì)出更完善的英語韻律邊界自動(dòng)劃分、準(zhǔn)確的重音預(yù)測系統(tǒng),并在此基礎(chǔ)上設(shè)計(jì)出基于HMM可訓(xùn)練的英語語音合成系統(tǒng)的前端,最后構(gòu)建出功能更加完整的基于HMM可訓(xùn)練的英語語音合成系統(tǒng)。
[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 的英語文語轉(zhuǎn)化系統(tǒng) [J].信息工程大學(xué)學(xué)報(bào),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] 吳義堅(jiān).基于隱馬爾科夫模型的語音合成技術(shù)研究[D].合肥:中國科學(xué)技術(shù)大學(xué),2010.
[7] 王碧泉,陳祖蔭.模式識別:理論、方法和應(yīng)用[M].北京:地震出版社,1989:23-44.
[8] 朱維彬.支持重音合成的漢語語音合成系統(tǒng)[J].中文信息學(xué)報(bào),2007,5(3):122-124.
[9] 邵艷波,韓紀(jì)慶.自然風(fēng)格語言的漢語重音自動(dòng)判別研究[J].聲學(xué)學(xué)報(bào),2006,1(3):203-205.
[10] 段全盛,康世胤.一種適合HMM漢語語音合成的建模單元挑選算法[C]∥第十屆全國人機(jī)語音通訊學(xué)術(shù)會議論文集,2009:87-88.