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