亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

語音段制作方法語音合成方法及其裝置的制作方法

文檔序號:2819756閱讀:801來源:國知局
專利名稱:語音段制作方法語音合成方法及其裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及語音段制作方法、語音合成方法及其裝置。上述這些可應(yīng)用于電話問訊服務(wù),語音信息指導(dǎo)系統(tǒng)。個人計算機的語音規(guī)則合成裝置等。
語音規(guī)則合成技術(shù)可用于將文本變換成語音,如一邊在個人計算機上執(zhí)行其它任務(wù)等一邊聽解說或電子信箱的留言,或可聽閱并校對字處理器所寫的稿件。再有,將使用語音合成的接口接入如電子書那樣的裝置。也可不用液晶顯示等閱讀存儲在軟盤、CD-ROM等中的文本。
為上述目的使用的語音合成裝置要求其體積小且價格便宜。作為這類應(yīng)用,至今已采用了參數(shù)合成法,壓縮記錄和再現(xiàn)法等等,但是在這類傳統(tǒng)語音合成方法中,由于要使用專門的硬件如DSP(數(shù)字信號處理器)和大容量的存儲器,所以這類應(yīng)用難以繼續(xù)開拓。
為將文本變換成語音,有這樣兩種方法。一種方法是借助模型(model)制做音素鏈的規(guī)則,且當按該規(guī)則使參數(shù)根據(jù)目的文本變化時進行合成。另一種方法是按照一個小的音素鏈單元如CV單元和VCV單元(C代表輔音,V代表元音)分析語音,將實際語音的全部必需音素鏈收集起來作為段存儲,并按照目的文本連接這些段進行合成,這里,將前者稱為參數(shù)合成法,而后者稱為連接合成法。
一種代表性的參數(shù)合成法是峰段(formant)合成法。該方法是將語音形成過程分為聲帶振動的語音源模型和聲道的傳輸函數(shù)模型,并借助兩模型的參數(shù)時間變化來合成需要的語音。峰段合成法中使用的典型參數(shù)是稱為峰段的語音振動頻率軸上的波峰位置。通過使用語音學(xué)成果方面的規(guī)則和存儲典型參數(shù)值的表來參生這些參數(shù)。
參數(shù)合成法要有如計算聲道傳輸函數(shù)那樣高的計算費用,且DSP等需要實時合成。而且,參數(shù)控制涉及大量的規(guī)則,因此難以改進語音質(zhì)量。但另一方面,表格和規(guī)則具有小的數(shù)據(jù)量,因此,小存儲量就足夠了。
相比之下,根據(jù)語音段的存儲格式,連接合成法可采用下面兩種形式。即,通過使用語音模型將語音段變換成PARCOR系數(shù)或LSP參數(shù)的參數(shù)連接法,和不使用已知的語音模型將語音波形直接累加的波形連接法。
參數(shù)連接法,將語音按CV、CVC、VCV(C表示輔音,V表示元音)等分成段,并變換成如PARCOR系數(shù)那樣的參數(shù),存儲在存儲器中,當需要時再現(xiàn)。此方法中,存儲格式是語音參數(shù),因此,當合成時,很容易改變音高(pitch)或時間長度,使這些段能平滑連接。此外,所需存儲器容量相當小。但其缺點是合成時的計算處理量相當大。因此,需要一個如DSP(數(shù)字信號處理器)那樣的專用硬件。再有,因語音模型化不充分,由參數(shù)再現(xiàn)的語音質(zhì)量上受到制約。
另一方面,作為波形連接法,已知其中有直接將語音累積在存儲器中的方法,和對要累積在存儲器中的語音進行壓縮和編碼且需要時再現(xiàn)的方法。對于壓縮編碼,可使用μ律編碼,ADPCM等。這樣能以比參數(shù)連接法更高的保真度合成語音。
當要合成的語音內(nèi)容限于少量變化時,可按句子單元、字節(jié)單元、或詞單元記錄并適當編輯該內(nèi)容。然而對于一個任意的文本,要求如同參數(shù)連接法那樣,以更小的語音段累加。不同于參數(shù)合成的是,難以改變音高或時間長度,因此,對于高質(zhì)量的合成,必須制作具有各種音高和時間長度的段。
這樣,每個段的存儲容量為參數(shù)連接法的10倍,當要求質(zhì)量高時,所需存儲容量更大。增大存儲容量的因素受控于用在段中的音素鏈單元的復(fù)雜程度和各種音高和時間長度段的制作。
作為音素鏈單元,如上所述,可以認為是CV單元或VCV單元。CV單元是一對輔音和元音的組合,對應(yīng)于日語的一個音素。假定輔音26個元音5個,則CV單元可用于130種組合。由于不能表達從前置元音至輔音的連續(xù)波形變化,所以損失了自然度。VCV單元是一種在CV單元中包含一前置元音的單元。這樣,VCV單元可有650種,5倍于CV單元。
關(guān)于音高和時間長度,波形連接法不同于參數(shù)連接法,語音段一制作,就難以改變段的音高和時間長度。因此,預(yù)先制作的段必須包括以各種音高和時間長度發(fā)出的語音的變化,這導(dǎo)致增大存儲容量。
因此,波形連接法要求大的存儲容量用以合成高質(zhì)量的語音,這種存儲容量為參數(shù)合成法中所用的幾倍到20倍那么大。然而,從原理上說,使用大容量存儲裝置能合成極高質(zhì)量的語音。
因此,波形連接法在高質(zhì)量語音合成法中是相當不錯的,但問題在于不能控制內(nèi)在語音段音高和時間長度,而且需要大容量的存儲裝置。
為解決這些問題,提出了一種PSOLA(音高同步疊加)法(日本專利公開號3-501896)。其中,語音波形用與音高同步的窗函數(shù)截取,當合成時疊加到所需的音高周期。
該方法中的截取位置部分有窗函數(shù)中心閉合聲門帶來的激勵脈沖波峰。該窗函數(shù)的形狀應(yīng)在其兩端衰減到零(如,Hanning窗)。當合成音高周期短于語音波形的原有音高周期時,則窗長度為合成音高周期的兩倍那么長,相反,當合成音高周期較長時,則為原有音高周期的兩倍。通過削減或重復(fù)切割音高波形就能控制時間長度。
因此,用一個語音段能合成任意音高和時間長度的波形,從而能以小存儲容量獲得高質(zhì)量的合成聲音。
然而,在該方法中,問題在于合成語音時計算量大。這是因為合成時必須用窗函數(shù)截取音高波形,而且還需進行頻繁的三角函數(shù)和乘法計算。
如,合成一個樣本波形所需操作如下。為了產(chǎn)生一個樣本音高波形,讀出語音段要讀一次存儲器,計算Hanning窗函數(shù)要計算其所需三角函數(shù)一次,并作加法一次(使該三角函數(shù)直流偏置),計算給該三角函數(shù)的角度要作乘法一次,使用該三角函數(shù)的值對語音波形加窗要作乘法一次。由于通過疊加兩個音高波形產(chǎn)生合成波形,所以需兩次訪問存儲器,計算三角函數(shù)兩次,四次乘法和三次加法(見

圖19)。
另外,為避免增加音素鏈單元,人們提出了一種混合方法(日本專利申請?zhí)朜o.6-050890)。該方法中,段基本上僅由CV單元構(gòu)成,且從元音到輔音的變化部分用參數(shù)合成法產(chǎn)生。因此,音素鏈單元的變化有130種,且參數(shù)合成部分的運算速率較低,與純參數(shù)合成法相比,計算費用可降低。
然而,在混合法中,參數(shù)合成部分的計算費用仍舊高,而且,在實時參數(shù)合成或參數(shù)高速變化情況下,由于計算精度或合成傳輸函數(shù)(所謂濾波器)的暫態(tài)特性的影響可能會產(chǎn)生有害的噪聲。因此,在合成聲音的中間可能產(chǎn)生“撲通”聲或“噼啪”聲,且聲音質(zhì)量變壞。
針對普通語音合成中的問題,本發(fā)明的目標是提供語音段處理方法、語音合成方法及其裝置,其音質(zhì)失真度較小并能減少語音合成時的計算量。
按照本發(fā)明,在語音波形特定間隔內(nèi)每個音高周期內(nèi)的每個峰位上,利用長度小于每個峰位相鄰兩個峰位距離的窗函數(shù)截取音高波形,在語音波形的基礎(chǔ)上制作用于所有需要的語音波形的語音段數(shù)據(jù),存儲語音段數(shù)據(jù),從所存儲的語音段數(shù)據(jù)中讀取所需語音段數(shù)據(jù)的所需音高波形,并按疊加至所需音高周期間隔的方式排列,再對它們求和以產(chǎn)生一個語音波形。
本發(fā)明還提供語音合成方法用于產(chǎn)生控制信號串,該信號串作為一串控制信號包含時間信息、表示特定函數(shù)的函數(shù)信息以及任意數(shù)目的對應(yīng)特定函數(shù)的參數(shù),該語音合成方法還利用控制信號內(nèi)的函數(shù)信息和參數(shù)按時間信息所表示的定時對語音段進行控制。
本發(fā)明進一步提供語音合成裝置,其包含控制部件用于產(chǎn)生控制信號串,該信號串作為一系列控制信號包含時間信息、表示特定函數(shù)的函數(shù)信息以及任意數(shù)目的對應(yīng)特定函數(shù)的參數(shù),該部件還利用控制信號內(nèi)的函數(shù)信息和參數(shù)對按時間信息所表示的定時對語音段進行控制。
在本發(fā)明中,用特殊的連接合成代替了迄今為止一直利用參數(shù)合成完成的從元音到輔音的波形變化部分。即預(yù)先采用參數(shù)合成方法合成波形變化部分生成中要用的語音段。因此普通參數(shù)合成部分對應(yīng)的從輔音到元音的波形變化部分的計算成本幾乎與其它連接合成部分的相同,而且與現(xiàn)有技術(shù)相比合成的計算量較小,另外還可以減小用于吸收計算速度變化的緩沖存儲器的容量。并且由于波形變化部分用的語音段預(yù)先采用靜態(tài)參數(shù)合成,所以從理論上講不會出現(xiàn)因在合成時參數(shù)變化而引起的異常聲音問題。
顯而易見,本發(fā)明的優(yōu)點是可以在不影響音質(zhì)的前提下減少語音合成的計算量。
本發(fā)明另一個優(yōu)點是可以通過計算音高波形差異來壓縮語音段從而減小所需存儲器容量。
按照本發(fā)明,現(xiàn)有技術(shù)參數(shù)合成部分對應(yīng)的從輔音到元音的波形變化部分的計算成本與其它連接合成部分的相似,從而可以將整個計算成本降至極低。
此外,還可以減小吸收計算速度變化所需緩沖存儲器的容量。
此外從理論上講解決了在參數(shù)合成中產(chǎn)生異常聲音的問題。
圖1是本發(fā)明第一實施例中語音合成裝置的框圖2是第一實施例整個處理(主要是控制單元的)的流程圖;圖3是表示第一實施例中音節(jié)緩沖器數(shù)據(jù)結(jié)構(gòu)的示意圖;圖4是解釋第一實施例中音節(jié)緩沖器內(nèi)音節(jié)ID、詞組長度以及重音級設(shè)置模式的示意圖;圖5是解釋第一實施例中音節(jié)緩沖器內(nèi)韻律設(shè)置模式的示意圖;圖6是表示第一實施例中事件表數(shù)據(jù)結(jié)構(gòu)的示意圖;圖7是表示第一實施例中語音段DB內(nèi)語音段數(shù)據(jù)結(jié)構(gòu)的示意圖;圖8是解釋第一實施例中產(chǎn)生一個音節(jié)“オ”的事件表模式的示意圖;圖9是第一實施例中事件讀取和合成控制單元的流程圖;圖10是解釋第一實施例中包含所需音高的合成語音模式示意圖;圖11是第一實施例中觸發(fā)器處理的流程圖;圖12是解釋第一實施例中語音波形的語音段創(chuàng)建模式示意圖;圖13是表示原始聲音波形頻譜的示意圖;圖14是表示當窗長度等于2乘以音高周期時的波形頻譜示意圖;圖15是表示當窗長度等于1.4乘以音高周期時波形譜的示意圖;圖16是本發(fā)明第二實施例中語音合成裝置的框圖;圖17是表示第二實施例中被壓縮的語音段DB內(nèi)的語音段數(shù)據(jù)結(jié)構(gòu)示意圖;圖18是表示第二實施例樣本讀取單元處理的流程圖;圖19是表示計算量比較的示意圖;圖20是本發(fā)明第三實施例中語音合成裝置的框圖21是第三實施例中從音素符號串分析單元1輸出至控制單元2的信息的框圖;圖22是第三實施例中存儲在語音段DB內(nèi)的數(shù)據(jù)格式圖;圖23是表示利用取自自然語音波形的窗的音高波形截取模式的波形圖;圖24是第三實施例中存儲在語音段DB4內(nèi)的數(shù)據(jù)格式圖;圖25是表示第三實施例中存儲在語音段DB4內(nèi)的音高波形生成算法的流程圖;圖26是表示自然語音段索引實例和自然語音段通道波形合成模式的波形圖;圖27是表示合成語音段ID實例和合成語音段通道波形合成模式的波形圖;圖28是第三實施例混合控制信息實例的曲線圖;圖29是表示本發(fā)明第四實施例中合成語音段通道實例的框圖。
現(xiàn)借助附圖詳述本發(fā)明較佳實施例。
圖1是本發(fā)明第一實施例中語音合成裝置的框圖。在該語音合成裝置中,提供了作為控制部件的控制單元1,其輸出連接至作為管理部件的管理單元2、多個狀態(tài)保持單元3以及振幅控制單元4。管理單元2與多個狀態(tài)保持單元3相連,而多個狀態(tài)保持單元3又逐個與作為音高波形讀取單元的多個樣本讀取單元5相連。多個樣本讀取單元5的輸出與疊加單元6的輸入相連,而疊加單元6的輸出又與振幅控制單元4相連。振幅控制單元4的輸出接至輸出單元8,從而將電信號轉(zhuǎn)換為聲振動,并以聲音形式輸出。作為語音段數(shù)據(jù)存儲器部件的語音段DB7與多個樣本讀取單元5相連。
在這種結(jié)構(gòu)的語音合成裝置中,利用流程圖來描述其操作。圖2是表示整個處理(主要是控制單元1)流程的流程圖。
首先,控制單元1接收諸如結(jié)合有重音和分隔信息的羅馬字母號或片假名之類的發(fā)音符號作為輸入數(shù)據(jù)(步驟S1)。隨后進行分析,其結(jié)果按每個音節(jié)存儲在緩沖器內(nèi)(步驟S2)。圖3表示音節(jié)緩沖器的數(shù)據(jù)結(jié)構(gòu)。每個音節(jié)包括音節(jié)參考號(ID)、詞組長度、重音級、持續(xù)時間、始部音高、中部音高等數(shù)據(jù)域,經(jīng)安排后其長度足以存儲同時輸入的多個音節(jié)(例如一行中的某一部分)。
控制單元1對輸入數(shù)據(jù)進行分析并設(shè)定音節(jié)ID、詞組長度和重音級。音節(jié)ID是用來定義諸如“ぁ”和“か”音節(jié)之類的號碼。詞組長度表示由輸入的分隔符所限定的范圍內(nèi)的音節(jié)數(shù),該值在詞組開始的音節(jié)域處設(shè)定。重音級即重音強度,每個詞組的重音級不是0就是1。
例如對于詞語“音聲合成”的語言處理結(jié)果,輸入的符號行為“オ( )ン(η)ヤ(Se)エ(e)/ゴ(go>1オ( )ヤ(Se)エ(e)”C/為分隔符,而1為重音級,音節(jié)ID、詞組長度以及重音級的設(shè)置模式示于圖4。詞組長度在詞組開始音節(jié)處設(shè)置。
因此根據(jù)詞組長度和重音級的設(shè)置信息設(shè)定好韻律(步驟S3)。韻律的設(shè)定分為持續(xù)時間的設(shè)定(這里即音節(jié)持續(xù)時間)和音高的設(shè)定。持續(xù)時間根據(jù)預(yù)先確定的語速和考慮其前后音節(jié)及其它關(guān)系的規(guī)則來確定。音高按諸如Fujisaki(藤崎)模型之類的音高生成方法產(chǎn)生,并用在音節(jié)始部和中部的數(shù)值表示。在上述實例的“オンセエ/ゴ”1オセエ”的輸入符號行中的韻律設(shè)定模式示于圖5。
這樣生成的音節(jié)緩沖器被依次逐個讀取,并生成一張事件表(步驟S5)。如果沒有剩余的音節(jié)緩沖器(步驟S4),則處理結(jié)束。事件表是一列稱之為事件的信息,事件提供了用于向語音波形合成單元直接發(fā)出指令的功能信息,其結(jié)構(gòu)示于圖6。每個事件包含與下一事件間隔的’事件間隔”作為時間信息,因此事件表用作沿時間軸的控制信息。
事件類型包括SC(段變化)和TG(觸發(fā)器)。SC是一條將語音段改變?yōu)榕c音節(jié)ID表示的音節(jié)類型對應(yīng)的語音段的指令。
根據(jù)每種事件的類型提供數(shù)據(jù)。SC包含作為參數(shù)的語音段ID,而TG包含作為數(shù)據(jù)的音高ID。語音段ID是一個表示對應(yīng)每個音節(jié)的語音段的號碼,而音高ID是一個表示在每個語音段上的每個音高周期內(nèi)被截取的波形(音高波形)的號碼。
讀取一個音節(jié)緩沖器指的是讀取音節(jié)ID,并設(shè)置相應(yīng)的語音段ID數(shù)據(jù),產(chǎn)生SC事件。事件間隔可以是0。
接著產(chǎn)生TG事件。下面描述存儲在語音段DB7中的語音段數(shù)據(jù)結(jié)構(gòu)。
圖7是語音段數(shù)據(jù)結(jié)構(gòu)的示意圖。語音段分為一個初始波形和多個音高波形。例如,在音節(jié)‘カ’的開始,存在沒有聲帶振動和音高的無聲(清音)部分。該部分是輔音‘K’的諧振音。此處在合成時不必控制音高,并直接保持作為波形。這種波形和之為初始波形。
這種初始波形不僅用于諸如k.s.t之類清輔音,而且還用于諸如g、z、d之類濁輔音。例如對于“z”,由于噪音較強,并且在其它濁輔音的起始處音高也不穩(wěn)定,所以難以截取音高波形。因此開始的短暫部分被截取為初始波形。
當‘K’的這部分結(jié)束時,聲帶開始振動從而進入發(fā)聲部分。在該部分,通過利用位于音高周期所對應(yīng)波形峰位中央附近的漢寧(Hanning)窗進行截取按每一音高周期將該部分隔開并保持。這稱之為音高波形。
每個語音段的數(shù)據(jù)結(jié)構(gòu)由“初始波形長度”、“初始波形指針”、“音高波形數(shù)目”和多個“音高波形”組成。音高波形大小應(yīng)足以容納上述Hanning窗的窗長度。如下文所述,窗長度值小于音高周期的兩倍,并且不需要精確確定其大小。對于所有語音段上的所有音高波形該窗可以設(shè)定為都是相同的,或者可以對每個語音段設(shè)定得不同,或者也可以對每個音高波形設(shè)定得不同。在任何一種方法中,窗長度的變化都比較小。因此匯集多個音高波形的二維布局有助于有效利用存儲區(qū)域。
現(xiàn)形成上述結(jié)構(gòu)的陣列,并將所有必要的語音(音節(jié))的語音段累加起來。初始波形分開存儲于不同的區(qū)域。由于初始波形的長度隨語音段不同而不同,所以當它們包含在語音段結(jié)構(gòu)中時,就浪費了存儲器容量,因此比較好的是將它們以一維布局存儲在另一連續(xù)區(qū)域內(nèi)。
假設(shè)已制作好這種語音段,現(xiàn)回過頭來解釋TG事件的生成。
在TG事件的數(shù)據(jù)中,設(shè)定了音高ID。在第一個TG事件數(shù)據(jù)中,設(shè)定0表示初始波形。事件間隔等于“初始波形長度”減去1/2個窗長度。
接著生成TG事件。在該TG事件數(shù)據(jù)中,設(shè)置1表示、第一音高波形、事件間隔即在用于合成的音高波形處的音高周期。通過按音節(jié)緩沖器的音高信息始部音高和中部音高)內(nèi)插來確定音高周期。
同樣也對一個音節(jié)部分生成TG事件。選取作為每個TG事件數(shù)據(jù)的音高ID,使得原始語音波形中音高波音位置與合成中的音節(jié)中的位置之間距離最短。也就是,當原始語音波形的音高與合成中的音高等同時,音高ID按0、1、2等逐個增加,但當合成中的音高較高時,對同一號碼重復(fù)數(shù)次,如0、1、1、2、3、3等等。相反,當合成中的音高較低時,則按類似01、3、4、6等的次序進行,跳過了中間的號碼。這種方式設(shè)計成防止合成中音高控制引起的語音段時間長度的變化。圖8表示音節(jié)“オ”的事件表創(chuàng)建模式。
當創(chuàng)建了一個音節(jié)的件列表時,即轉(zhuǎn)入下一步驟進行事件讀取和合成控制(步驟S7)。該過程用圖9的流程圖具體解釋。在圖9中,讀取一個事件(步驟S11),判斷事件類型是否為SC(步驟S12),如果是SC,執(zhí)行語音段變化處理(步驟S13),如果不是SC,則判斷事件類型是否為TG(步驟S14),如果是TG則執(zhí)行觸發(fā)器處理(步驟S15)。此后,判斷是否到達讀取下一個事件的時間(步驟S8),并重復(fù)語音波形合成處理直到該時間到達(步驟S9),然后重復(fù)從讀取事件到語音波形合成的處理直到事件表結(jié)束。
以下解釋圖9中的語音段變化處理和觸發(fā)器處理。這些處理是根據(jù)諸如音高控制之類的時間信息來進行的,這是因為每個事件處理要按照事件間隔進行。也就是說,當讀取某一事件時,如果事件間隔為20,接下來的語音合成波形就執(zhí)行20次,隨后讀取下一事件。在語音波形合成過程中,合成一個樣本的語音波形。由于TG事件的事件間隔就是音高周期,所以通過按照TG事件讀取音高波形,合成了包含所需音高周期的語音波形。具有所需音高的語音合成模式示于圖10。
以下描述語音波形合成過程細節(jié)。管理單元2管理語音段ID,并且還管理用來表示接下來在多個狀態(tài)保持單元3和樣本讀取單元5的組合(和之為組件)中采用哪一個組件的組件ID。每個組件的狀態(tài)保持單元3保存當前的音高ID、音高波形的開始地址和結(jié)束地址以及表示當前讀取地址的讀地址。樣本讀取單元5從狀態(tài)保持單元3讀取讀地址,當其不超出目的地址時,就從語音段DB7的相應(yīng)地址讀取語音段的一個樣本。此后,狀態(tài)保持單元3的讀地址加1。疊加單元6將所有組件的樣本讀取單元5的輸出疊加并輸出。該輸出由振幅控制單元4進行振幅控制,并通過輸出單元8轉(zhuǎn)換為聲振動后以話音形式輸出。
在圖9的語音段變化處理中,管理單元2的語音段ID轉(zhuǎn)換為與給定音節(jié)ID對應(yīng)的號碼。
在觸發(fā)器過程中,管理單元2的組件ID循環(huán)更新。即,如圖11所示,首先對組件ID加1(步驟S21),并判斷其是否等于組件編號(步驟S22),如果相等則清0(步驟S23)。由此從事件數(shù)據(jù)中讀取音高ID(步驟S24),并進一步從管理單元2提取語音段ID(步驟S25),得到相應(yīng)語音段的相應(yīng)音高波形開始地址(步驟S26),并將其改入狀態(tài)保持單元3的開始地址。而且,利用音高波形開始地址初始化讀地址(步驟S27),并利用預(yù)先改定音高波形的長度改定結(jié)束地址(步驟S28)。
圖12表示本實施例中制作語音段的方法。第一行的圖表示作為語音段基礎(chǔ)的語音波形。Ps為開始標記,P0、P1…為附于對應(yīng)音高峰位的音高標號,而W0,W1…表示截取窗長度。S0、S1…為截取波形。S1及其后面的S2和S3表示每個音高周期內(nèi)被截取的波形,而S0為初始波形,其截取長度自開始記號到P0后W0/2的長度。P0之后所示為Hanning窗的后半部分,而之前為正方形窗。S1之后的段用Hanning窗截取。
Hanning窗長度Wn(n=0,1,2,…)可以用所有語音波形的音高周期代表值(如平均值)統(tǒng)一確定,例如方程式(1)所示[1]Wn=Tall×R(Tall是所有語音的音高周期平均值,或用每個語音波形中音高周期代表值(例如平均值)確定,例如方程式(2)所示[2]Wn=Tind×R(Tind為單個語音的音高周期平均值),或可以用每個音高波形相鄰的音高周期各個確定,如方程式(3)或(4)所示[3]Wn=((Tn+Tn+1)/2)×R,n≥1[4]Wo=T1×R。
式中,R是窗長度與音高周期之比,例如約為1.4左右。這樣做的理由如下。
圖13表示某個語音的時間波形(上圖)和它的FFT(快速傅里葉變換)頻譜及其LPC(線性預(yù)測編碼)頻譜包絡(luò)下圖)。取樣頻率fs如方程式(5)所示[5]fs=10KHz
分析窗口長度W如方程式(6)所示[6]W=512線性預(yù)測階數(shù)M如方程式(7)所示[7]M=12窗函數(shù)為Hanning窗。該語音的音高周期T如方程式(8)所示,而分析對象部分從時間波形的點2478到點2990。T=108FFT頻譜的諧波成分較多,因而具有作為音高檢測的梳狀周期結(jié)構(gòu)。LPC頻譜包絡(luò)形狀平滑,近似于將FFT頻譜的峰位鏈接起來,并由這種形狀檢測出音素。
圖14表示同一語音的時間波形(上圖)和W=2T(窗長度等于2乘以音高周期)時的FFT頻譜(下圖)。從時間波形點2438到點2653的部分為分析對象部分。此時FFT頻譜喪失了梳狀結(jié)構(gòu)并以頻譜包絡(luò)線表示。這是因為Hanning窗的頻率特性卷積入原始頻譜的緣故。
也就是圖13所示原始頻譜具有一個間隔為fs/T的梳狀周期結(jié)構(gòu)。另一方面,在窗長度為W的Hanning窗的頻率特性中,主波瓣的帶寬B如方程式(9)所示。B=2fs/W在W=2T處,B如方程式(10)所示,并且通過將其與語音頻譜一起卷積,可以充分填滿高次諧波的間隙。B=fs/T由于這個原因,由W=2T處的Hanning窗截取的音高波形頻譜接近原始語音頻譜的包絡(luò)線。通過重排和疊加這種具有新的音高周期T′的截取波形,可以合成具有所需音高周期的語音。
如果W<2T,則有B>fs/T,所以當將其與語音頻譜一起卷積時會使頻譜包絡(luò)線變形。如果W>2T,則有B<fs/T,并且當將其與語音頻譜一起卷積時,不能充分填滿高次諧波之間的縫隙,因而頻譜中就包含了原始語音的諧波結(jié)構(gòu)。在這種情況下,如果在所需的音高周期內(nèi)重排和疊加,則會由于留有包含原始語音波形的音高信息而產(chǎn)生類似回音的聲。
利用上述性質(zhì),在現(xiàn)有技術(shù)(日本專利公報平成3-501896)中通過在原始語音音高周期T小于所需音高周期T′時定義W=2T而在T>T′時定義W=2T′實現(xiàn)了高質(zhì)量的音高變換。當T>T′,即音高升高時,為了保持合成波形功率的均勻性,窗長度等于2乘以合成音高周期而不是原始語音的音高周期。即兩個Hanning窗值的和總是1并且不發(fā)生功率變化。
如上所述,當W<2T時,截取的音高波形包含了對原始語音頻譜的失真。但是除非W與2T比較起來非常小,否則這種失真是允許的。如果所有合成音高的范圍都可以被固定的W覆蓋,則只要在合成時制作具有前述窗的語音段(而不必如現(xiàn)有技術(shù)那樣在合成時截取窗)并進行音高波形疊加處理即可,這樣就可以減少計算量。
當采用固定窗W時,功率隨著合成音高的變化而變化。即,合成波形的功率正比于合成音高的頻率。幸運的是這種功率變化與自然語音的音高與功率的變化關(guān)系接近。在自然語音中,觀察到的這種關(guān)系是當音高較高時功率較大,當音高較低時功率較小。因此,利用固定的W獲取了性質(zhì)接近于自然語音的合成聲音。
因此假定W=2T,則截取的音高波形頻譜中不含諧波結(jié)構(gòu),預(yù)期可以獲得高質(zhì)量的音高變換。
再來看圖14,雖然已基本上去除了諧波結(jié)構(gòu)。但仍有輕微的特征存在。原因就在于方程式(10)中Hanning窗主瓣的帶寬只是近似的,實際上應(yīng)更小一些。
在時域中,從窗化后的波形中留有以間隔T重復(fù)的波形的事實可以直觀地理解這一點。在采用W=2T的窗的波形中,窗化部分中央?yún)^(qū)域以外其它部分的波形具有較高的間隔為T的相關(guān)度,這是在頻域內(nèi)留下諧波結(jié)構(gòu)的原因。
因此,在W=2T的窗長度處,原始語音的音高很少對合成語音有影響,并且可能產(chǎn)生回音。
因此通過略微減小窗長度W可以避免這個問題。此外,當在截取所有音高波形中采用同一窗長度時,考慮到原始語音的音高的微小變化,可以將W定義得小一些來防止發(fā)生W>2T的情況。例如,假定所有波形的平均音高周期為Tavr,則可以考慮設(shè)定W=1.6Tavr。
局部采用這種窗長度,其值可以取得非常小,例如W=1.4T。圖15表示W(wǎng)=1.4T時截取的音高波形頻譜。圖13的原始頻譜的包絡(luò)線得到充分的表達,而且頻譜形狀極佳,與圖14中W=2T的情形相比并不差,況且頻譜的包絡(luò)線更好。
在本方法中,實際上合成計算只包含加法,而且可以只進行極少量的算術(shù)處理得到高質(zhì)量的合成語音。
合成一個合成波形樣本所需操作如下。為了產(chǎn)生音高波形的一個樣本,需要讀出一次存儲器以該讀取語音段。用于將組件輸出疊加起來的加法運算的次數(shù)為組件個的減1。因此,假設(shè)組件個數(shù)為n,合成波形的一個樣本需要n次訪問存儲器并進行(n-1)次加法。假定n=4,操作包括4次存儲器訪問和3次加法。
以下描述本發(fā)明的第二個實施例。圖16是本發(fā)明第二個實施例中語音合成裝置的結(jié)構(gòu)圖。該語音合成裝置包括控制單元1(它的輸出連到管理單元2),多個狀態(tài)保持單元3,以及振幅控制單元4。管理單元2連到多個狀態(tài)保持單元3,這些狀態(tài)保持單元3又一一連到相同數(shù)量的樣本讀取單元5。還有波形保持單元9,數(shù)量與樣本讀取單元5一樣多,逐一相互連接。多個樣本讀取單元5的輸出合在一起后饋入疊加單元6。疊加單元6的輸出饋給振幅控制單元4,振幅控制單元4的輸出饋入輸出單元8。備有連到所有樣本讀取單元5的壓縮語音段數(shù)據(jù)庫(DB)10。
在壓縮語音段DB10中,語音以圖17中示出的形式存貯。即,和圖7一樣存貯初始波形的長度、初始波形的指針,以及音高波形的數(shù)量,但不是存儲音高波形,而是存儲第一音高波形和多個差分波形。初始波形存貯區(qū)與圖7中相同。
差分波形是圖7中相鄰峰值波形的差值。因為所有的音高波形都在波峰中心截取,它們的差表示相鄰音高之間的波形變化。在語音波形中,因為相鄰音高之間的相關(guān)性大,所以差分波形的振幅極小。因此,存貯區(qū)中分配給每個字的二進制位數(shù)可減少幾位。或者,依據(jù)編碼方法,可把位數(shù)減少到原來的1/2甚至1/4。
以下用以此形式存貯的壓縮語音段DB,說明實際讀出波形和合成語音波形的過程。為了合成的一個樣本,相繼在所有的組件中進行樣本讀出。
首先,假定樣本讀取進程就接在語音段變化進程和觸發(fā)進程后開始。在圖18中判斷是否為初始波形(步驟S101),如果初始波形終止了,則處理第一音高波形(步驟S102,S103),如果沒有終止(步驟S102),則狀態(tài)保持單元3中音高ID指初始波形,因此從初始波形中讀出一個樣本(步驟S104),并輸出到疊加單元6(步驟S105)。同時,在狀態(tài)保持單元3中讀出地址加1(步驟S106)后,處理結(jié)束。然后,除非讀數(shù)地址超過最終地址,否則一直進行同樣的處理,如果超過了則結(jié)束。
然后,假定樣本讀取進程接著后來的觸發(fā)(TG)事件開始。狀態(tài)保持單元3中的音高ID當然不指初始波形。開始時,示出第一音高波形(步驟S107)。于是,從第一音高波形中讀出一個樣本(步驟S110)。如果第一音高波形結(jié)束了,則處理差分波形(步驟S109)。地址更新的進行與上文所述相同,但讀出值暫時存在波形保持單元9中(步驟S111)。波形保持單元9是一個音高波形部分的存貯區(qū),從第一音高波形的開始算起第n個位置上讀出的值存貯在從波形保持單元6的開始算起第n個位置中。該值輸出到疊加單元6(步驟S112)后,下一個樣本的處理開始(步驟S113)。
如果音高ID指差分波形(步驟S114),則從差分波形中讀出一個樣本(步驟S116)。這里,如果一個差分波形終止,則處理下一個差分波形(步驟S115)。地址更新的進行同上。在差分波形的情況下,把讀出值與存貯在波形保持單元9中的值相加(步驟S117)。結(jié)果,可從差分波形恢復(fù)原始波形。這個值再存入波形保持單元9中(步驟S117),也輸出到疊加單元6(步驟S118)。然后操作進入下一個樣本的處理(步驟S119)。
這樣,通過以差分波形的格式累積音高波形,可明顯減少所需的存貯容量。順便說,與第一個實施例相比此結(jié)構(gòu)所需的備分組件和計算量很少。即,每個組件一個一音高波形存貯器,一次樣本讀出處理只要分別進行一次加法運算、存貯器讀出一個字和存儲器存入一個字。
以下說明合成一個合成波形的樣本所需的計算。為產(chǎn)生一個音高波形樣本,讀出差分波形需要一次存貯器讀數(shù),把該讀出值與波形保持單元9的值相加并恢復(fù)原始波形需要存儲器讀出和作加法各一次,把所得值再存入波形保持單元9需要存儲器寫入一次。假定組件數(shù)為n,合成波形的一個試樣本需要3n次訪問存貯器,以及n+(n-1)次加法運算(用于疊加n個組件的輸出的加法需要n-1次)。假定n=4,合成波形的一個樣本需12次訪問存貯器和15次加法運算。在圖19中比較已有技術(shù)和本發(fā)明的計算量。
在上述實施例中,把Hanning窗用作窗函數(shù),但不限于此,可使用其它形式。
在示出的實施例中,事件類型只使用SG(語音段變化)和TG(觸發(fā)),但也可用其他振幅控制信息、把信息變成由其它說話人語音產(chǎn)生的語音段集等類型。
此外,在實施例中,對語音段采用疊加法改變音高,但不限于此,也可使用峰段合成中的聲帶源波形改變音高。
還有,這樣,通過在制作語音段時完成加窗(我們把它叫做先行加窗法),合成中的計算量可急劇減少,因此可把音質(zhì)變壞抑制得很低。此外,通過計算音高波形的差,可有效地壓縮語音段,它可在小于已有技術(shù)的存貯量中進行。此外,通過壓縮語音段,合成中的計算量和裝置的規(guī)模增加可變得極小。
于是,計算量非常小且裝置規(guī)模也很小,可用于高質(zhì)量小型語音合成裝置。
這里,為實現(xiàn)小的存貯容量和低的計算成本,可考慮把本發(fā)明的先行加窗法與通常的混合法結(jié)合起來(先行加窗混合法)。然而,作為先行加窗混合法的特性0,在連接合成部分的計算成本和參數(shù)合成部分的計算成本之間有極大的差別,合成中的計算量周期性地波動。這意味著當先行加窗混合法用于實時合成中時,需要足夠的計算量,以便連接合成部分吸收參數(shù)合成部分的龐大計算成本,還意味著需要足夠的緩沖存貯器以吸收計算速度的波動。為解決這個問題,以下參考附圖描述本發(fā)明的第三個實施例。
圖20是示出本發(fā)明中第三個實施例中語音合成裝置的方框圖。此語音合成裝置包括音素符號串分析單元101,它的輸出連到控制單元102。還備有信息單體DB110,它與控制單元102相互連接。此外,又有一自然語音通道102和一合成語音段通道111,在自然語音通道112中配備語音段DB106和語音段讀取單元105。在合成語音段通道111中也有語音段DB104和語音段讀取單元103。語音段讀取單元105與語音段DB106互連,語音段讀取單元103與語音段DB104互連。語音段讀取單元103和語音段讀取單元105的輸出連到混合器107的兩個輸入端,且混合器107的輸出饋入振幅控制單元108。振幅控制單元108的輸出饋給輸出單元109。
從控制單元102輸出自然語音段參考號、合成語音段參考號、混合控制信息,以及振幅控制信息。這些控制信息中,自然語音段參考號饋入合成語音段通道111的語音段讀取單元103?;旌峡刂菩畔伻牖旌掀?07,振幅控制信息饋入振幅控制單元108。
圖22示出存在語音段DB106中的數(shù)據(jù)格式。例如,段ID是記錄在每個音節(jié)中區(qū)別每個自然語音段的值。每個段ID有多個音高ID。音高ID的值用來從0開始依次區(qū)分窗函數(shù)由自然語音段中的首段起分別截取的音高波形。
圖23示出由窗函數(shù)截取音高波形的方法。圖23中第一行的圖形是受截取的原始波形。其中音高ID相應(yīng)于0的波形可包含圖23中示出的輔音的開始部分,因此用不對稱長窗截取該部分。當音高ID為1后,用大約為那時音高周期的1.5至2.0倍的Hanning窗截取。這樣,產(chǎn)生了具有一段ID部分的自然語音段。同樣,在多個波形中如此操作,就創(chuàng)建了語音段DB106。
接著,圖24示出語音段DB104中貯存的數(shù)據(jù)格式。音高波形排列于圖中所示座標軸上分別標有F1和F2參考號的平面上。
F1參考號和F2參考號分別相應(yīng)于語音的第一峰段頻率和第二峰段頻率。隨著F1參考號按0,1,2增大,第一峰段頻率變高。這在F2參考號中也一樣。即,貯存在語音段DB104中的音高波形可由F1參考號和F2參考號來設(shè)定。
于是,通過預(yù)先進行峰段合成可產(chǎn)生由F1參考號和F2參考號表示的波形。這項處理的算法在以下參考圖25中流程圖加以說明。
首先,確定第一和第二峰段頻率的最小值和最大值。當記錄自然語音段時,這些值由說話人的各數(shù)據(jù)決定。然后,決定F1和F2參考號的級數(shù)。這個值以20左右為宜(至此為步驟S6001)。
從步驟S6001確定的值,可決定第一和第二峰段頻率的步長(步驟S6002)。然后,F(xiàn)1參考號和F2參考號初始化到0(步驟S6003和S6004),依據(jù)在步驟S6005中的公式計算第一和第二峰段頻率。用這樣獲得的峰段參數(shù),在步驟S6006合成峰段,并從此波形中截取音高波形。
然后,對F2參考號加1(步驟S6007),并重復(fù)步驟S6005后的處理。當F2參考號大于級數(shù)時(步驟S6008),對F1參考號加1(步驟S6009)。然后,重復(fù)步驟S6004后的處理。如果F1參考號大于級數(shù),則處理結(jié)束。
于是,等分第一和第二峰段頻率的范圍,通過合成包含這兩個值的所有組合的波形,建立語音段DB104。
以下是步驟S6006進行的處理。首先,由自然語音段說話人的各個數(shù)據(jù)決定第一和第二峰段頻率以外的參數(shù)。這些參數(shù)包括第一峰段帶寬、第二峰段帶寬、第三到第六峰段頻率和帶寬及其中的音高頻率。
作為參數(shù),可使用說話人的方式。特別是,第一和第二峰段頻率根據(jù)元音的種類明顯變化,第三和更高峰段頻率的變化較小。第一和第二峰段帶寬因元音而明顯改變,但對聽覺的影響沒有峰段頻率的影響大。即,如果第一和第二峰段頻率有偏離,則音位性能(聽到作為具體音素的語音的難易度)下降得很明顯,但第一和第二峰段帶寬將不會使音位性能下降這樣多。因此,確定第一和第二峰段頻率以外的參數(shù)。
用步驟S6005算得的第一和第二峰段頻率及上述確定的參數(shù),對幾個音高周期合成語音波形。從這樣合成的波形中,通過使用相同于圖23中截取自然語音段音高值波形的窗函數(shù)截取音高波形。這里,只截取一個音高波形。每執(zhí)行一次從步驟S6005到S6008的循環(huán),產(chǎn)生一個相應(yīng)于F1參考號和F2參考號組合的合成語音段。
在聲源波形用于峰段合成的同時,可使用一般函數(shù),但最好使用由聲道反向濾波器從記錄自然語音段時說話人的語音中提取的波形。聲道反向濾波器使用已有技術(shù)中所述聲道傳輸函數(shù)的反函數(shù),獲得從聲音波形中去掉傳輸特性作為其結(jié)果的波形。此波形表示聲帶的振動波形。通過把此波形直接用作峰段合成的聲源,合成波形以極高的逼真度再現(xiàn)說話人的各個特性。這樣,建立起語音段DB104。
以下說明如此構(gòu)成的語音合成裝置的工作。首先,當音素符號串輸入音素符號串分析單元101時,相應(yīng)于輸入的音素信息、時間長度信息和音高信息輸出到控制單元102。圖21示出在音素符號串分析單元101中分析并輸出到控制單元102的信息的例子。在圖21中,音素符號串是一串輸入字符。在此例中,它以片假名表示。音素信息是表示音素符號串所對應(yīng)音素的值。在此例中,相應(yīng)于片假名的每個字符(即在音節(jié)單元中),決定這個值。時間長度是每個音節(jié)的保持時間。在此例中,它以毫秒表示。由每個語音的發(fā)音速度、統(tǒng)計數(shù)據(jù)及自然語音段的標號信息決定這個值。始部音高和中部音高是位于音節(jié)的始端和音節(jié)的中部并在此例中以赫茲(Hz)表示的音高。
控制單元102根據(jù)上述信息和信息單體DB110中所存的自然語音段參考號、合成語音段參考號、混合控制信息、及振幅控制信號等信息單體,產(chǎn)生控制信息。在信息單體DB110的每個自然語音段中存有元音的第一和第二峰段頻率、開始部分輔音的類型等。自然語音段參考號是指出相應(yīng)于音素信息的特定自然語音段的信息。例如,相應(yīng)于圖21中第一音素信息/a/,輸出指示由聲音“ぁ”產(chǎn)生的自然語音段的值。
同時,自然語音段參考號也包括音高ID信息,并通過對始部音高和中部音高進行插入產(chǎn)生平滑的音高變化。用于在適當時間從信息中讀取音高值波形的信息輸出到語音段讀取單元105。語音段讀取單元105根據(jù)此信息相繼從語音段DB106中讀出波形,并使波形交疊以產(chǎn)生自然語音段通道112中的合成波形。圖26中示出自然語音段參考號的一個例子,以及讀出自然語音段的方式,相應(yīng)的自然語音段通道112的波形合成。
合成語音段參考號是指出相應(yīng)于音素信息的特定合成語音段的信息。該信息的要素有第一和第二峰段頻率。峰段頻率信息實際轉(zhuǎn)變成相應(yīng)的峰段參考號。峰段參考號用于圖25,并由公式11和12表示。F1idx是第一峰段參考號,F(xiàn)2idx是第二峰段參考號。F1idx=(F1-F1min)/(F1max-F1min)*nF1idx[12]F2idx=(F2-F2min)/(F2max-F2min)*nF2idx其中,F(xiàn)1min和F2min分別是第一和第二峰段頻率的最小值。而F1max和F2max分別是第一和第二峰段頻率的最大值。F1idx和F2idx分別是F1和F2參考號,nF1idx和nF2idx分別是F1idx和F2idx的級數(shù),dF1和dF2分別是第一和第二峰段頻率的步長。F1和F2分別是第一峰段頻率和第二峰段頻率,它們由此時合成的自然語音段元音的第一和第二峰段頻率及后續(xù)輔音的種類來決定。參考信息單體DB110獲取這些信息。具體地說,在元音到輔音的過渡區(qū)中,從信息單體DB110中選出元音的峰段頻率,從這個值開始,用一規(guī)則產(chǎn)生峰段頻率向輔音變化的模式,相應(yīng)地畫出峰段頻率的軌跡。在由該軌跡和音高信息決定的各語音段時間,計算那時的峰段頻率。圖27中相應(yīng)地示出如此產(chǎn)生的合成語音段參考號信息的一個例子,以及合成語音段通道111的波形合成方式。
圖28中示出混合控制信息的生成。即,混合比從每個音節(jié)的始端到中部完全在自然語音段通道112中控制,從中部到末端則控制逐漸轉(zhuǎn)移到合成語音段通道111。從一音節(jié)末端到下一個音節(jié)的始端,在比較短的時間內(nèi)控制又回到自然語音段通道112。于是,每個音節(jié)的主要部分為自然語音段,而變化到下一個音節(jié)的部分由合成語音段平滑地連接。
最后,由振幅控制信息控制整個波形的振幅,并從輸出單元109輸出語音波形。振幅控制信息用于在句子結(jié)束處使振幅下降平滑。
如上文所述,用于連接音節(jié)的合成語音段必須用已有技術(shù)實時合成,但在本實施例中,通過讀出每個音高時逐個瞬間連接波形變化,能以低成本產(chǎn)生。在另一已有技術(shù)中,因為這種拼接部分包含在自然語音段方面,所以需要大容量的語音段DB,但在本實施例中,自然語音段的數(shù)據(jù)基本上做成CV單元,所需容量就很小。為此,必須保持合成語音段,在本實施例中所需的容量只夠保持400個音高波形(假定F1參考號和F2參考號均為20),因而所需的存貯容量極小。
圖29示出第四個實施例中合成語音段通道111的例子。這里,具有第一語音段讀取單元113和第二語音段讀取單元115。第一語音段DB114連到第一語音段讀取單元113,第二語音段DB116連到第二語音段讀取單元115。還具有混合器117,它的兩個輸入端分別連接第一語音段讀取單元113和第二語音段讀取單元115的輸出端?;旌掀?17的輸出即合成語音段通道111的輸出。
存在第一語音段DB114和第二語音段DB116中的合成語音段分別由相同F(xiàn)1參考號和F2參考號構(gòu)成,但使用不同的聲源波形合成。即,用于第一語音段DB114中的聲源從以普通形式發(fā)出的語音中抽取,而用于第二語音段DB116中的聲源從發(fā)出的微弱語音中抽取。
聲源的這種差別是頻譜的一般趨勢。當出強音時,聲源波形包含許多高達高頻的諧波,且頻譜斜率很小(幾乎為水平的)。另一方面當發(fā)出弱音時,聲源波形中的高次諧波少,而頻譜斜率很大(向較高頻率端向下降)。
在實際語音中,發(fā)音時聲源的頻譜斜率逐漸改變。為了模擬這種特性,可考慮改變兩個聲源波形的比率,同時進行混合。在此實施例中,因為合成語音段通道使用事先合成的波形,通過事后混合由具有兩種特性的聲音源波形合成的合成波形可獲得同樣的效果。用此結(jié)構(gòu),可模擬從句子的開頭到結(jié)束或由鼻音等的頻譜斜率的變化。
在第三和第四實施例中,用峰段合成來產(chǎn)生合成語音段,但也可以用LPC合成、PARCOR合成及LSP合成等任一種參數(shù)合成的合成方法。此時,除了使用由聲道反向濾波器提取出的聲源波形外,還可用LPS剩余波形。
在合成的語音段中,段設(shè)計為相應(yīng)于F1參考號和F2參考號的所有組合,但第一峰段頻率和第二峰段頻率之間也存在實體上不同的組合,而且還有出現(xiàn)概率低的組合,所以不需要這類的段。結(jié)果,存貯容量可大大減少。此外,通過研究出現(xiàn)概率,用矢量量化或其他技術(shù),可將第一峰段和第二峰段所占空間分成不均勻,從而可更有效地使用存貯器,提高合成質(zhì)量。
在第三實施例中,作為合成語音段的參數(shù)軸,使用第一峰段頻率和第二峰段頻率,在第四個實施例中,使用聲源的頻譜斜率,但如果存貯容量有額外余量,則還可增加參數(shù)。例如,除第一和第二峰段頻率外還可加第三峰段頻率,從而劃分成三維空間,并建立合成語音段?;蛘?,當希望改變聲源特性而不是頻譜斜率時,例如改變腔聲音和假聲時,可從不同聲源構(gòu)成分開的合成語音段,并在合成時混合。
在第三和第四實施例中,提供了信息單體DB110,通過使用語音段DB106的自然語音段峰段頻率可產(chǎn)生合成語音段參考號,但判為元音時通常峰段頻率也確定,所以可通過配備每個元音的峰段頻率表來代替。
權(quán)利要求
1.一種語音合成方法,其特征在于對于存在于語音波形特定部分中的各音高周期中的各波峰用一朝波峰兩端收斂于零附近的窗函數(shù)對所述特定部分中的全部波峰進行截取音高波形的操作;對所有需要的語音波形產(chǎn)生語音段數(shù)據(jù),使該窗函數(shù)的長度比該語音波形基礎(chǔ)上的任一波峰到達其兩端波峰的長度短;存儲所產(chǎn)生的語音段數(shù)據(jù);從所存儲的語音段數(shù)據(jù)讀出所需語音段數(shù)據(jù)的所需音高波形;疊加和排列成所要的音高周期間隔,并把這些波形加給輸出部分作為一個語音波形。
2.如權(quán)利要求1所述的語音合成方法,其特征在于,所有窗函數(shù)的長度相等。
3.如權(quán)利要求1所述的語音合成方法,其特征在于,窗函數(shù)的長度為那時刻語音波形上的音高周期的兩倍乘以小于1的特定常數(shù)后的長度。
4.如權(quán)利要求1所述的語音合成方法,其特征在于,窗函數(shù)的長度為各語音波形中表達該語音波形音高周期的代表值的兩倍乘以小于1的特定常數(shù)后的長度。
5.如權(quán)利要求1或4所述的方法,其特征在于,所述語音段數(shù)據(jù)存儲就是存儲各語音段的第一音高波形的自身波形,和對第二個及其后的音高波形存儲表示前一音高波形和該音高波形的變化部分的差分音高波形,當讀出某個語音段數(shù)據(jù)時,對第一音高波形而言直接讀出所存儲的波形,且該數(shù)據(jù)暫時存儲到直到讀出下一個音高波形為止,對于第二個及其后的波形,則將所讀出的差分波形值加到前一音高波形值上用以恢復(fù)該波形,且所述暫時存儲的值用該恢復(fù)波形的值替換。
6.一種語音合成裝置,其特征在于,它包含語音段數(shù)據(jù)存儲裝置,該裝置對存在于語音波形特定部分中的各音高周期中的各波峰用一朝波峰兩端收斂于零附近的窗函數(shù)對所述特定部分中的全部波峰進行截取音高波形的操作,并存儲用于產(chǎn)生全部所需語音波形的語音段數(shù)據(jù),使窗函數(shù)的長度比該語音波形基礎(chǔ)上的任一波峰到達其兩端波峰的長度短;音高波形讀出裝置,它從所述語音段數(shù)據(jù)存儲裝置讀出所需語音段數(shù)據(jù)的所要音高波形;加法疊加單元,用于疊加和排列所讀出的音高波形成為所需音高周期間隔,并把這些波形加給輸出部分作為一個語音波形。
7.如權(quán)利要求6所述的語音合成裝置,其特征在于,窗函數(shù)的長度為各語音波形中表達該語音波形音高周期的代表值的兩倍乘以小于1的特定常數(shù)后的長度。
8.如權(quán)利要求6或7所述的語音合成裝置,其特征在于,所述語音段數(shù)據(jù)存儲裝置存儲各語音段的第一音高波形的自身波形,并對第二個及其后的音高波形存儲表示前一音高波形和該音高波形的變化部分的差分音高波形,且包含音高波形暫時存儲裝置,它用于當讀出某個語音段數(shù)據(jù)時,暫時存儲已讀出的第一音高波形直到讀出下一個音高波形為止,用對第二個及其后的音高波形,則將讀出的差分波形值加到前一音高波形的值上用以恢復(fù)該波形,然后用該恢復(fù)波形值替換暫時存儲的值。
9.一種語音合成方法,其特征在于產(chǎn)生一控制信號串,作為一串具有時間信息、表示特定功能的功能信息和對應(yīng)于所述特定功能的任意個參數(shù)的控制信號;用控制信號的功能信息和參數(shù)并按照時間信息表示的時間控制所述語音段。
10.如權(quán)利要求9所述的方法,其特征在于,所述特定功能是對音高周期單元中所截取語音段的讀出時間的控制。
11.如權(quán)利要求9或10所述的方法,其特征在于,所述特定功能控制為每個音素準備的語音段的轉(zhuǎn)換,且所述參數(shù)是表明對應(yīng)于所需音素的語音段的信息。
12.一種語音合成裝置,其特征在于,它包含控制裝置,用以產(chǎn)生控制信號串作為一串具有時間信息、表示特定功能的功能信息和對應(yīng)于所述特定功能的任意個參數(shù)的控制信號,并用控制信號的功能信息和參數(shù)按照時間信息表示的時間控制語音段。
13.如權(quán)利要求12所述的語音合成裝置,其特征在于,所述特定功能是對音高周期單元中所截取語音段的讀出時間的控制。
14.如權(quán)利要求12或13所述的語音合成裝置,其特征在于,所述特定功能控制為每個音素準備的語音段的轉(zhuǎn)換,且所述參數(shù)是表明對應(yīng)于所需音素的語音段的信息。
15.如權(quán)利要求1、4或5所述的方法,其特征在于,產(chǎn)生一控制信號串,作為一串具有時間信息、表示特定功能的功能信息和對應(yīng)于所述特定功能的任意個參數(shù)的控制信號;用控制信號的功能信息和參數(shù)并按照時間信息表示的時間控制所述語音段。
16.如權(quán)利要求15所述的方法,其特征在于,所述特定功能是音高波形讀出起動指令,且通過讀出管理裝置的音高波形讀出起動指令選擇多個音高波形讀出單元中最早選用過的某個單元來起動讀出音高波形,并將所有音高波形讀出單元讀出的值用加法疊加單元相加后輸出。
17.如權(quán)利要求16所述的方法,其特征在于,所述參數(shù)是表明存儲在語音段數(shù)據(jù)存儲裝置中的語音波形或差分波形的音高波形指定信息,且所述管理裝置起動讀出由所述音高波形指定信息所表明的音高波形。
18.如權(quán)利要求15、16或17所述的方法,其特征在于,所述特定功能是一種語音段轉(zhuǎn)換指令,而所述參數(shù)是表明任一語音段存儲在所述語音段數(shù)據(jù)存儲裝置中的信息。
19.如權(quán)利要求6、7或8所述的語音合成裝置,其特征在于,它進一步包含控制裝置,用以產(chǎn)生控制信號串作為一串具有時間信息、表示特定功能的功能信息和對應(yīng)于所述特定功能的任意個參數(shù)的控制信號,并用控制信號的功能信息和參數(shù)按照時間信息表示的時間控制語音段。
20.如權(quán)利要求19所述的語音合成裝置,其特征在于,進一步設(shè)有管理裝置,所述音高波形讀出裝置具有多個音高波形讀出單元,所述特定功能是一種音高波形讀出起動指令,且讀音高波形是通過管理裝置的音高波形讀出起動指令選擇多個音高波形讀出單元中最早選用過的一個來起動的,而加法疊加單元將所有音高波形讀出單元所讀出的值相加后輸出。
21.如權(quán)利要求20所述的語音合成裝置,其特征在于,所述參數(shù)是表明存儲在語音段數(shù)據(jù)存儲裝置中的語音波形或差分波形的音高波形指定信息,且所述管理裝置起動讀出由所述音高波形指定信息所表明的音高波形。
22.如權(quán)利要求19、20或21所述的語音合成裝置,其特征在于所述特定功能是一種語音段轉(zhuǎn)換指令,而所述參數(shù)是表明任一語音段存儲在所述語音段數(shù)據(jù)存儲裝置中的信息。
23.一種語音段制作方法,該方法利用生成參數(shù)的參數(shù)生成單元,根據(jù)所述參數(shù)生成單元生成的參數(shù)生成合成波形的語音合成單元,存儲合成波形的波形存儲單元和存儲對應(yīng)于該合成波形的參數(shù)值的參數(shù)存儲單元,制作語音段,其特征在于所述參數(shù)生成單元將由N個參數(shù)構(gòu)成的參數(shù)矢量P建立的N維空間S(N為正整數(shù))分成M個區(qū)域A0到AM-1(M為正整數(shù)),并對從0變到M-1的所有整數(shù)產(chǎn)生對應(yīng)于區(qū)域Ai中所需位置的參數(shù)矢量Pi,所述語音合成單元根據(jù)該參數(shù)矢量Pi產(chǎn)生一個合成波形,所述波形存儲單元存儲該合成波形,所述參數(shù)存儲單元存儲對應(yīng)于該合成波形的參數(shù)矢量Pi。
24.如權(quán)利要求23所述的方法,其特征在于,所述參數(shù)生成單元將由N個參數(shù)組成的參數(shù)矢量P建立的N維空間S(N為正整數(shù))按照P的概率分布分成M個區(qū)域A0至AM-1(M為正整數(shù))。
25.如權(quán)利要求23所述的方法,其特征在于,所述語音合成單元,在根據(jù)音高周期中波峰中心的參數(shù)所合成的波形的適當位置上,產(chǎn)生由具有單一音高周期波形的窗函數(shù)所截取的音高波形,所述波形存儲單元存儲該音高波形。
26.如權(quán)利要求23、24或25所述的方法,其特征在于,參數(shù)矢量P中的一個組成參數(shù)是一個或多個語音峰段的中心頻率和聲帶振動頻譜傾角的一個或任意個組合。
27.如權(quán)利要求23至26的任一權(quán)利要求所述的方法,其特征在于,所述語音合成單元使用峰段合成方法。
28.如權(quán)利要求27所述的方法,其特征在于,所述語音合成單元,從自然語音波形提取聲道傳輸特性,構(gòu)成一個具有反向聲道傳輸特性的聲道反向濾波器,用該聲道反向濾波器從自然語音波形中濾除該聲道傳輸特性,由此,用所獲得的振動波形作為振動聲源波形。
29.一種語音合成方法,其特征在于,用自然語音段存儲單元存儲按各特定音節(jié)鏈截取預(yù)錄的語音波形所制成的自然語音段,用合成語音段存儲單元存儲由權(quán)利要求23至28的任一權(quán)利要求所述的語音段制作方法所制作的語音段,在連接合成單元中連接自然語音段和合成語音段,進行語音合成。
30.如權(quán)利要求29所述方法,其特征在于,所述連接合成單元,合成語音的方法是利用自然語音段參數(shù)存儲單元存儲自然語音段存儲單元中所存的自然語音段的參數(shù),利用合成語音段參數(shù)存儲單元存儲合成語音段存儲單元中所存合成語音段的參數(shù),存儲在該自然語音段參數(shù)存儲單元和合成語音段參數(shù)存儲單元中的參數(shù)是相同的或是相同的組合,該連接合成單元當兩個自然語音段相互連接時,在特定時間部分上的結(jié)合處插入?yún)?shù)互差值,從該合成語音段存儲單元讀出由最接近各時間插入?yún)?shù)的組合的參數(shù)所合成的合成語音段,且用所讀出的合成語音段連接所述兩個自然語音段。
31.如權(quán)利要求29或30所述的方法,其特征在于,所述合成語音段存儲單元存儲由權(quán)利要求28所述語音段制作方法所產(chǎn)生的合成語音段,存儲在自然語音段存儲單元中的自然語音段和在語音合成單元中的激勵聲源波形由同一說話人發(fā)出。
32.如權(quán)利要求31所述的方法,其特征在于,所述合成語音段參數(shù)存儲單元存儲由權(quán)利要求28所述語音段制作方法所制作的合成語音段的參數(shù)。
33.一種語音合成裝置,其特征在于,它包含合成語音段存儲單元,用以存儲通過按各特定音節(jié)鏈截取預(yù)錄語音波形所制作的自然語音段,自然語音段存儲單元,用以存儲由權(quán)利要求23至28任一權(quán)利要求所述語音段制作方法所制作的語音段。連接合成單元,用以連接自然語音段和合成語音段時合成語音。
34.如權(quán)利要求33所述的裝置,其特征在于,進一步包含自然語音段參數(shù)存儲單元,用以存儲所述自然語音段存儲單元中所存自然語音段的參數(shù),合成語音段參數(shù)存儲單元,用以存儲所述合成語音段存儲單元中所存合成語音段的參數(shù),其中,存儲在自然語音段參數(shù)存儲單元和合成語音段參數(shù)存儲單元中的參數(shù)相同或組合相同,當兩個自然語音段相互連接時,所述連接合成單元在一特定時間部分上的結(jié)合處插入?yún)?shù)互差值,從所述合成語音段存儲單元讀出由最接近各時間插入?yún)?shù)的組的參數(shù)所合成的合成語音段,并用所讀出的合成語音段連接所述兩個自然語音段。
35.如權(quán)利要求33或34所述的裝置,其特征在于,所述合成語音段存儲單元存儲由權(quán)利要求28所述語音段制作方法所產(chǎn)生的合成語音段,存儲在自然語音段存儲單元中的自然語音段和在語音合成單元中的激勵聲源波形由同一說話人發(fā)出。
36.如權(quán)利要求35所述的裝置,其特征在于,所述合成語音段參數(shù)存儲單元存儲由權(quán)利要求28所述語音段制作方法所制作的合成語音段的參數(shù)。
全文摘要
一種語音段制作方法、語音合成方法及其裝置。其特征在于所述語音合成方法對語音波形特定部分中的各基音周期的波峰用一在波峰兩端收斂于零附近的窗函數(shù)對全部波峰截取音高波形,并對語音波形產(chǎn)生語音段數(shù)據(jù),使窗函數(shù)長度短于波峰至兩端的長度。存儲語音段數(shù)據(jù),從所存儲的語音段數(shù)據(jù)讀出音高波形,疊加排列成所需音高周期間隔,并把這些波形加給輸出部分作為一個語音波形。
文檔編號G10L13/02GK1131785SQ95119049
公開日1996年9月25日 申請日期1995年12月6日 優(yōu)先權(quán)日1994年12月6日
發(fā)明者釜井孝浩, 松井謙二, 原紀代 申請人:松下電器產(chǎn)業(yè)株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1