專利名稱:使用語音波形并接的語音合成的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及合成語音或音樂的領(lǐng)域,更具體而不加限制地涉及文本到語音合成(text-to-speech synthesis)的領(lǐng)域。
文本到語音(text-to-speech)(TTS)合成系統(tǒng)的功能是用給定的語言從通用文本合成語音。當(dāng)今,TTS系統(tǒng)已經(jīng)被用在許多應(yīng)用的實(shí)際操作中,比如通過電話網(wǎng)絡(luò)接入數(shù)據(jù)庫或幫助殘障人士。一種合成語音的方法是通過并接(concatenation)語音子單元的記錄集合的元素,比如半音節(jié)或多音碼。大多數(shù)成功的商業(yè)系統(tǒng)使用了多音碼的并接。
多音碼包括兩個(gè)(雙音子)、三個(gè)(三音子)或多個(gè)音子,并可從無意義的詞通過將期望的編組的音子在穩(wěn)定的頻譜區(qū)域上分段而確定。在基于并接的合成中,兩個(gè)鄰接音子之間過渡的對(duì)話對(duì)于保證合成的語音質(zhì)量至關(guān)重要。將多音碼選擇為基本子單元,兩個(gè)鄰接音子之間過渡被保留在記錄的子單元中,并且在類似音子之間執(zhí)行并接。
但是在合成前,須修改音子的音長和音調(diào)以滿足包含這些音子的新的詞的節(jié)律約束(prosodic constraint)。該處理需要避免產(chǎn)生單調(diào)音響合成語音。在TSS系統(tǒng)中,該功能由節(jié)律模塊來執(zhí)行。為了允許在記錄的子單元中的音長和音調(diào)的修改,許多基于并接的TTS系統(tǒng)利用時(shí)域音調(diào)同步疊加(TD-PSOLA)(E.Moulines and F.Charpentier,“Pitch synchronous waveform processingtechniques for text-to-speech synthesis using diphones,”Speech Commum.,vol.9,pp.453-467,1990)合成模型。
在TD-PSOLA模型中,語音信號(hào)首先被提交給音調(diào)標(biāo)記算法。該算法在有聲的分段中的信號(hào)的峰值處分配標(biāo)記并在無聲的分段中相隔10ms分配標(biāo)記。該合成是由位于音調(diào)標(biāo)記中心上并從前一個(gè)音調(diào)標(biāo)記伸展到另一個(gè)音調(diào)標(biāo)記的Hanning窗口分段的疊加來完成。音長修改是通過刪除或復(fù)制窗口分段中的一些來被提供。在另一方面,音調(diào)周期修改是通過增加或減少窗口分段之間的疊加而被提供。
盡管在許多商業(yè)TTS系統(tǒng)中獲得成功,使用合成的TD-PSOLA模型產(chǎn)生的合成語音存在一些缺陷,主要對(duì)于大的節(jié)律變化存在一些缺陷。
該P(yáng)SOLA方法的例子在文件EP-0363233,US專利No.5,479,564,EP-0706170中定義。一個(gè)具體的例子也是MBR-POLA方法,如由T.Dutoit and H.Leich在Speech Communication,Elsevier Publisher,November 1993,vol.13,N.degree,3-4,1993中出版的。在文檔US專利No.5,479,564中描述的方法提出了通過疊加從該信號(hào)中提取的短期信號(hào)修改頻率的方法。用作獲取短期信號(hào)的加權(quán)窗口的長度近似等于音頻信號(hào)的周期的兩倍并且它們?cè)谥芷谥械奈恢每杀辉O(shè)置為任何值(只要在連續(xù)窗口之間的時(shí)間偏移等于音頻信號(hào)的周期)。US專利No.5,479,564還描述了在分段之間內(nèi)插波形用以并接,以便平滑不連續(xù)性。在現(xiàn)有技術(shù)的文本到語音系統(tǒng)中,預(yù)先錄制的語音片斷的集合可以以指定的順序被并接,用以將特定的文本轉(zhuǎn)換成自然發(fā)聲語音。使用較小語音片斷的文本到語音系統(tǒng)具有許多這樣的并接點(diǎn)。特別地,當(dāng)語音片斷在頻譜上不同時(shí),這些結(jié)合點(diǎn)產(chǎn)生降低可懂度的偽像。特別地,當(dāng)來自不同記錄時(shí)間的兩個(gè)語音分段將被并接時(shí),所得的語音可在兩個(gè)分段的結(jié)合點(diǎn)上不連續(xù)。例如,當(dāng)合成元音時(shí),左邊的部分幾乎都來自不同于右邊部分的記錄。這使得其不可能重現(xiàn)元音的精確音色。
共振峰軌道之間的輕微的差異產(chǎn)生在連接位置處的突然跳躍。在現(xiàn)有技術(shù)中通常為減少這個(gè)影響所做的是重新記錄語音片斷直到它與所剩片斷匹配或添加不同的版本(額外的片斷)以最小化該差異。
因此,本發(fā)明的目標(biāo)是提供改進(jìn)的合成語音信號(hào)的方法,所述語音信號(hào)具有至少第一雙音子和第二雙音子。本發(fā)明進(jìn)一步的目標(biāo)是提供對(duì)應(yīng)的計(jì)算程序產(chǎn)品和計(jì)算機(jī)系統(tǒng),特別是文本到語音系統(tǒng)。
本發(fā)明提供基于在它們的連接點(diǎn)上疊加的第一和第二雙音子信號(hào)合成語音信號(hào)的方法。本發(fā)明使能雙音子信號(hào)的平滑并接而沒有任何可聽見的偽像。這是通過將第一雙音子信號(hào)的末端間隔(endinterval)的周期以逆序附加在第一雙音子信號(hào)的末尾(end)和通過將第二雙音子信號(hào)的前端間隔(front interval)的周期附加在第二雙音子信號(hào)的開始而實(shí)現(xiàn)的。重疊末端和前端間隔以產(chǎn)生平滑過渡。
根據(jù)本發(fā)明的的實(shí)施例,第一和第二雙音子信號(hào)的末端和前端間隔由一個(gè)標(biāo)記器識(shí)別。優(yōu)選地,末端和前端間隔包含幾乎穩(wěn)定的周期,即具有近似相同信息內(nèi)容和信號(hào)形式的周期。該末端和前端間隔可由人類專家或由對(duì)應(yīng)計(jì)算機(jī)程序識(shí)別。優(yōu)選地,如果由人類專家對(duì)增加的精確度進(jìn)行復(fù)核,通過計(jì)算機(jī)程序和所得結(jié)果執(zhí)行第一次分析。
根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,不附加末端間隔的最后周期和前端間隔的首個(gè)周期。這具有優(yōu)點(diǎn)通過兩個(gè)同樣周期的緊接重復(fù)而在信號(hào)中沒有引入周期性。
根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,分別通過信號(hào)漸弱(fade-out)和信號(hào)漸強(qiáng)(fade-in)窗口的方式對(duì)末端和前端間隔以及對(duì)相應(yīng)附加的周期執(zhí)行窗口化操作。優(yōu)選地,升余弦窗口函數(shù)被用于有聲末端間隔和附加的周期,而用作信號(hào)漸弱窗口的正弦窗口被用于無聲的末端間隔和附加的周期。同樣,升余弦被用作用于光滑第二雙音子的有聲分段的開始或無聲分段的正弦窗口的窗口函數(shù)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,對(duì)于用作重疊的間隔執(zhí)行音長適配。特別地,如果間隔具有不同的音長,這對(duì)于避免引入突然的信號(hào)過渡是有益的。
根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,通過根據(jù)本發(fā)明的原理并接雙音子來執(zhí)行文本到語音的處理。通過這種方式可產(chǎn)生自然發(fā)音語音輸出。
本發(fā)明不限制于雙音子的并接,而且還能被有利地應(yīng)用于其他諸如三音子、多音碼或詞的其他語音單元的并接,注意到這一點(diǎn)是重要的。
參考下列附圖更詳細(xì)的描述本發(fā)明的實(shí)施例,其中
圖1描述本發(fā)明的一個(gè)方法的優(yōu)選實(shí)施例的流程圖,圖2描述在原始雙音子信號(hào)的前端和后端處交替重復(fù)的周期。
圖3描述信號(hào)合成的例子,和圖4描述文本到語音系統(tǒng)的實(shí)施例的框圖。
圖1顯示說明本發(fā)明的一個(gè)方法的優(yōu)選實(shí)施例的流程圖。在步驟100中,提供第一雙音子信號(hào)A。該雙音子信號(hào)A具有至少一個(gè)識(shí)別雙音子信號(hào)A的末端間隔的標(biāo)記器。
在步驟102中,在雙音子信號(hào)A的末端間隔內(nèi)按逆序重復(fù)周期,以便提供附加在末端間隔的末尾(end)的信號(hào)漸弱間隔。在步驟104中,末端間隔以及其所附的信號(hào)漸弱間隔通過信號(hào)漸弱窗口函數(shù)被窗口化,以便在雙音子信號(hào)的末端光滑地信號(hào)漸弱該雙音子信號(hào)。同樣,在步驟106提供雙音子信號(hào)B。該雙音子信號(hào)B具有至少一個(gè)關(guān)聯(lián)的標(biāo)記器,以識(shí)別雙音子信號(hào)B的首個(gè)分段。在步驟108,至少一些前端間隔周期以逆序被附加在雙音子信號(hào)B的前端間隔的開頭。通過這種方式,提供了信號(hào)漸強(qiáng)間隔。在步驟110,前端間隔和所附的信號(hào)漸強(qiáng)間隔通過信號(hào)漸強(qiáng)窗口的方式被窗口化。通過這種方式,提供了雙音子信號(hào)B的平滑的開頭。在步驟112,執(zhí)行音長適配。這意味著雙音子信號(hào)A和B的末端和前端間隔的音長被修改,使得末端和信號(hào)漸強(qiáng)間隔具有相同的音長。同樣,對(duì)信號(hào)漸弱和前端間隔的音長進(jìn)行適配。在步驟114中,對(duì)具有處理過的末端和信號(hào)漸強(qiáng)間隔以及信號(hào)漸弱和前端間隔的雙音子信號(hào)A和B執(zhí)行重疊和相加操作。通過這種方式,完成雙音子信號(hào)A和B的平滑并接。對(duì)于有聲分段,優(yōu)選地使用下列升余弦窗口函數(shù)w[n]=0.5-0.5cos(π·(n+0.5)m),0≤n<m]]>其中,m是平滑范圍中的周期的總數(shù)。
對(duì)于無聲分段,使用正弦窗口w[n]=sin(0.5·π·(n+0.5)m),0≤n<m]]>使用正弦窗口的優(yōu)點(diǎn)是這保證了在功率域中的總信號(hào)包絡(luò)保持恒定。不用于周期信號(hào),當(dāng)附加兩個(gè)噪聲樣本時(shí),總和可小于兩個(gè)樣本中任意一個(gè)的絕對(duì)值。這是因?yàn)樾盘?hào)(基本)不同相。正弦窗口調(diào)整了這個(gè)影響并且移除包絡(luò)調(diào)制。
圖2說明按逆序附加間隔周期的處理(比較圖1的步驟102和108)。時(shí)間軸200說明了雙音子信號(hào)A的時(shí)域。雙音子信號(hào)A具有末端間隔202,其包括周期p1,p2...pi...pN-1,pN。為了提供信號(hào)漸弱間隔204,末端間隔202的周期pi按逆序被附加在末端間隔202的末尾。不附加末端間隔202的最后周期pN,以避免兩個(gè)相同周期的重復(fù),該重復(fù)將引入不期望的周期性。這樣的周期性在特定的環(huán)境下能變?yōu)榭陕犚姷?。因此?yōu)選地,不重復(fù)末端間隔202的最后周期pN。通過拷貝周期pN-1的信號(hào)來提供信號(hào)漸弱間隔204的首個(gè)周期p’1??傊?,通過附加來自末端間隔202的周期pN-j來提供信號(hào)漸弱間隔204的周期p’j,即p’j=pN-j。時(shí)間軸206是雙音子信號(hào)B時(shí)域的說明。雙音子信號(hào)B具有包含周期P1,P2...Pi...PN-1,PN的前端間隔208。通過將來自前端間隔208的周期以逆序附加在前端間隔208的開頭來提供信號(hào)漸強(qiáng)間隔210。并且優(yōu)選地,不附加前端間隔208的首個(gè)周期P1,以避免引入不期望的周期性。在一般的情況下,信號(hào)周期P’j是從前端間隔208的周期PN-j+1獲得的,P’j=PN-j+1。為了并接雙音子信號(hào)A和雙音子信號(hào)B,重疊并相加末端間隔202和信號(hào)漸強(qiáng)間隔210以及信號(hào)漸弱間隔204和前端間隔210。在這里考慮到的本例中,這可以不經(jīng)過適配相應(yīng)間隔的音長來完成,因?yàn)槟┒碎g隔202和信號(hào)漸強(qiáng)間隔210的音長以及信號(hào)漸弱間隔204和前端間隔210的音長相等。
圖3顯示單詞“young”的各個(gè)合成步驟的例子。該單詞是由音素/j/,/V/,/N/組成,并且靜音/-/.a)和b)是記錄的無意義的詞,這些無意義的詞包含來自/j/到/V/和/V/到/N/的過渡。在每個(gè)無意義的詞內(nèi)放置5個(gè)標(biāo)記器。外面的標(biāo)記器是雙音子邊界(標(biāo)簽j-,-V,V-和-N)。在中間的標(biāo)記器顯示新的音素開始之處(標(biāo)簽V和N)。使用其他標(biāo)簽標(biāo)記將用作疊加的分段。如圖3的圖(c)中所示的那樣,末端間隔300的周期安逆序重復(fù),以提供信號(hào)漸弱的間隔302。末端間隔300內(nèi)所有的周期在周期304之后附加,周期304是末端間隔300的最后周期。不附加周期304本身,以避免可引入不期望的周期性的相同周期的重復(fù)。同樣對(duì)于如圖3的圖(b)的雙音子信號(hào),在前端間隔306內(nèi)的周期以逆序被附加在前端間隔306的開頭。這應(yīng)用于前端間隔306的所有周期,除了前端間隔306的開頭處的首個(gè)周期310。并且,不附加周期310,以避免可以引入不期望的周期性的兩個(gè)連續(xù)的相同周期。同樣的處理可以用作圖(a)的雙音子信號(hào)的前端間隔312和圖(b)的雙音子信號(hào)的末端間隔314。另外,為了合成單詞“young”,相同的途徑可進(jìn)一步應(yīng)用于要求被并接的雙音子。接著,平滑的窗口可應(yīng)用于前端、末端、信號(hào)漸弱和信號(hào)漸強(qiáng)間隔。對(duì)于有聲分段,升余弦被優(yōu)選地用作窗口函數(shù)。下列窗口函數(shù)被用于信號(hào)漸弱和信號(hào)漸強(qiáng)間隔
w[n]=0.5-0.5cos(π·(n+0.5)m),0≤n<m]]>其中,m是平滑范圍中的周期的總數(shù)。對(duì)應(yīng)的升余弦顯示為圖(d)中的升余弦316。對(duì)應(yīng)的窗口函數(shù)被用作向末端和信號(hào)漸弱間隔300和302提供升余弦318。如在圖(e)中說明的,待重疊和相加的間隔,即間隔300/308和間隔302/306被重定比例,以便使它們的長度相等。要求的雙音子的下列疊加提供單詞“young”的合成。
圖4顯示計(jì)算機(jī)系統(tǒng)400的框圖,其是一個(gè)文本到語音系統(tǒng)。計(jì)算系統(tǒng)400具有用于存儲(chǔ)雙音子以及指示前端和末端間隔的雙音子的標(biāo)記器的模塊402。模塊404用于按逆序重復(fù)包含在末端和前端間隔內(nèi)的周期,以提供信號(hào)漸強(qiáng)和信號(hào)漸弱間隔。模塊406用于提供為了平滑的目的而窗口化末端/信號(hào)漸弱和信號(hào)漸強(qiáng)/前端間隔的窗口函數(shù)。模塊408用于待疊加的間隔的音長適配。如果待疊加的間隔長度不等,就要求音長適配。模塊410用于疊加末端/信號(hào)漸強(qiáng)和信號(hào)漸弱/前端間隔,以便并接它們要求的雙音子。當(dāng)文本被輸入到計(jì)算機(jī)系統(tǒng)400,從模塊402選擇待并接的要求的雙音子。在通過模塊410的方式重疊和相加這些雙音子之前,通過模塊404、406和408的方式處理這些雙音子,這得到要求的合成語音信號(hào)。
權(quán)利要求
1.一種合成語音信號(hào)的方法,所述語音信號(hào)具有至少第一語音單元和第二語音單元,該方法包括步驟-提供第一語音單元信號(hào),所述第一語音單元信號(hào)具有末端間隔,-提供第二語音單元信號(hào),所述第二語音單元信號(hào)具有前端間隔,-將末端間隔的周期的至少一些按逆序附加在第一語音單元信號(hào)的末尾,以提供信號(hào)漸弱間隔,-將前端間隔的周期的至少一些按逆序附加在第二語音單元信號(hào)的開頭,以提供信號(hào)漸強(qiáng)間隔,-將末端和信號(hào)漸強(qiáng)間隔以及信號(hào)漸弱和前端間隔疊加。
2.權(quán)利要求1的方法,其中末端和前端間隔具有幾乎穩(wěn)定的周期。
3.權(quán)利要求1或2的方法,末端和前端間隔由標(biāo)記器標(biāo)記。
4.權(quán)利要求1或2或3的方法,其中不附加末端間隔的最后周期和前端間隔的首個(gè)周期。
5.權(quán)利要求1到4的任何一個(gè)的方法,進(jìn)一步包括用信號(hào)漸弱窗口窗口化末端和/或信號(hào)漸弱間隔。
6.權(quán)利要求5的方法,其中升余弦函數(shù)被用作信號(hào)漸弱窗口。
7.權(quán)利要求6的方法,其中下列窗口函數(shù)被用作有聲間隔w[n]=0.5-0.5cos(π·(n+0.5)m),0≤n<m]]>其中,m是平滑范圍中的周期的總數(shù)。
8.權(quán)利要求5的方法,其中正弦函數(shù)被用作無聲間隔的信號(hào)漸弱窗口。
9.權(quán)利要求8的方法,其中使用下列窗口函數(shù)w[n]=sin(0.5·π·(n+0.5)m),0≤n<m]]>其中,m是平滑范圍中的周期的總數(shù)。
10.權(quán)利要求1到9的任何一個(gè)的方法,第一和第二語音單元是雙音子和/或三音子和/或多音碼,特別的為詞。
11.權(quán)利要求1到10的任何一個(gè)的方法,進(jìn)一步包括適配末端和信號(hào)漸強(qiáng)間隔以及信號(hào)漸弱和前端間隔的音長。
12.權(quán)利要求1到11的任何一個(gè)的方法,其中通過重疊和相加操作合成語音信號(hào)。
13.計(jì)算機(jī)程序產(chǎn)品,特別的為數(shù)字存儲(chǔ)介質(zhì),包括用于合成語音信號(hào)的程序裝置,所述語音信號(hào)具有至少第一語音單元和第二語音單元,該程序裝置適于執(zhí)行步驟-提供第一語音單元信號(hào),所述第一語音單元信號(hào)具有末端間隔,-提供第二語音單元信號(hào),所述第二語音單元信號(hào)具有前端間隔,-將末端間隔的周期的至少一些按逆序附加在第一語音單元信號(hào)的末尾,以提供信號(hào)漸弱間隔,-將前端間隔的周期的至少一些按逆序附加在第二語音單元信號(hào)的開頭,以提供信號(hào)漸強(qiáng)間隔,-將末端和信號(hào)漸強(qiáng)間隔以及信號(hào)漸弱和前端間隔疊加。
14.計(jì)算機(jī)系統(tǒng),特別為文本到語音系統(tǒng),用于合成語音信號(hào),所述語音信號(hào)具有至少第一語音單元和第二語音單元,該計(jì)算機(jī)系統(tǒng)包括-存儲(chǔ)第一語音單元信號(hào)和第二語音單元信號(hào)的裝置,所述第一語音單元信號(hào)具有末端間隔,所述第二語音單元信號(hào)具有前端間隔,-將末端間隔的周期的至少一些按逆序附加在第一語音單元信號(hào)的末尾以提供信號(hào)漸弱間隔的裝置,-將前端間隔的周期的至少一些按逆序附加在第二語音單元信號(hào)的開頭以提供信號(hào)漸強(qiáng)間隔的裝置,-將末端和信號(hào)漸強(qiáng)間隔以及信號(hào)漸弱和前端間隔疊加的裝置。
全文摘要
本發(fā)明涉及一種合成語音信號(hào)的方法,所述語音信號(hào)具有至少第一語音單元和第二語音單元,該方法包括步驟提供第一語音單元信號(hào),所述第一語音單元信號(hào)具有末端間隔;提供第二語音單元信號(hào),所述第二語音單元信號(hào)具有前端間隔;將末端間隔的周期的至少一些按逆序附加在第一語音單元信號(hào)的末尾,以提供信號(hào)漸弱間隔;將前端間隔的周期的至少一些按逆序附加在第二語音單元信號(hào)的開頭以提供信號(hào)漸強(qiáng)間隔;將末端和信號(hào)漸強(qiáng)間隔以及信號(hào)漸弱和前端間隔疊加。
文檔編號(hào)G10L13/06GK1682275SQ03822002
公開日2005年10月12日 申請(qǐng)日期2003年8月8日 優(yōu)先權(quán)日2002年9月17日
發(fā)明者E·F·吉吉 申請(qǐng)人:皇家飛利浦電子股份有限公司