專利名稱:用于tts級(jí)聯(lián)成本的預(yù)先保存的數(shù)據(jù)壓縮的制作方法
用于TTS級(jí)聯(lián)成本的預(yù)先保存的數(shù)據(jù)壓縮
背景技術(shù):
文本-語(yǔ)音系統(tǒng)(TTS)是使用語(yǔ)音的人機(jī)界面之一。能夠以軟件或硬件實(shí)現(xiàn)的TTS將正常的語(yǔ)言文本轉(zhuǎn)換成語(yǔ)音。TTS在許多應(yīng)用諸如汽車導(dǎo)航系統(tǒng)、通過(guò)電話的信息檢索、話音郵件、語(yǔ)音-語(yǔ)音翻譯系統(tǒng)和以合成具有自然人類聲音特征的語(yǔ)音為目標(biāo)的可比應(yīng)用中進(jìn)行實(shí)現(xiàn)?,F(xiàn)代的文本-語(yǔ)音系統(tǒng)為用戶提供針對(duì)集成在交互式話音響應(yīng)系統(tǒng)中的眾多服務(wù)的訪問(wèn)。電話客戶服務(wù)是交互式話音響應(yīng)系統(tǒng)中快速激增的文本-語(yǔ)音功能的示例之
O
單元選擇(unit selection)合成是針對(duì)使用記錄語(yǔ)音的大型數(shù)據(jù)庫(kù)的語(yǔ)音合成的一種方案。在數(shù)據(jù)庫(kù)創(chuàng)建期間,每個(gè)記錄的話語(yǔ)(utterance)被分段為一些個(gè)別音素、雙音素(diphones)、半單音(half-phone)、音節(jié)、語(yǔ)素(morphemes)、詞、短語(yǔ)和/或句子。這 些單元在語(yǔ)音數(shù)據(jù)庫(kù)中的索引隨后可以基于分段和如同基頻(音調(diào))、持續(xù)時(shí)間、在音節(jié)中的位置和相鄰音素之類的聲學(xué)參數(shù)來(lái)創(chuàng)建。在運(yùn)行時(shí),通過(guò)從數(shù)據(jù)庫(kù)中確定候選單元(單元選擇)的最佳鏈,可以創(chuàng)建期望的目標(biāo)話語(yǔ)。在單元選擇語(yǔ)音合成中,使用級(jí)聯(lián)成本(concatenation cost)來(lái)決定是否能夠在沒(méi)有噪聲的情況下級(jí)聯(lián)兩個(gè)語(yǔ)音分段。然而,對(duì)于需要大量計(jì)算資源的實(shí)時(shí)計(jì)算來(lái)說(shuō),針對(duì)復(fù)雜語(yǔ)音模式或高質(zhì)量合成的級(jí)聯(lián)成本的計(jì)算可能是過(guò)于繁重的。應(yīng)對(duì)這一挑戰(zhàn)的一種方式是對(duì)于每一對(duì)可能的級(jí)聯(lián)語(yǔ)音分段預(yù)先保存(pre-saving)級(jí)聯(lián)成本數(shù)據(jù),以避免實(shí)時(shí)計(jì)算。盡管如此,這種方案引入可能以兆兆字節(jié)為單位的大內(nèi)存需求。
發(fā)明內(nèi)容
提供這個(gè)發(fā)明內(nèi)容部分來(lái)以簡(jiǎn)化的形式介紹下面在詳細(xì)描述部分中進(jìn)一步描述的概念的選擇。這個(gè)發(fā)明內(nèi)容部分既不打算專門識(shí)別所請(qǐng)求保護(hù)的主題的關(guān)鍵特征或基本特征,也打算用作輔助手段來(lái)確定所請(qǐng)求保護(hù)的主題的范圍。實(shí)施例涉及通過(guò)語(yǔ)音分段分組(grouping)來(lái)壓縮預(yù)先保存的級(jí)聯(lián)成本數(shù)據(jù)。語(yǔ)音分段可以基于其與其他語(yǔ)音分段的級(jí)聯(lián)成本值而被分配給預(yù)定義數(shù)量的分組。可以為每一個(gè)分組選擇代表分段(representative segment)。不同分組中的兩個(gè)分段之間的級(jí)聯(lián)成本隨后可以利用其各自分組的代表分段之間的級(jí)聯(lián)成本來(lái)近似,從而減少將要預(yù)先保存的級(jí)聯(lián)成本數(shù)據(jù)的量。通過(guò)閱讀下面的具體描述部分和查閱相關(guān)聯(lián)的附圖,這些以及其他的特征和優(yōu)點(diǎn)將是明顯的。將明白前面的一般性描述和下面的具體描述是解釋性的,并且不限制所請(qǐng)求保護(hù)的各方面。
圖I是語(yǔ)音合成系統(tǒng)的概念 圖2是示出根據(jù)實(shí)施例的采用預(yù)先保存的級(jí)聯(lián)成本數(shù)據(jù)壓縮的示例的文本-語(yǔ)音(TTS)系統(tǒng)中的主要交互作用的框圖;圖3示出文本-語(yǔ)音系統(tǒng)中用于預(yù)先保存的級(jí)聯(lián)成本數(shù)據(jù)壓縮的操作塊;
圖4示出示例的級(jí)聯(lián)成本矩陣;
圖5示出廣義的級(jí)聯(lián)成本矩陣;
圖6示出根據(jù)實(shí)施例的在前分段和在后分段類別中的每一個(gè)分組的語(yǔ)音分段和代表分段的分組;
圖7示出完全級(jí)聯(lián)成本矩陣至代表分段級(jí)聯(lián)成本矩陣的壓縮;
圖8是其中可以實(shí)現(xiàn)根據(jù)本發(fā)明的系統(tǒng)的聯(lián)網(wǎng)環(huán)境;
圖9是其中可以實(shí)現(xiàn)實(shí)施例的示例計(jì)算操作環(huán)境的框圖;和
圖10示出根據(jù)實(shí)施例的用于通過(guò)語(yǔ)音分段分組來(lái)壓縮預(yù)先保存的級(jí)聯(lián)成本數(shù)據(jù)的邏輯流程圖。
具體實(shí)施例方式如上面簡(jiǎn)要描述的,可以通過(guò)語(yǔ)音分段分組以及使用每個(gè)分組的代表分段來(lái)壓縮預(yù)先保存的級(jí)聯(lián)成本數(shù)據(jù)。在下面的詳細(xì)描述中,參考形成其一部分的附圖,并且在這些附圖中通過(guò)示意圖來(lái)顯示具體的實(shí)施例或示例。在不脫離目前披露內(nèi)容的精神或范圍的情況下,可以組合這些方面,可以利用其他方面,并且可以進(jìn)行結(jié)構(gòu)變化。因此不在限制意義上進(jìn)行下面的詳細(xì)描述,并且本發(fā)明的范圍利用所附的權(quán)利要求書及其等價(jià)物來(lái)定義。雖然將在個(gè)人計(jì)算機(jī)上結(jié)合運(yùn)行在操作系統(tǒng)上的應(yīng)用程序來(lái)執(zhí)行的程序模塊的一般上下文中描述這些實(shí)施例,但是本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到各方面也可以與其他程序模塊相組合來(lái)實(shí)現(xiàn)。通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)以及其他類型的結(jié)構(gòu)。此外,本領(lǐng)域的技術(shù)人員將意識(shí)到實(shí)施例可以利用其他的包括手持設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程的消費(fèi)類電子產(chǎn)品、微型計(jì)算機(jī)、大型計(jì)算機(jī)以及可比計(jì)算設(shè)備的計(jì)算機(jī)系統(tǒng)配置來(lái)實(shí)踐。實(shí)施例也可以在其中利用通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行任務(wù)的分布式計(jì)算環(huán)境中進(jìn)行實(shí)踐。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程內(nèi)存存儲(chǔ)設(shè)備二者中。實(shí)施例可以作為計(jì)算機(jī)實(shí)現(xiàn)的處理(方法)、計(jì)算系統(tǒng)或作為制品諸如計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)可讀媒體來(lái)實(shí)現(xiàn)。計(jì)算機(jī)程序產(chǎn)品可以是計(jì)算機(jī)系統(tǒng)可讀并編碼包括用于導(dǎo)致計(jì)算機(jī)或計(jì)算系統(tǒng)執(zhí)行(一個(gè)或多個(gè))示例處理的指令的計(jì)算機(jī)程序的計(jì)算機(jī)存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如能夠經(jīng)由易失性計(jì)算機(jī)存儲(chǔ)器、非易失性存儲(chǔ)器、硬盤驅(qū)動(dòng)器、閃存驅(qū)動(dòng)器、軟盤或光盤以及可比媒體中的一個(gè)或多個(gè)來(lái)實(shí)現(xiàn)。在整個(gè)說(shuō)明書中,術(shù)語(yǔ)“服務(wù)器” 一般指的是通常在聯(lián)網(wǎng)環(huán)境中執(zhí)行一個(gè)或多個(gè)軟件程序的計(jì)算設(shè)備。然而,服務(wù)器也可以作為在被視為網(wǎng)絡(luò)上的服務(wù)器的一個(gè)或多個(gè)計(jì)算設(shè)備上執(zhí)行的虛擬服務(wù)器(軟件程序)來(lái)實(shí)現(xiàn)。在下面提供關(guān)于這些技術(shù)和示例操作的更多細(xì)節(jié)。術(shù)語(yǔ)“客戶”指的是客戶端設(shè)備和/或應(yīng)用。參考圖1,示出在文本-語(yǔ)音系統(tǒng)中的頂層組件的框圖100。合成的語(yǔ)音能夠通過(guò)級(jí)聯(lián)數(shù)據(jù)存儲(chǔ)設(shè)備中的或由合成器生成的記錄語(yǔ)音的片段(piece)來(lái)創(chuàng)建,其中合成器合并聲道模型和其他的人類聲音特征來(lái)創(chuàng)建完全合成的話音輸出。文本-語(yǔ)音系統(tǒng)(TTS) 112通過(guò)(例如,利用分析引擎)對(duì)將要轉(zhuǎn)換的文本執(zhí)行分析、可選的語(yǔ)言分析以及將最終產(chǎn)品語(yǔ)音的元素放在一起的合成而將文本102轉(zhuǎn)換成語(yǔ)音110。將要轉(zhuǎn)換的文本可以利用文本分析組件104來(lái)分析,從而產(chǎn)生個(gè)別詞,這些詞利用語(yǔ)言分析組件106來(lái)分析,從而產(chǎn)生音素。波形生成組件108 (例如,語(yǔ)音合成引擎)基于這些音素來(lái)合成輸出語(yǔ)音110。取決于TTS的類型,該系統(tǒng)可以包括附加的組件。這些組件可以執(zhí)行附加的或更少的任務(wù),并且其中的一些任務(wù)可以不同地分布在這些組件之間。例如,作為分析的一部分,可以對(duì)該文本執(zhí)行文本標(biāo)準(zhǔn)化、預(yù)處理或標(biāo)記化。音標(biāo)隨后被分配給每一個(gè)詞,并且文本被劃分并被標(biāo)記成如同短語(yǔ)、分句和句子之類的韻律單元。這種文本-音素或字素(grapheme )-音素轉(zhuǎn)換利用語(yǔ)言分析組件106來(lái)執(zhí)行。生成合成語(yǔ)音波形的主要類型包括拼接合成(concatenative synthesis)、共振峰合成以及基于Hidden Markov Model (隱式馬爾科夫模型)(HMM)的合成。拼接合成基于記錄語(yǔ)音分段的級(jí)聯(lián)(或串在一起)。雖然產(chǎn)生接近于自然發(fā)聲的合成語(yǔ)音,但是在這種形式的語(yǔ)音生成中,語(yǔ)音中的自然變化與用于分段波形的自動(dòng)化技術(shù)的性質(zhì)之間的差別有時(shí)可能在輸出中產(chǎn)生可聽(tīng)到的毛刺。拼接合成的子類型包括單元選擇合成,其使用記錄語(yǔ) 音的大型數(shù)據(jù)庫(kù)。在數(shù)據(jù)庫(kù)創(chuàng)建期間,每一個(gè)記錄的話語(yǔ)被分段成個(gè)別單音(Phone)、雙音素、半單音、音節(jié)、語(yǔ)素、詞、短語(yǔ)和句子中的一些或全部。這些單元在語(yǔ)音數(shù)據(jù)庫(kù)中的索引隨后基于分段和如同基頻(音調(diào))、持續(xù)時(shí)間、在音節(jié)中的位置以及相鄰單音之類的聲學(xué)參數(shù)來(lái)創(chuàng)建。在運(yùn)行時(shí),期望的目標(biāo)話語(yǔ)通過(guò)從數(shù)據(jù)庫(kù)中確定候選單元(單元選擇)的最佳鏈來(lái)創(chuàng)建。拼接合成的另一種子類型是雙音素合成,其使用包含在語(yǔ)言中出現(xiàn)的所有雙音素(聲音-聲音轉(zhuǎn)換)的最小語(yǔ)音數(shù)據(jù)庫(kù)。雙音素的數(shù)量取決于該語(yǔ)言的音位結(jié)構(gòu)學(xué)(phonotactics)。在運(yùn)行時(shí),句子的目標(biāo)韻律借助于諸如線性預(yù)測(cè)編碼之類的數(shù)字信號(hào)處理技術(shù)被疊加在這些最小單元上。拼接合成的還一種子類型是特定于域的合成,其級(jí)聯(lián)預(yù)先記錄的詞和短語(yǔ)來(lái)創(chuàng)建完整的話語(yǔ)。這種類型對(duì)于其中將由該系統(tǒng)輸出的各種文本限于特定域的應(yīng)用而言是更兼容的。與拼接合成形成對(duì)照,共振峰合成在運(yùn)行時(shí)并不使用人類語(yǔ)音采樣。反而,合成的語(yǔ)音輸出使用聲學(xué)模型來(lái)創(chuàng)建。諸如基頻、調(diào)聲(voicing)和噪聲電平之類的參數(shù)隨時(shí)間而改變,以創(chuàng)建人工語(yǔ)音的波形。雖然通過(guò)共振峰合成生成的語(yǔ)音可能不如通過(guò)拼接合成創(chuàng)建的語(yǔ)音自然,但是甚至在非常高的速度上,共振峰合成的語(yǔ)音也能夠可靠地理解,從而避免通常在拼接系統(tǒng)中發(fā)現(xiàn)的聽(tīng)覺(jué)毛刺(acoustic glitch)。高速合成的語(yǔ)音例如由視障人士用于使用屏幕閱讀器來(lái)快速導(dǎo)航計(jì)算機(jī)。共振峰合成能夠作為更小型軟件程序來(lái)實(shí)現(xiàn),并因此能夠用于其中存儲(chǔ)器和微處理器功率特別有限的嵌入式系統(tǒng)中。圖2是示出根據(jù)實(shí)施例的采用預(yù)先保存的級(jí)聯(lián)成本數(shù)據(jù)壓縮的示例的文本-語(yǔ)音(TTS)系統(tǒng)中的主要交互作用的框圖。諸如在圖表200中所示的拼接語(yǔ)音系統(tǒng)包括所存儲(chǔ)的語(yǔ)音分段的語(yǔ)音數(shù)據(jù)庫(kù)222。取決于系統(tǒng)的類型,這些語(yǔ)音分段可以包括個(gè)別單音、雙音素、半單音、音節(jié)、語(yǔ)素、詞、短語(yǔ)和/或句子。這些語(yǔ)音分段可以通過(guò)用戶輸入228 (例如,用戶語(yǔ)音的記錄和分析)、預(yù)先記錄的語(yǔ)音模式230或其他源而被提供給語(yǔ)音數(shù)據(jù)庫(kù)222。語(yǔ)音數(shù)據(jù)庫(kù)222的分段也可以包括語(yǔ)音分段的清單(inventory)的構(gòu)造,以致于能夠在運(yùn)行時(shí)選擇語(yǔ)音分段的多個(gè)實(shí)例。
語(yǔ)音合成的主干是分段選擇處理224,其中語(yǔ)音分段被選擇來(lái)形成合成語(yǔ)音并被轉(zhuǎn)發(fā)至波形生成處理226,用于聲學(xué)語(yǔ)音的生成。分段選擇處理224可以利用多個(gè)其他處理諸如(將被轉(zhuǎn)換成語(yǔ)音的)輸入文本214的文本分析216、韻律分析218 (音調(diào),持續(xù)時(shí)間,能量分析)、語(yǔ)聲(phonetic)分析220和/或可比處理來(lái)控制。增強(qiáng)合成語(yǔ)音的質(zhì)量或減少所需的系統(tǒng)資源的其他處理也可以被采用。例如,韻律信息可以從Hidden Markov model Text to Speech (文本-語(yǔ)音)(HTS)系統(tǒng)中提取并用于引導(dǎo)拼接TTS系統(tǒng)。這可以幫助系統(tǒng)生成更好的初始波形,從而增加整個(gè)TTS的效率。圖3在圖示300中示出文本-語(yǔ)音系統(tǒng)中的預(yù)先保存的級(jí)聯(lián)成本數(shù)據(jù)壓縮的操作塊。級(jí)聯(lián)成本是級(jí)聯(lián)兩個(gè)連續(xù)分段的成本的估計(jì)。這個(gè)成本是兩個(gè)分段在譜特性和韻律特性方面如何連接在一起(join together)的量度。對(duì)于在分段清單(語(yǔ)音數(shù)據(jù)庫(kù))中相鄰的兩個(gè)分段的級(jí)聯(lián)成本為零。語(yǔ)音分段具有其特征向量,其中特征向量被定義成該語(yǔ)音分段與其他分段級(jí)聯(lián)的成本值。
因而,在根據(jù)實(shí)施例的文本-語(yǔ)音系統(tǒng)(334)中,級(jí)聯(lián)成本335從完全級(jí)聯(lián)矩陣332中進(jìn)行確定(或存儲(chǔ)在完全級(jí)聯(lián)矩陣332中),其中完全級(jí)聯(lián)矩陣列出在每個(gè)存儲(chǔ)的分段之間的成本。兩個(gè)語(yǔ)音分段之間的距離是其按照特定距離函數(shù)的特征向量的距離(例如Euclidean (歐幾里德)距離、城市街區(qū)(距離)等等)。因而,在基于距離的加權(quán)之前可以提取在前語(yǔ)音分段和在后語(yǔ)音分段的特征向量(336和337)。在根據(jù)實(shí)施例的系統(tǒng)中,由于較大的級(jí)聯(lián)成本對(duì)于壓縮誤差是不太敏感的,所以可以添加距離加權(quán)338。在其他的實(shí)施例中,最大成本路徑也可以被用作決定因素。這是因?yàn)榫哂写蠹?jí)聯(lián)成本的級(jí)聯(lián)對(duì)不太可能在分段選擇中被使用。示例的距離函數(shù)可以是
[I]
dis_ce l^cgi. scgj) = V- CCj-J * [K0 - (cqtW, + cc/ir )]}2 ,
其中Segi和segj是兩個(gè)分段,其中Segi在Segj之前。ccxy代表各自分段之間的級(jí)聯(lián)成本,并且Ktl是預(yù)定義常數(shù)。用于語(yǔ)音分段i的特征向量在它是在前分段時(shí)是(ccu,CCi,2)…,CCi,n),或者在它是在后分段時(shí)是(CCm, cc2;i),…,ccn;i)0在切換這兩個(gè)分段的順序時(shí),即當(dāng)j在i之前時(shí),級(jí)聯(lián)成本的值是不同的。在距離加權(quán)之后,可以執(zhí)行針對(duì)在前和在后語(yǔ)音分段的群集(clustering)處理340和341,以便將所有的分段劃分成M個(gè)在前分組和N個(gè)在后分組,這最小化在相同分組內(nèi)的分段之間的平均距離。例如,以14個(gè)小時(shí)記錄的語(yǔ)音為基礎(chǔ)的分段數(shù)據(jù)可以生成大約ITB的完全級(jí)聯(lián)矩陣。語(yǔ)音分段在這個(gè)示例中可以被群集到1000個(gè)分組中,從而產(chǎn)生10MB的壓縮的級(jí)聯(lián)矩陣(包括4MB成本表(1000*1000*大小的浮點(diǎn))和6MB索引數(shù)據(jù))。群集和距離加權(quán)可以利用使用本文描述的原理的任何合適函數(shù)來(lái)執(zhí)行。上面列出的加權(quán)函數(shù)僅用于說(shuō)明目的。群集處理340和341的后面可以跟隨著為每一個(gè)分組選擇代表(342)??梢赃x擇每一個(gè)分組的代表分段,以致于它具有至相同分組內(nèi)的其他分段的最小平均距離。用于代表分段(344)的MxN級(jí)聯(lián)成本矩陣隨后可以被構(gòu)造并被預(yù)先保存。預(yù)先保存的級(jí)聯(lián)成本數(shù)據(jù)大小被減至原始矩陣332的[n2/(MXN)],其中η是語(yǔ)音分段的總數(shù)。兩個(gè)語(yǔ)音分段之間的級(jí)聯(lián)成本現(xiàn)在可以利用其各自(在前或在后)分組的代表分段之間的級(jí)聯(lián)成本來(lái)近似。圖4示出示例的級(jí)聯(lián)成本矩陣。如上所提到的,語(yǔ)音分段清單可以包括個(gè)別單音、雙音素、半單音、音節(jié)、語(yǔ)素、詞、短語(yǔ)和/或句子。圖示400中所示的示例級(jí)聯(lián)成本矩陣446用于可以被組合以創(chuàng)建話音提示的詞。分段450和454被分類成在前分段和在后分段452、448。對(duì)于每一個(gè)分段,級(jí)聯(lián)成本(例如,456)被計(jì)算并被存儲(chǔ)在矩陣中。這個(gè)說(shuō)明性示例用于只有少量詞的有限數(shù)據(jù)庫(kù)。如前所述,典型的TTS系統(tǒng)可能需要從14小時(shí)或更多的語(yǔ)音記錄中生成的分段,這導(dǎo)致兆兆字節(jié)范圍的級(jí)聯(lián)成本數(shù)據(jù)。這樣的大型矩陣難以預(yù)先記錄或?qū)崟r(shí)計(jì)算。解決數(shù)據(jù)大小的一種方案是保存僅用于選擇語(yǔ)音分段對(duì)的級(jí)聯(lián)成本。另一種方案是降低精度,例如將數(shù)據(jù)存儲(chǔ)在四位塊中。然而,利用這兩種方案,為了合理的語(yǔ)音合成而要預(yù)先保存的數(shù)據(jù)仍是相對(duì)大的(例如,數(shù)百兆字節(jié)),并且可能遇到缺失值,從而導(dǎo)致質(zhì)量的退化。圖5示出包括廣義的級(jí)聯(lián)成本矩陣558的圖示500。級(jí)聯(lián)成本(例如562)對(duì)于語(yǔ)音分段i與j (分段j在分段i之后)之間的級(jí)聯(lián)被定義成Cu。應(yīng)該注意在切換這兩個(gè) 分段的順序(即j在i之前)時(shí),值是不同的。因而,語(yǔ)音分段的特征向量可以被定義成其與其他分段的級(jí)聯(lián)成本值。例如,語(yǔ)音分段i的特征向量在它是在前分段(552)時(shí)是(ccu,CCij 2,…,CCi;n)或者在它是在后分段(548)時(shí)是(CCm, CC2j i,…,CCn,J。特征向量也可以使用與其他分段的級(jí)聯(lián)成本值的一部分來(lái)降低計(jì)算成本。完全矩陣558包括在η個(gè)語(yǔ)音分段(例如560,564)之間所有的η χ η個(gè)級(jí)聯(lián)成本值。沿著在前語(yǔ)音分段軸的每一行對(duì)應(yīng)于在前分段552。沿著在后語(yǔ)音分段軸的每一列對(duì)應(yīng)于在后分段548。兩個(gè)在前分段Segi和segj之間的距離是(CCm, cci;2, ...,cci;n,Cc11, CCj-2, ...,CCj,n)的函數(shù)(例如,歐幾里德距離或城市街區(qū)距離)。對(duì)于在后分段548的對(duì),可以定義類似的距離。圖6示出根據(jù)實(shí)施例的在前分段(668)和在后分段(670)類別中的每一個(gè)分組的語(yǔ)音分段和代表分段的分組的圖示600。 在根據(jù)實(shí)施例的TTS系統(tǒng)中,語(yǔ)音分段可以被放置在M個(gè)在前分組(672,674,676 )和N個(gè)在后分組(678,680,682)中,以最小化在每一個(gè)分段之間的分組內(nèi)平均距離。每一個(gè)分組中的暗分段是其各自分組的示例代表分段。雖然利用每一個(gè)示例分組具有兩個(gè)分段來(lái)顯示示例分組,但是每一個(gè)分組中分段的數(shù)量可以是任何預(yù)定義的數(shù)量。分組以及每一個(gè)分組內(nèi)分段的數(shù)量可以基于分段的總數(shù)、分段之間的距離、期望的級(jí)聯(lián)成本數(shù)據(jù)的減少以及類似的考慮來(lái)確定。圖7在圖示700中示出完全級(jí)聯(lián)成本矩陣784至代表分段級(jí)聯(lián)成本矩陣794的壓縮。采用如前所述的群集和代表選擇處理,完全級(jí)聯(lián)成本矩陣784內(nèi)每一個(gè)分組的代表分段可以被確定,并且全矩陣被壓縮為僅包含代表分段(例如786、788、790和792)之間的級(jí)聯(lián)成本。例如,CC2,1 CC2j 2 CC3j ! CC3,2的值在不例壓縮矩陣794中全部利用CC2,i來(lái)近似。根據(jù)其他的實(shí)施例,代表分段選擇的替換方案是中心重新估計(jì)。如上所述,CC2ilCC2j2 CC3j1 cc3,2的值全部利用CCy來(lái)近似,其中分段2和分段I是圖示700中的在前/在后分組的代表分段。不使用CC2;1作為中心,另一種近似可以是CC2;1 CC2j2 CC3j1 CC3,2的平均或中間值。因而,可以僅采用分組結(jié)果而不從每一個(gè)分組選擇代表分段。此外,在分段數(shù)量是大的時(shí)候,中心值可以利用整個(gè)采樣的一部分來(lái)估計(jì),以克服計(jì)算成本。
雖然示例系統(tǒng)和處理已利用諸如特定的距離函數(shù)、群集技術(shù)或代表選擇方法之類的特定組件和方面進(jìn)行描述了,但是實(shí)施例并不限于這些示例組件和配置。壓縮用于預(yù)先保存的級(jí)聯(lián)成本數(shù)據(jù)的TTS系統(tǒng)可以在使用利用本文描述的原理的語(yǔ)音合成的其他方面的其他系統(tǒng)和配置中進(jìn)行實(shí)現(xiàn)。圖8是其中可以實(shí)現(xiàn)實(shí)施例的示例聯(lián)網(wǎng)環(huán)境。給語(yǔ)音合成服務(wù)提供級(jí)聯(lián)成本數(shù)據(jù)壓縮的文本-語(yǔ)音系統(tǒng)可以借助于在個(gè)別客戶端設(shè)備811、812、813和814中或在諸如托管服務(wù)之類的一個(gè)或多個(gè)服務(wù)器816上執(zhí)行的軟件來(lái)實(shí)現(xiàn)。該系統(tǒng)可以促進(jìn)在用戶的個(gè)別計(jì)算設(shè)備(客戶端設(shè)備811-814)上的客戶應(yīng)用之間通過(guò)(一個(gè)或多個(gè))網(wǎng)絡(luò)810進(jìn)行的通信。客戶端設(shè)備811-814可以給一個(gè)或多個(gè)用戶提供合成的語(yǔ)音。語(yǔ)音合成可以使用預(yù)先保存的壓縮的級(jí)聯(lián)成本矩陣、通過(guò)實(shí)時(shí)計(jì)算來(lái)執(zhí)行,其中通過(guò)基于語(yǔ)音分段的距離來(lái)群集這些語(yǔ)音分段并且為每一個(gè)分組選擇代表分段,生成壓縮的級(jí)聯(lián)成本矩陣。諸如壓縮的級(jí)聯(lián)成本矩陣之類的語(yǔ)音合成相關(guān)聯(lián)的信息可以存儲(chǔ)在可以利用服務(wù)器816中的任何一個(gè)或利用數(shù)據(jù)庫(kù)服務(wù)器818來(lái)管理的一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)設(shè)備(例如,數(shù)據(jù)存儲(chǔ)設(shè)備 819)中。(一個(gè)或多個(gè))網(wǎng)絡(luò)810可以包括服務(wù)器、客戶、因特網(wǎng)服務(wù)供應(yīng)商以及通信媒體的任何拓?fù)?。根?jù)實(shí)施例的系統(tǒng)可以具有靜態(tài)或動(dòng)態(tài)拓?fù)洹?一個(gè)或多個(gè))網(wǎng)絡(luò)810可以包括諸如企業(yè)網(wǎng)之類的安全網(wǎng)絡(luò)、諸如無(wú)線開(kāi)放網(wǎng)絡(luò)之類的非安全網(wǎng)絡(luò)或因特網(wǎng)。(一個(gè)或多個(gè))網(wǎng)絡(luò)810也可以協(xié)調(diào)諸如PSTN或蜂窩網(wǎng)絡(luò)之類的其他網(wǎng)絡(luò)上的通信。(一個(gè)或多個(gè))網(wǎng)絡(luò)810在本文描述的節(jié)點(diǎn)之間提供通信。通過(guò)示例而非限制,(一個(gè)或多個(gè))網(wǎng)絡(luò)810可以包括無(wú)線媒體,諸如聲學(xué)、RF、紅外和其他無(wú)線媒體。計(jì)算設(shè)備、應(yīng)用、數(shù)據(jù)源和數(shù)據(jù)分發(fā)系統(tǒng)的許多其他配置可以被采用來(lái)實(shí)現(xiàn)采用級(jí)聯(lián)數(shù)據(jù)壓縮來(lái)預(yù)先保存的TTS系統(tǒng)。此外,圖8所討論的聯(lián)網(wǎng)環(huán)境僅用于說(shuō)明目的。實(shí)施例并不限于示例的應(yīng)用、模塊或處理。圖9以及相關(guān)聯(lián)的討論旨在提供其中可以實(shí)現(xiàn)實(shí)施例的合適計(jì)算環(huán)境的簡(jiǎn)要的一般性描述。參考圖9,示出根據(jù)實(shí)施例的用于應(yīng)用的示例計(jì)算操作環(huán)境的框圖,諸如計(jì)算設(shè)備900。在基本配置中,計(jì)算設(shè)備900可以是執(zhí)行TTS服務(wù)的客戶端設(shè)備或服務(wù)器,并且 包括至少一個(gè)處理單元902以及系統(tǒng)存儲(chǔ)器904。計(jì)算設(shè)備900也可以包括多個(gè)在執(zhí)行程序中協(xié)作的處理單元。取決于計(jì)算設(shè)備的確切配置和類型,系統(tǒng)存儲(chǔ)器904可以是易失性的(諸如RAM)、非易失性的(諸如ROM、閃存等等)或這二者的某種組合。系統(tǒng)存儲(chǔ)器904通常包括適合于控制平臺(tái)的操作的操作系統(tǒng)905,諸如Redmond, Washington的MICROSOFTCORPORATION的WINDOWS 操作系統(tǒng)。系統(tǒng)存儲(chǔ)器904也可以包括一個(gè)或多個(gè)軟件應(yīng)用諸如程序模塊906、TTS應(yīng)用922以及級(jí)聯(lián)模塊924。語(yǔ)音合成應(yīng)用922可以是計(jì)算設(shè)備900的服務(wù)或操作系統(tǒng)905的一部分。語(yǔ)音合成應(yīng)用922采用語(yǔ)音分段的級(jí)聯(lián)來(lái)生成合成的語(yǔ)音。如前所述,級(jí)聯(lián)成本數(shù)據(jù)可以通過(guò)基于語(yǔ)音分段的距離來(lái)群集語(yǔ)音分段并且為每一個(gè)分組選擇代表分段來(lái)壓縮。級(jí)聯(lián)模塊924或語(yǔ)音合成應(yīng)用922可以執(zhí)行壓縮操作。在圖9中通過(guò)虛線908內(nèi)的這些組件來(lái)示出這種
基本配置。計(jì)算設(shè)備900可以具有附加的特性或功能。例如,計(jì)算設(shè)備900也可以包括附加的(可移動(dòng)和/或不可移動(dòng)的)數(shù)據(jù)存儲(chǔ)設(shè)備,例如,諸如磁盤、光盤或磁帶。這樣的附加存儲(chǔ)設(shè)備在圖9中利用可移動(dòng)存儲(chǔ)設(shè)備909和不可移動(dòng)存儲(chǔ)設(shè)備910來(lái)示出。計(jì)算機(jī)可讀存儲(chǔ)媒體可以包括以任何方法或技術(shù)實(shí)現(xiàn)的用于信息諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)的存儲(chǔ)的易失性和非易失性、可移動(dòng)和不可移動(dòng)的媒體。系統(tǒng)存儲(chǔ)器904、可移動(dòng)存儲(chǔ)設(shè)備909以及不可移動(dòng)存儲(chǔ)設(shè)備910全部是計(jì)算機(jī)可讀存儲(chǔ)媒體的示例。計(jì)算機(jī)可讀存儲(chǔ)媒體包括但不限于RAM、ROM、EEPROM、閃存或其他存儲(chǔ)技術(shù)、CD-ROM、數(shù)字多用途盤(DVD)或其他光學(xué)存儲(chǔ)設(shè)備、磁帶盒、磁帶、磁盤存儲(chǔ)設(shè)備或其他磁存儲(chǔ)設(shè)備或者其他任何的能夠用于存儲(chǔ)期望信息且能夠被計(jì)算設(shè)備900訪問(wèn)的介質(zhì)。任何這樣的計(jì)算機(jī)可讀存儲(chǔ)媒體可以是計(jì)算設(shè)備900的一部分。計(jì)算設(shè)備900也可以具有(一個(gè)或多個(gè))輸入設(shè)備912,諸如鍵盤、鼠標(biāo)、筆、話音輸入設(shè)備、觸摸輸入設(shè)備以及可比輸入設(shè)備。也可以包括(一個(gè)或多個(gè))輸出設(shè)備914,諸如顯示器、揚(yáng)聲器、打印機(jī)以及其他類型的輸出設(shè)備。這些設(shè)備在本領(lǐng)域中是眾所周知的,并且在這里不需要對(duì)其進(jìn)行長(zhǎng)篇幅論述。計(jì)算設(shè)備900也可以包含允許該設(shè)備諸如在分布式計(jì)算環(huán)境中通過(guò)無(wú)線網(wǎng)絡(luò)、衛(wèi) 星鏈路、蜂窩鏈路以及可比機(jī)制與其他設(shè)備918通信的通信連接916。其他設(shè)備918可以包括執(zhí)行通信應(yīng)用的(一個(gè)或多個(gè))計(jì)算機(jī)設(shè)備、其他服務(wù)器以及可比設(shè)備。(一個(gè)或多個(gè))通信連接916是通信媒體的一個(gè)示例。通信媒體能夠在其中包括計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模模塊或調(diào)制的數(shù)據(jù)信號(hào)諸如載波或其他傳輸機(jī)制中的其他數(shù)據(jù),并且包括任何信息傳送媒體。術(shù)語(yǔ)“調(diào)制的數(shù)據(jù)信號(hào)”表示其特征中的一個(gè)或多個(gè)以諸如在信號(hào)中編碼信息的方式進(jìn)行設(shè)置或改變的信號(hào)。通過(guò)示例而非限制,通信媒體包括有線媒體諸如有線網(wǎng)絡(luò)或直接連線連接以及無(wú)線媒體諸如聲學(xué)、RF、紅外和其他無(wú)線媒體。示例的實(shí)施例也包括方法。這些方法能夠采用任何數(shù)量的包括在這個(gè)文檔中描述的結(jié)構(gòu)的方式來(lái)實(shí)現(xiàn)。一種這樣的方式是利用在這個(gè)文檔中所描述類型的設(shè)備的機(jī)器操作。另一種可選方式是結(jié)合一個(gè)或多個(gè)人類操作員來(lái)執(zhí)行這些方法的個(gè)別操作中的一個(gè)或多個(gè),其中人類操作員執(zhí)行其中的一些操作。這些人類操作員不必相互搭配,但是每一個(gè)能夠僅具有執(zhí)行程序的一部分的機(jī)器。圖10示出根據(jù)實(shí)施例的通過(guò)語(yǔ)音分段分組來(lái)壓縮預(yù)先保存的級(jí)聯(lián)成本數(shù)據(jù)的處理1000的邏輯流程圖。處理1000可以在任何計(jì)算設(shè)備中作為語(yǔ)音生成程序的一部分來(lái)實(shí)現(xiàn)。處理1000開(kāi)始于其中在TTS應(yīng)用上接收完全級(jí)聯(lián)矩陣的操作1010。該矩陣可以利用基于接收到的分段數(shù)據(jù)的應(yīng)用來(lái)計(jì)算或利用負(fù)責(zé)語(yǔ)音分段清單的另一應(yīng)用來(lái)提供。在操作1020,如前所述,確定這些分段的特征向量。這之后跟隨著操作1030,其中使用諸如結(jié)合圖3所描述的距離函數(shù)來(lái)應(yīng)用距離加權(quán)。在操作1040,這些分段被群集,以致于每一個(gè)分組內(nèi)的分段之間的平均距離被最小化。操作1040之后跟隨著操作1050,其中每一個(gè)分組的代表分段被選擇,以致于代表分段具有至同一分組內(nèi)的其他分段的最小平均距離。也可以采用選擇代表分段的替換方法,諸如中間或平均計(jì)算。代表分段形成壓縮的級(jí)聯(lián)成本矩陣,其可以將數(shù)據(jù)的大小減至(MxN元素的)原始矩陣的[n2/ (MxN)]。處理1000中包括的操作用于說(shuō)明目的。對(duì)于級(jí)聯(lián)成本采用預(yù)先保存的數(shù)據(jù)壓縮的TTS系統(tǒng)可以利用具有更少或附加步驟的類似操作以及采用使用本文描述的原理的操作的不同順序來(lái)實(shí)現(xiàn)。
上面的詳述、示例和數(shù)據(jù)提供實(shí)施例的組成的制造和使用的完整描述。雖然該主題利用特定于結(jié)構(gòu)特性和 /或方法動(dòng)作的語(yǔ)言進(jìn)行描述了,但是將明白在所附的權(quán)利要求書中定義的主題不一定限于上述的具體特性或動(dòng)作。相反,上述的具體特性和動(dòng)作被披露為實(shí)現(xiàn)這些權(quán)利要求和實(shí)施例的示例形式。
權(quán)利要求
1.一種將至少部分在計(jì)算設(shè)備中執(zhí)行的用于執(zhí)行級(jí)聯(lián)語(yǔ)音合成的方法,所述方法包括 基于級(jí)聯(lián)成本的矩陣,確定語(yǔ)音分段的特征向量; 基于特征向量,將距離加權(quán)應(yīng)用于每一個(gè)語(yǔ)音分段對(duì); 將語(yǔ)音分段群集成預(yù)定數(shù)量的分組,以致于每一個(gè)分組內(nèi)的語(yǔ)音分段之間的平均距離被最小化; 為每一個(gè)分組選擇代表語(yǔ)音分段;以及 基于代表語(yǔ)音分段,生成壓縮的級(jí)聯(lián)成本矩陣。
2.權(quán)利要求I的方法,進(jìn)一步包括 預(yù)先保存壓縮的級(jí)聯(lián)成本矩陣,用于合成語(yǔ)音中的實(shí)時(shí)計(jì)算。
3.權(quán)利要求I的方法,其中級(jí)聯(lián)成本的矩陣沿著在前語(yǔ)音分段軸和在后語(yǔ)音分段軸來(lái)構(gòu)造。
4.權(quán)利要求3的方法,其中在前語(yǔ)音分段與在后語(yǔ)音分段之間的級(jí)聯(lián)成本不同于在語(yǔ)音分段的順序被顛倒的情況下相同的語(yǔ)音分段之間的級(jí)聯(lián)成本。
5.權(quán)利要求I的方法,其中分組的數(shù)量基于以下的集合中的至少一個(gè)來(lái)確定語(yǔ)音分段的總數(shù);語(yǔ)音分段之間的距離;以及級(jí)聯(lián)成本數(shù)據(jù)的期望減少。
6.權(quán)利要求I的方法,其中每一個(gè)分組的代表語(yǔ)音分段基于每一個(gè)分組的中間級(jí)聯(lián)成本和平均級(jí)聯(lián)成本之一來(lái)選擇。
7.一種用于采用壓縮的級(jí)聯(lián)成本數(shù)據(jù)來(lái)生成語(yǔ)音的文本-語(yǔ)音(TTS)合成系統(tǒng),所述系統(tǒng)包括 語(yǔ)音分段數(shù)據(jù)存儲(chǔ)設(shè)備; 分析引擎;以及 語(yǔ)音合成引擎,其被配置成 確定每一個(gè)語(yǔ)音分段的特征向量,其中所述特征向量包括每一個(gè)語(yǔ)音分段與其他語(yǔ)音分段的級(jí)聯(lián)成本值; 基于每一個(gè)語(yǔ)音分段對(duì)各自的特征向量,將距離加權(quán)應(yīng)用于每一個(gè)語(yǔ)音分段對(duì);將語(yǔ)音分段群集成預(yù)定數(shù)量的分組,以致于每一個(gè)分組內(nèi)的語(yǔ)音分段之間的平均距離被最小化; 為每一個(gè)分組選擇代表語(yǔ)音分段,以致于代表語(yǔ)音分段與同一分組內(nèi)的其他語(yǔ)音分段之間的平均距離被最小化; 基于代表語(yǔ)音分段,生成壓縮的級(jí)聯(lián)成本矩陣;以及 預(yù)先保存壓縮的級(jí)聯(lián)成本矩陣,用于合成語(yǔ)音中的實(shí)時(shí)計(jì)算。
8.權(quán)利要求7的TTS系統(tǒng),其中每一個(gè)分組的代表語(yǔ)音分段進(jìn)一步基于中心重新估計(jì)來(lái)選擇。
9.權(quán)利要求8的TTS系統(tǒng),其中中心重新估計(jì)包括基于整個(gè)采樣的一部分來(lái)估計(jì)級(jí)聯(lián)成本值,以致于在語(yǔ)音分段數(shù)量是相對(duì)大的時(shí)候降低計(jì)算成本。
10.權(quán)利要求7的TTS系統(tǒng),其中語(yǔ)音分段數(shù)據(jù)存儲(chǔ)設(shè)備被配置成從以下之中的至少一個(gè)接收語(yǔ)音分段用戶輸入;以及預(yù)先記錄的語(yǔ)音模式的集合。
11.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)指令,用于采用壓縮的級(jí)聯(lián)成本數(shù)據(jù)來(lái)生成語(yǔ)音,所述指令包括 基于沿著在前語(yǔ)音分段軸和在后語(yǔ)音分段軸構(gòu)造的級(jí)聯(lián)成本的矩陣,確定語(yǔ)音分段的特征向量; 基于每一個(gè)語(yǔ)音分段對(duì)各自的特征向量,將距離加權(quán)應(yīng)用于每一個(gè)語(yǔ)音分段對(duì); 將語(yǔ)音分段群集成M個(gè)在前分段分組和N個(gè)在后分段分組,以致于每一個(gè)分組內(nèi)的語(yǔ)音分段之間的平均距離被最小化; 為每一個(gè)分組選擇代表語(yǔ)音分段; 生成壓縮的級(jí)聯(lián)成本矩陣,以致于利用各自的在前語(yǔ)音分段分組與在后語(yǔ)音分段分組的代表分段之間的級(jí)聯(lián)成本來(lái)近似兩個(gè)語(yǔ)音分段之間的級(jí)聯(lián)成本;以及 預(yù)先保存壓縮的級(jí)聯(lián)成本矩陣,用于合成語(yǔ)音中的實(shí)時(shí)計(jì)算。
12.權(quán)利要求11的計(jì)算機(jī)可讀介質(zhì),其中采用以下的距離函數(shù)來(lái)應(yīng)用距離加權(quán).........I Tl/ Cabs(ccljn — CCijll) * [K0 — (Crufl + cc/im)])2, -iWl = I 其中CCu是語(yǔ)音分段i與j之間的級(jí)聯(lián)成本,并且Ktl是預(yù)定義常數(shù)。
13.權(quán)利要求11的計(jì)算機(jī)可讀介質(zhì),其中每一個(gè)分組的代表語(yǔ)音分段基于以下之中的一個(gè)來(lái)選擇代表語(yǔ)音分段與同一分組內(nèi)的其他語(yǔ)音分段之間的平均距離的最小化;所述分組的中間級(jí)聯(lián)成本;以及所述分組的平均級(jí)聯(lián)成本。
14.權(quán)利要求11的計(jì)算機(jī)可讀介質(zhì),其中所述指令進(jìn)一步包括 基于以下的集合中的至少一個(gè)來(lái)確定M和N :語(yǔ)音分段的總數(shù);語(yǔ)音分段之間的距離;以及級(jí)聯(lián)成本數(shù)據(jù)的期望減少。
15.權(quán)利要求11的計(jì)算機(jī)可讀介質(zhì),其中預(yù)先保存的級(jí)聯(lián)數(shù)據(jù)的大小被減少[η2/(MxN)],其中η是語(yǔ)音分段的總數(shù)。
全文摘要
預(yù)先保存的級(jí)聯(lián)成本數(shù)據(jù)通過(guò)語(yǔ)音分段分組來(lái)壓縮。語(yǔ)音分段基于其與其他語(yǔ)音分段的級(jí)聯(lián)成本值被分配給預(yù)定義數(shù)量的分組。為每一個(gè)分組選擇代表分段。在不同分組中在兩個(gè)分段之間的級(jí)聯(lián)成本隨后可以利用其各自分組的代表分段之間的級(jí)聯(lián)成本來(lái)近似,從而減少將要預(yù)先保存的級(jí)聯(lián)成本數(shù)據(jù)的量。
文檔編號(hào)G10L13/08GK102822889SQ201180016984
公開(kāi)日2012年12月12日 申請(qǐng)日期2011年3月28日 優(yōu)先權(quán)日2010年4月5日
發(fā)明者宋慧成, 帳國(guó)亮, 翁志偉 申請(qǐng)人:微軟公司