專利名稱:文本到語音設備的制作方法
技術領域:
本發(fā)明涉及一種將包括表音符號(phonogram)的文本數(shù)據(jù)轉換成聲音 并且輸出所述聲音的文本到語音讀取設備、程序和方法,更具體地,涉及一 種根據(jù)讀取速率而能控制音素長度的文本到語音讀取設備、程序和方法,尤 其是能夠基于低速讀取而保持或縮短特定音素長度的文本到語音讀取設備、 程序和方法。
背景技術:
所謂文本到語音讀取技術是已知的。該技術分析包括表音符號的文本數(shù) 據(jù)并且基于語音合成方法使用文本數(shù)據(jù)執(zhí)行語音合成,從而以語音的形式輸 出所述文本數(shù)據(jù)。在便攜終端設備(例如手機)領域,讀取自由文本(例如 電子郵件消息)的語音合成功能已經逐漸地廣泛使用。在個人計算機(PC) 領域,稱為"屏幕讀取器"的軟件也逐漸流行。考慮到理解文本內容的情況, 代表元音、輔音、停頓等的音素長度是幫助識別的重要因素。有關這種文本到語音讀取技術,日本特開專利公布No. 6-149283公開了 以下語音合成技術。根據(jù)該技術,如果話語速度信息小于預設值,則最小化 短音節(jié)(mora)長度以基于所述信息將話語速度設置為高于標準速度,并且 設置相應于所述話語速度信息的短幀周期。另一方面,如果話語速度信息不 小于預設值,則根據(jù)所述話語速度信息設置長的短音節(jié)長度,以基于所述信 息將話語速度設置為低于標準速度,并且最大化幀周期。如果讀取速率(話語速率)是可變的,則與所述話語速率成反比的方式 設置每個音素的長度。例如,話語速率是正常話語速率的兩倍,則音素長度 變成正常長度的1/2。如果話語速率是正常速率的1/2,則音素長度變成正常 長度的兩倍。假設以這種方式簡化話語速率與音素長度之間的關系,也即, 話語速率與音素長度僅僅是反比,則有可能阻礙平滑識別,以至于在高速或 低速朗讀時難以聽到一些聲音,雖然這些聲音在通常的話語速率(rate)下是正常(容易聽到)的。日本特開專利公布No. 6-149283既沒有公開和暗示這些需求或問題,也 沒有公開和暗示解決這些問題的任何方案。發(fā)明內容根據(jù)本發(fā)明實施例的一個方面,本發(fā)明提供一種用于將文本數(shù)據(jù)轉換為聲音信號的設備,該設備包括音素確定器,用于確定與多個音素相對應的 音素數(shù)據(jù)和與多個停頓相對應的停頓數(shù)據(jù),其中所述停頓待被插入到將被轉 換為聲音信號的所述文本數(shù)據(jù)中的一系列音素之間;音素長度調整器,用于分別根據(jù)所述聲音信號的速度確定所述音素的長度,以及選擇性地將所述文 本數(shù)據(jù)中至少一個停頓的長度減少到比與所述聲音信號的速度相對應的停頓長度小的停頓長度,以此調整所述音素數(shù)據(jù)和所述停頓數(shù)據(jù);以及輸出單 元,用于基于由所述音素長度調整器所調整的音素數(shù)據(jù)和停頓數(shù)據(jù)輸出所述 聲音信號。
圖1是顯示根據(jù)本發(fā)明第一實施例的文本到語音讀取設備的結構示例的 框圖;圖2是顯示文本到語音讀取設備的音素長度控制單元的結構示例的框圖;圖3是顯示整合有所述文本到語音讀取設備的便攜終端設備的示例框圖;圖4顯示便攜終端設備的示例結構; 圖5顯示屏幕顯示的示例;圖6是顯示第一實施例的音素長度控制處理過程的示例流程圖;圖7是顯示根據(jù)本發(fā)明第二實施例的音素長度控制處理過程的示例流程圖;圖8是顯示根據(jù)本發(fā)明第三實施例的音素長度控制處理過程的示例流程圖;圖9是顯示根據(jù)本發(fā)明第四實施例的音素長度控制單元的框圖;圖10是顯示第四實施例的音素長度控制處理過程的示例流程圖; 圖11是顯示根據(jù)本發(fā)明第五實施例的音素長度控制單元的框圖; 圖12是顯示第五實施例的音素長度控制處理過程的示例流程圖; 圖13是顯示根據(jù)本發(fā)明第六實施例的音素長度控制處理過程的示例流 程圖;圖14是顯示根據(jù)本發(fā)明第七實施例的音素長度控制處理過程的示例流 程圖;圖15是顯示根據(jù)本發(fā)明第八實施例的音素長度控制處理過程的示例流 程圖;圖16是顯示根據(jù)本發(fā)明第九實施例的音素長度控制處理過程的示例流 程圖;圖17是顯示根據(jù)本發(fā)明第十實施例的音素長度控制處理過程的示例流 程圖;圖18是顯示根據(jù)本發(fā)明第十一實施例的音素長度控制處理過程的示例 流程圖;圖19是顯示根據(jù)本發(fā)明第十二實施例的音素長度控制處理過程的示例 流程圖;圖20是顯示根據(jù)本發(fā)明第十三實施例的音素長度控制處理過程的示例 流程圖;.圖21是顯示設有話語速率調整單元的參數(shù)生成單元的框圖; 圖22是顯示根據(jù)本發(fā)明其它實施例的音素長度控制處理過程的示例流 程圖;圖23是顯示根據(jù)本發(fā)明其它實施例的音素長度控制處理過程的示例流 程圖;圖24是顯示音素長度控制處理過程的示例流程圖;圖25顯示語言處理結果;圖26a和圖26b分別顯示合成的語音波形;圖27a和圖27b分別顯示合成的語音波形;圖28a和圖28b分別顯示合成的語音波形;圖29a和圖29b分別顯示合成的語音波形;圖30a和圖30b分別顯示合成的語音波形; 圖31a和圖31b分別顯示合成的語音波形;以及 圖32a和圖32b分別顯示合成的語音波形。
具體實施方式
第一實施例下面參照圖1和圖2描述本發(fā)明的第一實施例。圖1是顯示文本到語音 讀取設備的結構示例的框圖。圖2是顯示文本到語音讀取設備的音素長度控 制單元的結構示例的框圖。文本到語音讀取設備(語音朗讀裝置,語音朗讀設備)2是本發(fā)明的文 本到語音讀取設備、程序和方法的示例。文本到語音讀取設備2被配置為使 用計算機,例如語音合成設備,將包括停頓、延長音(prolonged sound)、 重疊輔音(geminate consonant)或輔音的文本數(shù)據(jù)(例如文本(在日語中, 混有假名/漢字的句子))轉換為聲音并且用語音讀取文本數(shù)據(jù)。所述文本到 語音讀取設備2根據(jù)話語速率(讀取速率)控制如停頓、延長音、重疊輔音(日語促音(sokuon))或輔音的文本數(shù)據(jù)中的音素長度,由此改善通過轉 換所述文本數(shù)據(jù)獲得的輸出聲音的清晰度,并且便于合成語音(讀取語音) 的識別。這里,所述文本數(shù)據(jù)是文本到語音轉換的對象。該數(shù)據(jù)包括由停頓、 延長音、重疊輔音或輔音組成的表音符號(photogram)及其字符串。所述表 音符號或其字符串是中間語言,該中間語言由具有韻律符號的發(fā)音符號(phonetic symbol)組成,即,發(fā)音符號和韻律符號(假名)。停頓是無聲 期間的"沉默(silience)",該無聲期間例如為不轉換為任何聲音的期間(不 包括正好在爆破音或重疊輔音前的停頓)。例如,在這樣的日語句子"so tsugyoshite, shinyoukinkoni ..."(以羅馬字母書寫)中,標點","被插入 在"so tsugyoshi te"與"shinyou kin koni"之間作為無聲期間。日語句子"so tsugyoshite, shinyoukinkoni ..."的意思是"(他)從(高中)畢業(yè)之后,(他 就)在銀行(工作)..."。換句話說,"sotsugyoshite"的意思是"畢業(yè)之 后"以及"shinyoukinkoni"的意思是"在銀行"。通過該標點舉例說明停 頓。為了描述停頓與"短語(phrase)(呼吸群)"之間的關系,短語是與 我們在一次呼吸中給出的話語(utterance)相對應的單位持續(xù)時間。然而前述的停頓被插入在所述短語前或后的換氣位置(breathingposition)。延長音是延長的聲音,不限于短持續(xù)時間的聲音。在語音中重疊輔音是 與之后音節(jié)的第一個輔音具有相同清晰度的止爆破音(stop-plosive)或摩擦 音。例如,重疊輔音是"sakki"中的"kk"。此外,對比于元音,我們通過 發(fā)音器官的阻塞(stopper)(封閉或縮小部分)而排出氣息來產生重疊輔音。為獲得上述功能,如圖1所示,所述文本到語音讀取設備2包括語言處 理單元(語言處理器)4、字典6、參數(shù)生成單元(參數(shù)生成器)8、基音(pitch) 提取/交疊單元(音高提取/交疊單元)10以及波形庫12。所述語言處理單元4是語言處理裝置,其通過參考字典6對輸入的漢字 /假名混合句子中的詞進行分析,來確定如何朗讀每個詞、重音以及語調以輸 出表音字符串(photogramic string)(中間語言)。此外,字典6存儲每個 詞的詞性(kind)、如何朗讀每個詞以及哪個詞有重音。所述重音和語調實質上與基音頻率的時間變化模式(pattern)有著密切 關系。更具體地,在重音單詞或升調中所述基音頻率變高。因此,基于輸入 文本的標點或通過詞分析所提取的分句,所述語言處理單元4將輸入文本分 成上述的短語。所述參數(shù)生成單元8是用于設置音素持續(xù)時間、停頓持續(xù)時間或基音頻 率模式的參數(shù)生成裝置。所述參數(shù)生成單元8根據(jù)話語速率控制音素長度。如圖1所示,參數(shù)生成單元8設有音素長度設定單元(音素長度設定器) 14、音素長度表16、音素長度控制單元(音素長度控制器)18以及基音模 式生成單元(基音模式生成器)20。在語言處理單元4生成表音字符串的階段,參數(shù)生成單元8確定對哪個 音素進行語音合成。因此,音素長度設定單元14作為音素長度裝置設定標 準話語速率下的音素長度。音素長度表16是用于存儲標準話語速率下的目 標音素以及之前和之后音素的音素長度的裝置。為描述音素長度的設定示 例,音素長度表16預先存儲標準話語速率下的目標音素以及之前和之后音 素的的音素長度(從數(shù)據(jù)庫中提取的值),并且基于預先存儲的值來設定目 標音素長度。可以使用其它參數(shù)校正音素長度。音素長度控制單元18是音素長度控制裝置,其用于根據(jù)實際話語速率 對音素長度設定單元14設定的標準話語速率下的音素長度進行控制。將話語速率由用于調整讀取速率(例如用戶設定等)的裝置(未顯示)發(fā)送至音 素長度控制單元18,作為控制信息。如圖2所示,音素長度控制單元18包括音素長度調整單元(音素-長度調節(jié)單元)24、話語速率確定單元(語音速度確定單元,語速確定單元)26 以及音素確定單元28。音素長度調整單元24從話語速率確定單元26和音素 確定單元28接收確定結果以調整音素長度或停頓長度。話語速率確定單元 26分析輸入的話語速率以確定所述話語速率為標準速度、高速或低速,并且 將確定結果發(fā)送至音素長度調整單元24。在這種情況下,話語速率確定單元 26的確定結果表示標準速度、高速或低速。此外,音素確定單元28確定任 一音素或停頓是否位于文本數(shù)據(jù)的開頭,例如,具有由音素長度設定單元14 (圖1)設定的音素長度的音素和停頓,并且將所述確定結果發(fā)送到音素長 度調整單元24。根據(jù)音素長度控制單元18,如果音素長度與基于標準話語速率確定的任 何話語速率和標準話語速度的比成反比,更具體地,如果基于標準速率(例 如,每秒7個短音節(jié))將話語速率設定為每秒14個短音節(jié),則將每個音素 長度設定為1/2;如果設定話語速率為每秒6個短音節(jié),則每個音素長度設 定為7/6。這里,短音節(jié)(mom)是指節(jié)拍(beat)并且近似對應于一個假名 字符。拗音(contracted sound)(小的假名字符"ya" 、 "yu"以及"yo"、 "kya")對應于1個短音節(jié)。在日語中, 一個字符長度近似對應1個短音 節(jié)?;裟J缴蓡卧?0是模式生成裝置,其考慮到表音字符串(photogmm string)中的重音信息設定各音素的基音頻率?;籼崛?交疊單元10是使用PSOLA (基音同步交疊相加,Pitch Synchronous OverLap and Add:基于波形復用的基音轉換方法)的基音提取/ 交疊裝置。波形庫12存儲語音波形、音素標志(phoneme label)以及基音標 記(mark),其中音素標志表示波形的每個部分與音素之間的關系,基音標 記表示所發(fā)聲音(voiced sound)的基音頻率?;趨?shù)生成單元8生成的參 數(shù),基音提取/交疊單元10從波形庫12中提取對應2個周期(cycle)的語音 波形,將所述波形與窗函數(shù)(例如,漢寧窗)相乘,并且可選地,將所述波 形與用于振幅調節(jié)的增益相乘。然后,如果期望的基音頻率與存儲在波形庫12中的基音頻率不匹配,基音提取/交疊單元10使得提取的波形交疊(overlap),由此計算總和,以輸出合成的音頻信號。接下來參照圖3、圖4以及圖5,描述文本到語音讀取設備的硬件組成。 圖3是顯示整合有所述文本到語音讀取設備的便攜式終端裝置的示例框圖。 圖4顯示便攜式終端裝置的結構示例。圖5顯示屏幕顯示的示例。便攜式終端裝置(移動終端裝置,便攜式終端設備)200示例了文本到 語音讀取設備2的應用,并且便攜式終端裝置的結構不限于本發(fā)明的文本到 語音讀取設備、方法或程序。便攜式終端裝置200具有通信功能或者將文本 數(shù)據(jù)轉換為聲音并且輸出該聲音的功能,所述文本數(shù)據(jù)例如是電子郵件消息 (日語中的漢字/假名混合的句子)。因此,如圖3所示,便攜式終端裝置 200設有處理器202、存儲單元204,無線單元(無線通信單元、無線電單元) 206、輸入單元208、顯示單元210、嗓音輸入單元(語音輸入單元、聲音輸 入單元)212以及嗓音輸出單元(語音輸出單元、聲音輸出單元)214。處理器202是控制裝置,其用于控制電話通信、諸如語音合成的文本到 語音讀取操作、或其它類似操作。處理器202包括CPU (中央處理單元)或 MPU (微處理單元),并且執(zhí)行存儲單元204中的OS (操作系統(tǒng))程序或 應用程序。應用程序包括執(zhí)行文本到語音讀取處理過程的程序。存儲單元204是記錄介質,其存儲由處理器202執(zhí)行的程序或為執(zhí)行程 序所使用的各種數(shù)據(jù),并且定義處理區(qū)。存儲單元204包括程序存儲單元216、 數(shù)據(jù)存儲單元218以及RAM (隨機存取存儲器)220。程序存儲單元216存 儲OS程序或應用程序。數(shù)據(jù)存儲單元218包括字典6、波形庫12以及音素 長度表16 (圖l),并且存儲上述數(shù)據(jù)。RAM200提供工作區(qū)。無線單元206是無線通信裝置,其用于通過無線通信向/從基站發(fā)射/接 收音頻信號波或包信號波。該無線單元受處理器202的控制。輸入單元208是這樣一種裝置,其通過用戶的操作輸入對顯示單元210 提供的對話框的答復或輸入控制數(shù)據(jù)。輸入單元包括鍵盤和觸控面板。顯示單元210是由處理器202控制并顯示文本或圖形數(shù)據(jù)的顯示裝置。 該顯示單元包括例如LCD (液晶顯示器)元件。顯示單元210顯示用于文本 到語音轉換的文本數(shù)據(jù)。語音輸入單元212是由處理器202控制的語音輸入裝置。語音輸入單元包括麥克風222。輸入的語音由麥克風222轉換為音頻信號,該音頻信號被 轉換為數(shù)字信號并輸入到處理器202。語音輸出單元214是由處理器202控制的語音輸出裝置。語音輸出單元 包括作為語音轉換裝置的接收器224以及揚聲器226R和226L。使用接收器 224以及揚聲器226R和226L再現(xiàn)通過文本到語音轉換生成的合成語音。在便攜式終端裝置200中,例如上述文本到語音讀取設備2包括處理器 202、存儲單元204、顯示單元210以及語音輸出單元214。如圖4所示,便攜式終端裝置200包括第一殼體單元230和第二殼體單元232,作為例子這兩個殼體單元組成殼體單元228。殼體單元230和232通過鉸鏈部234以可折疊的方式耦合。殼體單元232具有顯示單元210、接 lKt哭1〕' T^;t^吉奧,?^T 知— 4念入敏i 70s目.右田;在4入空^F笙的念個鍵236、光標鍵238以及回車鍵240。便攜式終端裝置200的文本到語音讀取操作的對象是各種類型的文本, 例如電子郵件消息或小說。對顯示單元210的屏幕上顯示的句子等進行語音 合成并且由接收器224、揚聲器226R和226L進行再現(xiàn)。在這種情況下,如 圖5所示,在顯示單元210上顯示的電子郵件消息顯示屏幕242上顯示電子 郵件消息。該電子郵件消息通過語音輸出。在這個例子中,顯示并由語音再 現(xiàn)了消息"yamanashiken no koukou wo so tsugyoshi te shinyou kin koni haitte 4nenme desu. ,, 。 "yamanashiken no koukou wo so tsugyoshi te shinyou kin koni haitte 4nenme desu"表不日語發(fā)音。日語句子"yamanashiken no koukou wo so tsugyoshi te shinyou kin koni haitte 4nen me desu"英語意思是"他高中畢業(yè)之 后,在銀行工作了4年"。下面參照圖6描述如何控制音素長度。圖6是根據(jù)第一實施例的音素長 度控制處理過程的示例流程圖。所述處理過程示例了文本到語音讀取程序或方法。在第一實施例中,該 過程包括如下進程或步驟根據(jù)低速讀取時的話語速率用固定值(fixed value)乘以音素長度;和保持短語中最后一個停頓的長度。由文本到語音讀 取設備2 (圖1)的音素長度控制單元18 (圖2)執(zhí)行所述處理過程。如圖6所示,該處理過程包括語言處理(步驟S101)和音素長度設定處 理(步驟S102)。由語言處理單元4執(zhí)行語言處理(步驟S101)以利用輸入數(shù)據(jù)生成表音字符串。在這個階段,確定哪個音素用于語音合成。接下來, 通過音素長度設定單元14執(zhí)行音素長度設定處理(步驟S102)以設定包括 停頓的每個音素在標準話語速率下的音素長度。在這種情況下,通過參考音素長度表16設定目標音素(target phoneme)以及之前和之后音素在標準話 語速率下的音素長度。在設定音素長度的上述處理之后,音素編號n被初始化(n=l)(步驟 S103),以根據(jù)話語速率控制音素長度(步驟S104到步驟S108)?;诙?語來控制音素長度,處理短語中音素的循環(huán)由步驟S103到步驟S108組成。 音素長度控制處理包括確定要被控制的音素的處理以及基于確定結果調整 音素長度的處理。吝妄^ nf坊法ii敏i i s Ai&鉿入的;壬s諒泰乂嘗自龍日古目坦sf汰祍適述袞將音素長度乘以固定值(步驟S104)。在這種情況中,根據(jù)話語速率將停頓 長度乘以固定值。在這種音素調整之后,更新音素編號n (n=n+l)(步驟 S105)以確定是否已處理完幀內所有的音素,更具體地,是否短語中的音素 編號n達到音素數(shù)量n (步驟S106),從而執(zhí)行對短語中所有音素的處理。 在短語中所有音素都處理完成之后,確定話語速率,更具體地,確定話 語速率是否是低速(步驟S107)。如果話語速率不是低速(步驟S107為否), 則將短語中最后一個停頓的長度乘以固定值(步驟S108)。如果話語速率是 低速(步驟S107為是),則處理跳過步驟S108并進行關于處理終止的確定 (步驟S109)。在進行終止確定時,需要確定是否所有的輸入數(shù)據(jù)都被處理 完(步驟S109)。重復步驟S103到步驟S109的處理直到處理完所有輸入 數(shù)據(jù)。在確定終止之后,執(zhí)行語音合成(步驟SllO)并輸出語音。以這種方式,基于短語根據(jù)話語速率設定音素長度。如果話語速率為低 速,則根據(jù)話語速率不增加最后一個停頓的長度,因此相比于低速讀取時延 長的音素,減小了停頓長度,因此讀取語音不會出現(xiàn)聲音脫落(draw out) 并且可以縮短讀取時間。 第二實施例接下來描述本發(fā)明的第二實施例。圖7是第二實施例的音素長度控制處 理過程的示例流程圖。處理過程示例了文本到語音讀取程序或方法,并且使用上述文本到語音讀取設備2 (圖1)和音素長度控制單元18 (圖2)執(zhí)行該處理過程。在第二實施例中,確定話語速率是否為低速以及目標聲音是否為延長音或重疊輔音。當?shù)退僮x取時,根據(jù)話語速率,將除了延長音或重疊輔音之外的音素長度乘以固定值,而延長音或重疊輔音的長度沒有增加。這樣,延長音或重疊輔音的長度作為標準長度沒有被改變,由此實現(xiàn)悅耳的聲音,而在 讀取文本數(shù)據(jù)時不會過多增加總的再現(xiàn)時間。在第二實施例中,為了確定待增長的音素,音素確定單元28 (圖2)確定目標聲音是否是延長音或重疊輔音,以將延長音或重疊輔音的音素長度設 定為標準長度。如圖7所示,在該處理過程中,執(zhí)行語言處理(步驟S201)和音素長度 設定處理(步驟S202)。在處理過程、語言處理(步驟S201)和音素長度 設定處理(步驟S202)之后,作為短語中音素的處理,初始化音素編號n (n =1)(步驟S203)。初始化之后,確定讀取速率是否為低速以及目標音素是否為延長音或重 疊輔音(步驟S204)。如果讀取速率是低速并且目標音素不是延長音或重疊 輔音(步驟S204為否),則根據(jù)話語速率設定音素長度(步驟S205)。換 句話說,基于輸入的話語速率信息,音素長度控制單元18根據(jù)話語速率將 音素長度乘以固定值(步驟S205)。如果讀取速率為低速并且目標音素是延 長音或重疊輔音(步驟S204為是),則跳過步驟S205,更新音素編號n (n =n+l)(步驟S206)以確定是否已經處理了短語中所有音素(步驟S207), 從而執(zhí)行對短語中所有音素的處理。在完成短語中音素的處理之后到達短語中最后的停頓,根據(jù)話語速率將 停頓長度乘以固定值(步驟S208),接著進行關于終止的確定(步驟S209)。 重復步驟S203到步驟S209,直到完成所有數(shù)據(jù)的處理。在確定終止之后, 執(zhí)行語音合成(步驟S210),并輸出語音。這樣,基于短語根據(jù)話語速率調整音素長度。如果音素包括延長音或重 疊輔音的音素,則將延長音或重疊輔音的音素長度設定為標準長度并且不將 其增大,由此實現(xiàn)了易于聽取的聲音并且便于讀取語音的識別。第三實施例接下來參照圖8描述本發(fā)明的第三實施例。圖8是第三實施例的音素長度控制處理過程的示例流程圖。該處理過程示例了文本到語音讀取程序或方法,并且使用上述文本到語 音讀取設備2 (圖1)和音素長度控制單元18 (圖2)執(zhí)行該處理過程。在 第三實施例中,除了第二實施例中的音素長度調整之外,將停頓長度設定為 標準長度而不增大,由此實現(xiàn)易于聽取的聲音。在第三實施例中,為確定進行音素長度調整的音素,音素確定單元28 (圖2)確定目標音素是否為停頓或延長音或重疊輔音,以將所述停頓、延 長音或重疊輔音的音素長度設定為標準長度,而不增加長度。因此,在該處理過程中,如圖8所示,執(zhí)行語言處理(步驟S301)和音 素長度設定處理(步驟S302)。在語言處理(步驟S301)、音素長度設定 處理(步驟S302)以及設定音素長度的處理之后,作為短語中的音素的處理, 初始化音素編號n (n=l)(步驟S303)。初始化之后,確定讀取速率是否為低速以及目標音素是否為停頓或延長 音或重疊輔音(步驟S304)。如果讀取速率為低速且目標音素不是停頓、延 長音或重疊輔音(步驟S304為否),則根據(jù)話語速率設定音素長度(步驟 S305)。更具體地,根據(jù)輸入的話語速率信息,音素長度控制單元18根據(jù) 話語速率將音素長度乘以固定值(步驟S305)。如果讀取速率為低速且目標 音素是停頓、延長音或重疊輔音(步驟S304為是),則跳過步驟S305,更 新音素編號n (n=n+l)(步驟S306)以確定是否已經處理了短語中的所 有音素(步驟S307),從而執(zhí)行對短語中所有音素的處理。在完成短語中音素的處理之后到達短語中最后的停頓,根據(jù)話語速率將 停頓長度乘以固定值(步驟S308),接著進行關于終止的確定(步驟S309)。 重復步驟S303到步驟S309,直到完成所有數(shù)據(jù)的處理。在確定終止之后, 執(zhí)行語音合成(步驟S310),并輸出語音。這樣,基于短語根據(jù)話語速率調整音素長度。如果音素包括停頓、延長 音或重疊輔音的音素,則將停頓、延長音或重疊輔音的音素長度設定為標準 長度并且不增加,由此實現(xiàn)易于聽取的聲音并且便于讀取語音的識別。第四實施例接下來參照圖9和圖10描述本發(fā)明的第四實施例。圖9是第四實施例 的音素長度控制單元的框圖。圖10是第四實施例的音素長度控制處理過程的示例流程圖。在圖9中,與圖2中的部件相同的部件用相同的附圖標記表 示。該處理過程示例了文本到語音讀取程序或方法,并且使用上述文本到語音讀取設備2 (圖1)和音素長度控制單元18 (圖2)執(zhí)行該處理過程。在 第四實施例中,除了第一實施例中的音素長度調整之外,在低速讀取時不增 加停頓長度,更具體地,相對于停頓的延長音素,將除停頓之外的音素的長 度增加,因此保持了總體長度以避免讀取語音的聲音脫落情形。更詳細地, 計算短語的總體長度,將總體長度按比例分成預定長度,并且將其分配給除 停頓之外的所有音素由此避免讀取語音的聲音脫落,從而實現(xiàn)易于聽取聲音龍笛[JDsfc施傷l由.龍ir太l;S吝一擊m7沿夂9 f図1、的吝妄4^齒;fe生lite元18 (圖2)中,設置短語長度計算單元(呼吸群(breath group)長度計算 單元)30,以基于從音素長度調整單元24輸出的數(shù)據(jù)計算短語的總體長度。 將計算結果發(fā)送至音素長度調整單元24作為控制信息,音素長度調整單元 24根據(jù)話語速率將停頓長度乘以固定值,然后計算短語的總體長度,以按比 例地將增加的長度分配給短語中的所有音素,以使短語的讀取時間具有預定 長度。如圖IO所示,在該處理過程中,執(zhí)行語言處理(步驟S401)和音素長 度設定處理(步驟S402)。之后,作為短語中音素的處理,初始化音素編號 n(n=l)(步驟S403)并且基于話語速率控制音素長度(步驟S404到S408)。 與第一實施例相似,基于短語控制音素長度。基于輸入的話語速率信息,音素長度控制單元18根據(jù)所述話語速率將 音素長度乘以固定值(步驟S404)。在這種情況下,根據(jù)話語速率也將停頓 長度乘以固定值。在這種音素調整之后,更新音素編號n (n=n+l)(步驟 S405)以確定是否短語中的所有音素都已經被處理,也即,短語中的音素編 號n是否達到音素數(shù)量n (步驟S406),從而執(zhí)行對短語中所有音素的處理。短語中音素處理完成之后,確定讀取速率是否為低速(步驟S407)。如 果讀取速率不是低速(步驟S407為否),則當所述處理進行到短語中的最 后停頓時,根據(jù)話語速率將停頓長度乘以固定值(步驟S408)。另一方面, 如果讀取速率為低速(步驟S407為是),則計算短語的總體長度(步驟S409),并通過按比例將該長度分配給除停頓之外的所有音素來調整音素長度,從而 使得短語的長度等于或近似等于音素長度沒被增加時獲得的長度(步驟S410),然后執(zhí)行關于終止的確定(步驟S411)。重復步驟S403到S411, 直到完成所有數(shù)據(jù)的處理。在確定終止之后,執(zhí)行語音合成(步驟S412), 并輸出語音。這樣,增加除停頓之外的音素的長度,而不是增加低速讀取時短語中最 后一個停頓的音素長度,因此在不改變總體長度的同時,不會出現(xiàn)讀取語音 的聲音脫落并且易于聽取。第五實施例接下來參照圖11和圖12描述本發(fā)明的第五實施例。圖11是示出第五2fc施仿ll的吝表補瞎坊法ll魚^的據(jù)図—図17縣笛7T2b施傷ll的吝妄^"齒坊生ll々卜理過程的示例流程圖。在圖11中,與圖2中的部件相同的部件用相同的附 圖標記表示。該處理過程示例了文本到語音讀取程序或方法,并且使用上述文本到語 音讀取設備2 (圖1)和音素長度控制單元18 (圖2)執(zhí)行該處理過程。在 第五實施例中,除了第一實施例中的音素長度調整之外,在低速讀取時不增 加短語中最后停頓的長度,更具體地,相對于停頓的延長音素計算總體文本 長度,并且將總體長度按比例分成預定長度并分配給所有音素,由此避免讀 取語音聽起來好像脫落的情形,并實現(xiàn)易于聽取聲音。在第五實施例中,在文本到語音讀取設備2 (圖1)的音素長度控制單 元18 (圖2)中,設有總體文本長度計算單元(整句長度計算單元)32。該 總體文本長度計算單元具有如下功能。也即,基于從音素長度調整單元24 輸出的數(shù)據(jù)計算總體文本長度。將計算結果發(fā)送至音素長度調整單元24作 為控制信息,音素長度調整單元24根據(jù)話語速率將停頓長度乘以固定值, 然后按比例將所保持的或減少的長度分配給文本中所有的音素,以調整每個 音素的長度,從而使得短語的讀取時間具有預定長度。如圖12所示,在該處理過程中,執(zhí)行語言處理(步驟S501)和音素長 度設定處理(步驟S502)。之后,作為短語中音素的處理,初始化音素編號 n (n=l)(步驟S503),并且基于話語速率控制音素長度(步驟S504到 S508)。與第一實施例相似,基于短語而控制音素長度?;谳斎氲脑捳Z速率信息,音素長度控制單元18根據(jù)所述話語速率將 音素長度乘以固定值(步驟S504)。在這種情況下,根據(jù)話語速率將停頓長度也乘以固定值。在這種音素調整之后,更新音素編號n (n二n+l)(步驟S505)以確定是否短語中的所有音素都己經被處理,也即,短語中的音素編號n是否達到音素數(shù)量n(步驟S506),從而執(zhí)行對短語中所有音素的處理。在短語中的音素處理完成之后,確定讀取速率是否為低速(步驟S507)。如果讀取速率不是低速(步驟S507為否),則當所述處理進行到短語中的最后停頓時,根據(jù)話語速率將停頓長度乘以固定值(步驟S508)。另一方面,如果讀取速率是低速(步驟S507為是),則執(zhí)行關于終止的確定(步驟S509)。在關于終止的確定時,確定是否所有數(shù)據(jù)的處理已經完成。在確定終止之后, ;^;卄松w^/ fii々厶6f;右本吝zv而;n仏齒血;田畝&,去j^存 ju t7^乂由^旦"tV士j^存雄工t^ku i:/u-口//1 hj曰爾乂j mli u^/又y^W4j龍日爾k、/又,〃"iu i又'i寸人/十、lv/又寸J ^近似等于音素長度沒增加時獲得的長度(步驟S511),然后執(zhí)行語音合成(步 驟S512)以輸出語音。這樣,基于文本增長音素,而不是在低速讀取時增加短語中最后一個停 頓的音素長度,因此在不改變文本總體長度的同時,讀取語音不會聽起來像 脫落并且易于聽取。第六實施例接下來參照圖13描述本發(fā)明的第六實施例。圖13是第六實施例的音素 長度控制處理過程的示例流程圖。該處理過程示例了文本到語音讀取程序或方法,并且使用上述文本到語 音讀取設備2 (圖1)和音素長度控制單元18 (圖2)執(zhí)行該處理過程。在 第六實施例中,增加元音的音素長度,而不是縮短延長音或重疊輔音的音素 長度,因此在大體保持整體長度的同時,實現(xiàn)了更易于聽取的讀取語音。在 這種情況下,例如,將低速讀取時的話語速率設置為標準速度的0.8倍(time) 或更小,同時將音素長度設置為標準音素長度的0.8倍(fold)作為固定比率。 雖然延長音或重疊輔音的音素長度減少,但是元音的音素長度增加,因此能 夠更容易聽取讀取語音,而不會增加文本到語音轉換的時間。如圖13所示,在該處理過程中,執(zhí)行語言處理(步驟S601)和音素長 度設定處理(步驟S602)。之后,作為短語中音素的處理,初始化音素編號 n(n=l)(步驟S603)并且基于話語速率控制音素長度(步驟S604到S611)。與第二實施例(圖7)相似,基于短語控制音素長度。同樣,在第六實施例中,根據(jù)話語速率將音素長度乘以固定值(步驟5604) 。確定讀取速度是否為低速以及音素是否為延長音或重疊輔音(步驟5605) 。如果讀取速度為低速并且音素是延長音或重疊輔音(步驟S605為 是),則將音素長度乘以預定值,例如0.8'(步驟S606)。另一方面,如果 讀取速度為低速且音素不是延長音或重疊輔音(步驟S605為否),則確定 讀取速度是否為低速以及音素是否是元音(步驟S607)。如果讀取速度為低 速并且音素是元音(步驟S607為是),則將音素長度乘以預定值,例如1.1, 即調整音素長度(步驟S608)。另一方面,如果讀取速度為低速以及音素不是元音(步驟S607為否),則保持在步驟S604中根據(jù)話語速率乘以固定值的吉妄K齒然后,如上所述,更新音素編號n (n=n+l)(步驟S609)。確定是 否已經處理了短語中的所有音素(步驟S610)。當處理進行到短語中的最后 停頓時,根據(jù)話語速率將停頓長度乘以固定值(步驟S611),接著執(zhí)行關于 終止的確定(步驟S612)以及語音合成(步驟S613)。這樣,延長音或重疊輔音的音素長度被設宣為短于標準音素長度,并且 元音的音素長度增加,因此大體上保持整體長度而不會增加輸出語音的總體 再現(xiàn)時間,并且更易于聽取合成語音,和便于讀取語音的識別。第七實施例接下來參照圖14描述本發(fā)明的第七實施例。圖14是第七實施例的音素 長度控制處理過程的示例流程圖。該處理過程示例了文本到語音讀取程序或方法,并且使用上述文本到語 音讀取設備2 (圖1)和音素長度控制單元18 (圖9)執(zhí)行該處理過程。在 第七實施例中,縮短延長音或重疊輔音的音素長度,并且所縮短的長度被按 比例地分配給除延長音或重疊輔音之外的所有音素,以增加這些音素的長 度。由此,保持短語的長度,也即,沒有增加文本到語音轉換的時間,同時 使讀取語音更易于聽到。作為例子,將話語速率設置為低于標準速度的0.8 倍,并且音素長度的縮短比率被設定為0.8。如圖14所示,在該處理過程中,執(zhí)行語言處理(步驟S701)和音素長 度設定處理(步驟S702)。之后,在處理短語中音素時,初始化音素編號n(n= 1)(步驟S703),并且基于話語速率控制音素長度(步驟S704到S709)。 與第二實施例相似(圖7),基于短語控制音素長度。同樣在第七實施例中,根據(jù)話語速率將音素長度乘以固定值(步驟5704) 。確定讀取速度是否為低速以及音素是否為延長音或重疊輔音(步驟5705) 。如果讀取速度為低速并且音素是延長音或重疊輔音(步驟S705為 是),則將音素長度乘以預定值,例如0.8 (步驟S706)。另一方面,如果 讀取速度為低速并且音素不是延長音或重疊輔音(步驟S705為否),則保 持步驟S704中根據(jù)話語速率乘以固定值的音素長度。在上述處理之后,更新音素編號n (n二n+l)(步驟S707),然后確定是否完成短語中所有音素的處理(步驟S708)。在根據(jù)話語速率將短語中 縣[^——水位脇的仏存恭'1、1田*/古f堪a窓e7n0、 + e ;+智蛇;五的tt/士仏存^也J*C/I~I I l丁 —W H :j U"、/又不>iA問疋|且、y -水U / 7 n開A1A H=I H :j心l'十、U"、/又、y驟S710),以按比例將所述長度分配給除停頓之外的所有音素,從而使得短語長度等于或近似等于預定長度,例如,音素長度不增加時獲得的長度(步驟S711),然后執(zhí)行關于終止的確定(步驟S712)。重復步驟S703到S712, 直到完成所有數(shù)據(jù)的處理。在確定終止之后,執(zhí)行語音合成(步驟S713), 并且輸出語音。.這樣,根據(jù)話語速率將音素長度乘以固定值,然后,如果讀取速度為低 速并且音素是延長音或重疊輔音,則將音素長度設置為短于預設長度。在計 算短語的總體音素長度后,將所縮短的長度按比例分配給除延長音或重疊輔 音之外的所有音素,以增加長度。由此,保持了短語長度,此外,更易于聽 取讀取語音,并且便于讀取語音的識別。第八實施例接下來參照圖15描述本發(fā)明的第八實施例。圖15是第八實施例的音素 長度控制處理過程的示例流程圖。該處理過程示例了文本到語音讀取程序或方法,并且使用上述文本到語 音讀取設備2 (圖1)和音素長度控制單元18 (圖2)執(zhí)行該處理過程。在 第八實施例中,如果讀取速率為低速且音素是延長音或重疊輔音,則縮短音 素長度,但是不縮短其它音素的長度,實現(xiàn)了更易于聽取的讀取語音,同時 大體保持了整體長度,即沒有增加文本到語音轉換的時間。如圖15所示,在該處理過程中,執(zhí)行語言處理(步驟S801)和音素長度設定處理(步驟S802)。之后,作為短語中音素的處理,初始化音素編號n(n=l)(步驟S803)并且基于話語速率控制音素長度(步驟S804到S809)。 與第二實施例(圖7)相似,基于短語控制音素長度。同樣,在第八實施例中,根據(jù)話語速率將音素長度乘以固定值(步驟5804) 。確定讀取速度是否為低速以及音素是否為延長音或重疊輔音(步驟5805) 。如果讀取速度為低速并且音素是延長音或重疊輔音(步驟S805為 是),則將音素長度乘以預定值,例如0.8 (步驟S806)。另一方面,如果 讀取速度為低速并且音素不是延長音或重疊輔音(步驟S805為否),則保 持步驟S804中根據(jù)話語速率乘以固定值的音素長度。在上述處理之后,更新音素編號n (n=n+l)(步驟S807),然后確^縣;35會F^下甜4Si、五出日ff右吝表的;(7lNT田^4feH整CQnQ、 i曰i瞎4壬;五3古宏、設4S;五中最后一個停頓的長度乘以固定值(步驟S809),接著執(zhí)行有關終止的確定 (步驟S810)。重復步驟S803到S810,直到完成所有數(shù)據(jù)的處理。在確定 終止之后,執(zhí)行語音合成(步驟S811),并且輸出語音。這樣,如果讀取速度為低速且音素是延長音或重疊輔音,則縮短音素長 度,并將其它音素的長度設置為標準長度。結果,延長音或重疊輔音的音素 長度短于其它音素的長度。因此,保持了讀取句子的整體長度,此外,更易 于聽取合成語音,并且便于讀取語音的識別。 第九實施例接下來參照圖16描述本發(fā)明的第九實施例。圖16是第九實施例的音素 長度控制處理過程的示例流程圖。該處理步驟示例了文本到語音讀取程序或方法,并且使用上述文本到語 音讀取設備2 (圖1)和音素長度控制單元18 (圖9)執(zhí)行該處理過程。在 第九實施例中,如果讀取速率為低速且音素是停頓、或延長音或重疊輔音, 則不增加音素長度,因此根據(jù)話語速率將除停頓或延長音或重疊輔音之外的 音素的長度乘以固定值,由此增加長度。此外,基于短語將相應于沒有增長 的停頓、延長音或重疊輔音的音素的長度,按比例分配給除停頓、延長音或 重疊輔音之外的所有音素,并由此增加長度。如圖16所示,在該處理過程中,執(zhí)行語言處理(步驟S901)和音素長 度設定處理(步驟S902)。之后,作為短語中音素的處理,初始化音素編號n(n=l)(步驟S903)并且基于話語速率控制音素長度(步驟S904到S909)。 與第二實施例(圖7)相似,基于短語控制音素長度。在第九實施例中,確定讀取速度是否為低速以及音素是否為停頓或延長 音或重疊輔音(步驟S904)。如果讀取速度為低速并且音素不是停頓或延長 音或重疊輔音(步驟'S904為否),則根據(jù)話語速率將音素長度乘以預定值 (步驟S905)。另一方面,如果讀取速度為低速并且音素是停頓或延長音或 重疊輔音(步驟S904為是),則跳過步驟S905,更新音素編號n (n=n+l) (步驟S卯6)。在確定完成對短語中音素的處理之后(步驟S907),根據(jù) 話語速率將短語中最后一個停頓的長度乘以固定值(步驟S卯8)。此外,計算總體短語長度(步驟S909),并且通過按比例地將該長度分 配給除停頓或延長音或重疊輔音之外的音素,以使得短語的長度等于或近似 等于預定長度,例如當音素長度沒有增加時獲得的長度(步驟S910),然后 執(zhí)行關于終止的確定(步驟S911)。重復步驟S903到S911,直到完成所有 數(shù)據(jù)的處理。在確定終止之后,執(zhí)行語音合成(步驟S912),并且輸出語音。這樣,如果讀取速度為低速且音素是停頓或延長音或重疊輔音,'則基于 短語將相應于沒有增長的停頓或延長音或重疊輔音的音素的長度,按比例分 配給除停頓或延長音或重疊輔音之外的所有音素,由此增加長度。因此保持 了讀取句子的整體長度,此外,更易于聽取合成語音并且便于讀取語音的識 別。第十實施例接下來參照圖17描述本發(fā)明的第十實施例。圖17是第十實施例的音素 長度控制處理過程的示例流程圖。該處理過程示例了文本到語音讀取程序或方法,并且使用上述文本到語 音讀取設備2 (圖1)和音素長度控制單元18 (圖2)執(zhí)行該處理過程。在 第十實施例中,如果讀取速度為低速且音素是輔音,則將所述速度保持為標 準速度而不增加音素長度。如圖17所示,在該處理過程中,執(zhí)行語言處理(步驟S1001)和音素長 度設定處理(步驟S1002)。之后,作為短語中音素的處理,初始化音素編 號n (n=l)(步驟S1003)。在第十實施例中,確定讀取速度是否為低速以及音素是否是輔音(步驟S1004)。如果讀取速度為低速且音素不是輔音(步驟S1004為否),則根 據(jù)話語速率將音素長度乘以預定值(步驟S1005)。另一方面,如果讀取速 度為低速并且音素是輔音(步驟S1004為是),則跳過步驟S1005,更新音 素編號n (n=n+l)(步驟S1006)。在確定完成對短語中所有音素的處理 (步驟S1007)之后,根據(jù)話語速率將短語中最后一個停頓的長度乘以固定 值(步驟S1008),接著執(zhí)行關于終止的確定(步驟S1009)。重復步驟S1003 到S1009,直到完成所有數(shù)據(jù)的處理。在確定終止之后,執(zhí)行語音合成(步 驟S1010),并且輸出語音。這樣,如果讀取速度為低速且音素是輔音,則不增加音素長度,也即, 將所述速度保持為標準速度。因此,更易于聽取合成語音,并且便于讀取語 音的識別。第十一實施例接下來參照圖18描述本發(fā)明的第十一實施例。圖18是第十一實施例的 音素長度控制處理過程的示例流程圖。該處理過程示例了文本到語音讀取程序或方法,并且使用上述文本到語 音讀取設備2 (圖1)和音素長度控制單元18 (圖2)執(zhí)行該處理過程。在 第十一實施例中,如果讀取速度為低速并且音素是第一音素(topphoneme), 則將所述速度保持為標準速度而不增加音素長度。如圖18所示,在該處理過程中,執(zhí)行語言處理(步驟S1101)和音素長 度設定處理(步驟S1102)。之后,作為短語中音素的處理,初始化音素編 號n (n=l)(步驟S1103)。在第十一實施例中,確定讀取速度是否為低速以及音素是否為第一音素 (步驟S1104)。如果讀取速度為低速且音素不是第一音素(n= = l)(步 驟S1104為否),則根據(jù)話語速率,將音素長度乘以預定值(步驟S1105)。 另一方面,如果讀取速度為低速并且音素是第一音素(11= = 1)(步驟S1104 為是),則將第一音素的長度保持為標準長度。在上述處理之后,更新音素編號n (n=n+l)(步驟S1106),并且根 據(jù)話語速率將短語中最后一個停頓的長度乘以固定值(步驟S1108),接著 執(zhí)行關于終止的確定(步驟S1109)。重復步驟S1103到S1109,直到完成 所有數(shù)據(jù)的處理。在確定終止之后,執(zhí)行語音合成(步驟S1110),并且輸出語音。這樣,如桌讀取速度為低速且音素不是第一音素,則根據(jù)話語速率將音 素長度乘以固定值,由此增加音素長度。如果音素是第一音素,則不增加音 素長度,所有更易于聽取合成語音,并且便于讀取語音的識別。第十二實施例 '接下來,參照圖19描述本發(fā)明的第十二實施例。圖19是第十二實施例 的音素長度控制處理過程的示例流程圖。'該處理過程示例了文本到語音讀取程序或方法,并且使用上述文本到語音讀取設備2 (圖1)和音素長度控制單元18 (圖11)執(zhí)行該處理過程。在第十二實施例中,調整(例如縮短)延長音或重疊輔音的音素長度,并通過 將對應于所述調整的長度按比例分配給文本中的所有音素,來調整總體長 度。因此,實現(xiàn)了更易于聽取的讀取語音,同時大體上保持了整體長度,也 即,不增加文本到語音轉換的時間。作為例子,將話語速率設置為低于標準速度的0.8倍,而將音素長度的縮短比率設定為0.8。在這種情況下,與第七 實施例相似,當調整(例如縮短)延長音或重疊輔音的音素長度時,可將相 應于所述調整的長度按比例分配給除延長音或重疊輔音之外的所有音素。如圖19所示,在該處理過程中,執(zhí)行語言處理(步驟S1201)和音素長 度設定處理(步驟S1202)。之后,作為短語中音素的處理,初始化音素編 號n (n=l)(步驟S1203)并且基于話語速率控制音素長度(步驟S1204 到S1209)。與第二實施例(圖7)相似,基于短語控制音素長度。在第十二實施例中,根據(jù)話語速率將音素長度乘以固定值(步驟S1204)。 確定讀取速度是否為低速以及音素是否為延長音或重疊輔音(步驟S1205)。 如果讀取速度為低速且音素是延長音或重疊輔音(步驟S1205為是),則將 音素長度乘以預定值,例如0.8 (步驟S1206)。另一方面,如果讀取速度為 低速并且音素不是延長音或重疊輔音(步驟S1205為否),則保持步驟S1204 中根據(jù)話語速率乘以固定值的音素長度。在上述處理之后,更新音素編號n (n=n+l)(步驟S1207),然后確 定完成短語中所有音素的處理(步驟S1208)。根據(jù)話語速率,將短語中最 后一個停頓的長度乘以固定值(步驟S1209),接著執(zhí)行關于終止的確定(步 驟S1210)。在確定終止時,確定是否完成所有數(shù)據(jù)的處理。在確定終止之后,計算整體文本長度(步驟S1211),按比例分配所有音素的長度并因此 進行調整,從而使得所述文本長度等于或近似等于預定長度,例如當音素長度沒有減小時獲得的長度(步驟S1212),然后執(zhí)行語音合成(步驟S1213)以輸出語音。以這種方式,在低速讀取的情況下調整延長音或重疊輔音的音素長度時,減小延長音或重疊輔音的音素長度;在該實施例中,基于文本延長音素,所以保持了讀取文本的整體長度,此外,讀取語音不會聽起來像脫落并且更 易于聽取。 第十三實施例接下來參照圖20描述本發(fā)明的第十三實施例。圖20是第十三實施例的 音素長度控制處理過程的示例流程圖。該處理過程示例了文本到語音讀取程序或方法,并且使用上述文本到語 音讀取設備2 (圖1)和音素長度控制單元18 (圖11)執(zhí)行該處理過程。在 第十三實施例中,如果讀取速率為低速且音素是停頓或延長音或重疊輔音, 則調整所述音素長度,例如,不增加音素長度,所以根據(jù)話語速度將除停頓 或延長音或重疊輔音之外的音素的長度乘以固定值,并由此增加音素長度; 此外,將對應于未調整的音素(即,未增長的停頓或延長音或重疊輔音的音 素)的長度按比例分配給除停頓或延長音或重疊輔音之外的所有音素。在這 種情況下,與第九實施例類似,當調整(例如縮短)停頓或延長音或重疊輔 音的長度時,可將對應于所述調整的長度按比例分配給除停頓或延長音或重 疊輔音之外的所有音素。如圖20所示,在該處理過程中,執(zhí)行語言處理(步驟S1301)和音素長 度設定處理(步驟S1302)。之后,作為短語中音素的處理,初始化音素編 號n (n=l)(步驟S1303)并且基于話語速率控制音素長度(步驟S1304 到S1308)。與第二實施例(圖7)相似,基于短語控制音素長度。在第十三實施例中,確定讀取速度是否為低速以及音素是否為停頓或延 長音或重疊輔音(步驟S1304)。如果讀取速度為低速并且音素不是停頓或 延長音或重疊輔音(步驟S1304為否),則根據(jù)話語速率將音素長度乘以固 定值(步驟S1305)。另一方面,如果讀取速度為低速并且音素是停頓或延 長音或重疊輔音(步驟S1304為是),則跳過步驟S1305,更新音素編號n(n=n+l)(步驟S1306)以確定是否已經處理了短語中的所有音素(步驟 S1307)。然后,將短語中最后一個停頓的長度乘以固定值(步驟S1308), 接著執(zhí)行關于終止的確定(步驟S1309)。在確定終止時,確定是否完成了 所有數(shù)據(jù)的處理。在確定終止之后,計算整體文本長度(步驟S1310),并 且按比例分配所有音素的長度由此進行調整,從而使得所述文本長度等于或 近似等于預定長度,例如,當所述音素長度沒被增加時獲得的長度(步驟 S1311),然后執(zhí)行語音合成(步驟S1312)以輸出語音。這樣,取代低速讀取時增加停頓或延長音或重疊輔音的音素長度,在本 實施例中,基于文本增長音素,所以保持了讀取文本的整體長度,此外,讀 取語音不會聽起來像脫落并且易于聽取。其它實施例上述描述了本發(fā)明的實施例,但是本發(fā)明的保護范圍包括如下所述的其 它實施例。(1) 參照圖21描述輸入到音素長度控制單元18的話語速率信息。圖 21是顯示設有話語速率調整單元的參數(shù)生成單元的框圖。在上述實施例中, 話語速率信息被輸入到音素長度控制單元18,但是如圖21所示,可在參數(shù) 生成單元8中設置能夠外部調整話語速率的話語速率調整單元22,以外部設 定期望的話語速率。(2) 在第一實施例中,如果讀取速度不低,則根據(jù)話語速率將短語中 最后一個停頓的長度乘以固定值。但是,如圖22所示,可采用如下結構。 也即,確定讀取速度是否為低速(步驟S107),并且如果讀取速度為低速(步 驟S107為是),則根據(jù)話語速率將短語中最后一個停頓的長度乘以固定值 并由此增加長度。如果讀取速度不是低速(步驟S107為否),則不改變所 述停頓長度。更具體地,如果讀取速度為高速,則所述停頓長度不會縮短, 從而易于聽取讀取語音。(3) 圖23是第二實施例(圖7)、第三實施例(圖8)、第九實施例 (圖16)、第十實施例(圖17)、第H"^—實施例(圖18)以及第十三實施例(圖20)的改型實例的流程圖。在圖23中,步驟S2001對應于步驟S204、 S304、 S904、 S1004、 Sl 104以及S1304。在上述實施例中,當根據(jù)話語速率 將音素長度乘以固定值時(步驟S2002),可執(zhí)行步驟S2003以將音素長度乘以0.8,作為縮短音素長度的處理。(4) 對于基于短語執(zhí)行的處理,在第四實施例(圖10)中,將與音素長度的調節(jié)相對應的長度按比例分配給除停頓之外的所有音素(步驟S410)。 在第七實施例(圖14)中,如果讀取速度為低速,并且音素是延長音或重疊 輔音,則將與延長音或重疊輔音的縮短長度相對應的長度按比例分配給除延 長音或重疊輔音之外的所有音素(步驟S711)。在第九實施例(圖16)中, 如果讀取速度為低速,并且音素是停頓或延長音或重疊輔音,則將與停頓或 延長音或重疊輔音的縮短長度相對應的長度按比例分配給除停頓或延長音 或重疊輔音之外的所有音素(步驟S910)。以這種方式,基于短語按比例分 配音素長度。然而,可以通過將與對除停頓或延長音或重疊輔音之外的音素 (例如,輔音)的調整相對應的長度按比例分配給所有音素,來執(zhí)行所述處 理。(5) 對于基于文本執(zhí)行的處理,在第五實施例(圖12)、第十二實施 例(圖19)以及第十三實施例(圖20)中,基于文本按比例分配音素長度, 以使得整體文本長度等于或近似等于預定長度。然而,可以將與對不同于停 頓、延長音或重疊輔音的音素(例如,輔音)的調整相對應的長度按比例分 配給所有音素,來執(zhí)行所述處理。在這種情況下,與基于短語執(zhí)行的處理相 似,在基于文本執(zhí)行的處理中,當停頓、延長音或重疊輔音或輔音的音素長 度被調整時,可將整個文本中除了對應于所述調整的長度之外的音素長度按 比例分配給其它音素。(6) 在第一實施例中,便攜式終端設備200 (圖3和圖4)用于示例, 但是本發(fā)明可適用于整合有計算機且輸出語音的電子設備,例如個人數(shù)字助 理(PDA)或個人計算機或包括電子設備單元的各種設備。本發(fā)明不限于上 述實施例。示例1參照圖24和圖25描述示例1。圖24是圖6的流程圖的比較示例的流程 圖,以及圖25顯示語言處理結果。在文本到語音讀取設備2 (圖1)中,如果根據(jù)話語速率音素長度被相 似地增加,則執(zhí)行圖24中流程圖的處理,并且不調整停頓之后的音素長度。 也即,圖24的流程圖相當于不包括步驟S107的圖6的流程圖。明顯地在語言處理(步驟S1401)、音素長度設定處理(步驟S1402)、音素編號初始 化(步驟S1403)、音素長度乘以固定值(步驟S1404)、更新音素編號(步 驟S1405)、確定完成短語中所有音素處理(步驟S1406)、對最后一個停 頓的長度增倍(步驟S1407)、關于終止的確定(步驟S1408)以及語音合 成(步驟S1409)中,根據(jù)話語速率將音素長度或最后一個停頓的長度乘以 固定值。在所述處理中,如果輸入如下文本 "yamanashikennokoukouwosotsugyoushite, shinyoukinkonihaitte4nenmedesu."(圖5),如圖25所示,以"輸入文本"、"語音部分"以及"表音字符串" 的分類分析詞。在 文 本 " yamanashikennokoukouwosotsugyoushite,shinyoukinkonihaitte4nenmedesu."中,"yamanashi"是名詞,其表音字符串 是[yamanashi,]。
"ken"是名詞,其表音字符串是[ken],并且"no"是助詞(particle),其表音字符串是[no]。由于重音短語邊界,所有在"no"之后 是無聲期間(unvoiced duration) 。 "koukou"是名詞,其表音字符串是[koukou]。"wo"是助詞,其表音字符串是[o]。由于重音短語邊界,所以在"no"之后 為無聲期間,并且"sotsugyoushi"是動詞(連續(xù)從句(continuous clause)), 其表音字符串是[sotsugyoushi]。 "te"是助詞,其表音字符串是[te]。","是 短語邊界(中間停頓長度),其表音字符串是[,]。"shinyo"是名詞,其表 音字符串是[shinyo]。 "kinko"是名詞,其表音字符串是[k'inko]。 "ni"是 助詞,其表音字符串是[ni]。由于重音短語邊界而在"ni"之后為無聲期間。"haitt"是動詞(具有重疊輔音的連續(xù)從句),其表音字符串是[h^itt]。 "te" 是助詞,其表音字符串是[te]。 "te"之后為短語邊界(短停頓長度),其表 音字符串是[.]。"4"是數(shù)詞,其表音字符串是[yo]。 "nen"是量詞,其表 音字符串是[nen]。 "me"是量詞的后置詞,其表音字符串是[me']。 "desu" 是助動詞,其表音字符串是[desu]。"."是短語邊界(長停頓長度),其表 音字符串是[.]。相應地,上述文本的表音字符串是[yamanashi'kennnokoukouo sotsugyoushite, shinyoki'nkoni ha*itte.yonennme'desu.]。在圖25中,使用羅馬 字符書寫輸入文本和表音字符串,但是輸入文本不同于作為數(shù)據(jù)的表音字符 串。換句話說,所述文本到語音讀取設備2將輸入文本轉換為表音字符串。示例2示例2是第一實施例(停頓長度不增加)的示例。參照圖26a、圖26b 和圖27a、圖27b描述表示示例2處理結果的波形。圖26a和圖26b顯示作 為比較例的合成語音波形。圖27a和圖27b顯示示例2的合成語音波形。圖 26a的波形是在標準速度下獲得的,圖26b的波形是在低讀取速度下獲得的。 圖26a的波形的部分a和圖26b的波形的部分b代表停頓持續(xù)時間。與之相對照,圖27a的波形是在第一實施例(圖6的流程圖)的處理中 在標準速度下獲得的。圖27b的波形是在低讀取速度下獲得的。在停頓持續(xù) 時間c處不增加停頓長度。示例3示例3是第十實施例(輔音的音素長度不增加或縮短)和第十一實施例 (第一音素的長度不增加或縮短)的示例。參照圖28a、圖28b和圖29a、圖 29b描述表示示例3的處理結果的波形。圖28a和圖28b顯示作為比較例的 合成語音波形。圖29a和圖29b顯示示例3的合成語音波形。圖28a的波形 是在標準速度下獲得的,并且圖28b的波形是在低讀取速度下獲得的。在圖 28b的波形中,輔音的音素長度在部分d的開始處是125毫秒(msec)。該 i直對應于i舌i吾速率比率(speaking rate ratio)。與之相對照,圖29a的波形是在第九和第十實施例(圖16和圖17的流 程圖)的處理中在標準速度下獲得的。圖29b的波形是在低讀取速度下獲得 的。相比于話語速率比率,輔音的音素長度在部分e的開始處較短。示例4示例4是第十實施例(輔音的音素長度不增加或縮短)和第十一實施例 (第一音素的長度不增加或縮短)的示例。參照圖30a、圖30b和圖31a、圖 31b描述表示示例4的處理結果的波形。圖30a、圖30b顯示作為比較例的 合成語音波形。圖31a、圖31b顯示示例4的合成語音波形。示例l、 2和3 描述了讀取日語文本的情況,而示例4描述了讀取英語文本"ha-ppy, sho-ck, shoo-t"的情況。圖30a的波形是在標準速度下獲得的,并且圖30b的波形 是在低讀取速度下獲得的。在圖30b的波形中,輔音的音素長度在部分f的 開始處是106msec (毫秒)。類似地,在部分g的輔音的音素長度是122msec。 該值對應于話語速率比率。與之相對照,圖31a的波形是在第九和第十實施例(圖16和圖17的流 程圖)的處理中在標準速度下獲得的。圖31b的波形是在低讀取速度下獲得 的。輔音的音素長度在部分h的開始處是86msec,并且類似地,輔音的音素 長度在部分i的開始處是97msec。與話語速率比率相比,所述長度沒有增加, 即縮短了。示例5示例5是第一實施例(停頓長度不增加)的示例。示例4描述了讀取英 語文本"happy, sho ck, shoo t"的情況。參照圖32a、圖32b描述表示示例5 的處理結果的波形。圖32a的波形是在標準速度下獲得的,并且圖32b的波 形是在低讀取速度下獲得的。由于低速讀取,所以相比于圖32a的波形,圖 32b的波形延長了,但是僅在停頓持續(xù)時間1和m中,圖32a的波形和圖32b 的波形具有與停頓持續(xù)時間j和k相同的長度,而沒有增加音素長度。接下來,列出了能夠從本發(fā)明的上述實施例推導出的技術方案。
權利要求
1.一種用于將文本數(shù)據(jù)轉換為聲音信號的設備,包括音素確定器,用于確定與多個音素相對應的音素數(shù)據(jù)和與多個停頓相對應的停頓數(shù)據(jù),其中所述多個停頓待被插入到將被轉換為所述聲音信號的所述文本數(shù)據(jù)中的一系列音素之間;音素長度調整器,用于分別根據(jù)所述聲音信號的速度確定所述音素的長度,以及選擇性地將所述文本數(shù)據(jù)中至少一個停頓的長度減小到比與所述聲音信號的速度相對應的停頓長度小的停頓長度,以此調整所述音素數(shù)據(jù)和所述停頓數(shù)據(jù);以及輸出單元,用于基于由所述音素長度調整器所調整的音素數(shù)據(jù)和停頓數(shù)據(jù),輸出所述聲音信號。
2. 根據(jù)權利要求1所述的設備,還包括 速度確定器,用于確定所述聲音信號的速度;其中當所述速度確定器確定所述聲音信號的速度低于預定速度時,所述 音素長度調整器通過縮短所述音素的長度調整所述音素數(shù)據(jù)。
3. 根據(jù)權利要求1所述的設備,還包括呼吸群計算器,用于計算呼吸群的長度;其中根據(jù)所述呼吸群的長度, 所述音素長度調整器通過按比例增加或減小所述呼吸群中的音素長度和停 頓長度,來調整所述音素數(shù)據(jù)和所述停頓數(shù)據(jù)。
4. 根據(jù)權利要求1所述的設備,還包括 句子計算器,用于計算所述文本數(shù)據(jù)的朗讀句子的長度; 其中根據(jù)所述文本數(shù)據(jù)的朗讀句子的長度,所述音素長度調整器通過按比例增加或減小所述句子中的音素長度和停頓長度,來按比例調整所述音素 數(shù)據(jù)和所述停頓數(shù)據(jù)。
5. —種用于將文本數(shù)據(jù)轉換為聲音信號的方法,包括如下步驟確定與多個音素相對應的音素數(shù)據(jù)和與多個停頓相對應的停頓數(shù)據(jù),其 中所述多個停頓待被插入到將被轉換為所述聲音信號的所述文本數(shù)據(jù)中的一系列音素之間;分別根據(jù)所述聲音信號的速度確定所述音素的長度,以及選擇性地將所 述文本數(shù)據(jù)中至少一個停頓的長度減小到比與所述聲音信號的速度相對應的停頓長度小的停頓長度,以此調整所述音素數(shù)據(jù)和所述停頓數(shù)據(jù);以及 基于所調整的音素數(shù)據(jù)和停頓數(shù)據(jù)輸出所述聲音信號。
6. 根據(jù)權利要求5所述的方法,還包括如下步驟 確定所述聲音信號的速度;以及當所述聲音信號的速度低于預定速度時,通過縮短所述音素的長度調整 所述音素數(shù)據(jù)。
7. 根據(jù)權利要求5所述的方法,還包括如下步驟 計算呼吸群的長度;以及根據(jù)所述呼吸群的長度,通過按比例增加或減小所述呼吸群中的音素長 度,來調整所述音素數(shù)據(jù)。
8. 根據(jù)權利要求5所述的方法,還包括如下步驟 計算所述文本數(shù)據(jù)的朗讀句子的長度;以及根據(jù)所述文本數(shù)據(jù)的朗讀句子的長度,通過按比例增加或減小所述句子 中的音素長度,來調整所述音素數(shù)據(jù)。
9. 一種用于將文本數(shù)據(jù)轉換為聲音信號的設備,包括處理器,用于執(zhí)行將所述文本數(shù)據(jù)轉換為所述聲音信號的處理,所述處理包括如下步驟確定與多個音素相對應的音素數(shù)據(jù)和與多個停頓相對應的停頓數(shù) 據(jù),其中所述多個停頓待被插入到將被轉換為所述聲音信號的所述文本數(shù)據(jù) 中的一系列音素之間;和分別根據(jù)所述聲音信號的速度確定所述音素的長度,以及選擇性地 將所述文本數(shù)據(jù)中至少一個停頓的長度減小到比與所述聲音信號的速度相對應的停頓長度小的停頓長度,以此調整所述音素數(shù)據(jù)和停頓數(shù)據(jù);以及 輸出單元,用于基于所調整的音素數(shù)據(jù)和停頓數(shù)據(jù)輸出所述聲音信號。
全文摘要
本發(fā)明涉及一種文本到語音設備。根據(jù)本發(fā)明實施例的一個方面,提供一種將文本數(shù)據(jù)轉換為聲音信號的設備,該設備包括音素確定器,用于確定與多個音素相對應的音素數(shù)據(jù)和與多個停頓相對應停頓數(shù)據(jù),其中所述多個停頓待被插入到將被轉換為語音信號的文本數(shù)據(jù)中的一系列音素之間;音素長度調整器,用于分別根據(jù)聲音信號的速度確定音素的長度,以及選擇性地將文本數(shù)據(jù)中至少一個停頓的長度減小到比與聲音信號的速度相對應的停頓長度小的停頓長度,以此調整所述音素數(shù)據(jù)和所述停頓數(shù)據(jù);以及輸出單元,用于基于由音素長度調整器所調整的音素數(shù)據(jù)和停頓數(shù)據(jù)輸出聲音信號。
文檔編號G10L13/08GK101334996SQ20081012730
公開日2008年12月31日 申請日期2008年6月27日 優(yōu)先權日2007年6月28日
發(fā)明者佐佐木均, 西池理香 申請人:富士通株式會社