專利名稱:一種嵌入式語音合成方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總的來說涉及一種語音合成方法和語音合成系統(tǒng),尤其涉及一種以面向便攜式手持?jǐn)?shù)字移動設(shè)備,包括移動電話和掌上電腦的語音合成方法及系統(tǒng)。
背景技術(shù):
語音合成系統(tǒng)又稱文語轉(zhuǎn)換系統(tǒng)(TTS系統(tǒng)),它的主要功能是將計(jì)算機(jī)接收到的輸入的任意文字串轉(zhuǎn)換成語音輸出。一般認(rèn)為,語音合成系統(tǒng)的功能模塊可細(xì)分為三個(gè)主要的組成部分文本分析模塊、韻律生成模塊和聲學(xué)模塊。近年來基于大規(guī)模語料庫的合成方法漸漸成為語音合成領(lǐng)域的主流技術(shù),其實(shí)現(xiàn)的基本思想是從大量自然語流中依照特定的規(guī)則選擇語音單元進(jìn)行拼接,并對語音單元進(jìn)行韻律特性的調(diào)整和修改,從而得到符合要求的合成語音。為保證合成結(jié)果具備豐富的韻律表現(xiàn),其音庫規(guī)模往往達(dá)到數(shù)百兆字節(jié)。采用這樣的方法對當(dāng)前桌面PC的CPU處理能力、內(nèi)存和其他資源的配置來講并不是問題,但是對于當(dāng)前主流的便攜式手持?jǐn)?shù)字移動設(shè)備(包括移動電話和掌上電腦)來說,其存儲空間及運(yùn)算能力則遠(yuǎn)遠(yuǎn)無法滿足實(shí)用的要求。
目前已有的嵌入式語音合成系統(tǒng)均采用漢語中的音節(jié)作為合成系統(tǒng)的基本單元,在已有大型語言語音庫的基礎(chǔ)上依據(jù)樣本間的聲學(xué)距離對每個(gè)音節(jié)的所有樣本進(jìn)行聚類,僅以聚類質(zhì)心作為該類別的代表保留下來,同時(shí)丟棄掉該類別內(nèi)部其他樣本,從而實(shí)現(xiàn)對語音庫的壓縮?;谏鲜龇椒ǖ玫降恼Z音庫最少也需要1M以上的存儲空間,若繼續(xù)對其進(jìn)行壓縮,則每個(gè)音節(jié)保留下來的樣本數(shù)將顯著減少,從而導(dǎo)致合成語音的自然度及音質(zhì)顯著下降。上述嵌入式合成系統(tǒng)的規(guī)模對于當(dāng)前主流的手持設(shè)備來說仍然是比較大的開銷,其要求的資源相對于其在手持設(shè)備上的重要性而言代價(jià)過高,用戶難以接受。因此,需要一種改進(jìn)的方法,用于在嵌入式平臺下實(shí)現(xiàn)占用資源較小的語音合成系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種可以在便攜式手持?jǐn)?shù)字移動設(shè)備上使用的中文語音合成方法和系統(tǒng),它占用極少的系統(tǒng)資源,同時(shí)可使得合成結(jié)果保持較好的自然度和可懂度。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種嵌入式語音合成方法,用于手持?jǐn)?shù)字移動設(shè)備操作系統(tǒng)將系統(tǒng)接收到的輸入的任意文字串轉(zhuǎn)換成語音輸出,其以漢語中的聲韻母作為合成系統(tǒng)的基本單元;語音庫的量化壓縮過程分為下述三個(gè)步驟A.創(chuàng)建基于聲韻母的原始語音庫。
B.基于聲韻母樣本的上下文環(huán)境屬性以及聲學(xué)特征對所述原始語音庫進(jìn)行量化壓縮。
C.通過語音壓縮算法對所述量化壓縮后的語料庫進(jìn)行編碼壓縮,得到最終的壓縮語音庫。
上述的嵌入式語音合成方法,其特征是所述基于聲韻母單元原始語音庫創(chuàng)建過程如下對語音庫中每個(gè)聲母或韻母根據(jù)音節(jié)內(nèi)部與其相鄰的韻母或聲母的發(fā)音特點(diǎn)進(jìn)一步分類。
上述的嵌入式語音合成方法,其特征是以聲韻母作為基元的語音庫的量化壓縮過程分為下述六個(gè)步驟A.創(chuàng)建一個(gè)空的語音庫。
B.每次從原始語音庫中讀入一個(gè)聲韻母的全部原始樣本。
C.聲韻母樣本粗選步驟,用于剔除該聲韻母中所有受錄音人、錄音設(shè)備及語音庫標(biāo)注等人為音素的影響而在語音庫中殘留下來的畸變樣本。
D.聲韻母樣本聚類步驟,用于將所述粗選后的聲韻母樣本根據(jù)音段特征及超音段特征進(jìn)一步聚類,以聚類后每一類的質(zhì)心作為該類的代表保留下來,丟棄其余聲韻母樣本。
E.將全部質(zhì)心聲韻母樣本存入新建立的壓縮語音庫中。
F.判斷是否處理完全部聲韻母單元,如果是,則離線部分程序結(jié)束;如果否,則返回步驟B重復(fù)步驟B、C、D、E,直到處理完全部原始語料庫。
上述的嵌入式語音合成方法,其特征是所述聲韻母樣本粗選步驟包括下述三個(gè)步驟A.統(tǒng)計(jì)分析單元內(nèi)部原始聲韻母樣本的平均韻律特性,剔除掉偏離平均特性過遠(yuǎn)的樣本;考慮的韻律特性包括樣本的基頻曲線、音長及平均能量。
B.考察音庫中的聲韻母樣本在原始語流中與相鄰單元協(xié)同發(fā)音的程度,剔除掉協(xié)同發(fā)音過強(qiáng)的樣本。
C.分析聲韻母樣本的音質(zhì)異常度,剔除掉音質(zhì)較差的樣本。
上述的嵌入式語音合成方法,其特征是所述樣本聚類步驟包括下述三個(gè)步驟A.聲韻母單元預(yù)分類步驟,用于結(jié)合樣本的上下文環(huán)境屬性對樣本進(jìn)行預(yù)分類;采用分類與回歸樹(CART)方法進(jìn)行分類,為每個(gè)聲韻母生成一顆CART樹。
B.韻母聚類步驟,用于對韻母的CART樹的每個(gè)葉子結(jié)點(diǎn)上的樣本進(jìn)行聚類;聚類選用的特征為韻母的基頻曲線,僅保留每類的質(zhì)心,丟棄其余樣本。
C.聲母聚類步驟,用于對聲母的CART樹的每個(gè)葉子結(jié)點(diǎn)上的樣本進(jìn)行聚類;聚類選用的特征為聲母的12階Mel頻標(biāo)倒譜參數(shù)(MFCC)。
上述方法采用聲韻母作為基元可大幅提升系統(tǒng)的可壓縮性,可在保持合成結(jié)果的自然度及可懂度的前提下,盡量降低音庫中的聲學(xué)冗余度,從而實(shí)現(xiàn)高效率的壓縮。該方法在同等語音庫規(guī)模下與基于音節(jié)的合成方法相比,性能幾乎沒有差別。
為更好的實(shí)現(xiàn)上述目的,本發(fā)明還提供了一種嵌入式語音合成系統(tǒng),應(yīng)用于手持?jǐn)?shù)字移動設(shè)備操作系統(tǒng),其由語音合成系統(tǒng)離線部分,文本輸入模塊、語音合成系統(tǒng)在線部分和數(shù)字語音信號輸出模塊組成;其中,語音合成系統(tǒng)離線部分和文本輸入模塊的輸出端與語音合成系統(tǒng)在線部分電連接,語音合成系統(tǒng)在線部分的輸出端與數(shù)字語音信號輸出模塊的輸入端電連接。
所述的嵌入式語音合成系統(tǒng),其所述語音合成系統(tǒng)離線部分,只在該語音合成系統(tǒng)離線工作狀態(tài)時(shí)使用,僅用于生成該合成系統(tǒng)在線工作時(shí)需要用到的壓縮語音庫,語音合成系統(tǒng)離線部分包括原始語音庫,原始語音庫包括錄制好的經(jīng)過能量歸整的原始語音。
所述的嵌入式語音合成系統(tǒng),其所述語音合成系統(tǒng)在線部分,包括下述模塊A.文本分析模塊,用于對所述輸入的文本進(jìn)行格式和內(nèi)容上的分析并將其轉(zhuǎn)換為聲韻母序列串;同時(shí)為每個(gè)聲韻母附著一系列相關(guān)韻律信息;B.韻律預(yù)測模塊,用于接收所述附著韻律信息的聲韻母序列串,根據(jù)韻律信息利用統(tǒng)計(jì)模型預(yù)測出與其對應(yīng)的目標(biāo)韻律值,包括聲韻母的音長、基頻曲線和平均能量,并將其附著在聲韻母上;C.波形拼接模塊,用于接收所述附著目標(biāo)韻律值的聲韻母序列串,根據(jù)所述聲韻母序列攜帶的韻律信息從所述壓縮語音庫中選取與目標(biāo)韻律值最為接近的樣本序號,并利用與所述編碼算法相對應(yīng)的解壓算法還原出與所述樣本序號所對應(yīng)的語音信號,并將其拼接在一起,在拼接處作平滑處理;D.語音解碼模塊;以及E.壓縮語音庫;其中,文本輸入模塊與文本分析模塊、韻律預(yù)測模塊、波形拼接模塊順序電連接;語音合成系統(tǒng)離線部分與壓縮語音庫、語音解碼模塊、波形拼接模塊順序電連接;波形拼接模塊的輸出端與數(shù)字語音信號輸出模塊電連接,數(shù)字語音信號輸出模塊用于播放所述拼接成的數(shù)字語音信號。
依據(jù)上述方法建立的嵌入式語音合成系統(tǒng),完全可以在手持?jǐn)?shù)字移動設(shè)備操作系統(tǒng)下應(yīng)用,且所占用的資源和需要的計(jì)算復(fù)雜度均不超過所說的手持設(shè)備本身所具備的能力。
下面結(jié)合附圖和實(shí)施例對本發(fā)明進(jìn)一步說明,通過結(jié)合附圖對系統(tǒng)各組成部件的詳細(xì)說明將會更好地描述實(shí)現(xiàn)本發(fā)明的步驟和過程。
附圖1基于聲韻母的嵌入式語音合成系統(tǒng)的結(jié)構(gòu)示意圖;附圖2聲韻母語音庫量化壓縮過程示意圖;附圖3聲韻母樣本粗選過程示意圖;附圖4聲韻母樣本聚類過程示意圖。
具體實(shí)施例方式
在附圖1中,在本發(fā)明的優(yōu)選實(shí)施方案中,本發(fā)明的嵌入式語音合成系統(tǒng)設(shè)置在一種掌上電腦的操作系統(tǒng)中,該嵌入式語音合成系統(tǒng)包括語音合成系統(tǒng)離線部分1,依次連接在一起的掌上電腦文本輸入模塊2、語音合成系統(tǒng)在線部分3和數(shù)字語音信號輸出模塊4。
其中,語音合成系統(tǒng)離線部分1只在該語音合成系統(tǒng)離線工作狀態(tài)時(shí)使用,僅用于生成該合成系統(tǒng)在線工作時(shí)需要用到的壓縮語音庫b。其中原始語音庫a包括錄制好的經(jīng)過能量歸整的原始語音,由原始語音庫a離線生成壓縮語音庫b的過程包括聲韻母語音庫創(chuàng)建步驟70、聲韻母語音庫量化壓縮步驟80和語音庫編碼/包裝步驟90。
在步驟70中,首先利用語音識別工具包HTK對錄制好的原始語音庫進(jìn)行自動切分,以得到聲韻母語音片斷在原始語句中的邊界位置信息,同時(shí)采用基頻檢測工具標(biāo)記出語音波形的峰值點(diǎn)位置信息,并手工對所述自動獲得的邊界位置及峰值點(diǎn)位置進(jìn)行校對;然后在所述切分標(biāo)記后的語音庫中,對每個(gè)聲母或韻母根據(jù)其音節(jié)內(nèi)部與其相鄰的韻母或聲母的發(fā)音特點(diǎn)進(jìn)一步分類聲母分為四類,后接開口呼,后接齊齒呼,后接合口呼,后接撮口呼;韻母分為九類,前接不送氣塞音,前接送氣塞音,前接不送氣塞擦音,前接送氣塞擦音,前接不發(fā)音擦音,前接發(fā)音擦音,前接鼻音,前接邊音,零聲母韻母。漢語中共有聲母21個(gè),韻母43個(gè),則共計(jì)產(chǎn)生環(huán)境相關(guān)的聲韻母單元471個(gè),以分類后的聲韻母單元作為語音庫的基本單元。同時(shí)結(jié)合對原始語句文本的文法分析,得出每個(gè)聲韻母樣本的高層韻律信息,包括與當(dāng)前聲/韻母同音節(jié)的韻/聲母類型及ID,前音節(jié)韻母類型及ID,后音節(jié)聲母類型及ID,聲韻母所在音節(jié)的調(diào)形,前音節(jié)調(diào)形,后音節(jié)調(diào)形,低層次韻律層次相對高層次韻律層次的相對位置(韻律層次包括韻律詞、韻律短語、語句,相對位置包括在層次的首、中、尾),聲韻母所屬音節(jié)的韻律詞、韻律短語長度(以音節(jié)個(gè)數(shù)為單位),聲韻母所屬音節(jié)的前后靜音段的長度。將所述所有信息保存到一個(gè)文件之內(nèi),作為該聲韻母的信息文件。所有聲韻母的原始波形文件與信息文件共同組成聲韻母語音庫。
在步驟80中,如附圖2所示,以聲韻母作為基元的語音庫的量化壓縮過程分為下述六個(gè)步驟步驟100,程序創(chuàng)建一個(gè)空的壓縮語音庫。
步驟110,每次從原始語音庫中讀入一個(gè)聲韻母的全部原始樣本。
步驟120,聲韻母樣本粗選步驟,如附圖3所示,用于剔除該聲韻母在語音庫中殘留下來的畸變樣本。受錄音人、錄音設(shè)備及語音庫標(biāo)注等人為音素的影響,音庫中存在大量從聲學(xué)特征上來看較為反常的樣本。當(dāng)語音庫規(guī)模較大時(shí),這些音被選出的概率較小,對合成結(jié)果影響較小??僧?dāng)對語音庫規(guī)模較小時(shí),殘留下來的畸變的樣本則很容易被選出用于合成語音,從而大幅降低合成結(jié)果的穩(wěn)定性,同時(shí)還將占用寶貴的存儲空間。本實(shí)施例依次采用下述三種篩選準(zhǔn)則,自動對語音庫進(jìn)行預(yù)篩選,剔除掉其中的不穩(wěn)定因素。其中步驟200用于讀入某個(gè)聲韻母單元的全部樣本。步驟210讀入該單元的某一個(gè)樣本。步驟220用于判斷所述步驟210讀入的樣本是否滿足韻律異常度準(zhǔn)則。此處考慮的韻律因素包括樣本的音長、基頻曲線和能量。定義第i個(gè)樣本的韻律異常度(ProsodicSalience)為PS(i)=ω1Dd(i)+ω2Dp(i)+ω3De(i)ω1+ω2+ω3---(1)]]>其中各子異常度為Dd(i)=(d(i)-d‾d‾)2---(2)]]>Dp(i)=(p(i)-p‾p‾)2---(3)]]>De(i)=(e(i)-e‾e‾)2---(4)]]>
d(i)、p(i)和e(i)分別為第i個(gè)樣本的音長、基頻均值和平均能量,d、p和e分別為該基元所有樣本相應(yīng)特征的均值。各子異常度的權(quán)值ω1,ω2和ω3根據(jù)實(shí)驗(yàn)得出。對任一樣本i,對x,x∈{d,p,e},若有Dx(i)>Tx(5)或PS(i)>T (6)則刪除該樣本。其中Tx和T分別為各子韻律異常度和總韻律異常度的閾值。該準(zhǔn)則可剔除音長或峰值點(diǎn)標(biāo)注出錯(cuò)的樣本,以及錄音過程中人為因素導(dǎo)致的能量過弱或過強(qiáng)的樣本。步驟230用于判斷所述步驟210讀入的樣本是否滿足粘連度準(zhǔn)則。該準(zhǔn)則考察音庫中的樣本在原始語流中與相鄰單元協(xié)同發(fā)音的程度。對基于小音庫的系統(tǒng)來說,拼接處由譜不連續(xù)導(dǎo)致的音質(zhì)損失尤為嚴(yán)重,在建庫階段盡量剔除粘連度較強(qiáng)的音是一種可行的方案。定義第i個(gè)樣本的粘連度(Context Dependency)為CD(i)=ωle‾l(i)+ωre‾r(i)ωl+ωr---(7)]]>其中el(i)和er(i)分別為樣本左、右邊界處的平均能量,可根據(jù)單元的聲學(xué)特征決定其權(quán)值。本實(shí)施例中,對塞音和塞擦音令ωl為0。類似的,若樣本i的CD(i)大于某個(gè)閾值T,則剔除該樣本。步驟240用于判斷所述步驟210讀入的樣本是否滿足音質(zhì)異常度準(zhǔn)則。錄音人在長期錄音的過程中由于疲勞或其它心理因素可能導(dǎo)致錄制的某些樣本音質(zhì)出現(xiàn)異常,表現(xiàn)為氣聲、耳語或摻雜明顯的情感。這些音往往出現(xiàn)在句子結(jié)尾處,能量偏弱,且元音的周期性較差。對樣本i,定義其音質(zhì)異常度(QualityDistortion)為QD(i)=npeak(i)e‾(i)·dur(i)---(8)]]>其中npeak(i)為該樣本峰值點(diǎn)的數(shù)目,e(i)為平均能量,dur(i)為該樣本的音長。若樣本i的CD(i)大于某個(gè)閾值T,則剔除該樣本。在步驟250中,若樣本滿足所述三準(zhǔn)則,則將其保留在壓縮語音庫中。步驟260判斷是否處理完該聲韻母單元所有的樣本,如果否,則返回步驟210,直到處理完所有樣本;如果是,則實(shí)施步驟270。步驟270判斷是否處理完所有聲韻母單元,如果否,則返回步驟200;如果是,則樣本粗選步驟120結(jié)束。
步驟130,聲韻母樣本聚類步驟,如附圖4所不,用于將所述步驟120粗選后的聲韻母樣本根據(jù)音段特征及超音段特征進(jìn)一步聚類,以聚類后每一類的質(zhì)心作為該類的代表保留下來,丟棄其余聲韻母樣本。首先對聲韻母進(jìn)行預(yù)分類,然后分別對預(yù)分類后的聲韻母基于各自的聲學(xué)特征進(jìn)一步聚類壓縮,從而保持壓縮語音庫中音段特征及超音段特征的多樣性。其中步驟300用于讀入某個(gè)聲韻母單元的全部樣本。步驟310基于音韻學(xué)環(huán)境屬性對樣本進(jìn)行預(yù)分類,本實(shí)施例中采用數(shù)據(jù)挖掘領(lǐng)域中的CART方法作為分類工具,選取的決策屬性建立在對上下文的描述之上,包括 與當(dāng)前聲/韻母同音節(jié)的韻/聲母類型及ID。
前音節(jié)韻母類型及ID 后音節(jié)聲母類型及ID 聲韻母所在音節(jié)的調(diào)形,前音節(jié)調(diào)形,后音節(jié)調(diào)形(包括陰平,陽平,上聲,去聲,輕聲五種)。
低層次韻律層次相對高層次韻律層次的相對位置,韻律層次包括韻律詞、韻律短語、語句。相對位置包括在層次的首、中、尾。
聲韻母所屬音節(jié)的韻律詞長度,韻律短語長度,以音節(jié)個(gè)數(shù)為單位。
聲韻母所屬音節(jié)的前后靜音段的長度。
并選用12階Mel頻標(biāo)倒譜參數(shù)(MFCC)作為聲韻母單元的特征參數(shù),選用mahalanobis距離來計(jì)算單元間的距離。單元M,N的距離定義如Eq.(9)dis(M,N)=Σi=1|M|Σj=112[Pij(M)-P(i|M||N|)j(N)]2---(9)]]>其中Pij(M)為第i幀的第j個(gè)MFCC參數(shù),|M|為M的幀數(shù)。實(shí)際計(jì)算時(shí),把音節(jié)內(nèi)部聲韻母間過渡段的MFCC也包含在聲韻母的參數(shù)向量之內(nèi),目的是更好的對聲韻母間的協(xié)同發(fā)音進(jìn)行建模,使得分類結(jié)果對與其相鄰的聲韻母更加敏感。利用CART訓(xùn)練工具wagon為每個(gè)聲韻母生成一顆CART樹,葉子結(jié)點(diǎn)上樣本數(shù)目控制在50-100之間。步驟320判斷當(dāng)前單元是聲母還是韻母,若是聲母,則由步驟330采用聲母樣本的MFCC參數(shù)來對該聲母CART樹葉子結(jié)點(diǎn)上的樣本進(jìn)行聚類;若是韻母,則由步驟340采用韻母樣本的基頻曲線來對該韻母CART樹葉子結(jié)點(diǎn)上的樣本進(jìn)行聚類。步驟350判斷是否處理完所有聲韻母單元,若是,則樣本聚類步驟130結(jié)束;若否,則返回步驟300,處理其他聲韻母單元。
步驟140,保留所述所有聲韻母單元CART樹葉子結(jié)點(diǎn)上的質(zhì)心樣本至最終的壓縮語音庫,丟棄全部其他樣本。
步驟150,判斷是否處理完全部聲韻母單元,如果否,則返回步驟110,重復(fù)步驟110、120、130、140和150,直到處理完全部聲韻母單元;如果是,則聲韻母語音庫量化壓縮步驟80結(jié)束。
在步驟90中,將所述量化壓縮過的語音庫中的聲韻母樣本通過一定的語音壓縮算法壓縮成占用空間更小的語音片斷,并以一定的方式將編碼后的波形文件和70中生成的信息文件組織成一個(gè)文件的形式。在本發(fā)明的實(shí)施例中,步驟90中采用的壓縮語音庫包裝方法是以一定規(guī)則將編碼壓縮后的語音碼字組合成一個(gè)文件的形式,該壓縮語音庫的索引是根據(jù)用來代表不同聲韻母的符號建立的。在本發(fā)明的實(shí)施例中,所采用的壓縮語音庫的語音壓縮算法可以是任意一種能夠述手持設(shè)備資源要求(包括存儲空間和計(jì)算復(fù)雜度)的且能夠達(dá)到聽覺要求(用戶滿意)的算法,例如G.723.1等具有低碼率的、在通信系統(tǒng)中廣泛采用的語音壓縮算法,或者其他具有高壓縮率和低失真的語音編解碼算法,只要其運(yùn)算復(fù)雜度和存儲要求能夠在所述的手持設(shè)備上運(yùn)行即可。由步驟90可生成壓縮語音庫b,至此系統(tǒng)離線部分模塊1結(jié)束工作。
如附圖1所示,文本輸入模塊2接收輸入的文本,在本發(fā)明的實(shí)施例中,系統(tǒng)提供可供手寫輸入的界面,用戶可選擇采用掌上電腦自帶的手寫筆自行輸入待合成的文本;也可選擇通過打開文本文件的方式來合成整個(gè)文件,用戶還可使用手寫筆挑選文件中的若干行單獨(dú)合成。
語音合成系統(tǒng)在線部分3又包括依次連接在一起的文本分析模塊20、韻律預(yù)測模塊30、波形拼接模塊40、語音解碼模塊60及壓縮語音庫模塊b。其中,文本分析模塊20可以接收文本形式的輸入,通過分析輸入文本的格式和內(nèi)容將輸入漢字轉(zhuǎn)換成相應(yīng)聲韻母序列串;同時(shí)為每個(gè)聲韻母附著一系列相關(guān)韻律信息。韻律預(yù)測模塊30用于接收所述附著韻律信息的聲韻母序列串,根據(jù)韻律信息利用統(tǒng)計(jì)模型預(yù)測出與其對應(yīng)的目標(biāo)韻律值,包括聲韻母的音長、基頻曲線和平均能量,并將其附著在聲韻母上。波形拼接模塊40,用于接收所述附著目標(biāo)韻律值的聲韻母序列串,根據(jù)所述序列攜帶的韻律信息從所述壓縮語音庫中選取與目標(biāo)韻律值最為接近的樣本序號,并利用與所述編碼算法相對應(yīng)的解壓算法還原出與所述樣本序號所對應(yīng)的語音信號,并將其拼接在一起,在拼接處作平滑處理。
數(shù)字語音信號輸出模塊4,用于播放所述拼接成的數(shù)字語音信號。
本發(fā)明涉及一種語音合成方法和系統(tǒng),基于該方法能夠提升嵌入式平臺下合成語音系統(tǒng)音庫的可壓縮性,從而大大降低其在嵌入式平臺下所占用的系統(tǒng)資源,同時(shí)可使得合成結(jié)果保持較好的自然度和可懂度。
本發(fā)明在掌上電腦上應(yīng)用上,所有語音功能均可以隨時(shí)在手持設(shè)備上啟用或關(guān)閉。在未啟用語音功能時(shí),原手持設(shè)備的各種功能將不受任何影響。
上述實(shí)施例為本發(fā)明的較佳實(shí)施例,本發(fā)明的應(yīng)用不僅限于掌上電腦,還可應(yīng)用到多種手持式移動設(shè)備。根據(jù)本發(fā)明的主要構(gòu)思,本領(lǐng)域普通技術(shù)人員均可以產(chǎn)生多種相類似的或等價(jià)的應(yīng)用,因此,本發(fā)明的保護(hù)應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種嵌入式語音合成方法,用于手持?jǐn)?shù)字移動設(shè)備操作系統(tǒng),將系統(tǒng)接收到的或輸入的任意文字串轉(zhuǎn)換成語音輸出,其特征是以漢語中的聲韻母作為合成系統(tǒng)及語音庫的基本單元;語音庫的量化壓縮過程分為下述三個(gè)步驟A.創(chuàng)建基于聲韻母的原始語音庫;B.基于聲韻母樣本的上下文環(huán)境屬性以及聲學(xué)特征,對所述原始語音庫進(jìn)行量化壓縮;C.通過語音壓縮算法對所述量化壓縮后的語料庫進(jìn)行編碼壓縮,得到最終的壓縮語音庫。
2.根據(jù)權(quán)利要求1所述的嵌入式語音合成方法,其特征是所述A步,基于聲韻母單元原始語音庫創(chuàng)建過程如下對語音庫中每個(gè)聲母或韻母根據(jù)音節(jié)內(nèi)部與其相鄰的韻母或聲母的發(fā)音特點(diǎn)進(jìn)一步分類。
3.根據(jù)權(quán)利要求1所述的嵌入式語音合成方法,其特征是所述B步,以聲韻母作為基元的語音庫的量化壓縮過程分為下述六個(gè)步驟A.創(chuàng)建一個(gè)空的語音庫;B.每次從原始語音庫中讀入一個(gè)聲韻母的全部原始樣本;C.聲韻母樣本粗選步驟,用于剔除該聲韻母中所有受錄音人、錄音設(shè)備及語音庫標(biāo)注的人為音素影響,而在語音庫中殘留下來的畸變樣本;D.聲韻母樣本聚類步驟,用于將所述粗選后的聲韻母樣本根據(jù)音段特征及超音段特征進(jìn)一步聚類,以聚類后每一類的質(zhì)心作為該類的代表保留下來,丟棄其余聲韻母樣本;E.將全部質(zhì)心聲韻母樣本存入新建立的壓縮語音庫中;F.判斷是否處理完全部聲韻母單元,如果是,則離線部分程序結(jié)束;如果否,則返回步驟B重復(fù)步驟B、C、D、E,直到處理完全部原始語料庫。
4.根據(jù)權(quán)利要求3所述的嵌入式語音合成方法,其特征是所述C步,聲韻母樣本粗選步驟包括下述三個(gè)步驟A.統(tǒng)計(jì)分析單元內(nèi)部原始聲韻母樣本的平均韻律特性,剔除掉偏離平均特性過遠(yuǎn)的樣本;考慮的韻律特性包括樣本的基頻曲線、音長及平均能量;B.考察音庫中的聲韻母樣本在原始語流中與相鄰單元協(xié)同發(fā)音的程度,剔除掉協(xié)同發(fā)音過強(qiáng)的樣本;C.分析聲韻母樣本的音質(zhì)異常度,剔除掉音質(zhì)較差的樣本。
5.根據(jù)權(quán)利要求3所述的嵌入式語音合成方法,其特征是所述D步,樣本聚類步驟包括下述三個(gè)步驟A.聲韻母單元預(yù)分類步驟,用于結(jié)合樣本的上下文環(huán)境屬性對樣本進(jìn)行預(yù)分類;采用分類與回歸樹(CART)方法進(jìn)行分類,為每個(gè)聲韻母生成一顆CART樹;B.韻母聚類步驟,用于對韻母的CART樹的每個(gè)葉子結(jié)點(diǎn)上的樣本進(jìn)行聚類;聚類選用的特征為韻母的基頻曲線,僅保留每類的質(zhì)心,丟棄其余樣本;C.聲母聚類步驟,用于對聲母的CART樹的每個(gè)葉子結(jié)點(diǎn)上的樣本進(jìn)行聚類;聚類選用的特征為聲母的12階Mel頻標(biāo)倒譜參數(shù)(MFCC)。
6.一種嵌入式語音合成系統(tǒng),應(yīng)用于手持?jǐn)?shù)字移動設(shè)備操作系統(tǒng),其特征是由語音合成系統(tǒng)離線部分,文本輸入模塊、語音合成系統(tǒng)在線部分和數(shù)字語音信號輸出模塊組成;其中,語音合成系統(tǒng)離線部分和文本輸入模塊的輸出端與語音合成系統(tǒng)在線部分電連接,語音合成系統(tǒng)在線部分的輸出端與數(shù)字語音信號輸出模塊的輸入端電連接。
7.如權(quán)利要求6所述的嵌入式語音合成系統(tǒng),其特征是所述語音合成系統(tǒng)離線部分,只在該語音合成系統(tǒng)離線工作狀態(tài)時(shí)使用,僅用于生成該合成系統(tǒng)在線工作時(shí)需要用到的壓縮語音庫,語音合成系統(tǒng)離線部分包括原始語音庫,原始語音庫包括錄制好的經(jīng)過能量歸整的原始語音。
8.如權(quán)利要求6所述的嵌入式語音合成系統(tǒng),其特征是所述語音合成系統(tǒng)在線部分,包括下述模塊A.文本分析模塊,用于對所述輸入的文本進(jìn)行格式和內(nèi)容上的分析并將其轉(zhuǎn)換為聲韻母序列串;同時(shí)為每個(gè)聲韻母附著一系列相關(guān)韻律信息;B.韻律預(yù)測模塊,用于接收所述附著韻律信息的聲韻母序列串,根據(jù)韻律信息利用統(tǒng)計(jì)模型預(yù)測出與其對應(yīng)的目標(biāo)韻律值,包括聲韻母的音長、基頻曲線和平均能量,并將其附著在聲韻母上;C.波形拼接模塊,用于接收所述附著目標(biāo)韻律值的聲韻母序列串,根據(jù)所述聲韻母序列攜帶的韻律信息從所述壓縮語音庫中選取與目標(biāo)韻律值最為接近的樣本序號,并利用與所述編碼算法相對應(yīng)的解壓算法還原出與所述樣本序號所對應(yīng)的語音信號,并將其拼接在一起,在拼接處作平滑處理;D.語音解碼模塊;以及E.壓縮語音庫;其中,文本輸入模塊與文本分析模塊、韻律預(yù)測模塊、波形拼接模塊順序電連接;語音合成系統(tǒng)離線部分與壓縮語音庫、語音解碼模塊、波形拼接模塊順序電連接;波形拼接模塊的輸出端與數(shù)字語音信號輸出模塊電連接,數(shù)字語音信號輸出模塊用于播放所述拼接成的數(shù)字語音信號。
全文摘要
本發(fā)明公開了一種嵌入式語音合成方法及系統(tǒng),用于手持?jǐn)?shù)字移動設(shè)備操作系統(tǒng),將系統(tǒng)接收到的或輸入的任意文字串轉(zhuǎn)換成語音輸出。以漢語中的聲韻母作為合成系統(tǒng)及語音庫的基本單元;首先創(chuàng)建基于聲韻母的原始語音庫,然后基于聲韻母樣本的上下文環(huán)境屬性以及聲學(xué)特征,對所述原始語音庫進(jìn)行量化壓縮,最后通過語音壓縮算法對所述量化壓縮后的語料庫進(jìn)行編碼壓縮,得到最終的壓縮語音庫。依據(jù)本發(fā)明提供的方法可提升合成系統(tǒng)的可壓縮性,從而降低其在嵌入式平臺下所占用的系統(tǒng)資源,同時(shí)可使得合成結(jié)果保持較好的自然度和可懂度。
文檔編號G10L13/02GK1924994SQ20051008631
公開日2007年3月7日 申請日期2005年8月31日 優(yōu)先權(quán)日2005年8月31日
發(fā)明者陶建華, 張皖志 申請人:中國科學(xué)院自動化研究所