專利名稱:語(yǔ)音合成裝置、方法和記錄語(yǔ)音合成程序的記錄介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種根據(jù)所輸入的文本信息而生成合成語(yǔ)音的語(yǔ)音合成技術(shù)。
背景技術(shù):
對(duì)所輸入的文本信息(「nihao」等)進(jìn)行單詞解析·語(yǔ)法解析等,然后將該文本信息的內(nèi)容作為合成語(yǔ)音而輸出的語(yǔ)音合成裝置被廣泛使用。在這種語(yǔ)音合成裝置中,具有可改變發(fā)聲速度(發(fā)聲長(zhǎng)度)的功能。例如,在下述專利文獻(xiàn)1中,公開了以元音·輔音為單位而使伸縮率變化,由此可改變發(fā)聲速度的語(yǔ)音合成裝置(參照專利文獻(xiàn)1)。
專利文獻(xiàn)1特開平6-067685號(hào)公報(bào)(第3~4頁(yè))發(fā)明內(nèi)容但是,隨著作為合成語(yǔ)音輸出的語(yǔ)言種類(例如漢語(yǔ))不同,雖然能夠以元音·輔音為單位改變伸縮率,從而改變發(fā)聲速度,但對(duì)于該語(yǔ)言體系,以這樣的單位改變伸縮率不是一般規(guī)則,所以會(huì)出現(xiàn)合成語(yǔ)音聽起來不自然等問題。
本發(fā)明就是鑒于上述問題而提出的,其目的在于,提供一種能夠更自然地拉長(zhǎng)合成語(yǔ)音發(fā)聲長(zhǎng)度的語(yǔ)音合成裝置、語(yǔ)音合成方法和記錄語(yǔ)音合成程序的記錄介質(zhì)。
為了解決上述問題,本發(fā)明的語(yǔ)音合成裝置的特征在于,具有獲取單元,從被輸入語(yǔ)音合成裝置的文本信息,獲取用于指定合成語(yǔ)音的音素的音素指定信息和用于指定該合成語(yǔ)音的發(fā)聲長(zhǎng)度的發(fā)聲長(zhǎng)度指定信息;存儲(chǔ)單元,存儲(chǔ)被設(shè)定了拉長(zhǎng)區(qū)間的、具有規(guī)定發(fā)聲長(zhǎng)度的每個(gè)音素的音素?cái)?shù)據(jù);抽取單元,從上述存儲(chǔ)單元抽取出與上述音素指定信息所表示的音素對(duì)應(yīng)的音素?cái)?shù)據(jù);以及播放控制單元,當(dāng)上述發(fā)聲長(zhǎng)度指定信息所表示的發(fā)聲長(zhǎng)度比所抽取出的上述音素?cái)?shù)據(jù)的發(fā)聲長(zhǎng)度長(zhǎng)時(shí),按照上述發(fā)聲長(zhǎng)度信息所表示的發(fā)聲長(zhǎng)度和上述音素?cái)?shù)據(jù)的發(fā)聲長(zhǎng)度之間的差,來控制上述拉長(zhǎng)區(qū)間內(nèi)的上述音素?cái)?shù)據(jù)的播放。
根據(jù)上述結(jié)構(gòu),當(dāng)發(fā)聲長(zhǎng)度指導(dǎo)信息所表示的發(fā)聲長(zhǎng)度比音素?cái)?shù)據(jù)的發(fā)聲長(zhǎng)度長(zhǎng)時(shí),對(duì)拉長(zhǎng)區(qū)間的音素?cái)?shù)據(jù)進(jìn)行重復(fù)播放等的控制。其中,如果將音素的音高穩(wěn)定的區(qū)間設(shè)定為拉長(zhǎng)區(qū)間,則與以元音、輔音為單位來設(shè)定拉長(zhǎng)區(qū)間的情況相比,可以得到拉長(zhǎng)方式更自然的合成語(yǔ)音。
這時(shí),優(yōu)選這樣的方式,即上述音素?cái)?shù)據(jù)由多個(gè)幀信息構(gòu)成,這些幀信息是通過以規(guī)定周期切割具有上述規(guī)定發(fā)聲長(zhǎng)度的音素而得到的,當(dāng)上述發(fā)聲長(zhǎng)度指定信息所表示的發(fā)聲長(zhǎng)度比所抽取出的上述音素?cái)?shù)據(jù)的發(fā)聲長(zhǎng)度長(zhǎng)時(shí),上述播放控制單元按照上述發(fā)聲長(zhǎng)度信息所表示的發(fā)聲長(zhǎng)度和上述音素?cái)?shù)據(jù)的發(fā)聲長(zhǎng)度之間的差,來控制構(gòu)成上述音素?cái)?shù)據(jù)的多個(gè)幀信息中、存在于上述拉長(zhǎng)區(qū)間內(nèi)的幀信息的播放。
此外,優(yōu)選這樣的方式,即在上述拉長(zhǎng)區(qū)間內(nèi)存在多個(gè)幀信息的情況下,上述播放控制單元分別決定存在于該區(qū)間內(nèi)的各幀信息的播放次數(shù),然后按照所決定的播放次數(shù)來播放上述各幀信息,由此來控制存在于上述拉長(zhǎng)區(qū)間內(nèi)的多個(gè)幀信息的播放。
發(fā)明的效果如上所述,根據(jù)本發(fā)明,可以更加自然地拉長(zhǎng)合成語(yǔ)音的發(fā)聲長(zhǎng)度。
圖1是表示本實(shí)施方式的語(yǔ)音合成裝置的功能性結(jié)構(gòu)的框圖。
圖2是例示出該實(shí)施方式的文本信息的圖。
圖3是例示出該實(shí)施方式的音素?cái)?shù)據(jù)庫(kù)的登錄內(nèi)容的圖。
圖4是例示出該實(shí)施方式的音素?cái)?shù)據(jù)的結(jié)構(gòu)的圖。
圖5是例示出該實(shí)施方式的音素?cái)?shù)據(jù)的合成波形的圖。
圖6是用于說明包含在該實(shí)施方式的音素?cái)?shù)據(jù)中的幀信息的播放動(dòng)作的圖。
圖7是用于說明該實(shí)施方式的幀信息的選擇動(dòng)作的圖。
圖8是用于說明該實(shí)施方式的幀信息的選擇動(dòng)作的圖。
圖9是表示該實(shí)施方式中所設(shè)定的拉長(zhǎng)區(qū)間與合成語(yǔ)音波形的關(guān)系的圖。
具體實(shí)施例方式
以下參照附圖,對(duì)本發(fā)明的實(shí)施方式進(jìn)行說明。
A.本實(shí)施方式圖1是表示本實(shí)施方式的語(yǔ)音合成裝置100的功能性結(jié)構(gòu)的圖。在本實(shí)施方式中,假定語(yǔ)音合成裝置100安裝在移動(dòng)電話或PHS(Personal Handyphone System注冊(cè)商標(biāo))、PDA(Personal DigitalAssistance)等對(duì)硬件資源有較大限制的移動(dòng)終端中的情況,但本發(fā)明不限于此,可以應(yīng)用在各種電子設(shè)備中。
輸入部210將經(jīng)由未圖示的操作部輸入的文本信息提供給文本解析部220。圖2是例示了文本信息的圖。
圖2所示的文本信息由以下部分構(gòu)成音素文字列「na」,用于指定應(yīng)發(fā)音的合成語(yǔ)音的音素;以及發(fā)聲長(zhǎng)度記號(hào)「_」,用于指定該音素的發(fā)聲長(zhǎng)度。圖2所示的發(fā)聲長(zhǎng)度記號(hào)「_」意味著將發(fā)聲長(zhǎng)度拉長(zhǎng)規(guī)定長(zhǎng)度(例如數(shù)ms等),連續(xù)的發(fā)聲長(zhǎng)度記號(hào)的數(shù)量越多,對(duì)應(yīng)的音素(發(fā)聲長(zhǎng)度記號(hào)前的音素文字列等)的發(fā)聲長(zhǎng)度越長(zhǎng)。
在本實(shí)施方式中,以羅馬字標(biāo)記音素文字列,但不限于此,也可以用漢字以及片假名等各種文字、記號(hào)來標(biāo)記。此外,發(fā)聲長(zhǎng)度不僅可以用發(fā)聲長(zhǎng)度記號(hào)「_」來標(biāo)記,也可以用表示發(fā)聲長(zhǎng)度倍率的數(shù)字(例如「2」)等來標(biāo)記。這樣,可以相應(yīng)于語(yǔ)音合成裝置100的設(shè)計(jì)等,來適當(dāng)設(shè)定、改變?nèi)绾螛?biāo)記文本信息的方法。
文本解析部220對(duì)從輸入部210提供的文本信息進(jìn)行解析,然后將解析結(jié)果分別提供給音素?cái)?shù)據(jù)取得部230、幀信息選擇部250。具體地講,當(dāng)文本解析部220從輸入部210接收到文本信息時(shí),將該文本信息分解為音素文字列和發(fā)聲長(zhǎng)度記號(hào)。然后,文本解析部220從音素文字列中抽取出音節(jié)單位的音素(圖2中的「na」),同時(shí)從緊接著各音素文字列的發(fā)聲長(zhǎng)度記號(hào)(圖2中緊接著「na」的「_」)中求出對(duì)應(yīng)音素的發(fā)聲長(zhǎng)度。
其中,對(duì)于發(fā)聲長(zhǎng)度,例如可以利用下述計(jì)算式(1)等求出,但利用什么樣的計(jì)算式等來求出發(fā)聲長(zhǎng)度是任意的。
Td=Ts*(n+1) ……(1)Td文本信息所表示的音素的發(fā)聲長(zhǎng)度Ts沒有被賦予發(fā)聲長(zhǎng)度記號(hào)的音素的基準(zhǔn)發(fā)聲長(zhǎng)度N發(fā)聲長(zhǎng)度記號(hào)的數(shù)量文本解析部220當(dāng)從文本信息中抽取出音節(jié)單位的音素,同時(shí)求出該音素的發(fā)聲長(zhǎng)度時(shí),生成用于指定各音素的音素信息(音素指定信息),然后提供給音素?cái)?shù)據(jù)取得部230,另一方面,生成用于指定所求出的發(fā)聲長(zhǎng)度的發(fā)聲長(zhǎng)度信息(發(fā)聲長(zhǎng)度指定信息),然后提供給幀信息選擇部250。
音素?cái)?shù)據(jù)取得部(抽取單元)230將從文本解析部220提供的音素信息作為檢索關(guān)鍵字,對(duì)音素?cái)?shù)據(jù)庫(kù)240進(jìn)行檢索,取得與音素信息所表示的音素對(duì)應(yīng)的音素?cái)?shù)據(jù)。圖3是例示出音素?cái)?shù)據(jù)庫(kù)240的登錄內(nèi)容的圖。如圖3所示,在音素?cái)?shù)據(jù)庫(kù)(存儲(chǔ)單元)240中,登錄有表示特定朗讀者發(fā)出的音節(jié)單位的各音素(「a」、「na」、……「niang」等)的一系列音素?cái)?shù)據(jù)1~M、以及一系列音素?cái)?shù)據(jù)的數(shù)量(以下稱為登錄音素?cái)?shù)據(jù)數(shù)量)等。
圖4是例示出表示某一音素(例如「niang」)的音素?cái)?shù)據(jù)結(jié)構(gòu)的圖。
如圖4所示,音素?cái)?shù)據(jù)具有音素識(shí)別編號(hào),用于識(shí)別各音素?cái)?shù)據(jù);幀數(shù)量信息,表示包含在各音素?cái)?shù)據(jù)中的幀信息的數(shù)量;多個(gè)幀信息,包含在各音素?cái)?shù)據(jù)中;以及拉長(zhǎng)區(qū)間設(shè)定信息,用于設(shè)定后述的拉長(zhǎng)區(qū)間。所謂的幀信息,例如圖5的A所示,是指通過以規(guī)定周期(例如10(ms))切斷具有規(guī)定發(fā)聲長(zhǎng)度(在圖5的A中為390(ms))的音素而得到的信息。
圖5的A是例示出原封不動(dòng)地播放(正常播放)音節(jié)單位的音素?cái)?shù)據(jù)「niang」時(shí)的合成波形的圖,圖5的B是例示出均勻地拉長(zhǎng)音素?cái)?shù)據(jù)「niang」的輔音之后部分(具體地講,是「iang」)時(shí)的合成波形的圖,圖5的C是例示出在拉長(zhǎng)區(qū)間中拉長(zhǎng)音素?cái)?shù)據(jù)「niang」時(shí)的合成波形的圖。另外,圖5的A例示出了基準(zhǔn)發(fā)聲長(zhǎng)度Ts=390(ms)情況下播放(發(fā)聲)音素?cái)?shù)據(jù)「niang」時(shí)的合成波形,圖5的B和圖5的C均例示出了發(fā)聲長(zhǎng)度Td=1560(ms)情況下播放「niang」音素?cái)?shù)據(jù)時(shí)的合成波形。此外,圖5的A~C中,分別以20ms/塊、50ms/塊、50ms/塊表示橫軸。
圖4所示的第一~第n幀信息,分別是表示圖5的A所示的第一~第n幀的語(yǔ)音特征的信息,是由通過對(duì)各幀進(jìn)行共振峰分析而得到的共振峰信息(成對(duì)的共振峰頻率和共振峰幅度等構(gòu)成)等構(gòu)成的(省略圖示)。對(duì)于幀信息,只要是能夠生成上述合成波形即可,并不限定為包含共振峰信息等的構(gòu)成。
另一方面,圖4所示的拉長(zhǎng)區(qū)間設(shè)定信息是用于設(shè)定圖5的A所示的拉長(zhǎng)區(qū)間的信息,它由以下部分構(gòu)成開始幀信息編號(hào),用于確定拉長(zhǎng)區(qū)間開始的幀信息;以及結(jié)束幀信息編號(hào),用于確定拉長(zhǎng)區(qū)間結(jié)束的幀信息。如圖5所示,在本實(shí)施方式中,不是以元音、輔音為單位來設(shè)定拉長(zhǎng)區(qū)間(參照發(fā)明要解決的技術(shù)問題),而是例如將音素的音高穩(wěn)定的區(qū)間設(shè)定為拉長(zhǎng)區(qū)間。
通過進(jìn)行這樣的設(shè)定,與以元音、輔音為單位來拉長(zhǎng)合成語(yǔ)音發(fā)聲長(zhǎng)度的情況相比(參照?qǐng)D5的B),可以更自然地進(jìn)行拉長(zhǎng)(參照?qǐng)D5的C)。另外,關(guān)于為了拉長(zhǎng)發(fā)聲長(zhǎng)度而進(jìn)行的具體處理,將在后面說明。
音素?cái)?shù)據(jù)取得部230從音素?cái)?shù)據(jù)庫(kù)240中取得與音素信息對(duì)應(yīng)的音節(jié)單位的音素?cái)?shù)據(jù)(「niang」、「a」等),然后將這些各音素?cái)?shù)據(jù)提供給幀信息選擇部250。
幀信息選擇部(播放控制單元)250當(dāng)從音素?cái)?shù)據(jù)取得部230接收到音素?cái)?shù)據(jù),同時(shí)從文本解析部220接收到發(fā)聲長(zhǎng)度信息時(shí),根據(jù)這些信息,判斷發(fā)聲長(zhǎng)度信息所表示的發(fā)聲長(zhǎng)度Td是否比音素?cái)?shù)據(jù)的基準(zhǔn)發(fā)聲長(zhǎng)度Ts長(zhǎng)。以圖5為例進(jìn)行說明,例如相對(duì)于所提供的音素?cái)?shù)據(jù)的基準(zhǔn)發(fā)聲長(zhǎng)度Ts為390(ms),如果發(fā)聲長(zhǎng)度信息所表示的發(fā)聲長(zhǎng)度Td為1560(ms),則幀信息選擇部250就會(huì)判斷發(fā)聲長(zhǎng)度信息所表示的發(fā)聲長(zhǎng)度Td比該音素?cái)?shù)據(jù)的基準(zhǔn)發(fā)聲長(zhǎng)度Ts長(zhǎng)。
如果進(jìn)行了這樣的判斷,則幀信息選擇部250求出為了實(shí)現(xiàn)發(fā)聲長(zhǎng)度Td而必需的幀信息數(shù)量n′(以下稱為總幀信息數(shù)量)??値畔?shù)量n′例如可以用下述計(jì)算式(2)來求出,但可以適當(dāng)改變用何種方法求出。
n′=n*(Td/Ts)……(2)n′總幀信息數(shù)量n音素?cái)?shù)據(jù)中包含的幀信息數(shù)量幀信息選擇部(播放控制單元)250求出總幀信息數(shù)量n′后,按照規(guī)定規(guī)則選擇音素?cái)?shù)據(jù)中包含的各幀信息(后面詳細(xì)說明),由此來補(bǔ)充為了實(shí)現(xiàn)發(fā)聲長(zhǎng)度Td而不足的幀信息數(shù)量。
圖6的A是例示出某一音素?cái)?shù)據(jù)中包含的8個(gè)(n=8)幀信息的圖,圖6的B是用于說明利用圖6的A所示的音韻數(shù)據(jù)來播放發(fā)聲長(zhǎng)度信息等所表示的12個(gè)幀信息(n′)時(shí)的動(dòng)作圖。另外,在圖6中,縱軸表示被播放的幀信息的幀信息編號(hào),橫軸表示幀信息的播放時(shí)間。
如圖6的A所示,在音素?cái)?shù)據(jù)中包含的第1~第8幀信息中,第4幀信息被設(shè)定為拉長(zhǎng)區(qū)間的開始幀信息,第6幀信息被設(shè)定為拉長(zhǎng)區(qū)間的結(jié)束幀信息。另外,將哪一個(gè)幀信息作為拉長(zhǎng)區(qū)間的開始幀信息(或結(jié)束幀信息),可以由拉長(zhǎng)區(qū)間設(shè)定信息來適當(dāng)?shù)卦O(shè)定·變更。
這些音素信息中包含的各幀信息,如圖6的B所示被播放。即,對(duì)于處于拉長(zhǎng)區(qū)間之外的幀信息(第1~第3幀信息、第7、第8幀信息),每個(gè)僅播放1次(換句話說,重復(fù)播放0次)。與此相對(duì),對(duì)于處于拉長(zhǎng)區(qū)間內(nèi)的幀信息(第4~第6幀信息),播放2次或3次(換句話說,重復(fù)播放1次或2次)。具體地講,在處于拉長(zhǎng)區(qū)間內(nèi)的第4~第6幀信息中,對(duì)于第4幀信息和第5幀信息,分別重復(fù)播放1次,而對(duì)于第6幀信息,重復(fù)播放2次。這樣,在本實(shí)施方式中,當(dāng)發(fā)聲長(zhǎng)度指定信息中表示的發(fā)聲長(zhǎng)度比音素?cái)?shù)據(jù)的基準(zhǔn)發(fā)聲長(zhǎng)度長(zhǎng)時(shí),根據(jù)發(fā)聲長(zhǎng)度指定信息中表示的發(fā)聲長(zhǎng)度與上述基準(zhǔn)發(fā)聲長(zhǎng)度之間的差,來重復(fù)播放處于拉長(zhǎng)區(qū)間內(nèi)的幀信息(換句話說,控制拉長(zhǎng)區(qū)間內(nèi)的音素?cái)?shù)據(jù)的播放)。上述音素?cái)?shù)據(jù)的播放控制是由以下說明的幀信息選擇部(播放控制單元)250、語(yǔ)音信號(hào)生成部(播放控制單元)270來實(shí)現(xiàn)的。
(幀信息的選擇動(dòng)作)圖7和圖8是用于說明幀信息選擇部250進(jìn)行的幀信息選擇動(dòng)作的圖。在以下的說明中,假定進(jìn)行圖6所示的播放的情況。
幀信息選擇部250首先將選擇幀信息編號(hào)FrmTimer設(shè)置為「1」,同時(shí)將選擇循環(huán)次數(shù)LoopTimer設(shè)定為「0」。其中,選擇幀信息編號(hào)FrmTimer表示被選擇的幀信息的幀信息編號(hào),選擇循環(huán)次數(shù)LoopTimer表示在拉長(zhǎng)區(qū)間內(nèi)選擇幀信息編號(hào)FrmTimer的幀信息被重復(fù)選擇的次數(shù)(后面詳細(xì)說明)。此外,幀信息選擇部250將后述的選擇次數(shù)變更標(biāo)記LoopNumIncFrag設(shè)置為“False”,然后計(jì)算出以下說明的選擇次數(shù)LoopNum、選擇增加幀信息編號(hào)LoopNumIncFrm(步驟S1)。
(選擇次數(shù)LoopNum的算法)幀信息選擇部250首先利用下述計(jì)算式(a1)~(a3),求出幀信息的選擇次數(shù)(播放次數(shù))LoopNum。
(拉長(zhǎng)區(qū)間幀信息數(shù)量)=(結(jié)束幀信息編號(hào))-(開始幀信息編號(hào))+1……(a1)(在拉長(zhǎng)區(qū)間內(nèi)播放的幀信息數(shù)量)=(總幀信息數(shù)量)-(在拉長(zhǎng)區(qū)間外播放的幀信息數(shù)量)……(a2)選擇次數(shù)LoopNum=(在拉長(zhǎng)區(qū)間內(nèi)播放的幀信息數(shù)量)/(拉長(zhǎng)區(qū)間幀信息數(shù)量)(a3)(其中,計(jì)算式(a3)中舍去小數(shù)以下部分)具體地說,幀信息選擇部250首先利用計(jì)算式(a1),計(jì)算出拉長(zhǎng)區(qū)間幀信息數(shù)量。其中,由于結(jié)束幀信息編號(hào)是「6」,開始幀信息編號(hào)是「4」(參照?qǐng)D6),所以拉長(zhǎng)區(qū)間幀信息數(shù)量是「3」。接下來,幀信息選擇部250利用計(jì)算式(a2),計(jì)算出在拉長(zhǎng)區(qū)間內(nèi)播放的幀信息數(shù)量。其中,由于總幀信息數(shù)量是「12」,在拉長(zhǎng)區(qū)間外播放的幀信息數(shù)量是「5」(參照?qǐng)D6),所以在拉長(zhǎng)區(qū)間內(nèi)播放的幀信息數(shù)量是「7」。然后,幀信息選擇部250將由計(jì)算式(a1)、(a2)得到的結(jié)果代入計(jì)算式(a3),由此求出選擇次數(shù)LoopNum。其中,由于拉長(zhǎng)區(qū)間幀信息數(shù)量是「3」,在拉長(zhǎng)區(qū)間內(nèi)播放的幀信息數(shù)量是「7」,所以舍去小數(shù)以下部分而得到的選擇次數(shù)LoopNum是「2」。
(選擇增加幀信息編號(hào)LoopNumIncFrm)接下來,幀信息選擇部250利用下述計(jì)算式(b1),求出選擇增加幀信息編號(hào)(具體地講,是將要增加選擇次數(shù)LoopNum的幀信息的幀信息編號(hào))LoopNumIncFrm。但是,如果在利用上述計(jì)算式(a3)求選擇次數(shù)LoopNum時(shí)沒有余數(shù)(即被整除),則不利用下述計(jì)算式(b1)求選擇增加幀信息編號(hào)LoopNumIncFrm,而是將選擇增加幀信息編號(hào)LoopNumIncFrm設(shè)為「0」。
選擇增加幀信息編號(hào)LoopNumIncFrm=(結(jié)束幀編號(hào)+1)-{(在拉長(zhǎng)區(qū)間內(nèi)播放的幀信息數(shù)量)-選擇次數(shù)LoopNum*(拉長(zhǎng)區(qū)間幀信息數(shù)量)}(b1)其中,由于結(jié)束幀編號(hào)是「6」,在拉長(zhǎng)區(qū)間內(nèi)播放的幀信息數(shù)量是「7」,選擇次數(shù)LoopNum是「2」,拉長(zhǎng)區(qū)間幀信息數(shù)量是「3」,所以選擇增加幀信息編號(hào)LoopNumIncFrm是「6」。
幀信息選擇部250按照這種方式求出選擇次數(shù)LoopNum、選擇增加幀信息編號(hào)LoopNumIncFrm之后,將求得的結(jié)果存儲(chǔ)在存儲(chǔ)器(圖示省略)中,進(jìn)入步驟S2。
幀信息選擇部250進(jìn)入步驟S2之后,判斷選擇幀信息編號(hào)FrmTimer的幀信息是否存在于拉長(zhǎng)區(qū)間內(nèi)。具體地講,幀信息選擇部250對(duì)選擇幀信息編號(hào)FrmTimer和包含在音素?cái)?shù)據(jù)中的開始幀信息編號(hào)(或結(jié)束幀信息編號(hào))等進(jìn)行比較,由此來判斷上述幀信息是否存在于拉長(zhǎng)區(qū)間內(nèi)。
在開始幀信息編號(hào)和結(jié)束幀信息編號(hào)分別是「4」、「6」(參照?qǐng)D6),而選擇幀信息編號(hào)FrmTimer例如是「1」的情況下,幀信息選擇部250判斷在拉長(zhǎng)區(qū)間內(nèi)不存在選擇幀信息編號(hào)FrmTimer為「1」的幀信息(步驟S2NO)。當(dāng)幀信息選擇部250根據(jù)該判斷結(jié)果而進(jìn)入步驟S3后,選擇選擇幀信息編號(hào)FrmTimer為「1」的幀信息,然后使選擇幀信息編號(hào)FrmTimer遞加「1」(步驟S4)。隨后,幀信息選擇部250判斷遞加后的選擇幀信息編號(hào)FrmTimer是否比包含在音素?cái)?shù)據(jù)中的幀信息數(shù)量(以下稱為音素幀信息數(shù)量)FrmNum大(即是否應(yīng)該結(jié)束)(步驟S4→步驟S5)。
由于遞加后的選擇幀信息編號(hào)FrmTimer是「2」,而音素幀信息數(shù)量FrmNum是「8」(參照?qǐng)D6),所以幀信息選擇部250判斷還不應(yīng)該結(jié)束(步驟S5NO),從而返回步驟S2,重復(fù)執(zhí)行步驟S2→步驟S3→步驟S4→步驟S5這一系列處理。
然后,當(dāng)選擇幀信息編號(hào)FrmTimer變?yōu)椤?」,并判斷幀信息編號(hào)FrmTimer為「4」的幀信息存在于拉長(zhǎng)區(qū)間內(nèi)時(shí)(步驟S2YES),幀信息選擇部250進(jìn)入步驟S6,對(duì)是否增加該幀信息的選擇次數(shù)LoopNum進(jìn)行判斷。具體地講,幀信息選擇部250判斷選擇次數(shù)變更標(biāo)記LoopNumIncFrag是否為“False”,并且判斷選擇幀信息編號(hào)FrmTimer和在步驟S1中求得的選擇增加幀信息編號(hào)LoopNumIncFrm是否一致(步驟S6)。選擇次數(shù)變更標(biāo)記LoopNumIncFrag是這樣的標(biāo)記,當(dāng)由幀信息選擇部250對(duì)選擇次數(shù)LoopNum進(jìn)行遞加時(shí),選擇次數(shù)變更標(biāo)記LoopNumIncFrag從“False”變?yōu)椤癟rue”(參照步驟11)。
其中,由于選擇幀信息編號(hào)FrmTimer是「4」,選擇增加幀信息編號(hào)LoopNumIncFrm是「6」,所以幀信息選擇部250判斷它們不一致(步驟S6NO)。在進(jìn)行了這樣的判斷之后,幀信息選擇部250進(jìn)入步驟S7,選擇選擇幀信息編號(hào)FrmTimer的幀信息,然后使選擇循環(huán)次數(shù)LoopTimer遞加「1」(步驟S8)。
當(dāng)幀信息選擇部250進(jìn)入步驟S9之后,判斷選擇次數(shù)LoopNum與選擇循環(huán)次數(shù)LoopTimer是否一致。這時(shí),由于在步驟S1中求得的選擇次數(shù)LoopNum是「2」,而選擇循環(huán)次數(shù)LoopTimer是「1」(步驟S9NO),所以幀信息選擇部250返回步驟S2。然后,幀信息選擇部250進(jìn)入步驟S2→步驟S6→步驟S7→步驟S8→步驟S9,再次判斷選擇次數(shù)LoopNum與選擇循環(huán)次數(shù)LoopTimer是否一致。其中,由于選擇次數(shù)LoopNum和選擇循環(huán)次數(shù)LoopTimer都是「2」(步驟S9YES),所以幀信息選擇部250進(jìn)入步驟S10,對(duì)選擇循環(huán)次數(shù)LoopTimer進(jìn)行初始化(即將選擇循環(huán)次數(shù)LoopTimer設(shè)定為「0」)。
幀信息選擇部250在對(duì)選擇循環(huán)次數(shù)LoopTimer進(jìn)行初始化之后,使選擇幀信息編號(hào)FrmTimer遞加「1」,然后判斷遞加后的選擇幀信息編號(hào)FrmTimer是否比音素幀信息數(shù)量FrmNum大(即是否應(yīng)該結(jié)束)(步驟S4→步驟S5)。
由于遞加后的選擇幀信息編號(hào)FrmTimer是「5」,而音素幀信息數(shù)量FrmNum是「8」(參照?qǐng)D9),所以幀信息選擇部250判斷還不應(yīng)該結(jié)束(步驟S5NO),從而返回步驟S2,重復(fù)執(zhí)行上述一系列處理。
然后,幀信息選擇部250當(dāng)判斷選擇次數(shù)變更標(biāo)記LoopNumIncFrag是“False”,并判斷選擇幀信息編號(hào)FrmTimer與選擇增加幀信息編號(hào)LoopNumIncFrm「6」一致時(shí)(步驟S6YES),進(jìn)入步驟S11。幀信息選擇部250在步驟S11中,使選擇次數(shù)LoopNum遞加「1」,同時(shí)使選擇次數(shù)變更標(biāo)記LoopNumIncFrag從“False”切換為“True”(步驟S11),然后返回步驟S7。該遞加后的選擇次數(shù)LoopNum也被應(yīng)用于這之后的拉長(zhǎng)區(qū)間的幀處理中。即,在使利用上述計(jì)算式(a3)求出的選擇次數(shù)(即沒有被整除情況下的選擇次數(shù))LoopNum遞加后的情況下,可以從所設(shè)定的拉長(zhǎng)區(qū)間的最后幀開始向最初幀,按順序(換句話說,即按逆序回溯)應(yīng)用遞加的選擇次數(shù)LoopNum。舉一個(gè)具體例子進(jìn)行說明,在上述實(shí)施例中,由于結(jié)束幀編號(hào)和選擇增加幀信息編號(hào)LoopNumIncFrm都是「6」,所以僅對(duì)拉長(zhǎng)區(qū)間的最后幀(幀編號(hào)「6」)應(yīng)用了遞加后的選擇次數(shù)LoopNum,但在例如結(jié)束幀編號(hào)是「6」,在拉長(zhǎng)區(qū)間內(nèi)播放的幀信息數(shù)量是「8」,拉長(zhǎng)區(qū)間幀信息數(shù)量是「3」的情況下,由上述計(jì)算式(a3)求出選擇次數(shù)LoopNum是「2」,由上述計(jì)算式(b1)求出選擇增加幀信息編號(hào)LoopNumIncFrm是「5」。在該情況下,由于結(jié)束幀編號(hào)是「6」,而選擇增加幀信息編號(hào)LoopNumIncFrm是「5」,所以對(duì)于拉長(zhǎng)區(qū)間的最后幀(幀編號(hào)「6」)及其前一個(gè)幀,即從最后幀向前回溯一個(gè)的幀(幀編號(hào)「5」),可以應(yīng)用遞加后的選擇次數(shù)LoopNum。
當(dāng)返回步驟S7之后,幀信息選擇部250重復(fù)執(zhí)行上述一系列處理。然后,幀信息選擇部250選擇最后的幀信息(選擇幀信息編號(hào)FrmTimer為「8」的幀信息),當(dāng)檢測(cè)到遞加后的選擇幀信息編號(hào)FrmTimer「9」比音素幀信息數(shù)量FrmNum「8」大時(shí)(步驟S5YES)時(shí),結(jié)束以上說明的幀選擇動(dòng)作。
幀信息選擇部250當(dāng)以上述方式按順序選擇包含在各音素?cái)?shù)據(jù)中的幀信息后,按順序?qū)⑦@些幀信息提供給語(yǔ)音信號(hào)生成部270。語(yǔ)音信號(hào)生成部270根據(jù)從幀信息選擇部250提供的幀信息,生成合成語(yǔ)音信號(hào)。其結(jié)果是如圖9所示,相對(duì)于具有基準(zhǔn)發(fā)聲長(zhǎng)度Ts的合成語(yǔ)音,拉長(zhǎng)區(qū)間被大致均勻拉長(zhǎng)的發(fā)聲長(zhǎng)度Td(>Ts)的合成語(yǔ)音,通過揚(yáng)聲器(圖示省略)等被輸出到外部。
如上說明,采用本實(shí)施方式的語(yǔ)音合成裝置,將音素音高穩(wěn)定的區(qū)間等設(shè)定為拉長(zhǎng)區(qū)間,通過重復(fù)選擇·播放存在于該拉長(zhǎng)區(qū)間中的幀信息,來生成發(fā)聲長(zhǎng)度比基準(zhǔn)發(fā)聲長(zhǎng)度長(zhǎng)的合成語(yǔ)音。由此,與以元音、輔音為單位設(shè)定拉長(zhǎng)區(qū)間的情況相比(參照為解決技術(shù)問題而采取的技術(shù)方案部分),可以獲得拉長(zhǎng)方式更加自然的合成語(yǔ)音。對(duì)于例如漢語(yǔ)那樣,在一個(gè)音素中具有多個(gè)元音的復(fù)合元音、以及除了元音還有鼻音那樣的語(yǔ)言的情況,上述方法特別有效。
B.變形例(變形例1)在以上說明的本實(shí)施方式中,在由計(jì)算式(a3)求得的選擇次數(shù)LoopNum沒有被整除的情況下,從所設(shè)定的拉長(zhǎng)區(qū)間的最后幀開始向最初幀按順序應(yīng)用遞加后的選擇次數(shù)LoopNum,但不限于此。也就是說,可以大致均等地拉長(zhǎng)拉長(zhǎng)區(qū)間,例如可以從拉長(zhǎng)區(qū)間的最初幀開始按順序選擇作為應(yīng)用對(duì)象的幀,或以規(guī)定間隔(例如按照3個(gè)幀中選擇1個(gè)幀的比例等)來選擇作為應(yīng)用對(duì)象的幀。
(變形例2)此外,在本實(shí)施方式中,將音高穩(wěn)定的區(qū)間設(shè)定為拉長(zhǎng)區(qū)間,但也可以將共振峰頻率或共振峰幅度穩(wěn)定的區(qū)間設(shè)定為拉長(zhǎng)區(qū)間。在該情況下,只要將低次共振峰穩(wěn)定的區(qū)間設(shè)定為拉長(zhǎng)區(qū)間即可。另外,在各音素中設(shè)定的拉長(zhǎng)區(qū)間不限于1個(gè),可以設(shè)定多個(gè)。
(變形例3)此外,在本實(shí)施方式中,對(duì)在音素?cái)?shù)據(jù)庫(kù)240中登錄了一系列音素?cái)?shù)據(jù)1~M、登錄音素?cái)?shù)據(jù)數(shù)量的情況進(jìn)行了說明,但除此之外,也可以登錄用于指定該音素的音高的C(哆)這樣的音高信息(參照?qǐng)D3的括號(hào)中部分)、每個(gè)幀的共振峰信息數(shù)量(共振峰數(shù)量信息參照?qǐng)D3的括號(hào)中部分)。
(變形例4)此外,為了通過CPU(或DSP)執(zhí)行存儲(chǔ)在ROM等存儲(chǔ)器中的程序,以實(shí)現(xiàn)以上說明的語(yǔ)音合成裝置100的各種功能,可以將上述程序記錄在CD-ROM等記錄介質(zhì)上而頒布,或者可以經(jīng)由互聯(lián)網(wǎng)等通信網(wǎng)絡(luò)來頒布。
權(quán)利要求
1.一種語(yǔ)音合成裝置,其特征在于,具有獲取單元,從被輸入語(yǔ)音合成裝置的文本信息,獲取用于指定合成語(yǔ)音的音素的音素指定信息和用于指定該合成語(yǔ)音的發(fā)聲長(zhǎng)度的發(fā)聲長(zhǎng)度指定信息;存儲(chǔ)單元,存儲(chǔ)被設(shè)定了拉長(zhǎng)區(qū)間的、具有規(guī)定發(fā)聲長(zhǎng)度的每個(gè)音素的音素?cái)?shù)據(jù);抽取單元,從上述存儲(chǔ)單元抽取出與上述音素指定信息所表示的音素對(duì)應(yīng)的音素?cái)?shù)據(jù);以及播放控制單元,當(dāng)上述發(fā)聲長(zhǎng)度指定信息所表示的發(fā)聲長(zhǎng)度比所抽取出的上述音素?cái)?shù)據(jù)的發(fā)聲長(zhǎng)度長(zhǎng)時(shí),按照上述發(fā)聲長(zhǎng)度信息所表示的發(fā)聲長(zhǎng)度和上述音素?cái)?shù)據(jù)的發(fā)聲長(zhǎng)度之間的差,來控制上述拉長(zhǎng)區(qū)間內(nèi)的上述音素?cái)?shù)據(jù)的播放。
2.根據(jù)權(quán)利要求1所述的語(yǔ)音合成裝置,其特征在于,上述音素?cái)?shù)據(jù)由多個(gè)幀信息構(gòu)成,這些幀信息是通過以規(guī)定周期切割具有上述規(guī)定發(fā)聲長(zhǎng)度的音素而得到的,當(dāng)上述發(fā)聲長(zhǎng)度指定信息所表示的發(fā)聲長(zhǎng)度比所抽取出的上述音素?cái)?shù)據(jù)的發(fā)聲長(zhǎng)度長(zhǎng)時(shí),上述播放控制單元按照上述發(fā)聲長(zhǎng)度信息所表示的發(fā)聲長(zhǎng)度和上述音素?cái)?shù)據(jù)的發(fā)聲長(zhǎng)度之間的差,來控制構(gòu)成上述音素?cái)?shù)據(jù)的多個(gè)幀信息中、存在于上述拉長(zhǎng)區(qū)間內(nèi)的幀信息的播放。
3.根據(jù)權(quán)利要求2所述的語(yǔ)音合成裝置,其特征在于,在上述拉長(zhǎng)區(qū)間內(nèi)存在多個(gè)幀信息的情況下,上述播放控制單元分別決定存在于該區(qū)間內(nèi)的各幀信息的播放次數(shù),然后按照所決定的播放次數(shù)來播放上述各幀信息,由此來控制存在于上述拉長(zhǎng)區(qū)間內(nèi)的多個(gè)幀信息的播放。
4.根據(jù)權(quán)利要求1所述的語(yǔ)音合成裝置,其特征在于,上述拉長(zhǎng)區(qū)間被設(shè)定為該音素?cái)?shù)據(jù)的該音素的音高穩(wěn)定的區(qū)間。
5.一種語(yǔ)音合成方法,其特征在于,具有以下步驟獲取步驟,從被輸入語(yǔ)音合成裝置的文本信息,獲取用于指定合成語(yǔ)音的音素的音素指定信息和用于指定該合成語(yǔ)音的發(fā)聲長(zhǎng)度的發(fā)聲長(zhǎng)度指定信息;抽取步驟,從用于存儲(chǔ)被設(shè)定了拉長(zhǎng)區(qū)間的、具有規(guī)定發(fā)聲長(zhǎng)度的每個(gè)音素的音素?cái)?shù)據(jù)的存儲(chǔ)單元,抽取出與上述音素指定信息所表示的音素對(duì)應(yīng)的音素?cái)?shù)據(jù);以及播放控制步驟,當(dāng)上述發(fā)聲長(zhǎng)度指定信息所表示的發(fā)聲長(zhǎng)度比所抽取出的上述音素?cái)?shù)據(jù)的發(fā)聲長(zhǎng)度長(zhǎng)時(shí),按照上述發(fā)聲長(zhǎng)度信息所表示的發(fā)聲長(zhǎng)度和上述音素?cái)?shù)據(jù)的發(fā)聲長(zhǎng)度之間的差,來控制上述拉長(zhǎng)區(qū)間內(nèi)的上述音素?cái)?shù)據(jù)的播放。
全文摘要
本發(fā)明提供一種能夠更加自然地拉長(zhǎng)合成語(yǔ)音的發(fā)聲長(zhǎng)度的語(yǔ)音合成裝置。作為解決方案,首先設(shè)定各音素?cái)?shù)據(jù)的拉長(zhǎng)區(qū)間。拉長(zhǎng)區(qū)間不是以元音、輔音為單位設(shè)定的,而是用例如音素的音高穩(wěn)定的區(qū)間來設(shè)定的。當(dāng)被提供應(yīng)拉長(zhǎng)發(fā)聲長(zhǎng)度的指示時(shí),幀信息選擇部(250)根據(jù)該指示內(nèi)容,對(duì)存在于拉長(zhǎng)區(qū)間內(nèi)的幀信息的重復(fù)播放進(jìn)行控制。
文檔編號(hào)G10L13/00GK1661673SQ20051000745
公開日2005年8月31日 申請(qǐng)日期2005年2月21日 優(yōu)先權(quán)日2004年2月27日
發(fā)明者川原毅彥 申請(qǐng)人:雅馬哈株式會(huì)社