專利名稱:多語種文本-語音系統(tǒng)的前端結(jié)構(gòu)的制作方法
背景技術(shù):
本發(fā)明涉及語音合成,尤其是涉及一種多語種語音合成系統(tǒng)。
背景技術(shù):
已經(jīng)開發(fā)的文本-至-語音系統(tǒng)能夠使計算機化的的系統(tǒng)通過合成語音與用戶交流,這些應(yīng)用系統(tǒng)包括口語對話系統(tǒng)、呼叫中心服務(wù)系統(tǒng)、語音激活的網(wǎng)絡(luò)和電子郵件服務(wù)等等。雖然在過去幾年里文本-至-語音系統(tǒng)有了很大發(fā)展,但是還存在一些不足之處。例如,許多文本-至-語音系統(tǒng)都僅僅是基于一種語言而設(shè)計的,而許多應(yīng)用都需要有一種系統(tǒng)能夠提供多種語言詞匯的語音合成,尤其是在同一句話中包含兩種以上語言的詞匯的語音合成。
目前已經(jīng)研制出來的提供包含多種語言詞匯的語句的語音合成的系統(tǒng)需要使用不同的文本-至-語音引擎以合成句子中的每一種相應(yīng)的語言的詞匯,其中每個引擎分別生成其所合成詞匯的波形。然后將波形連接或是用其他的方式連續(xù)地輸出所述的波形,以便合成出完整的句子來。這種設(shè)備的主要缺點在于從兩個引擎產(chǎn)生的聲音聽起來通常會有差別。這種合成出來的話語通常會令用戶感到厭煩,因為聽起來像兩個不同的講話者在講話。并且,整個句子的語調(diào)也被破壞了,導(dǎo)致句子的可懂度降低。
因此,一種能克服上述至少一部分缺點的多語種語音合成系統(tǒng)將是有用的,并且能夠改善多語種語音合成。
發(fā)明內(nèi)容
一種用于語音合成系統(tǒng)的文本處理系統(tǒng)接收包含至少兩種語言的混合輸入文本,提供適合于語音合成器的后端部分使用的輸出。一般地,該文本處理系統(tǒng)包括執(zhí)行文本處理的語種無關(guān)模塊和語種相關(guān)模塊。這種體系結(jié)構(gòu)有利于在不同語種間平滑切換,并且能夠使混合語言的語句的語調(diào)保持流暢。
圖1是能夠?qū)嵤┍景l(fā)明的一般計算機環(huán)境的方框圖。
圖2是能夠?qū)嵤┍景l(fā)明的一個移動裝置的方框圖。
圖3A是一個現(xiàn)有技術(shù)的語音合成系統(tǒng)的第一實施例方框圖。
圖3B是一個現(xiàn)有技術(shù)的語音合成系統(tǒng)的第二實施例方框圖。
圖3C是一個現(xiàn)有技術(shù)的語音合成系統(tǒng)的前端部分的方框圖。
圖4是包括語音合成器的文本處理系統(tǒng)的本發(fā)明第一實施例的方框圖。
圖5是包括語音合成器的文本處理系統(tǒng)的本發(fā)明第二實施例的方框圖。
具體實施例方式
在對本發(fā)明進行說明之前,有必要先介紹一下可以應(yīng)用本發(fā)明的典型的計算機環(huán)境。圖1給出了一個可以實施本發(fā)明的適合的計算系統(tǒng)環(huán)境100。該計算系統(tǒng)環(huán)境100只是可以實施本發(fā)明的計算系統(tǒng)環(huán)境的一個實施例,而并非是對本發(fā)明的應(yīng)用范圍或功能進行任何限制。計算環(huán)境100也不應(yīng)被認為是對在實例性操作環(huán)境100中所示的任何一個部件或者部件的組合有任何依賴性或要求。
本發(fā)明可以用于眾多的特定或非特定目的的計算系統(tǒng)環(huán)境或配置。常見的適于應(yīng)用本發(fā)明的計算系統(tǒng)、環(huán)境或配置包括(但并不限于)如下系統(tǒng)或裝置個人計算機,服務(wù)器計算機,手持或膝上型裝置,多處理器系統(tǒng),基于微處理器的系統(tǒng),機頂盒,可編程電子消費裝置,網(wǎng)絡(luò)PC,小型計算機,大型計算機,包括任何上述的系統(tǒng)或裝置的分布式計算環(huán)境,等等。
本發(fā)明可以使用計算機可執(zhí)行指令的一般模式來描述,例如計算機執(zhí)行的程序模塊。一般地,程序模塊包括子程序、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等,它們用來執(zhí)行特定的任務(wù)或者實現(xiàn)特定的抽象數(shù)據(jù)類型。本發(fā)明也可以被應(yīng)用于分布式計算環(huán)境,其中通過利用通信網(wǎng)絡(luò)鏈接的遠程處理裝置來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以同時存放在包括存儲器存儲裝置的本地和遠程計算機存儲介質(zhì)中。下面就對照附圖來說明程序和模塊所要執(zhí)行的任務(wù)。本領(lǐng)域普通技術(shù)人員能夠?qū)⑾率稣f明和附圖實施成寫入任何形式的計算機可讀介質(zhì)的處理器可執(zhí)行指令。
圖1給出了一個實施本發(fā)明的典型系統(tǒng)包括一個用于非特定目的的計算裝置,該計算裝置是一臺計算機110。計算機110的部件包括(但不僅限于)一個處理單元120、一個系統(tǒng)存儲器130和用于將包括系統(tǒng)存儲器在內(nèi)的各個系統(tǒng)部件連接到處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是包括如下幾種類型的總線結(jié)構(gòu)中的任何總線結(jié)構(gòu)一個存儲總線或存儲控制器、一個外圍總線和使用各種總線結(jié)構(gòu)中的任何總線的局部總線。這些總線結(jié)構(gòu)例如但不僅限于工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強的ISA總線、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)局部總線以及外部設(shè)備互連(PCI)總線(也叫夾層總線(Mezzanine bus))。
典型地,計算機110包括一些計算機可讀介質(zhì)。計算機可讀介質(zhì)是能被計算機110訪問的任一可用介質(zhì),包括非易失性介質(zhì)和易失性介質(zhì),可移動介質(zhì)和不可移動介質(zhì)。例如但不限于,計算機可讀介質(zhì)可以包括計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括使用任何方法或技術(shù)實現(xiàn)信息存儲的非易失性的和易失性的、可移動的和不可移動的介質(zhì),這些信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者其他數(shù)據(jù)。計算機存儲介質(zhì)包括但不僅限于隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除只讀存儲器(EEPROM)、閃存(flash memory)或其他存儲器技術(shù)、只讀光盤存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光盤存儲器、盒式磁帶、磁帶、磁盤存儲器或其他磁存儲裝置,或者其他任何可以用于存儲所述信息并且可被計算機100訪問的介質(zhì)。
通信介質(zhì)包括任何信息傳輸介質(zhì),通常包含計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他存在于如載波或其他傳輸技術(shù)使用的調(diào)制的數(shù)據(jù)信號中的數(shù)據(jù)。術(shù)語“調(diào)制的數(shù)據(jù)信號”是指以一種方式設(shè)置或改變它的一個或多個特征以在其中對信息進行編碼的信號。通信介質(zhì)包括例如但不僅限于有線介質(zhì)(例如有線網(wǎng)絡(luò)或直接有線連接)以及無線介質(zhì)(例如聲波、FR、紅外線和其它的無線介質(zhì)。以上所述介質(zhì)的任何組合也包括在所述計算機可讀介質(zhì)的范圍之內(nèi)。
系統(tǒng)存儲器130包括非易失性和易失性的計算機存儲介質(zhì),例如只讀存儲器(ROM)131和隨機存取存儲器(RAM)132。典型地,基本輸入/輸出系統(tǒng)133(BIOS)存儲在只讀存儲器131中,其中包含用于協(xié)助在計算機110內(nèi)的元件之間例如在開機過程中傳遞信息的基本程序。典型地,隨機存取存儲器132中存儲操作單元120所要立即訪問和/或即將操作的數(shù)據(jù)和/或程序模塊。圖1中舉例性地而不是限制性地示出了操作系統(tǒng)134、應(yīng)用程序135、其他程序模塊136以及程序數(shù)據(jù)137。
計算機110也可以包括其他的可移動/不可移動的、易失性/非易失性的計算機存儲介質(zhì)。僅僅是作為一個例子,圖1中給出了用于讀取或?qū)懭氩豢梢苿拥摹⒎且资缘拇沤橘|(zhì)的一個硬盤驅(qū)動器141、用于讀取或?qū)懭肟梢苿拥摹⒎且资缘拇疟P152的一個磁盤驅(qū)動器151、用于讀取或?qū)懭肟梢苿拥?、非易失性的光盤156如CD ROM或其他光學(xué)介質(zhì)的一個光盤驅(qū)動器155。其他可以被用在所述的典型操作環(huán)境中的可移動/不可移動、易失性/非易失性的計算機存儲介質(zhì)包括但不僅限于盒式磁帶、閃存卡、數(shù)字多功能光盤、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器141典型地通過不可移動存儲接口例如接口140與系統(tǒng)總線121相連接,磁盤驅(qū)動器151和光盤驅(qū)動器155典型地通過移動存儲接口例如接口150與系統(tǒng)總線121相連接。
以上所述并顯示在圖1中的驅(qū)動器以及與其相應(yīng)的計算機存儲介質(zhì)用于為計算機110存儲計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊及其它數(shù)據(jù)。例如,圖1中的硬盤驅(qū)動器141作為存儲操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146以及程序數(shù)據(jù)147示出。要注意的是這些組件可以相同或不同于操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136以及程序數(shù)據(jù)137。這里,操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146以及程序數(shù)據(jù)147用不同于上述組件的附圖標(biāo)記來表示以至少說明它們是不同的拷貝。
用戶可以通過輸入裝置向計算機110輸入命令和信息,這些輸入裝置可以是鍵盤162、麥克風(fēng)163以及指點裝置如鼠標(biāo)、軌跡球或觸摸板。還可以是其他的輸入裝置(圖上未畫出),例如操縱桿、游戲墊、圓盤式衛(wèi)星電視天線(satellitedish)、掃描儀等。上述輸入裝置通常是通過一個耦合到系統(tǒng)總線的用戶輸入接口160連接到處理單元120的,但也可以是通過別的接口和總線結(jié)構(gòu)連接,例如一個并行端口、游戲端口或者通用串行總線(USB)。監(jiān)視器191或者其他類型的顯示裝置通過一個接口例如視頻接口190也連接到系統(tǒng)總線121。除了該監(jiān)視器外,計算機也可以包括其他的外部輸出設(shè)備例如揚聲器197以及打印機196,它們通過一個外部輸出接口190連接。
計算機110可以通過邏輯連接的方式連接到一臺或更多遠程計算機(例如遠程計算機180)從而在網(wǎng)絡(luò)環(huán)境中進行操作。遠程計算機180可以是個人計算機、手持裝置、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等裝置(peer device)或者其他常用的網(wǎng)絡(luò)節(jié)點,通常包括多個或所有上述與計算機110相關(guān)的部件。圖1中所示的邏輯連接包括一個局域網(wǎng)(LAN)171和一個廣域網(wǎng)(WAN)173,但也可以包括其它網(wǎng)絡(luò)。這種網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍內(nèi)的計算機網(wǎng)絡(luò)、內(nèi)部網(wǎng)和因特網(wǎng)。
當(dāng)被用于局域網(wǎng)環(huán)境時,計算機110通過一個網(wǎng)絡(luò)接口或適配器170連接到局域網(wǎng)171。當(dāng)被用于廣域網(wǎng)的網(wǎng)絡(luò)環(huán)境時,計算機110通常包括一個調(diào)制解調(diào)器172或在廣域網(wǎng)173(比如因特網(wǎng))上建立通信的其它裝置。調(diào)制解調(diào)器172可以是內(nèi)置的或者外置的,并通過用戶輸入接口160或其他適當(dāng)?shù)臋C構(gòu)連接到系統(tǒng)總線121。在網(wǎng)絡(luò)環(huán)境中,所述與計算機110相關(guān)的程序模塊或其相關(guān)部分可以存儲在遠程存儲器存儲裝置中。圖1中實例性而非限制性地示了駐留在遠程計算機180上的遠程應(yīng)用程序185。在此要指出的是,所示的網(wǎng)絡(luò)連接僅僅是示例性的給出,并也可以使用在計算機之間建立通信的其它的裝置。
圖2給出了又一個示例性的計算環(huán)境——移動裝置200的方框圖。移動裝置200包括微處理器202、存儲器204、輸入/輸出(I/O)組件206和用于與遠程計算機或其他移動裝置通信的通信接口208。在一個實施例中,上述組件通過適當(dāng)?shù)目偩€210連接以實現(xiàn)相互之間的通信。
存儲器204以非易失性電子存儲器如隨機存取存儲器(RAM)實施,并且具有一個備用電池模塊(圖中未畫出)從而能夠保證當(dāng)移動裝置200斷電時存儲器204中的信息不會丟失。存儲器204的一部分優(yōu)選被分配用作程序運行的可尋址存儲器,而存儲器204的另一部分優(yōu)選用于實現(xiàn)模擬磁盤驅(qū)動器的存儲的存儲功能。
存儲器204包括一個操作系統(tǒng)212、應(yīng)用程序214以及一個對象倉庫216。在操作中,最好是由處理器202從存儲器204來運行操作系統(tǒng)212。在一個實施例中,操作系統(tǒng)212采用了從微軟公司可購買的WINDOWSCE商標(biāo)的操作系統(tǒng)。操作系統(tǒng)212最好是專為移動裝置設(shè)計的,并且具有數(shù)據(jù)庫特征,從而應(yīng)用程序214可以通過一些已公開的應(yīng)用編程接口和方法來利用該數(shù)據(jù)庫特征。至少部分地響應(yīng)對所述已公開的應(yīng)用編程接口和方法的訪問,對象倉庫216中的對象受到應(yīng)用程序214和操作系統(tǒng)212的支持。
通信接口208代表了允許移動裝置200發(fā)送和接收信息的多種裝置和技術(shù)。該裝置包括有線和無線調(diào)制解調(diào)器、衛(wèi)星接收器以及廣播調(diào)諧器等等。移動裝置200還可以直接連接到計算機上與之交換數(shù)據(jù),在這種情況下,通信接口208可以是紅外無線電收發(fā)器或串行或并行通信連接,它們都能夠傳輸流信息。
輸入/輸出組件206包括多種輸入裝置(例如觸摸感應(yīng)屏、按鈕、滾輪和麥克風(fēng))以及多種輸出裝置(包括音頻產(chǎn)生器、振蕩裝置和顯示器)。上述裝置僅是作為示例,并不需要都出現(xiàn)在移動裝置200中,此外,其他的輸入/輸出裝置也可以被加入到或者出現(xiàn)在移動裝置200中,這種情況也包括在本發(fā)明的保護范圍之內(nèi)。
為了更好地理解本發(fā)明,下面對在圖3A和3B分別示出的現(xiàn)有技術(shù)的語音合成器(或語音引擎)300和302作一簡單介紹是有益的。首先參照圖3A,語音合成器300包括一個前端部分或者文本處理系統(tǒng)304,用于處理從306接收的輸入文本并通過模塊303完成文本分析和韻律分析。模塊303的輸出308中包含對輸入文本306的韻律的符號描述。輸出308提供給在引擎300的后端部分或者合成模塊312中的單元選擇和拼接模塊310。單元選擇和拼接模塊310利用采樣語音單元的語料庫316產(chǎn)生合成語音波形314。合成語音波形314通過直接語音拼接單元產(chǎn)生,通常不進行任何基頻或時長的修改,只要語音語料庫316已經(jīng)涵蓋了所有合成單元的足夠的韻律和頻譜變形并且總能找到合適的段。
語音合成器302也包括文本和韻律分析模塊303,用于接收輸入文本306并輸出其韻律的符號描述308。此外,由圖可知,前端部分304還包括一個韻律預(yù)測模塊320,該韻律預(yù)測模塊320用于接收韻律符號描述308并在輸出322上提供韻律的數(shù)字描述。根據(jù)眾所周知的做法,韻律預(yù)測模塊320將某些上層韻律約束(例如詞性、語法、重音和強調(diào)等)作為輸入并對基頻、時長、能量等進行預(yù)測,由此生成確定的數(shù)值從而構(gòu)成輸出322。輸出322被提供給后端部分312,在這種形式中該后端部分312包括一個語音產(chǎn)生模塊326,用于生成具有與322中的韻律數(shù)字描述相匹配的韻律特征的合成語音波形314。這個過程可以通過方式實現(xiàn)在基于共振峰或者LPC的合成器后端設(shè)定相應(yīng)的參數(shù),或者在拼接的后端運用韻律標(biāo)度算法例如PSOLA或HNM。
附圖3C示出了可以形成在語音合成器300和302的前端部分304中用于提供韻律的符號描述308的文本和韻律分析模塊303的各種模塊。典型的處理模塊包括一個文本規(guī)整模塊340,該文本規(guī)整模塊340用于接收輸入文本306并將輸入文本306的貨幣、日期或其他的部分轉(zhuǎn)換成可讀的字詞。
在文本規(guī)整過程中,可以使用形態(tài)分析模塊342對輸入文本進行形態(tài)分析以確定復(fù)數(shù)、過去時態(tài)等信息。必要的話,還可以使用模塊344進行句法/語義分析以辨別單詞的詞性(part of speech(POS))或者預(yù)測句子的句法/語義結(jié)構(gòu)。如果需要的話,進一步的處理可以在模塊346中完成,模塊346根據(jù)模塊344的輸出(即POS標(biāo)記或句法/語義結(jié)構(gòu))或者簡單地依據(jù)逗號、句號等來將單字分組成短語。包括重讀、重音和/或焦點(focus)的語義特征通過模塊348來預(yù)測。字形-至-語音轉(zhuǎn)換模塊350依據(jù)正確的發(fā)音將文字轉(zhuǎn)換成語音符號。303的輸出是具有韻律符號描述308的語音單元序列。
要強調(diào)的是文本韻律分析模塊303的上述組成模塊只是示例性的,只是當(dāng)需要時才被包括在303中以用于從前端部分304生成后端部分312所使用的輸出,如圖3A或3B中所示。
對于多語種文本,其中每一種語言都要有一個語音引擎300或302來合成。文本中屬于每一種語言的部分都要提供給相應(yīng)的單一語種語音合成器并分別進行處理,然后再利用合適的硬件將產(chǎn)生的多個輸出314相互連接或者以其他方式連續(xù)的輸出。正如在背景技術(shù)部分指出的,其缺點在于導(dǎo)致了整句語調(diào)的丟失以及一單句話的部分聽起來好像是兩個或更多不同的講話者所說的。
圖4給出了語音合成系統(tǒng)的文本和韻律分析系統(tǒng)400的第一個實施例,文本和韻律分析系統(tǒng)400用于接收含有由一種或至少兩種語言混合組成的句子的輸入文本402,并產(chǎn)生適合于通常如圖3A或3B所示的語音合成器的后端部分處理的輸出432。一般地,前端部分400包括語種無關(guān)模塊和語種相關(guān)模塊以實現(xiàn)如圖3C中所示的所需功能。這種結(jié)構(gòu)的優(yōu)點在于能夠?qū)崿F(xiàn)不同語種間的平滑切換以及保持混合語種的語句的語調(diào)流暢。圖4中自上而下的顯示出了這種方法的處理流程。
在實例性實施例中,文本和韻律分析部分400中有一個語言調(diào)度模塊,該語言調(diào)度模塊包括一個語種辨別模塊406和一個綜合處理模塊。語種辨別模塊406接收輸入文本402并包括或聯(lián)合為其中的句子和/或單字加上標(biāo)志其所屬語言的適當(dāng)?shù)恼Z種標(biāo)識符(Id)或標(biāo)記。由所示的實施例中,由于中文漢字和英文單詞使用明顯不同的編碼形成輸入文本402,因而能夠相對容易地辨別出輸入文本402中的中文或英文部分。而對于像法語、德語或者西班牙語這些具有某些相同字符的語種,則還需要進一步的處理。
含有適當(dāng)?shù)恼Z種標(biāo)識符的輸入文本被提供到綜合處理模塊410,一般地,綜合處理模塊410用于管理語種無關(guān)模塊和語種相關(guān)模塊之間的數(shù)據(jù)流動,以及維持數(shù)據(jù)的統(tǒng)一流動以保證正確處理所接收到的每個模塊的輸出。典型地,綜合處理模塊410首先把帶有語種標(biāo)識符的輸入文本傳送給文本規(guī)整模塊412。在所示實施例中,文本規(guī)整模塊412是一個與語種無關(guān)的規(guī)則解釋器。模塊412包括兩個組件,一個是模式識別器,另一個是模式解釋器,該模式解釋器用于依據(jù)規(guī)則將一個匹配模式轉(zhuǎn)換為一個可讀的文本串。每個規(guī)則由兩部分組成,開始部分是一個模式的定義,其余部分是該模式的轉(zhuǎn)換規(guī)則。定義部分可以是為兩種語言所共用的也可以是指定給它們中的一種語言。轉(zhuǎn)換規(guī)則通常是特定的語言。如果有新的語種加入,只需要添加針對新語種的新規(guī)則即可,而無需改動規(guī)則解釋模塊。正如本領(lǐng)域普通技術(shù)人員所理解的是,文本規(guī)整模塊412也可以設(shè)在語種辨別模塊410之前,只要在文本規(guī)整模塊412中提供適當(dāng)?shù)牟僮饕员鎰e輸入文本中每種語言的詞匯即可。
當(dāng)接收到文本規(guī)整模塊412的輸出后,綜合處理模塊410將適當(dāng)?shù)膯卧~和/或短語傳送到適當(dāng)?shù)恼Z種相關(guān)模塊進行文本和韻律分析。在所示實施例中提供了一個漢語普通話模塊420和一個英語模塊422。漢語模塊420和英語模塊422用于處理所有的語種細節(jié)處理,例如兩種語言的語法和字-音轉(zhuǎn)換、漢語的詞的切分以及英語的縮寫還原等等。在圖4中,轉(zhuǎn)換器418示意性的說明了綜合處理器(integrator)410按照語種標(biāo)識符的指示將部分輸入文本傳送到適當(dāng)?shù)恼Z種相關(guān)模塊的功能。
除了語種標(biāo)識符以外,輸入文本402的分段中還包括指示其在輸入文本402中的位置的標(biāo)識符或與其關(guān)聯(lián),以使一旦在接收到各個語種無關(guān)模塊和語種相關(guān)模塊的輸出時綜合處理器410可以重構(gòu)該分段的正確順序,原因是并非所有的分段都是被同一個模塊處理。這樣就可以進行并行處理,從而加快了對輸入文本402處理的速度。當(dāng)然,也可以按在輸入文本402中出現(xiàn)的順序逐段地處理輸入文本402。
然后,各個語種相關(guān)模塊的輸出還要經(jīng)過一個用于韻律和語音環(huán)境的統(tǒng)一的特征提取模塊430進行處理。在這種方式下,由于在通過模塊420和422對漢語和英語分段適當(dāng)?shù)剡M行文本和韻律分析之后對整個句子的韻律和語音環(huán)境進行了分析,因此整個句子的句調(diào)也沒有丟失。在所示實施例中,文本和韻律分析部分400的輸出432是一個順序的單元序列(包括英語單元和漢語普通話單元),并且具有包括韻律和語音環(huán)境在內(nèi)的統(tǒng)一的特征向量。這樣,就可以通過如圖3A中所示的后端部分中提供單元拼接,下面將進一步描述單元拼接的實例性實施例。可選的,如果需要,文本和韻律分析部分400可以與一個適當(dāng)?shù)恼Z種無關(guān)模塊連接以用于進行韻律預(yù)測(類似于模塊320)并提供韻律的數(shù)字描述作為輸出。再將韻律數(shù)字描述提供給后端部分312,如圖3B所示。
圖5給出了作為本發(fā)明的另一個實施例的一個雙語種文本和韻律分析系統(tǒng)450,其中文本和韻律分析被劃分成4個孤立的示例性功能模塊,包括語形分析452、停頓分析454、強調(diào)/重音分析456和字形-至-語音轉(zhuǎn)換458。其中每個功能都包括分別支持英語和漢語普通話的兩個模塊。與圖4類似,圖5中也自上而下的顯示了對輸入文本的處理順序流程。雖然圖中只出現(xiàn)了英語和漢語普通話兩種語言,但是顯然可以很容易地對所述文本和韻律分析部分400、450加以改變以適用于所需的更多語言。此外,還需要注意的是,其他語種相關(guān)模塊和/或語種無關(guān)模塊也可以根據(jù)需要而很容易地集成在所述的文本處理系統(tǒng)結(jié)構(gòu)中。
在一個實施例中,后端部分312可以使用如提供單元拼接的圖3A中所示的形式。對于一個包括漢語普通話和英語的多語種系統(tǒng)來說,漢語普通話的最小單元是音節(jié),而英語的最小單元是音素。單元選擇算法應(yīng)該從具有合適韻律的候選單元庫中選取音段,以便盡可能地實現(xiàn)自然、完美的拼接。這里需要考慮7個韻律約束條件。它們包括在短語中的位置、在單詞中的位置、在音節(jié)中的位置、左音調(diào)、右音調(diào)、在單詞中的重音等級以及在短語中的重音等級。其中,在音節(jié)中的位置和在單詞中的重音等級僅適用于英語,而左/右音調(diào)則僅適用于漢語普通話。
使用CART(分類回歸樹)通過查詢韻律約束條件對基本單元的所有樣本進行聚類。CART的分裂依據(jù)是使f0均值、f0的動態(tài)幅度和時長三個特征的MSE(均方差)的加權(quán)和的減小最大,其中每個特征的MSE被定義為所有樣本的特征值與其主葉的均值之間的距離的平方的均值。當(dāng)樹生成以后,位于同一個葉子節(jié)點的所有樣本具有相似的韻律特征。單元之間拼接的連續(xù)性通過使用兩個語音約束條件、左右語音環(huán)境和平滑代價來保證。拼接代價被定義為在7個韻律約束條件、2個語音約束條件和平滑代價的源點-目標(biāo)距離的加權(quán)和。每個韻律/語音約束的距離表以及所有部分的權(quán)值首先手動設(shè)定,而后以如下的方法自動調(diào)整,該方法參見“Perpetually optimizing the cost function for unit selection in a TTSsystem for one single run of MOS evaluation”,Proc.of ICSLP’2002,Denver,by H.Peng,Y.Zhao and M.Chu。當(dāng)合成一個語句時,首先利用韻律約束條件為每個單元找到一個樣本聚類集(CART樹的一個葉子節(jié)點),然后應(yīng)用Viterbi搜索算法來為每個單元查找產(chǎn)生最小總體拼接代價的最佳樣本。所選的分段隨后被逐個拼接以得到所要合成的語句。較佳地,單元語料庫是由同一個雙語的發(fā)音人的發(fā)音來建立的。雖然兩種語言采用的單元大小不同,但它們具有相同的單元選擇算法和特征集。因此,語音合成器的后端部分可以處理單語種或者雙語種混合的單元序列。以上所述的單元樣本的選擇方法在2002年7月25日公開的專利申請?zhí)?0020099547A1、名稱為“Method and Apparatus for Speech Synthesis WithoutProsody Modification”的美國專利中有更為詳盡的描述,在此以引用參考的方式將其全部內(nèi)容結(jié)合在本申請中。
雖然本發(fā)明是參照特定的實施例來描述的,本領(lǐng)域普通技術(shù)人員應(yīng)能認識到在其形式和細節(jié)上所作的任何改變都不脫離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種用于處理語音合成器的多語種文本的文本處理系統(tǒng),該文本處理系統(tǒng)包括第一語種相關(guān)模塊,用于對包括第一種語言的輸入文本的一部分進行文本和韻律分析中的至少一個;第二語種相關(guān)模塊,用于對包括第二種語言的輸入文本的第二部分進行文本和韻律分析中的至少一個;以及第三模塊,用于接收第一和第二語種相關(guān)模塊的輸出,并且基于多語種文本對輸出進行韻律和語音環(huán)境的提取。
2.如權(quán)利要求1所述的文本處理系統(tǒng),還包括一個文本規(guī)整模塊,用于對文本進行規(guī)整以便于第一語種相關(guān)模塊和第二語種相關(guān)模塊進行處理。
3.如權(quán)利要求1或2所述的文本處理系統(tǒng),還包括一個語種識別器模塊,該語種識別器模塊適合于接收多語種文本,并且把包括第一種語言的部分的標(biāo)識符和包括第二種語言的部分的標(biāo)識符相關(guān)聯(lián)。
4.如權(quán)利要求3所述的文本處理系統(tǒng),還包括一個綜合處理器模塊,該綜合處理器模塊適合于接收每個模塊的輸出并適當(dāng)?shù)貙⑺f述處理的輸出轉(zhuǎn)發(fā)到另一個模塊。
5.如權(quán)利要求4所述的文本處理系統(tǒng),其中根據(jù)關(guān)聯(lián)的標(biāo)識符的,所述綜合處理器將所述輸出轉(zhuǎn)發(fā)到第一語種相關(guān)模塊和第二語種相關(guān)模塊。
6.如權(quán)利要求5所述的文本處理系統(tǒng),其中所述的第一語種相關(guān)模塊和第二語種相關(guān)模塊適合于進行語言形態(tài)分析。
7.如權(quán)利要求5所述的文本處理系統(tǒng),其中所述的第一語種相關(guān)模塊和第二語種相關(guān)模塊適合于進行停頓分析。
8.如權(quán)利要求5所述的文本處理系統(tǒng),其中所述的第一語種相關(guān)模塊和第二語種相關(guān)模塊適合于進行重音分析。
9.如權(quán)利要求5所述的文本處理系統(tǒng),其中所述的第一語種相關(guān)模塊和第二語種相關(guān)模塊適合于進行字形-至-語音轉(zhuǎn)換。
10.一種用于語音合成器中多語種文本的文本處理的方法,該方法包括接收輸入文本,并標(biāo)識包括第一種語言的部分和包括二種語言的部分;利用第一語種相關(guān)模塊對包括第一種語言的部分進行文本和韻律分析中的至少一個,并且利用第二語種相關(guān)模塊對包括第二種語言的部分進行文本和韻律分析中的至少一個;以及接收第一和第二語種相關(guān)模塊的輸出,并且基于多語種文本對輸出進行韻律和語音環(huán)境的提取。
11.如權(quán)利要求10所述的方法,還包括對輸入文本進行規(guī)整。
12.如權(quán)利要求10或11所述的方法,其中所述標(biāo)識部分包括把標(biāo)識符與各個部分相關(guān)聯(lián)。
13.如權(quán)利要求12所述的方法,還包括根據(jù)與部分相關(guān)聯(lián)的標(biāo)識符,將所述部分轉(zhuǎn)發(fā)給第一語種相關(guān)模塊和第二語種相關(guān)模塊。
14.如權(quán)利要求10、11、12或13所述的方法,還包括根據(jù)文本中的順序來標(biāo)識文本的部分。
15.如權(quán)利要求10、11、12、13或14所述的方法,其中執(zhí)行韻律和語音環(huán)境的提取包括輸出所述多語種文本的韻律的符號描述。
16.如權(quán)利要求10、11、12、13或14所述的方法,其中執(zhí)行韻律和語音環(huán)境的提取包括輸出所述多語種文本的韻律的數(shù)字描述。
17.一種計算機可讀介質(zhì),其中包含在其被實施時能夠使計算機執(zhí)行權(quán)利要求10-16的方法中的任何一種方法的計算機可讀指令。
18.一種適合于實施權(quán)利要求10-16的方法中的任何一種方法的系統(tǒng)。
19.一種計算機可讀介質(zhì),包含在被處理器運行時能夠進行語音合成的指令,所述指令包括文本處理模塊,包括第一語種相關(guān)模塊,用于對包括第一種語言的輸入文本的一部分進行文本和韻律分析中的至少一個;第二語種相關(guān)模塊,用于對包括第二種語言的輸入文本的第二部分進行文本和韻律分析中的至少一個;第三模塊,適合于接收第一和第二語種相關(guān)模塊的輸出,并對包括多語種文本的輸出進行韻律和語音環(huán)境的提?。灰约昂铣赡K,適合于接收第三模塊的輸出并基于它而生成合成的語音波形。
20.如權(quán)利要求19所述的計算機可讀介質(zhì),還包括一個語種識別器模塊,該語種識別器模塊適合于接收多語種文本,并且把包括第一種語言的部分的標(biāo)識符和包括第二種語言的部分的標(biāo)識符相關(guān)聯(lián)。
全文摘要
一種用于處理語音合成器的多語種文本的文本處理系統(tǒng),包括的第一語種相關(guān)模塊,用于對包括第一種語言的輸入文本的一部分進行文本和韻律分析中的至少一個。第二語種相關(guān)模塊對包括第二種語言的輸入文本的第二部分進行文本和韻律分析中的至少一個。第三模塊適合于接收第一和第二語種相關(guān)模塊的輸出,并且基于多語種文本對輸出進行韻律和語音環(huán)境的提取。
文檔編號G10L13/00GK1540625SQ20041003263
公開日2004年10月27日 申請日期2004年3月24日 優(yōu)先權(quán)日2003年3月24日
發(fā)明者初敏, 彭湖, 趙勇, 初 敏 申請人:微軟公司