專利名稱:語音合成方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種語音合成方法和設(shè)備,尤其涉及一種將文本轉(zhuǎn)換成語音的語音合成方法和設(shè)備。
迄今為止,通過連接語音片段來合成語音的語音合成方法使用語音片段數(shù)據(jù)庫中各種重音類型的語音,但并不特別注重重音類型。例如,在電子信息和通信學(xué)會(huì)技術(shù)研究報(bào)告書SP96-8中,“用基于VCV波形合成單元的規(guī)則進(jìn)行語音合成”一文對(duì)此有所揭示。
但是,如果合成語音的音高頻率與存儲(chǔ)在數(shù)據(jù)庫中的語音片段的音高頻率有很大差異,那么一般的語音合成方法存在一個(gè)缺點(diǎn),即當(dāng)校正語音片段的音高頻率時(shí),音質(zhì)會(huì)劣化。
本發(fā)明的一個(gè)目的是,提供一種進(jìn)行語音合成的方法和設(shè)備,當(dāng)校正音高頻率時(shí),能使音質(zhì)劣化降至最低。
因此,本發(fā)明提供了一種語音合成方法,該方法包括以下步驟將多個(gè)按0型重音和1型重音發(fā)音的單詞或音節(jié)連同其音位標(biāo)音累積在波形數(shù)據(jù)庫中;緊挨在元音穩(wěn)定段或清輔音之前分割單詞或音節(jié)的語音,以便抽取語音片段;當(dāng)使語音片段變形并加以連接,以合成語音時(shí),根據(jù)波形數(shù)據(jù)庫中該語音片段的音位標(biāo)音,為待合成語音檢索候選語音片段;根據(jù)待合成語音的重音類型和待合成語音中使用語音片段的位置,確定使用哪一個(gè)被檢索到的用0型重音或1型重音發(fā)音的語音片段。
依照本發(fā)明的語音合成方法,無需進(jìn)行復(fù)雜的計(jì)算便可以選擇音高頻率和波形隨時(shí)間的變化與合成語音相類似的語音片段,從而把音高頻率變化所引起的音質(zhì)劣化降至最低。由此可以獲得高質(zhì)量的合成語音。
在本發(fā)明的語音合成方法中,當(dāng)從波形數(shù)據(jù)庫為合成語音檢索候選語音片段時(shí),可使用最長(zhǎng)匹配法。
在本發(fā)明的語音合成方法中,波形數(shù)據(jù)庫可以由單詞的語音構(gòu)成,每個(gè)單詞的語音通過用0型重音和1型重音對(duì)雙音節(jié)序列或三音節(jié)序列發(fā)音兩次來獲得。由此,幾乎只用VCV或VVCV(V表示元音或撥音,而C表示輔音)的音位單元序列便可以有效地構(gòu)造波形數(shù)據(jù)庫。
本發(fā)明還提供了一種語音合成設(shè)備,它包括語音波形數(shù)據(jù)庫,用于存儲(chǔ)表示以0型重音和1型重音發(fā)音的單詞或音節(jié)之語音片段的重音類型的數(shù)據(jù),表示語音片段之音位標(biāo)音的數(shù)據(jù),以及指示語音片段可分割位置的數(shù)據(jù);存儲(chǔ)裝置,用于存儲(chǔ)音位標(biāo)音字符串和合成語音韻律的裝置;語音片段候選檢索裝置,用于根據(jù)存儲(chǔ)在存儲(chǔ)裝置中的音位標(biāo)音的所述字符串,從語音波形數(shù)據(jù)庫中檢索候選語音片段;判定裝置,用于根據(jù)合成語音的重音類型和語音中使用語音片段的位置,在被檢索到的候選語音片段中,確定實(shí)際使用的語音片段。
根據(jù)本發(fā)明,可以用少量的計(jì)算獲得高質(zhì)量的合成語音。
在本發(fā)明的語音合成設(shè)備中,波形數(shù)據(jù)庫可以由單詞的語音構(gòu)成,每個(gè)單詞的語音通過用0型重音和1型重音對(duì)雙音節(jié)序列或三音節(jié)序列發(fā)音兩次來獲得。由此,可以有效地構(gòu)造語音波形數(shù)據(jù)庫并減小其規(guī)模。
圖1A-1E示出了當(dāng)根據(jù)本發(fā)明第一實(shí)施例合成語音時(shí)選擇語音片段的方式。
圖2是一方框圖,示出了依照本發(fā)明第二實(shí)施例的語音合成設(shè)備的結(jié)構(gòu)。
圖3示出了依照本發(fā)明第二實(shí)施例,圖2語音合成設(shè)備中的檢索規(guī)則表;圖4示出了依照本發(fā)明第二實(shí)施例,被記錄在圖2語音合成設(shè)備中語音波形數(shù)據(jù)庫內(nèi)的一語音片段的數(shù)據(jù)結(jié)構(gòu);圖5示出了依照本發(fā)明第二實(shí)施例,存儲(chǔ)在語音合成設(shè)備中一輸入緩沖器內(nèi)的信息結(jié)構(gòu);圖6是一流程圖,示出了依照本發(fā)明第二實(shí)施例的圖2中語音合成設(shè)備的工作情況;圖7示出了依照本發(fā)明第三實(shí)施例,存儲(chǔ)在語音波形數(shù)據(jù)庫中的語音片段;圖8A-8C示出了當(dāng)依照第三實(shí)施例合成語音時(shí),選擇語音片段的方式;圖9示出了依照第三實(shí)施例,一語音片段的發(fā)音類型;圖10示出了依照第三實(shí)施例的檢索表。
現(xiàn)在,將結(jié)合附圖描述本發(fā)明的實(shí)施例。(1)第一實(shí)施例圖1A-1D示出了依照本發(fā)明第一實(shí)施例的語音合成方法中,選擇語音片段的方式。依照該實(shí)施例,將大量的用0型和1型重音發(fā)音的單詞或短語以及它們的音位標(biāo)音(音標(biāo),羅馬字符,假名字符等)累積在波形數(shù)據(jù)庫中。在緊接元音穩(wěn)定段或清輔音之前,將單詞或短語的語音分割成語音片段,以便可以抽取每個(gè)語音片段。例如,采用最長(zhǎng)匹配法,根據(jù)待合成語音的音位標(biāo)音檢索語音片段的音位標(biāo)音。然后,根據(jù)待合成語音的重音類型以及待合成語音中使用已檢索到的語音片段的位置,確定是把1型重音還是0型重音施加到已檢索到的語音片段上。
參照?qǐng)D1,以下將通過一例子描述依照本發(fā)明的語音合成方法。該例說明了當(dāng)合成“yokohamashi”時(shí)選擇語音片段的方式。首先,根據(jù)圖1A所示的“yokohamashi”的音位標(biāo)音,用最長(zhǎng)匹配方法或類似方法在數(shù)據(jù)庫中確定一段語音片段。在該例中,數(shù)據(jù)庫中“yokohamaku”的語音片段“yokohama”可匹配。接著,根據(jù)音調(diào)起伏,確定是將0型重音還是1型重音施加到語音片段“yokohama”上。圖1B畫出用1型重音發(fā)“yokohamaku”的音高頻率的起伏,而圖1C畫出用0型重音發(fā)“yokohamaku”的音高頻率的起伏。這里,將羅馬字符用作音位標(biāo)音。如圖1A中實(shí)線所示,用0型重音發(fā)音的“yokohamashi”的音高頻率在“yo”處上升。因此,這里使用以具有上升頻率的0型重音發(fā)音的“yokohamaku”中從第一個(gè)音節(jié)“yo”至第五個(gè)音節(jié)“ku”輔音之前的部分。
“ashi”中有一重音核,致使音高頻率在此期間下降。因此,不使用圖1E所示的用0型重音發(fā)音的“ashigara”中的“ashi”,而是使用圖1D所示的1型重音。由此,選擇了音高頻率最接近于待合成語音的語音片段及其匹配音位標(biāo)音。(2)第二實(shí)施例圖2是一方框圖,示出了依照本發(fā)明第二實(shí)施例的語音合成設(shè)備的結(jié)構(gòu)。在圖2中,標(biāo)號(hào)100表示輸入緩沖器,用于存儲(chǔ)音位標(biāo)音所表達(dá)的字符串,及其重音類型之類的韻律,字符串和韻律由主計(jì)算機(jī)提供。標(biāo)號(hào)101表示合成單元選擇裝置,用于從音位標(biāo)音中檢索合成單元,標(biāo)號(hào)1011表示選擇開始指針,用于指示應(yīng)從存儲(chǔ)在輸入緩沖器100內(nèi)的字符串中的哪一位置開始檢索一語音片段,使之成為一合成單元。標(biāo)號(hào)102表示合成單元選擇緩沖器,用于保持合成單元選擇裝置101所選擇的合成單元的信息,標(biāo)號(hào)103表示所用語音片段選擇裝置,用于根據(jù)檢索規(guī)則表104確定語音片段,標(biāo)號(hào)105表示語音波形數(shù)據(jù)庫,該數(shù)據(jù)庫由0型重音和1型重音發(fā)音的單詞或短語構(gòu)成,標(biāo)號(hào)106表示語音片段抽取裝置,用于從存儲(chǔ)在語音波形數(shù)據(jù)庫105中的首標(biāo)信息中抽取語音片段,標(biāo)號(hào)107表示語音片段處理裝置,用于將語音片段抽取裝置106抽取的語音片段與待合成語音的韻律匹配,標(biāo)號(hào)108表示語音片段連接裝置,用于連接語音片段處理裝置107處理過的語音片段,標(biāo)號(hào)1081表示連接緩沖器,用于暫時(shí)存儲(chǔ)將被連接的經(jīng)處理的語音片段,標(biāo)號(hào)109表示合成語音存儲(chǔ)緩沖器,用于存儲(chǔ)語音片段連接裝置108輸出的已合成語音,標(biāo)號(hào)110表示合成語音輸出裝置,而標(biāo)號(hào)111表示韻律計(jì)算裝置,用于由存儲(chǔ)在輸入緩沖器100中的字符串和韻律計(jì)算已合成語音的音高頻率和音位單元持續(xù)期,并將它們輸出給語音片段處理裝置107。
圖3示出了圖2所示檢索規(guī)則表104的內(nèi)容。根據(jù)檢索規(guī)則表104,在合成單元選擇裝置101選作候補(bǔ)的語音片段單元中,確定一語音片段。首先,根據(jù)待合成語音是1型重音還是0型重音,以及待合成語音中使用相關(guān)語音片段的位置,確定將參照哪一列。“開始”列表示開始抽取語音片段的位置。“結(jié)束”列表示當(dāng)抽取語音片段時(shí)最長(zhǎng)匹配法中檢索區(qū)的結(jié)束位置。
表中的每個(gè)數(shù)值都由兩位數(shù)組成。當(dāng)十位上的數(shù)字為0時(shí),從0型重音發(fā)音的語音中抽取語音片段。當(dāng)十位上的數(shù)字為1時(shí),從1型重音發(fā)音的語音中抽取語音片段。個(gè)位上的數(shù)字表示語音音節(jié)的位置。當(dāng)個(gè)位數(shù)字為1時(shí),音節(jié)的位置在第一音節(jié)。當(dāng)個(gè)位數(shù)字為2時(shí),音節(jié)的位置在第2音節(jié)。順便說一下,“結(jié)束”列中的0表示直到短語最后一個(gè)音節(jié)都被包含在最長(zhǎng)匹配法的檢索區(qū)中,而“*”表示直到不包括合成語音重音核處的音位標(biāo)音變成了檢索的對(duì)象。
圖4示出了語音波形數(shù)據(jù)庫105的數(shù)據(jù)結(jié)構(gòu)。在首標(biāo)部分1051中存儲(chǔ)數(shù)據(jù)1052,表示發(fā)音的重音類型(0型或1型);數(shù)據(jù)1053,表示被記錄語音的音位標(biāo)音;和數(shù)據(jù)1054,表示將語音分割成語音片段的位置。在語音波形部分1055中,存儲(chǔ)了在抽取語音片段之前的語音波形數(shù)據(jù)。
圖5示出了輸入緩沖器100的數(shù)據(jù)結(jié)構(gòu)。將音位標(biāo)音作為字符串輸入到輸入緩沖器100中。另外,將有關(guān)音節(jié)延遲度和重音類型的韻律作為數(shù)字也輸入到輸入緩沖器100中。將羅馬字符用作音位標(biāo)音。用兩位數(shù)表示韻律。十位上的數(shù)字表示單詞的音節(jié)延遲度,而個(gè)位上的數(shù)字表示重音類型。
接著,以下將參照?qǐng)D6所示的流程圖,描述依照該實(shí)施例的語音合成設(shè)備的工作情況。首先,從主計(jì)算機(jī)將音位標(biāo)音字符串及其韻律輸入至輸入緩沖器100中(步驟201)。然后,用最長(zhǎng)匹配法對(duì)音位標(biāo)音進(jìn)行分割(步驟202)。接下來,檢查在單詞的哪個(gè)位置上使用了經(jīng)分割的音位標(biāo)音(步驟203)。如果存儲(chǔ)在輸入緩沖器100中的音位標(biāo)音字符串(這里使用羅馬字符)為例如“yokohamashi”,那么用合成單元選擇裝置101,在存儲(chǔ)于語音波形數(shù)據(jù)庫105之首標(biāo)部分1051中的一組音位標(biāo)音中檢索以“yo”開始的單詞。在該情況下,例如檢索到“yokote”中的“yo”和“yokohamaku”中的“yo”。隨后,檢查“yokohamashi”字符串的第二個(gè)字符“ko”是否與已檢索到的單詞中的每個(gè)“ko”都匹配。這次,選擇“yokohamaku”中的“yoko”。用類似的方式繼續(xù)檢索,最后選中“yokohama”作為候選合成單元。由于該“yokohama”是“yokohamashi”的第一語音片段,并且“yokohamashi”的重音類型不是1型重音(是4型重音),所以合成單元選擇裝置101在檢索規(guī)則表104中對(duì)非1型重音類型檢查詞頭、開始和結(jié)束列的內(nèi)容,并選擇用0型重音發(fā)音的“yokohamaku”的第一音節(jié)至第二音節(jié)作為候選對(duì)象來抽取。該信息被饋送到所用語音片段選擇裝置103。所用語音片段選擇裝置103檢查存儲(chǔ)在語音波形數(shù)據(jù)庫105首標(biāo)部分1051中用0型重音發(fā)音的“yokohamaku”之第一音節(jié)和第四音節(jié)的分割位置數(shù)據(jù)1054,并且在“yo”詞頭設(shè)置波形抽取的開始點(diǎn),在清輔音之前設(shè)置波形抽取的結(jié)束點(diǎn)(步驟204)。此時(shí),選擇開始指針指向“shi”的“s”。對(duì)所有經(jīng)分割的音位標(biāo)音進(jìn)行上述處理(步驟205)。另一方面,韻律計(jì)算裝置111根據(jù)存儲(chǔ)在輸入緩沖器100中的韻律計(jì)算語音片段的音高波形、持續(xù)期和功率(步驟206)。將所用語音片段選擇裝置103選中的語音片段饋送到抽取語音片段波形的語音片段抽取裝置106中(步驟207),再饋送到語音片段處理裝置107進(jìn)行處理,以便與韻律計(jì)算裝置111計(jì)算得到的所需的音高頻率和音位單元持續(xù)期匹配(步驟208),然后饋送到語音片段連接裝置108進(jìn)行連接(步驟209)。如果該語音片段是短語的詞頭,語音片段不連接任何對(duì)象。為此,將語音片段存儲(chǔ)在連接緩沖器1081中,準(zhǔn)備與下一個(gè)語音片段連接,然后輸出到合成語音存儲(chǔ)緩沖器109(步驟210)。接下來,由于輸入緩沖器100的選擇開始指針1011指向“shi”的“s”,所以合成單元選擇裝置101在波形數(shù)據(jù)庫105之首標(biāo)部分1051中的音位標(biāo)音組中檢索包括“shi”的單詞或短語。此后,用類似方式重復(fù)上述操作,以便合成語音(步驟211)。(3)第三實(shí)施例接下來,將參照?qǐng)D7至圖10描述本發(fā)明的第三實(shí)施例。根據(jù)第三實(shí)施例,圖2所示的語音波形數(shù)據(jù)庫105存儲(chǔ)了用1型重音和0型重音發(fā)音兩次的詞頭、元音-輔音-元音(VCV)序列以及元音-鼻音-輔音-元音(VNCV)序列的音節(jié)。這里,波形抽取位置僅位于元音穩(wěn)定段?,F(xiàn)在,將參照?qǐng)D8A至8C描述合成“yokohamashi”時(shí)選擇語音的方式。這里,將羅馬字符用作音位標(biāo)音。
語音波形數(shù)據(jù)庫105中存在用1型重音和0型重音發(fā)音的兩個(gè)音節(jié)“yoyo”的序列波形,并且待合成語音的重音類型是4型重音,致使詞頭具有與0型重音相同的音調(diào)起伏。因此,這里選擇用0型重音發(fā)音的“yoyoyo”第一個(gè)音節(jié)中的“yo”關(guān)于下一個(gè)“oko”,有兩種“oko”作為用0型重音和1型重音發(fā)音的“okooko”單詞的前半部分和后半部分,即共有4種“oko”。待合成語音的音高頻率具有在這些語音片段即“yo”和“oko”之間上升的音調(diào)起伏,由此,這里選擇圖9中用0型重音發(fā)音的“okooko”的第一個(gè)“oko”,它最接近待合成語音的音高頻率。
關(guān)于下一個(gè)“oha”,在此期間音高頻率較高。為此,在從0型重音和1型重音發(fā)音的“ohaoha”中獲得的四種“oha”中,選擇音高頻率較高的用0型重音發(fā)音的“ohaoha”的第二個(gè)“oha”(1型),因?yàn)樗罱咏诖铣烧Z音的音高頻率。類似于“oha”的情況,選擇用0型重音發(fā)音的“amaama”中的“ama”.
關(guān)于“ashi”,由于“yohohamashi”是4型重音,所以在“ashi”期間音高頻率下降。為此,在從0型重音和1型重音發(fā)音的“ashiashi”中獲得的四種“ashi”中,選擇音高頻率下降的用1型重音發(fā)音的“ashiashi”的第一個(gè)“ashi”(2型),因?yàn)樗罱咏诖铣烧Z音的音高頻率。處理并連接如上選擇的語音片段,以便合成語音。
在該例中,語音波形數(shù)據(jù)庫由單詞構(gòu)成,每個(gè)單詞通過對(duì)兩個(gè)音節(jié)或三個(gè)音節(jié)發(fā)兩次音來獲得。但是,本發(fā)明不限于此例,可以用非0型重音和非1型重音的重音類型來構(gòu)造數(shù)據(jù)庫,致使用3型重音對(duì)兩個(gè)音節(jié)序列的語音發(fā)音,從而由前半部分獲得0型的語音片段,由后半部分獲得1型的語音片段。另外,通過使用從所發(fā)語音中抽取合成單元并在兩音節(jié)序列或三音節(jié)序列之前和之后插入合適的語音,也能實(shí)現(xiàn)上述實(shí)施例。
根據(jù)該實(shí)施例,通過用0型重音或1型重音對(duì)雙音節(jié)序列或三音節(jié)序列構(gòu)成的單詞發(fā)音兩次,來獲得數(shù)據(jù)庫中的語音,從而關(guān)于一個(gè)VCV音位標(biāo)音,數(shù)據(jù)庫中總存在著4種圖5所示的VCV語音片段。因此,可以準(zhǔn)備好覆蓋待合成語音音調(diào)起伏之變化所需的所有語音片段。同時(shí),關(guān)于語音片段選擇規(guī)則,可以將分段音位標(biāo)音簡(jiǎn)化成VCV單元,從而用圖10所示的檢索表確定語音片段,不再使用最長(zhǎng)匹配法。
權(quán)利要求
1.一種語音合成方法,其特征在于,包括以下步驟將多個(gè)用0型重音和1型重音發(fā)音的單詞或音節(jié)連同其音位標(biāo)音累積在波形數(shù)據(jù)庫中;緊挨在元音穩(wěn)定段或清輔音之前分割所述單詞或音節(jié)的語音,以便抽取語音片段;當(dāng)使所述語音片段變形并加以連接,以合成所述語音時(shí),根據(jù)所述波形數(shù)據(jù)庫中所述語音片段的音位標(biāo)音,為待合成語音檢索候選語音片段;根據(jù)所述待合成語音的重音類型和所述合成語音中使用所述語音片段的位置,確定使用哪一個(gè)被檢索到的用0型重音或1型重音發(fā)音的語音片段。
2.如權(quán)利要求1所述的語音合成方法,其特征在于,當(dāng)從所述波形數(shù)據(jù)庫為待合成語音檢索所述候選語音片段時(shí),使用最長(zhǎng)匹配法。
3.如權(quán)利要求1所述的語音合成方法,其特征在于,所述波形數(shù)據(jù)由單詞的語音構(gòu)成,每個(gè)單詞的語音通過用0型重音和1型重音對(duì)雙音節(jié)序列或三音節(jié)序列發(fā)音來獲得。
4.一種語音合成設(shè)備,其特征在于,包括語音波形數(shù)據(jù)庫,用于存儲(chǔ)表示以0型重音和1型重音發(fā)音的單詞或音節(jié)之語音片段的重音類型的數(shù)據(jù),表示所述語音片段之音位標(biāo)音的數(shù)據(jù),以及指示所述語音片段可分割位置的數(shù)據(jù);用于存儲(chǔ)音位標(biāo)音字符串和合成語音韻律的裝置;語音片段候選檢索裝置,用于根據(jù)存儲(chǔ)在所述存儲(chǔ)裝置中的音位標(biāo)音的所述字符串,從所述語音波形數(shù)據(jù)庫中檢索候選語音片段;判定裝置,用于根據(jù)合成語音的重音類型和所述語音中使用所述語音片段的位置,在所述被檢索到的候選語音片段中,確定實(shí)際使用的語音片段。
5.如權(quán)利要求4所述的語音合成設(shè)備,其特征在于,所述波形數(shù)據(jù)由單詞的語音構(gòu)成,每個(gè)單詞的語音通過用0型重音和1型重音對(duì)雙音節(jié)序列或三音節(jié)序列發(fā)音來獲得。
全文摘要
一種語音合成設(shè)備,包括語音波形數(shù)據(jù)庫、輸入緩沖器、合成單元選擇裝置和所用語音片段選擇裝置。其中語音波形數(shù)據(jù)庫所存數(shù)據(jù)涉及語音片段的重音類型、音位標(biāo)音及其分割位置。輸入緩沖器存儲(chǔ)音位標(biāo)音字符串和合成語音的韻律。合成單元選擇裝置根據(jù)音位標(biāo)音字符串從上述數(shù)據(jù)庫檢索候選語音片段。所用語音片段選擇裝置根據(jù)合成語音的重音類型和語音中使用語音片段的位置,確定實(shí)際使用的語音片段,從而防止處理語音片段時(shí)的音質(zhì)劣化。
文檔編號(hào)G10L13/00GK1175052SQ9711556
公開日1998年3月4日 申請(qǐng)日期1997年7月25日 優(yōu)先權(quán)日1996年7月25日
發(fā)明者西村洋文, 蓑輪利光, 新居康彥 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社