專利名稱:用于語音合成的文本結(jié)構(gòu)、語音合成方法、語音合成設(shè)備及其計算機(jī)程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及從揚聲器將輸入的句子(文本)作為合成語音輸出的語音合成設(shè)備的技術(shù)領(lǐng)域。
背景技術(shù):
已經(jīng)提出過將輸入的句子(文本)作為合成語音(合成聲音,合成話語)從揚聲器輸出的語音合成設(shè)備。
為了用這樣的設(shè)備從文本產(chǎn)生表達(dá)豐富的合成語音,必須給定關(guān)于力度、速度、音調(diào)等的控制信息,以便作為聽者的用戶能夠聽到自然的語音。
為此,即使基于包含在文本字符串中的預(yù)定規(guī)則輸出合成語音時,也嘗試向該文本添加所需的語言信息。
在這種情況下,被賦予該文本的附加信息使用這樣的格式使用標(biāo)記限定附加信息的邊界,所述標(biāo)記例如表示為“<>”,就如在所謂的HTML(超文本標(biāo)記語言)中使用的標(biāo)記那樣。并且提出了一種使用這些標(biāo)記的控制與輸入的文本對應(yīng)的合成語音音調(diào)的方法。
但是,在這種傳統(tǒng)的標(biāo)記方法中,由于對各離散單元比如句子、單詞等設(shè)置標(biāo)記以設(shè)置預(yù)定的固定值,要被實際輸出的合成語音只是被施加了離散的變化,而該方法的目的本來是要輸出與輸入文本中的各種字符和單詞對應(yīng)的合成語音,同時連續(xù)地改變適當(dāng)?shù)恼Z調(diào)。結(jié)果,對于聽者來說合成語音并不自然。
作為一種連續(xù)改變語音的特定語調(diào)的技術(shù),日本專利公開No.9-244693提出了一種語音變態(tài)方法。但是,使用這種方法,只能對音調(diào)模式進(jìn)行內(nèi)插。
另外,使用這些方法,當(dāng)要連續(xù)改變輸入文本中由標(biāo)記限定的部分的合成語音時,必須充分地分配標(biāo)記,以改變合成語音的各點。這樣,標(biāo)記操作很麻煩,因而只能獲得離散的變化。
發(fā)明內(nèi)容
本發(fā)明的提出就是為了解決上述傳統(tǒng)中的問題,目的在于連續(xù)和容易地改變所需范圍內(nèi)的合成語音的特征。
為了實現(xiàn)上述目的,本發(fā)明的語音合成方法的特征在于以下方案。也就是,提供了一種用于合成語音波形的語音合成方法,以在輸出對應(yīng)于輸入的文本的合成語音時,連續(xù)地改變包括在輸入的文本中、被分配了預(yù)定標(biāo)識符的范圍的合成語音的特征,該方法的特征在于包括設(shè)置步驟,使用預(yù)定的包括屬性信息的標(biāo)識符設(shè)置要輸出的文本的所需范圍,在該范圍中的合成語音的特征要被連續(xù)地改變,所述屬性信息表示合成語音的所述特征的變化模式;識別步驟,從帶有在所述設(shè)置步驟設(shè)置的標(biāo)識符的文本識別所述預(yù)定標(biāo)識符以及包含在該預(yù)定標(biāo)識符中的屬性信息的類型;以及語音合成步驟,根據(jù)所述識別步驟的識別結(jié)果,對帶有所述標(biāo)識符的文本在所需范圍內(nèi)的文本所對應(yīng)的合成語音進(jìn)行內(nèi)插,從而根據(jù)包含在所述預(yù)定標(biāo)識符中的屬性信息合成具有連續(xù)變化的合成語音特征的語音波形。
在一個優(yōu)選實施例中,包含在所述預(yù)定標(biāo)識符中的所述屬性信息表示在所述標(biāo)識符設(shè)置的所述范圍的開始位置處,合成語音的特征的變化模式,以及在結(jié)束位置處合成語音的特征的變化模式。
例如,由所述屬性信息表示的合成語音的特征的變化模式是下述中的至少一個音量的變化,發(fā)話者的變化,輸出設(shè)備的變化,發(fā)話者數(shù)目的變化,情緒的變化,語速的變化,以及基頻的變化。
例如,語音合成步驟包括下述步驟基于預(yù)定標(biāo)識符所包含的與標(biāo)識符設(shè)置的范圍的開始和結(jié)束位置相關(guān)的屬性信息,以及所述開始位置之前合成語音的特征的模式,產(chǎn)生所需范圍內(nèi)文本所對應(yīng)的合成語音。
更具體地說,所述語音合成步驟最好包括下述步驟根據(jù)被設(shè)置為與開始位置和結(jié)束位置相關(guān)的屬性信息的表示語速的值與表示所述開始位置之前的語速的值的比,產(chǎn)生與所需范圍內(nèi)的文本對應(yīng)的合成語音,或者根據(jù)被設(shè)置為與開始位置和結(jié)束位置相關(guān)的屬性信息的表示音量的值與表示所述開始位置之前的音量的值的比,產(chǎn)生與所需范圍內(nèi)的文本對應(yīng)的合成語音。
或者,為了達(dá)到上述目的,提供了一種用于語音合成的文本結(jié)構(gòu),其中,分配預(yù)定的標(biāo)識符,以改變要通過語音合成輸出的文本的所需范圍的合成語音的特征,其特征在于所述預(yù)定標(biāo)識符包含表示連續(xù)改變所述合成語音特征時的變化模式的屬性信息。
注意,上述目的還可以由對應(yīng)于具有上述方案的語音合成方法的語音合成設(shè)備實現(xiàn)。另外,上述目的還可以由使得計算機(jī)實現(xiàn)具有上述結(jié)構(gòu)的語音合成方法或者設(shè)備的程序代碼實現(xiàn),或者由存儲所述程序代碼的計算機(jī)可讀存儲介質(zhì)實現(xiàn)。
結(jié)合附圖閱讀下面的說明可以知道本發(fā)明的其它特征和優(yōu)點。在附圖中,相同的附圖標(biāo)記表示相同或者類似的部件。
附圖構(gòu)成說明書的一部分,用于圖示本發(fā)明的實施例,并與說明書一起用來說明本發(fā)明的原理。
圖1是第一實施例的語音合成設(shè)備的框圖;圖2是被賦予文本的標(biāo)記的示例;圖3A和3B是表示第一實施例的語音合成設(shè)備的控制過程的流程圖;圖4的曲線圖用于解釋在輸出合成語音時對語速進(jìn)行內(nèi)插的一個例子;圖5的曲線圖用于解釋在輸出合成語音時對音量進(jìn)行內(nèi)插的一個例子;圖6的曲線圖用于解釋在輸出合成語音時對發(fā)話者數(shù)量進(jìn)行內(nèi)插的一個例子;圖7是第二實施例中被分配了文本的標(biāo)記的示例;圖8是第三實施例中被分配了文本的標(biāo)記的示例;圖9是表示第三實施例的語音合成設(shè)備的控制過程的流程圖;圖10是第四實施例中被分配了文本的標(biāo)記的示例;圖11是第五實施例中被分配了文本的標(biāo)記的示例;圖12是表示第五實施例的語音合成設(shè)備的控制過程的流程圖;圖13是第六實施例中被分配了文本的標(biāo)記的示例;具體實施方式
下面結(jié)合附圖詳細(xì)描述本發(fā)明的優(yōu)選實施例。
(第一實施例)下面結(jié)合圖1簡要說明根據(jù)本實施例的語音合成設(shè)備的結(jié)構(gòu)。
圖1是第一實施例的語音合成設(shè)備的框圖。作為可以采用的硬件,可以使用通用信息處理設(shè)備比如個人計算機(jī)或者類似設(shè)備。
見圖1,該設(shè)備包括用于產(chǎn)生文本體的文本產(chǎn)生模塊101,以及通過在該文本的所需位置插入預(yù)定標(biāo)記來產(chǎn)生被標(biāo)記文本103的標(biāo)記產(chǎn)生模塊102,與要作為語音被輸出的被標(biāo)記文本的產(chǎn)生相關(guān)聯(lián),該標(biāo)記產(chǎn)生模塊還產(chǎn)生這些標(biāo)記中的屬性。該文本產(chǎn)生模塊101基于各種信息源比如郵件消息、新聞文章、雜志、印刷書籍等來產(chǎn)生文本。在這種情況下,用于寫入標(biāo)記和文本的編輯軟件沒有特別的限制。
注意,所謂“模塊”指的是由本實施例的語音合成設(shè)備的硬件執(zhí)行的軟件程序的功能單元。
注意,所述文本產(chǎn)生模塊101和標(biāo)記產(chǎn)生模塊102既可以是語音合成設(shè)備本身的外部模塊,也可以是其內(nèi)部模塊。
被標(biāo)記文本103通過通信線路或者便攜式存儲介質(zhì)(CD-R或者類似設(shè)備)被輸入到文本輸入模塊104中。被輸入到所述文本輸入模塊104的被標(biāo)記文本103的文本部分由文本分析模塊105加以分析,其標(biāo)記部分由標(biāo)記分析模塊106加以分析。另外,在本實施例中,由標(biāo)記屬性分析模塊107對包含在標(biāo)記中的屬性信息加以分析(詳述見后)。
語言處理模塊108參考預(yù)先存儲了語言信息的語言詞典110處理輸出語音所需的語言信息(例如重音或者類似信息)。語言合成模塊109參考預(yù)先存儲了語調(diào)音素(prosodic phoneme)或者類似信息的語調(diào)模型/波形詞典111,產(chǎn)生表示要實際輸出的語音的合成波形,并基于所述合成波形從揚聲器(未圖示)輸出合成語音。
下面描述本實施例的特征結(jié)構(gòu)。
所述標(biāo)記產(chǎn)生模塊102在文本產(chǎn)生模塊101產(chǎn)生的文本中插入預(yù)定標(biāo)記和屬性。在這個例子中,標(biāo)記可以插入到用戶選擇的位置,并可以被分配給合成語音的特征需要象圖像處理中的所謂變態(tài)(變形,過渡,morphing)那樣平滑變化的部分。在每一個標(biāo)記中,可以寫入稱為屬性的附加信息(屬性信息)。更具體地,可以將預(yù)定標(biāo)記“<morphing...>”和“</morphing>”分配給文本(其中排列字符和單詞)的合成語音特征需要平滑變化的部分的開始點和結(jié)束點,并在每一個標(biāo)記中寫入屬性信息,所述屬性信息表示要連續(xù)改變合成語音特征的對象,換句話說,是寫入連續(xù)改變所述合成語音特征時的變化模式。
在本實施例中,合成語音特征的變化不僅包括語音的所謂語調(diào),還包括發(fā)話者、發(fā)話者數(shù)量、情緒等。
注意,用戶在生成文本時寫入屬性信息。還有,用戶設(shè)置標(biāo)記和標(biāo)記中的各種屬性。注意,標(biāo)記或者屬性值也可以由多功能編輯器等自動地或者半自動地設(shè)置。
嵌在每一個標(biāo)記中的屬性信息是表示合成語音特征的,與例如音量、發(fā)話者、輸出設(shè)備、發(fā)話者數(shù)量、情緒、語速、基頻等相關(guān)的信息。另外,也可以使用在輸出合成語音時可以連續(xù)變化(在本實施例中稱為“變態(tài)”(morphing))的其它事項。設(shè)置在文本中的開始點和結(jié)束點標(biāo)記可以具有相同或者不同的屬性信息種類。當(dāng)開始點和結(jié)束點具有相同的屬性信息時,在實際輸出合成語音時,根據(jù)開始點標(biāo)記設(shè)置的屬性信息輸出語音,不改變與該屬性信息相關(guān)的任何合成語音特征。
如果屬性是音量,則嵌在每一標(biāo)記中的屬性信息對應(yīng)的值是一個數(shù)字值。如果屬性是發(fā)話者,則可以指定男性或者女性,或者發(fā)話者的標(biāo)識號(ID)。
圖2圖示了被分配給文本的標(biāo)記的一個例子。在該例子中,要連續(xù)改變合成語音特征的范圍對應(yīng)于開始標(biāo)記″<morphing...>″和結(jié)束標(biāo)記″</morphing>″所限定的范圍。開始標(biāo)記″<morphing...>″中的屬性描述作為要連續(xù)改變合成語音特征的對象的情緒(emotion),在開始點(start)的情緒(happy),以及在結(jié)束點(end)的情緒(angry)。這樣,當(dāng)實際輸出該文本的合成語音時,當(dāng)說出所述標(biāo)記限定的句子時,輸出的語音逐漸從愉快(happy)的語音變化到憤怒(angry)的語音。
本實施例的語音合成設(shè)備的文本輸入模塊104接收如上所述被分配了標(biāo)記的被標(biāo)記文本103,所述文本分析模塊105根據(jù)輸入的被標(biāo)記文本103的格式和文本標(biāo)題字段(header field)中的信息獲取與文本的類型、內(nèi)容等相關(guān)的信息。
所述標(biāo)記分析模塊106確定嵌在輸入的被標(biāo)記文本103中的標(biāo)記的類型。標(biāo)記屬性分析模塊107分析在標(biāo)記中描述的屬性和屬性值。
所述語言處理模塊108和語音合成模塊109基于所述標(biāo)記屬性分析模塊107獲取的屬性值,將從所述語調(diào)模型/波形詞典111讀出的數(shù)據(jù)處理為對應(yīng)于所述文本分析模塊105所分析的文本的音素,從而產(chǎn)生要輸出的語音波形,并根據(jù)該語音波形輸出合成語音(注意,基于屬性值的處理在下面描述)。
下面結(jié)合圖3A和圖3B說明用標(biāo)記分析模塊106提取″<morphing>...</morphing>″標(biāo)記中的屬性值的方法。
圖3A和圖3B是表示第一實施例的語音合成設(shè)備的控制過程的流程圖,也就是要由該設(shè)備的CPU(未圖示)執(zhí)行的處理的序列。
現(xiàn)在看圖3A和圖3B。由文本分析模塊105、標(biāo)記分析模塊106和標(biāo)記屬性分析模塊107對文本輸入模塊104輸入的被標(biāo)記文本103進(jìn)行文本分析、標(biāo)記分析和標(biāo)記屬性分析(步驟S301到S303)。
檢查開始標(biāo)記″<morphing...>″是否包括對象以及開始和結(jié)束點(步驟S304)。首先檢查是否包括要變態(tài)(be morphed)的屬性值。如果沒有找到要變態(tài)的屬性值,則根據(jù)在該標(biāo)記之前朗讀句子的語音來朗讀由所述開始和結(jié)束標(biāo)記限定的字符和單詞(步驟S305)。相反,如果找到了要變態(tài)的屬性值,則檢查是否找到了開始和結(jié)束點的任一屬性(步驟S306)。如果開始和結(jié)束點都沒有屬性,則使用一種根據(jù)要變態(tài)的默認(rèn)屬性值的合成音調(diào)讀出由所述開始和結(jié)束標(biāo)記限定的字符和單詞(步驟S307)。所述要變態(tài)的默認(rèn)屬性值是預(yù)先設(shè)置的。另一方面,如果開始或者結(jié)束點具有屬性值,則檢查是否是開始點的屬性值(步驟S308)。如果不是開始點的屬性值,則檢查結(jié)束點的屬性值和要被變態(tài)的屬性值是否匹配,從而判斷它們是否有效(匹配)(步驟S309)。如果兩個值匹配,則使用結(jié)束點的屬性值(步驟S311)。在步驟S309,例如,如果要被變態(tài)的對象是音量,則檢查結(jié)束點的屬性值是否是音量值,如果匹配的話,則基于結(jié)束點的信息讀出開始標(biāo)記和結(jié)束標(biāo)記所限定的字符和單詞;如果不匹配,則用與對象的屬性值對應(yīng)的預(yù)先準(zhǔn)備的默認(rèn)合成音調(diào)來讀出開始和結(jié)束標(biāo)記所限定的字符和單詞(步驟S310)。
如果在步驟S308判定開始點具有一個屬性值,并且結(jié)束點沒有屬性值,則根據(jù)開始點的屬性值讀出文本(步驟S312,步驟S315)。在這種情況下,類似地檢查對象的有效性,如果兩個值匹配,則根據(jù)開始點的屬性值讀出文本(步驟S313,步驟S314)。
如果開始點和結(jié)束點都有屬性值,并且它們針對對象的值是有效的(匹配),則基于所述屬性值進(jìn)行內(nèi)插之后輸出合成音調(diào)(步驟S316,S320)。也就是,如果對象是音量,則僅當(dāng)開始點和結(jié)束點都采用了音量值時才判定開始點和結(jié)束點的屬性值是有效的。例如,如果開始點和結(jié)束點的屬性值不同(例如,開始點是音量值,結(jié)束點是情緒),則使用與對象匹配的屬性值(步驟S317,步驟S319)。如果開始和結(jié)束點的屬性值不同,并且也不同于要變態(tài)的對象,則用對應(yīng)于對象的屬性值的默認(rèn)合成音調(diào)讀出由所述開始和結(jié)束標(biāo)記所限定的字符和單詞(步驟S318)。當(dāng)被檢查的標(biāo)記具有不同的屬性值時,語音輸出的優(yōu)先順序是″對象(object)″>″開始點(start point)″>″結(jié)束點(end point)″。
下面結(jié)合圖4描述基于屬性值進(jìn)行的作為語音生成的序列的內(nèi)插。
圖4是一個曲線圖,用于解釋對輸出合成語音時的語速進(jìn)行內(nèi)插的例子。
作為內(nèi)插方法的一種例子,當(dāng)要對語速進(jìn)行內(nèi)插時,根據(jù)要輸出的文本計算輸出全文本(圖4中的a,i,u,e)的波形所需的時間,還計算構(gòu)成該文本的各音素的時間長度t。在本實施例中,由于預(yù)先在語調(diào)模型/波形詞典111中登記了標(biāo)準(zhǔn)語音模型和語音波形,可以通過計算從所述語調(diào)模型/波形詞典111讀出的合成語音的輸出所需的各音素(圖4中的a,i,u,e)的時間長度t的和,來計算要輸出的全文本的波形的輸出所需的時間。
然后,計算被設(shè)置為開始和結(jié)束點的屬性值的值和當(dāng)前語速之間的比r。在這種情況下,如果被設(shè)置為開始點和結(jié)束點的屬性值的值等于當(dāng)前速度,由于r=1,就不需要進(jìn)行該內(nèi)插過程。
基于計算出的比值,通過“內(nèi)插值=t×r”來計算每一個音素的內(nèi)插函數(shù)。通過根據(jù)計算出的內(nèi)插值來縮短或者延遲波形的時間長度來改變語速?;蛘撸梢赃M(jìn)行一個改變與每一個音素的特定特征部分對應(yīng)的時間長度的過程。
在進(jìn)行音量的內(nèi)插時,象在語速的內(nèi)插中一樣,根據(jù)該文本使用構(gòu)成要輸出的文本(圖5中的a,i,u,e)的各音素的時間長度t。然后,計算被設(shè)置為開始和結(jié)束點的屬性值的值和當(dāng)前音量之間的比r’。
圖5是用于解釋輸出合成語音時音量的內(nèi)插的曲線圖。在圖5中,用“內(nèi)插值=f×r’”來計算內(nèi)插函數(shù)。注意,f是從音素/波形詞典111獲得的合成語音波形的幅度。
根據(jù)計算出來的內(nèi)插值,減小或者擴(kuò)展幅度f。也可以不改變幅度,采用直接改變輸出硬件的音量的方法。同樣的方法適用于基頻。
另外,通過對情緒或者發(fā)聲風(fēng)格進(jìn)行內(nèi)插,可以對被設(shè)置為要輸出的文本的開始和結(jié)束點的屬性值的值所對應(yīng)的語音合成數(shù)據(jù)進(jìn)行內(nèi)插,從而產(chǎn)生合成語音。
例如,在一種基于波形編輯方法比如PSOLA或者類似方法的語音合成方法中,對于所需的持續(xù)時間長度和基頻,對語音波形詞典中對應(yīng)于在要輸出的文本的開始點設(shè)置的情緒的語音片斷,以及語音波形詞典中對應(yīng)于在結(jié)束點位置設(shè)置的情緒的語音片斷,進(jìn)行PSOLA處理,從而根據(jù)以與音量相同的方式獲得的內(nèi)插函數(shù),對所述語音波形片斷或者合成語音波形進(jìn)行內(nèi)插。
另外,在基于參數(shù)分析合成方法比如對數(shù)倒頻譜(cepstrum)等的語音合成方法中,對從語音波形詞典獲得的對應(yīng)于在要輸出的文本的開始位置設(shè)置的情緒的參數(shù)序列,以及從語音波形詞典獲得的對應(yīng)于在結(jié)束位置設(shè)置的情緒的參數(shù)序列,進(jìn)行內(nèi)插以產(chǎn)生一個參數(shù),用該參數(shù)產(chǎn)生對應(yīng)于所需的持續(xù)時間長度和基頻的合成語音。
另外,比如在從男聲到女聲的變化中,可以用類似的方法在發(fā)話者之間進(jìn)行內(nèi)插。另外,當(dāng)輸出設(shè)備包括立體聲揚聲器時,輸出可以從左揚聲器連續(xù)變化到右揚聲器?;蛘?,當(dāng)輸出設(shè)備包括耳機(jī)和外部揚聲器時,輸出可以從耳機(jī)連續(xù)變化到外部揚聲器。
在對發(fā)話者數(shù)量(說話的人的數(shù)量)進(jìn)行內(nèi)插時,計算如圖6所示的內(nèi)插函數(shù)。
圖6是用于解釋在輸出合成語音時對發(fā)話者數(shù)量進(jìn)行內(nèi)插的例子。在圖6所示的例子中,實施了從一個發(fā)話者到五個發(fā)話者的變化。在這個例子中,從要輸出的文本獲得波形的持續(xù)時間被分為五段。每當(dāng)過去一個分割的時間段時,發(fā)話者數(shù)量就增加一個,并基于圖6所示的內(nèi)插函數(shù)(一個在0和1之間變化的函數(shù))改變合成音調(diào)的音量。另外,對波形電平(波形聲平,waveform level)進(jìn)行歸一化,以防止幅度超過預(yù)定值。
注意,發(fā)話者添加的順序可以是預(yù)定順序或者隨機(jī)順序。
在本實施例中,根據(jù)執(zhí)行上述各種內(nèi)插處理而得到的語音波形輸出合成語音。這樣,與傳統(tǒng)的語音合成設(shè)備(其中,合成語音的特征的變化是離散的)相比,可以實現(xiàn)自然的合成語音,也就是,其合成語音特征是連續(xù)變化的。
(第二實施例)下面描述上述第一實施例的語音合成設(shè)備的第二實施例。在下面的說明中,對與第一實施例中相同的部件的重復(fù)描述被省略了,只是主要描述本實施例的不一樣的特征。
在本實施例中,除了與第一實施例一樣的兩個標(biāo)記″<morphing...>″和″</morphing>”之外,被包含在被標(biāo)記文本103中的預(yù)定標(biāo)記采用一種標(biāo)記嵌套結(jié)構(gòu),如圖7所示,從而設(shè)置多個要變化的對象。使用這種嵌套結(jié)構(gòu),可以實現(xiàn)改變多個對象的語音合成變態(tài)。也就是,在圖7所示的例子中,要作為合成語音輸出的文本發(fā)聲時的合成語音特征一開始是大音量的愉快的語調(diào),然后變?yōu)閼嵟恼Z調(diào),同時音量比最初變小了。
由于其它方面與第一實施例是一樣的,因此省略了重復(fù)的說明。
根據(jù)具有上述方案的本實施例,可以連續(xù)而容易地改變要輸出的文本的所需范圍的合成語音特征。
(第三實施例)下面描述基于上述第一實施例的語音合成設(shè)備的第三實施例。在下面的說明中,對與第一實施例中相同的部件的重復(fù)描述被省略了,只是主要描述本實施例的不一樣的特征。
在上述第一和第二實施例中,包含在開始標(biāo)記″<morphing...>”中的屬性信息描述要連續(xù)改變合成語音特征的對象,以及該對象的開始和結(jié)束點的屬性值。相反,在第三實施例中,開始標(biāo)記″<morphing...>″描述要在開始和結(jié)束點變化的對象的標(biāo)簽(label)。
圖8圖示了第三實施例中被分配給文本的標(biāo)記的一個例子,被標(biāo)記限定的文本本身與圖7所示的第二實施例是一樣的。在本實施例中,要改變的對象是情緒(emotion)。這樣,開始和結(jié)束點描繪了要被改變的對象的標(biāo)簽″emotionstart″和″emotionend″。由于第三實施例的語音合成設(shè)備的結(jié)構(gòu)與第一實施例是一樣的,因此省略了重復(fù)的說明。下面描述第一和第三實施例之間的區(qū)別。
與第一實施例中一樣,文本分析模塊105基于文本的格式和標(biāo)題信息分析輸入的被標(biāo)記文本103的類型、內(nèi)容等,從而獲得與它們相關(guān)的信息。標(biāo)記分析模塊105判斷嵌在文本中的標(biāo)記的類型。標(biāo)記屬性分析模塊107分析所述標(biāo)記中描述的屬性和屬性值。在本實施例中,只分析開始點和結(jié)束點,所述標(biāo)記屬性分析模塊107檢查開始和結(jié)束點的對象。語音合成模塊109基于標(biāo)記屬性分析模塊107獲得的屬性值進(jìn)行內(nèi)插,根據(jù)作為內(nèi)插的結(jié)果獲得的語音波形產(chǎn)生對應(yīng)于文本內(nèi)容的合成語音。
由于嵌在每一個標(biāo)記中的屬性信息具有與第一實施例相同的結(jié)構(gòu),省略其重復(fù)說明。下面說明第一和第三實施例之間的區(qū)別。這就是,在描述作為合成語音特征要連續(xù)變化的對象的情緒(emotion)、開始點(start)的情緒和結(jié)束點(end)的情緒時,開始點被分配一個要變化的對象的標(biāo)簽″emotionstart″,結(jié)束點被分配一個要變化的對象的標(biāo)簽“emotionend″。在本實施例中,由于,與標(biāo)簽格式的這種變化相應(yīng),排除過程部分地不同,下面結(jié)合圖9來說明這種差異。
圖9的流程解了第三實施例中的語音合成設(shè)備的控制過程,也就是由該設(shè)備的CPU(未圖示)執(zhí)行的過程序列。
見圖9,由文本分析模塊105、標(biāo)記分析模塊106和標(biāo)記屬性分析模塊107對文本輸入模塊104輸入的被標(biāo)記文本103進(jìn)行文本分析、標(biāo)記分析和標(biāo)記屬性分析(步驟S901到S903)。
檢查開始標(biāo)記″<morphing...>″是否包括開始和結(jié)束點。檢查是否開始點或者結(jié)束點具有屬性(步驟S904)。如果開始點和結(jié)束點都沒有屬性值,則根據(jù)在該標(biāo)記之前朗讀句子的語音來朗讀文本(步驟S905)。然后檢查開始點是否具有屬性值,如果開始點沒有屬性值,則使用結(jié)束點的屬性值(步驟S906,S907)。相反,如果開始點具有屬性值而結(jié)束點沒有屬性值,則根據(jù)開始點的屬性值讀出文本(步驟S908,S909)。如果開始點和結(jié)束點都有屬性值,并且它們不是不相同,則基于這些屬性值進(jìn)行內(nèi)插,輸出合成語音(步驟S910,S912)。
作為開始點和結(jié)束點的屬性值,如果要連續(xù)改變合成語音特征的對象是音量,則開始點和結(jié)束點都應(yīng)采用音量值。如果開始點和結(jié)束點的屬性值的類型不同(例如開始點是音量值,結(jié)束點是情緒),則使用開始點的屬性值(步驟S911)。當(dāng)標(biāo)記具有錯誤的屬性值時,語音輸出的優(yōu)先順序是開始點的指定>結(jié)束點的指定。
由于其它方面與第一實施例是一樣的,因此省略了重復(fù)的說明。
根據(jù)具有上述方案的本實施例,可以連續(xù)而容易地改變要輸出的文本的所需范圍的合成語音特征。
(第四實施例)下面描述基于上述第一實施例的語音合成設(shè)備的第四實施例。在下面的說明中,對與第一實施例中相同的部件的重復(fù)描述被省略了,只是主要描述本實施例的不一樣的特征。
在第一到第三實施例中,變態(tài)的變化是恒定的,也就是,取決于變態(tài)算法本身的變化率。但是,第四實施例的特征在于也可以添加用于變態(tài)變化的屬性。圖10圖示了該例子。
圖10圖示了第四實施例中被分配給文本的標(biāo)記的例子。在該實施例中,在開始標(biāo)記″<morphing...>″中的屬性中還設(shè)置用于變態(tài)的變化率的屬性信息。作為表示變態(tài)的變化率的屬性值,在“function(函數(shù))”中設(shè)置在變化中使用的函數(shù)類型,比如線性(linear)、非線性(non-linear)算法等。
在本實施例中,在分析標(biāo)記時,標(biāo)記屬性分析模塊107不僅分析對象和開始點、結(jié)束點,而且根據(jù)表示變態(tài)的變化率的屬性值分析變態(tài)變化的屬性。作為分析的結(jié)果,如果在“function”字段中描述了屬性值比如線性、非線性算法等,則根據(jù)該屬性值給出的變化率進(jìn)行內(nèi)插,并根據(jù)內(nèi)插獲得的合成波形輸出合成語音。另一方面,如果沒有描述該屬性值,則根據(jù)由變態(tài)算法(morphing algorithm)預(yù)先確定的變化方法進(jìn)行內(nèi)插。
由于其它方面與第一實施例是一樣的,因此省略了重復(fù)的說明。
根據(jù)具有上述方案的本實施例,可以連續(xù)而容易地改變要輸出的文本的所需范圍的合成語音特征。
(第五實施例)下面描述基于上述第一實施例的語音合成設(shè)備的第五實施例。在下面的說明中,對與第一實施例中相同的部件的重復(fù)描述被省略了,只是主要描述本實施例的不一樣的特征。
在第一到第三實施例中,變態(tài)的變化是恒定的,也就是,取決于變態(tài)算法本身的變化率。但是,第五實施例的特征在于也可以在標(biāo)記中單獨地添加用于變態(tài)變化的屬性。圖11圖示了該例子。
圖11圖示了第五實施例中被分配給文本的標(biāo)記的例子。在該實施例中,在由″<morphing...>...</morphing>”標(biāo)記限定的文本中進(jìn)一步插入用于變態(tài)變化的中間標(biāo)記。
在本實施例中,在分析標(biāo)記時,標(biāo)記分析模塊106不僅分析″<morphing>″標(biāo)記,而且分析產(chǎn)生變態(tài)變化的中間標(biāo)記。中間標(biāo)記使用諸如″<rate value=“*.*”/>”之類的標(biāo)記,在“value(值)”屬性字段中描述從0到1的變化率。然后,將這樣的中間標(biāo)記單獨地嵌入合成語音特征要連續(xù)變化的文本中的所需位置。這樣,在內(nèi)插之后實際輸出合成語音時,合成語音的特征可以有更復(fù)雜的變化,如圖12所示。
需要注意的是,插有標(biāo)記比如″<rate value=″*.*″/>″的每一部分的順序之所以如圖11所示,是因為在從原始日本申請翻譯為英文的PCT申請時,日文和英文之間的詞序不同。因此圖12中的曲線圖也是按照圖11的方式安排的,以便清楚而適當(dāng)?shù)亟忉尡景l(fā)明。
當(dāng)也指定了在第四實施例中使用的用于變態(tài)變化的函數(shù)“function”時,早先指定的函數(shù)被用作從給定的″<rate/>″標(biāo)記到下一個″<rate/>″標(biāo)記的內(nèi)插函數(shù)。
由于其它方面與第一實施例是一樣的,因此省略了重復(fù)的說明。
根據(jù)具有上述方案的本實施例,可以連續(xù)而容易地改變要輸出的文本的所需范圍的合成語音特征。
(第六實施例)下面描述基于上述第一實施例的語音合成設(shè)備的第六實施例。在下面的說明中,對與第一實施例中相同的部件的重復(fù)描述被省略了,只是主要描述本實施例的不一樣的特征。
在前述各實施例中,開始點和結(jié)束點的屬性值是在開始標(biāo)記″<morphing...>″中設(shè)置的。但是,在本實施例中,結(jié)束點的屬性值在標(biāo)記的結(jié)束部分設(shè)置,如圖13所示。
圖13圖示了第六實施例中被分配給文本的標(biāo)記的一個例子。
在第一實施例的標(biāo)記結(jié)構(gòu)中,描述了″<morphing type=″emotion″start=″happy″>″,作為開始標(biāo)記″<morphing...>″中的開始點和對象的屬性,并在結(jié)束標(biāo)記中描述結(jié)束點的屬性,比如″</morphing end=″angry″>″。相反,在本實施例中,在開始標(biāo)記中描述″<morphing emotionstart=″happy″>″,在結(jié)束標(biāo)記中描述″</morphing emotionend=″angry″>″。當(dāng)在本實施例中指定第四實施例的內(nèi)插函數(shù)時,在開始標(biāo)記中對其進(jìn)行描述。
由于其它方面與第一實施例是一樣的,因此省略了重復(fù)的說明。
根據(jù)具有上述方案的本實施例,可以連續(xù)而容易地改變要輸出的文本的所需范圍的合成語音特征。
(第七實施例)下面描述基于上述第一實施例的語音合成設(shè)備的第六實施例。在下面的說明中,對與第一實施例中相同的部件的重復(fù)描述被省略了,只是主要描述本實施例的不一樣的特征。
在本實施例中,如果標(biāo)記中的開始點和結(jié)束點的屬性相互不同,則判定出錯,禁止隨后的處理,這與上述其它實施例不同。
下面以第一實施例的標(biāo)記結(jié)構(gòu)作為例子。也就是,如果“start”和“end”的屬性相互不同,比如″<morphing type=″emotion″start=″happy″end=10”>”,則判定出錯,不進(jìn)行處理。
如果開始點和結(jié)束點都沒有屬性或者如果開始點和結(jié)束點之一沒有屬性,則執(zhí)行與第一實施例相同的處理。在第三實施例中,如果開始點和結(jié)束點都沒有屬性或者如果開始點和結(jié)束點之一沒有屬性,則執(zhí)行與第三實施例相同的處理。
由于其它方面與第五實施例是一樣的,因此省略了重復(fù)的說明。
根據(jù)具有上述方案的本實施例,可以連續(xù)而容易地改變要輸出的文本的所需范圍的合成語音特征。
(第八實施例)下面描述基于上述第一實施例的語音合成設(shè)備的第八實施例。在下面的說明中,對與第一實施例中相同的部件的重復(fù)描述被省略了,只是主要描述本實施例的不一樣的特征。
在前述各實施例中,即使在要被設(shè)置在標(biāo)記中的多個屬性信息中的至少一個沒有被找到時,也輸出合成語音。但是,在本實施例中,當(dāng)開始點和結(jié)束點的屬性相互不同時,以及當(dāng)開始點和結(jié)束點的屬性與對象的屬性不同時,判定出錯,不進(jìn)行處理。
由于其它方面與第一到第七實施例是一樣的,因此省略了重復(fù)的說明。
根據(jù)具有上述方案的本實施例,可以連續(xù)而容易地改變要輸出的文本的所需范圍的合成語音特征。
因此,根據(jù)前述各實施例,通過用標(biāo)記限定輸入文本的要被輸出的所需范圍,能夠在輸出合成語音時象在變態(tài)(morphing)中那樣連續(xù)地改變合成語音的特征,從而,與產(chǎn)生離散的語音的現(xiàn)有技術(shù)不同,對于聽者來說,可以實現(xiàn)自然的文本到語音的轉(zhuǎn)換功能。
(其它實施例)上面已經(jīng)描述了本發(fā)明的優(yōu)選實施例。本發(fā)明可以應(yīng)用于由多個設(shè)備構(gòu)成的系統(tǒng)或者由單個裝置構(gòu)成的設(shè)備。
注意,本發(fā)明包括這樣的情況通過向系統(tǒng)或者設(shè)備直接或者遠(yuǎn)程地提供實現(xiàn)前述各實施例的功能的軟件程序,并由該系統(tǒng)或者設(shè)備的計算機(jī)讀出和執(zhí)行所提供的程序代碼,從而實現(xiàn)本發(fā)明。在這種情況下,只要具有程序的功能,形式上不限于程序。
因此,安裝在計算機(jī)中的用以使用計算機(jī)實現(xiàn)本發(fā)明的功能過程的程序代碼本身實現(xiàn)本發(fā)明。也就是,本發(fā)明的權(quán)利要求包括用以實現(xiàn)本發(fā)明的功能處理的計算機(jī)程序本身。
在這種情況下,所述程序的形式?jīng)]有限制,只要具有程序功能,可以使用目標(biāo)代碼、由解釋器執(zhí)行的程序、要提供給OS的腳本數(shù)據(jù),等等。
作為提供所述程序的記錄介質(zhì),例如,可以使用軟盤、硬盤、光盤、磁光盤、MO、CD-ROM、CD-R、CD-RW、磁帶、非易失性存儲卡、ROM、DVD(DVD-ROM,DVD-R)等等。
作為另一種程序提供方法,可以以下述方式提供所述程序用客戶計算機(jī)上的瀏覽器建立到因特網(wǎng)上的主頁的連接,從所述主頁將本發(fā)明的計算機(jī)程序本身或者包含自動安裝功能的壓縮文件下載到記錄介質(zhì)比如硬盤等上。
另外,構(gòu)成本發(fā)明的程序的程序代碼可以被分割為多個文件,這些文件可以從不同的主頁下載。也就是,本發(fā)明的權(quán)利要求包括使得多個用戶能夠下載由計算機(jī)實現(xiàn)本發(fā)明的功能處理所需的程序文件的WWW(萬維網(wǎng))服務(wù)器。
另外,還可以將存儲本發(fā)明的加密程序的存儲介質(zhì)比如CD-ROM等發(fā)送給用戶,完成了預(yù)定條件的用戶可以通過因特網(wǎng)從主頁下載用來將所述程序解密的密鑰信息,可以使用所述密鑰信息執(zhí)行所述加密程序以安裝到計算機(jī)上,從而實現(xiàn)本發(fā)明。
上述各實施例的功能不僅可以由計算機(jī)執(zhí)行讀出的程序代碼來實現(xiàn),而且可以基于所述程序的指令,由在計算機(jī)上運行的OS等執(zhí)行部分或者全部實際處理操作。
另外,還可以在將從所述記錄介質(zhì)讀出的程序?qū)懭氩迦牖蛘哌B接到計算機(jī)的功能擴(kuò)展板或者功能擴(kuò)展單元的存儲器中之后,由功能擴(kuò)展板或者功能擴(kuò)展單元中設(shè)置的CPU等執(zhí)行部分或者全部實際處理,以實現(xiàn)前述各實施例的功能。
如上所述,根據(jù)上述各實施例,可以連續(xù)而容易地改變要輸出的文本的所需范圍的合成語音特征。
由于可以做出本發(fā)明的許多范圍廣泛的不同實施例而不脫離本發(fā)明的實質(zhì)精神和范圍,應(yīng)當(dāng)理解,本發(fā)明不限于這里的特定實施例,而應(yīng)由所附權(quán)利要求限定其范圍。
權(quán)利要求
1.一種用于合成語音波形的語音合成方法,用以在輸出對應(yīng)于輸入的文本的合成語音時,連續(xù)地改變被包括在輸入的文本中、被分配了預(yù)定標(biāo)識符的范圍的合成語音的特征,該方法的特征在于包括設(shè)置步驟,使用預(yù)定的包括屬性信息的標(biāo)識符設(shè)置要輸出的文本的所需范圍,在該范圍中的合成語音的特征要被連續(xù)地改變,所述屬性信息表示合成語音的所述特征的變化模式;識別步驟,從帶有在所述設(shè)置步驟設(shè)置的標(biāo)識符的文本識別所述預(yù)定標(biāo)識符以及包含在該預(yù)定標(biāo)識符中的屬性信息的類型;以及語音合成步驟,根據(jù)所述識別步驟的識別結(jié)果,對帶有所述標(biāo)識符的文本的所需范圍內(nèi)的文本所對應(yīng)的合成語音進(jìn)行內(nèi)插,從而根據(jù)包含在所述預(yù)定標(biāo)識符中的屬性信息合成具有連續(xù)變化的合成語音特征的語音波形。
2.如權(quán)利要求1所述的語音合成方法,其特征在于,包含在所述預(yù)定標(biāo)識符中的所述屬性信息表示在所述標(biāo)識符設(shè)置的所述范圍的開始位置處,合成語音的特征的變化模式,以及在結(jié)束位置處合成語音的特征的變化模式。
3.如權(quán)利要求1所述的語音合成方法,其特征在于,由所述屬性信息表示的合成語音的特征的變化模式是下述中的至少一個音量的變化,發(fā)話者的變化,輸出設(shè)備的變化,發(fā)話者數(shù)目的變化,情緒的變化,語速的變化,以及基頻的變化。
4.如權(quán)利要求1所述的語音合成方法,其特征在于所述語音合成步驟包括下述步驟基于預(yù)定標(biāo)識符所包含的與標(biāo)識符設(shè)置的范圍的開始和結(jié)束位置相關(guān)的屬性信息,以及所述開始位置之前合成語音的特征的模式,產(chǎn)生所需范圍內(nèi)文本所對應(yīng)的合成語音。
5.如權(quán)利要求4所述的語音合成方法,其特征在于所述語音合成步驟包括下述步驟根據(jù)被設(shè)置為與開始位置和結(jié)束位置相關(guān)的屬性信息的表示語速的值與表示所述開始位置之前的語速的值的比,產(chǎn)生與所需范圍內(nèi)的文本對應(yīng)的合成語音。
6.如權(quán)利要求4所述的語音合成方法,其特征在于所述語音合成步驟包括下述步驟根據(jù)被設(shè)置為與開始位置和結(jié)束位置相關(guān)的屬性信息的表示音量的值與表示所述開始位置之前的音量的值的比,產(chǎn)生與所需范圍內(nèi)的文本對應(yīng)的合成語音。
7.一種用于合成語音波形的語音合成設(shè)備,用以在輸出對應(yīng)于輸入的文本的合成語音時,連續(xù)地改變被包括在輸入的文本中、被分配了預(yù)定標(biāo)識符的范圍的合成語音的特征,該設(shè)備的特征在于包括識別裝置,從帶有標(biāo)識符的文本識別所述預(yù)定標(biāo)識符以及包含在該預(yù)定標(biāo)識符中的屬性信息的類型,所述預(yù)定標(biāo)識符表示要連續(xù)改變合成語音的特征的所需范圍,并包含表示所述合成語音特征的變化模式的屬性信息;以及語音合成裝置,根據(jù)所述識別裝置的識別結(jié)果,對帶有所述標(biāo)識符的文本的所需范圍內(nèi)的文本所對應(yīng)的合成語音進(jìn)行內(nèi)插,從而根據(jù)包含在所述預(yù)定標(biāo)識符中的屬性信息合成具有連續(xù)變化的合成語音特征的語音波形。
8.一種用于語音合成的文本結(jié)構(gòu),其中,分配預(yù)定的標(biāo)識符,以改變要通過語音合成輸出的文本的所需范圍的合成語音的特征,其特征在于所述預(yù)定標(biāo)識符包含表示連續(xù)改變所述合成語音特征時的變化模式的屬性信息。
9.構(gòu)成用于實現(xiàn)權(quán)利要求1到6之一所述的語音合成方法的操作命令的計算機(jī)程序。
10.一種指令計算機(jī)用作語音合成設(shè)備的計算機(jī)程序,所述語音合成設(shè)備用于合成語音波形,以在輸出對應(yīng)于輸入的文本的合成語音時,改變被包括在輸入的文本中、被分配了預(yù)定標(biāo)識符的范圍的合成語音的特征,其特征在于包括用于識別功能的程序代碼,所述識別功能從帶有標(biāo)識符的文本識別所述預(yù)定標(biāo)識符以及包含在該預(yù)定標(biāo)識符中的屬性信息的類型,所述預(yù)定標(biāo)識符表示要連續(xù)改變合成語音的特征的所需范圍,并包含表示所述合成語音特征的變化模式的屬性信息;以及語音合成功能的程序代碼,所述語音合成功能根據(jù)所述識別功能的識別結(jié)果,對帶有所述標(biāo)識符的文本的所需范圍內(nèi)的文本所對應(yīng)的合成語音進(jìn)行內(nèi)插,從而根據(jù)包含在所述預(yù)定標(biāo)識符中的屬性信息合成具有連續(xù)變化的合成語音特征的語音波形。
全文摘要
在一種語音合成設(shè)備中,通過用例如開始標(biāo)記“<morphing type=‘emotion’start=‘happy’end=‘a(chǎn)ngry’>”和結(jié)束標(biāo)記</morphing>來限定要輸出的輸入文本的所需范圍,連續(xù)地改變合成語音的特征,在輸出合成語音時將語音從愉快的語音逐漸變化為憤怒的語音。
文檔編號G10L13/00GK1643572SQ0380612
公開日2005年7月20日 申請日期2003年4月2日 優(yōu)先權(quán)日2002年4月2日
發(fā)明者陸野將弘, 深田俊明 申請人:佳能株式會社