專利名稱:構造漢字數字音庫的方法、漢語數字串合成系統和方法
技術領域:
本發明涉及一種構造漢字數字音庫的方法和一種漢語數字串合成系統和方法,特別是涉及一種構造適用于小內存環境的高自然度漢字數字音庫的方法,和一種適用于小內存環境的高自然度漢字數字串合成系統及其方法。
背景技術:
隨著軟、硬件技術的發展,目前信息產品(如PDA和智能手機)的計算能力和存儲能力已經獲得很大的改善,進而使得改善用戶界面的需求更加強烈。文語轉換(Text-to-Speech、TTS)技術用來將文本輸入轉換成人類可聽的、具有一定可懂度和自然度的合成語音輸出。應用該技術的計算機系統在大量減小預先錄制(Prerecorded)的語音文件的數量的同時,還可以提供動態產生的語音響應,因而使信息產品具有更好的人機交互界面。
數字串合成是漢語文語轉換技術的一個重要應用,例如為高端移動電話或者電話查號臺提供電話號碼朗讀功能,報告證券交易行情和工業儀表讀數等等。由于句子中的數字串通常包含更多的信息量,所以更容易引起聽者的關注,客觀上也就要求數字串合成具有更好的音質,也即是較高的自然度和可懂度。
傳統上,根據應用平臺和場合的不同,構建合成系統的技術也不相同。基于大規模音庫的單元拼接方法,能夠提供較高的音質和速度,因而適合服務器或者桌面計算環境;而基于聲道模型的合成方法則由于更低的資源需求,在嵌入式應用領域更加適用,但同時只能提供較低品質的輸出語音。因此,需要一種能夠適用于小內存環境的高自然度漢語數字串合成技術。
發明內容
因此,本發明要解決的問題是,現有的漢語數字串合成方法無法應用于移動通信終端上,這是由于移動設備的內存較小,不能將適用于桌面計算環境的大規模音庫直接移植到移動通信終端上。
即,本發明通過對建立的原始音庫進行裁減,在保證合成語音的質量同時,使得音庫大小可以適用小內存應用環境。
在本發明的一個方面,提出了一種構造漢語數字音庫的方法,包括步驟產生一包括多個數字單元串的原始音庫,所述數字單元串是相應漢語數字串的發音的表示;從原始音庫中挑選其中的數字單元分別位于所述漢語數字串的串首、串中和串尾的二元組數字單元;從原始音庫中挑選其中的數字單元分別位于所述漢語數字串的串首、串中和串尾的一元組數字單元;裁減相鄰數字單元之間的影響程度弱的二元組數字單元;由裁減后的二元組數字單元和挑選的一元組數字單元構成目標音庫。
利用根據本發明的構造漢字數字音庫的方法,可以建立滿足嵌入式設備的小內存要求的漢語數字音庫,同時能夠保持相當高的自然度。
此外,在根據本發明的構造漢字數字音庫的方法中,還包括為各個數字單元建立用于描述其位置的索引結構的步驟,所述索引結構包括數字單元在目標音庫中的偏移量、數字單元的時長和數字單元的上下文結構。其中,所述數字單元的上下文結構包括前一數字單元的編碼、后一數字單元的編碼和當前數字單元的編碼。所述數字單元包括下面漢字的發音的表示零、一、二、三、四、五、六、七、八、九、十、百、千、萬、億、點、分、之、又。
此外,在根據本發明的構造漢字數字音庫的方法中,從原始音庫中挑選出的二元組數字單元中的數字單元在原始音庫中的上下文單元是數字串的邊界或者是對二元組數字單元中的數字單元影響弱的另一發音單元。
此外,在根據本發明的構造漢字數字音庫的方法中,從原始音庫中挑選出的一元組數字單元中的數字單元在原始音庫中的上下文單元是數字串的邊界或者是對一元組中的數字單元影響弱的另一數字單元。
此外,在根據本發明的構造漢字數字音庫的方法中,所述經過裁減的二元組數字單元至少包括零、一、五、六及變調yao2、wu2、wan4、yi4和you4。
在本發明的另一方面,提出了一種一種合成漢語數字串的方法,包括步驟根據輸入的數字串的長度和類型進行韻律分組,得到數字串組;提取數字串組中的數字的上下文特征,所述上下文特征包括前一數字的編碼、后一數字的編碼和當前數字的編碼;根據所述的上下文特征從音庫中選擇相應的數字單元,進而得到數字串組中各個數字的數字單元;將所述各個數字的數字單元的波形拼接在一起輸出。
利用根據本發明的合成漢語數字串的方法,一方面可以使朗讀過程更加悅耳自然,另一方面消除了進行拼接時因為能量和周期不匹配而產生的噪聲。
此外,在根據本發明的合成漢語數字串的方法中,當數字位于數字串首或者數字串組首時,其上下文特征中的前一數字的編碼是邊界標記。當數字位于數字串尾或者數字串組尾時,其上下文特征中的后一數字的編碼是邊界標記。
此外,在根據本發明的構造漢字數字音庫的方法中,從原始音庫中選擇合適的數字單元包括通過對當前數字的數字單元的所有候選進行打分,選擇得分最高的候選數字單元。通過當前數字的上下文特征與候選數字單元的上下文特征的匹配程度來進行打分。
此外,在根據本發明的構造漢字數字音庫的方法中,如果針對兩個相鄰數字從音庫中選擇的兩個數字單元相鄰,則將所述兩個數字單元的波形直接拼接,否則,在拼接所述兩個數字單元的波形時執行加窗平滑處理。加窗平滑處理中使用的窗的長度是20毫秒,窗之間的重疊區長度是0-10毫秒。
在本發明的又一方面,提出了與上述的合成漢語數字串的方法相對應的系統,包括分組裝置,用于根據數字串的長度和數字串的類型對數字串進行韻律分組,得到數字串組;提取裝置,用于提取數字串組中的數字的上下文特征,所述上下文特征包括前一數字的編碼、后一數字的編碼和當前數字的編碼;選擇裝置,用于根據所述的上下文特征從音庫中選擇相應的數字單元,進而得到數字串組中各個數字的數字單元;拼接裝置,用于將所述各個數字的數字單元的波形拼接在一起輸出。
利用本發明的合成數字串的系統,一方面可以使朗讀過程更加悅耳自然,另一方面消除了進行拼接時因為能量和周期不匹配而產生的噪聲。
圖1所示的表格給出了漢語數字串合成中的數字單元;圖2示出了相鄰數字的發音不粘連時的波形圖;圖3示出了相鄰數字的發音粘連時的波形圖;圖4示出了數字單元的輔音分類表;圖5所示的表格給出了漢字數字發音之間的影響程度;圖6是音庫索引結構的示意圖;圖7是圖6所述的音庫索引結構中的子項‘特征’的格式;圖8是本發明的構造漢字數字音庫的方法的流程圖;圖9是本發明的漢字數字串合成方法的流程圖;圖10示出了根據一個實施例對輸入的數字串進行韻律分組的過程;圖11以表格的形式示出了對輸入的漢語數字串的韻律分組;圖12示出了根據本發明一個實施例從音庫中選擇合適的數字單元的過程;圖13示出了在本發明的漢字數組串合成方法中對選擇的數字單元的波形進行拼接的示意圖;圖14是本發明的漢字數字合成系統的結構框圖;圖15示出了對本發明的漢字數字合成系統的輸出的評價結果。
具體實施例方式
下面參照附圖對本發明的實施例進行詳細的說明,在描述過程中省略了對于本發明來說是不必要的細節和功能,以防止對本發明的理解造成混淆。
數字單元的定義及其特征的描述漢語中包括‘一’、‘二’、‘三’、‘四’、‘五’、‘六’、‘七’、‘八’、‘九’(或者這些數字的大寫,如壹、貳等等)共十個基本數字,以及“十”、“百”、“千”、“萬”、“億”、“點”、“分”、“之”、“又”等單位和標記。這十九個單元構成的數字串包括按數值朗讀的字串如金額或者逐位朗讀的如電話號碼。為使合成輸出的自然度盡可能高,必須考慮實際漢語發音中的三聲變調現象,即兩個相鄰的上聲音節,前一個音節在發音時變成陽平,如“九九”發作“jiu2 jiu3”(這里位于拼音字母之后的阿拉伯數字表示該拼音的音調,1表示陰平,即一聲;2表示陽平,即二聲;3表示上聲,即三聲;4表示去聲,即四聲)而非“jiu3 jiu3”。
考慮到變調因素,上述單元中還應該包括“五”在進行三聲變調發作“wu2”,“九”在進行三聲變調發作“jiu2”,“點”在進行三聲變調發作“dian2”,“百”在進行三聲變調發作“bai2”。此外,為了更容易和“七”相區別,“一”在某些場合讀作“yao1”。此外,當數字位于一個數字串的首部或者尾部時,其上文或者下文實際上是串組邊界,因此也歸入一類,用“#”來表示,雖然它不發音,但是仍舊將它看作一個特殊的數字單元。
綜上所述,一個漢語數字串合成系統所涉及的的數字單元一共25個,包括24個發音的數字單元和一個不發音的數字單元,如圖1所示。
除了單個的數字之外,數字單元的出現形式為數字串。在數字串的情況下,一個數字單元與其上下文的數字單元之間將會相互影響。因此,可以用一個數字單元在數字串中的上下文來描述,即,將前一數字單元,后一數字單元和數字單元本身構成一個矢量,作為該數字單元的特征。
需要說明的是,本發明中的‘數字’和‘數字單元’是相互對應的,由于不存在不同的數字具有相同的發音,所以,在一些情況下,‘數字’和‘數字單元’具有相同的含義,不需要特別區分。同樣,本發明中提到的‘數字串’和‘數字單元串’在一些情況下的含義是相同的。
發音影響因子表上面提到,在正常連續讀出數字串時,數字相互之間會對彼此的發音產生影響,使得數字的發音與該數字單獨發音時有所不同,甚至差別甚大。從波形的角度來看,可能彼此分割清晰,但可能發生粘連。
圖2和圖3分別給出了相鄰的數字在連續讀出時彼此分割清晰和發生粘連的例子。如圖2所示,當我們連續讀出‘02(零二)’時,數字‘0(零)’的發音和數字‘2(二)’發音相互沒有什么影響,彼此很容易區分。但是,當連續讀出‘25(二五)’時,數字‘2(二)’的發音和數字‘5(五)’的發音相互粘連,從波形上無法清晰分辨出二者之間分解線,如圖3所示。
因此,為了衡量相鄰數字單元之間的發音影響程度,可以建立一張發音影響因子表。該表將被用于在構建音庫時進行音庫裁減,和在合成數字時評價音庫中的候選數字單元。
為建立發音影響因子表,首先對所有數字單元的拼音按照發音原理進行分類。圖4示出了數字單元的輔音分類表。
結合圖4所作的分類,對原始音庫中的數字單元進行波形分析。對其中13個基本數字單元分析的結果如圖5所示,后一個數字為邊音和半元音時,前一個數字的發音收到較的影響,也即發音的粘連關系較強,而其他的相鄰數字間的互相影響比較小。
在圖5中,相鄰兩個數字連續發音時的粘連關系,Y表示影響較強,X表示影響較弱,其余的基本數字單元中,受影響較強的包括“wan4”、“yi4”、“you4”。同樣,可以對所有24個具有實際發音的數字單元進行分析,獲得它們之間的發音影響程度。
在發音影響因子的實施例中,僅僅以‘強’和‘弱’形式來描述相鄰兩個基本數字單元之間的相關程度。作為一個選擇實施例,可以采用較為精細的描述方式來描述相鄰數字單元之間的相關程度,例如,三級或者更多,以及加權的形式。
原始音庫的構建為了最終獲得高自然度的合成數字串發音,除了要求原始音庫具有足夠高的質量的錄音質量,此外還要求該音庫能夠覆蓋盡可能多的發音現象,即現實發音中可能存在的搭配。基于這個原則設計的原始音庫,可以保證合成數字串時,每個數字都能在音庫中找到盡可能匹配的候選單元。在這個音庫上做裁減以便縮小音庫的時候,也能夠最大程度地保證目標音庫的質量。
為了覆蓋數字在不同搭配下的連接情形,原始音庫的數字腳本應該足夠長。在數字串中,每個數字的位置可以分為首部、中部和尾部。同樣,在數字單元串中,每個數字單元的位置可以分為首部、中部和尾部。由于一個三位的數字串就能夠提供三個數字在不同位置和不同上下文的發音,所以原始音庫由從“000”依次變化到“999”,并且包括阿拉伯數字“1”念作“幺”時的組合情形。當然,本領域的普通技術人員可以采用更長的數字串來構造原始音庫。
音庫腳本設計完成后,通過符合一定發音素質的播音人員在一定的錄音條件下進行朗讀錄制,然后進行音節邊界標記,就可以獲得一份高質量的漢語數字串合成用原始音庫。
目標音庫的構建原始音庫雖然覆蓋了的大量的語言現象,但同時也包含了大量的冗余,因此在實用中,需要進行裁減構成目標音庫。目標音庫具有較為小巧,但又保證覆蓋足夠多語言現象特點。
兩個連續發音的漢語數字,發生粘連的時候,前一個數字的發音將對后一個數字的發音產生較大的影響,反之亦然。這種情況下,數字發音的聲學特征將顯著區別于獨立發音。因此,為了獲得高的自然度,本發明提出,通過選取和保留數字發音的二元鏈接作為基本單元來構建目標音庫。
全部二元鏈接具有較好的覆蓋能力,但同時需要較大的存儲空間。在嵌入式等應用環境下,存儲空間的限制使得需要對二元鏈進行進一步的裁剪和壓縮。
根據發音影響因子表,對于具有粘連關系的兩個連續數字單元,保留其發音樣本可以提高真實合成時的自然度。這樣的數字單元包括0、1、5、6、yao2、wu2、wan4、yi4和you4,所有與這些數字單元相連接的數字二元組都被選入目標音庫。此外由于上聲變調比較特殊,所以在構建目標音庫時,特別將其保留,即把所有可能發生三聲變調的數字單元的組合形式如wu2-wu3、wu2-wu2、wu2-jiu3、wu2-jiu2、jiu2-wu3等等選入目標音庫。
研究表明,對于非孤立的兩個連續數字,其聲學特性在其不同的上下文環境下,也并非一致。例如,“356”中的粘連數字“35”與“353”中的“35”存在差異,其原因在于后續數字“6”或“3”對前面數字的發音仍然存在影響。因此,根據影響因子表,選用具有較弱影響的上下文將能夠選出更具通用性的數字樣本。
研究還表明,發音粘連關系較強的兩個連續數字,在數字串組中的位置不同,其發音也有所差異。例如“353”中的“35”和“335”中的“35”的聲學表現并不一致。保留這兩類不同的發音樣本,可以提高合成時的自然度。
當一個數字單元與后續數字單元的粘連關系不強時,其發音將相對獨立。這些數字單元在數字串組中的位置不同時,其發音也有所差異,例如處于數字串中部的“9”的發音要短于處于尾部的“9”。
更重要的原因是,一個數字單元的聽感上的停頓比插入靜音產生的停頓更加自然,而聽感停頓的一個重要因素就是該數字單元出現在數字串組中的位置。因此,這些數字單元要分別保留其處于首部、中部和尾部的發音樣本,選取方法是1)如果該數字位于數字串首部,則該數字應與串中的后一個數字的發音的粘連關系應該較弱;2)如果該數字位于數字串中部,則該數字應與其前后的數字的發音的粘連關系都應該較弱;3)如果該數字位于數字串尾部,則該數字應與其前一個數字的發音的粘連關系應該較弱。
作為一個實施例,“3”作為上下文數字可以保證當前數字的發音較少受到上下文的影響,即通過“×33”、“3×3”和“33×”來截取其中位于不同位置的“3”。由于“wu2”和“jiu2”不獨立發音,所以截取單時,不考慮這兩個數字單元。這一類數字單元的上文和下文認為是首尾位置標記或中間位置標記。
音庫單元選定后,從原始音庫中摘取出來并按照一定順序保存生成一個獨立的目標音庫,并通過一個索引結構來進行描述每個數字單元的位置信息。索引結構如圖6描述。
圖6的表格中的項‘特征’描述了數字單元的上下文環境,該值可以通過如圖7所示的16位寬度的值來描述。‘特征’中的三個子項的賦值遵守以下規則1)該數字單元位于串首時,‘特征’中的前一數字在標記為#;2)該數字單元位于串尾時,‘特征’中后一數字標記為#;3)當前數字單元不位于串首,但位于所選的一元組或者二元組的第一元,則‘特征’的前一數字單元標記為&;4)當前數字單元不位于串尾,但位于所選的一元組或者二元組的第二元,則其‘特征’的后一數字單元標記為&;5)否則‘特征’中的前一數字單元和后一數字單元取為當前數字單元的實際上下文單元。
圖8示出了根據本發明一個實施例的構造漢語數字音庫的方法的流程圖。下面對照圖8對本發明的構造漢字數字音庫的方法進行詳細說明。
在步驟S81,產生一包括多個數字單元串的原始音庫。例如,朗讀數字串從“000”依次變化到“999”,并且包括阿拉伯數字“1”念作“幺”時的組合情形,同時進行錄音,確定邊界標記,從而形成一份用于漢字數字串合成的原始音庫。
接下來,在步驟S82,以二元組為單位從原始音庫中挑選位于串首、串中和串尾的二元組數字單元,也就是從原始音庫的三元數字單元串中挑選二元組數字單元,并且在挑選時要考慮二元組中的數字分別位于三元組數字單元串的串首、串中和串尾的情況。
然后,在步驟S83從原始音庫中挑選一元組數字單元,也就是按照單個數字在三元組數字串中的不同位置來挑選相應的數字單元。經過上面的兩個挑選步驟,得到了包括二元組數字單元串和一元組數字單元的中間音庫,雖然此時的音庫比原始音庫小,但是在二元組數字單元串中仍舊存在冗余,需要進一步的裁減。
在步驟S84,由于二元組中的兩個數組單元之間的影響程度有強有弱,對于彼此影響弱的二元數字串,完全可以用單個的數字來合成,而不會降低合成結果的自然度。因此,裁減掉彼此影響弱的二元數字單元串。最后,在步驟S85,利用經過裁減的二元數字單元串和從原始音庫中挑選的一元組數字單元組成最終的目標音庫。
除此之外,需要對目標音庫中的數字單元的位置進行索引,形成索引文件,以便于在數字串合成時查找合適的候選數字單元。
經過上述過程構造的音庫,占用的存儲空間很小,并且保持了很高的自然度,能夠滿足嵌入式系統的要求。
漢語數字串的合成根據本發明一個實施例的合成漢語數字串的過程包括數字串輸入,韻律分組,特征提取,單元選擇,波形拼接和輸出。其流程如圖9所示。
1.數字串輸入通常,按照指令從存儲器的特定區域中讀出存儲的數字串,并且可以事先知道該數字串的長度和類型,例如,電話號碼,身份證號,駕駛證號、證券數據和工業儀表讀數等等。
2.韻律分組正常情況下,為了使聽者有足夠的時間理解所朗讀的內容,并且使朗讀過程更加悅耳自然,較長的數字串都應該分拆成較短的數字串組。這樣,自然朗讀的數字串便具有了一定的韻律結構。韻律結構首先決定于數字串的語法和語義,如身份證號碼中的信息分組,其次取決于朗讀習慣和能力,例如對8位電話號碼的分組。
通常情況下,數字串的韻律分組具有一定的規律,作為進行韻律分組的例子,圖10給出了輸入的電話號碼并對其進行韻律分組的過程。
首先,讀入具有預定長度L的電話號碼。然后判斷其長度L是否大于6,如果大于6,則按照3或4對其進行分組。例如,對于8位電話號碼,按照4-4分組。
如果該電話號碼的長度L不大于6,則判斷L是否等于6,如果等于6,按照3-3分組或者不分組。
如果該電話號碼的長度L小于等于6,則判斷其是否等于5,如果等于5,則按照2-3分組或者不分組。
最后,如果電話號碼的長度L小于5,例如公司內部的電話號碼,則不進行進一步的分組。
此外,如圖11還具體列舉出了對電話號碼進行韻律分組的更詳細的情況。通過韻律分組,使數字的特征更能夠描述數字本身的特性,從而有助于從音庫中選擇正確的候選。
3.特征提取對輸入的數字串進行韻律分組后,就可以提取每個數字的特征,也即其上下文環境。在處理數字時,需要考慮上聲變調,即wu3、jiu3、bai3、dian3在連續發音時,前一個音相應轉換為wu2、jiu2、bai2、dian2。提取特征的原則與上面在‘目標音庫的構建’中對數字單元的特征描述的過程基本一致,但僅在該數字位于串首或組首時,設定特征的上一數字單元為#,該數字單元位于串尾或組尾時,設定特征的下一數字單元為#。數字特征提取完成后,獲得每個數字的上下文特征描述,該特征將用來從音庫中選擇合適的候選單元。
4.單元選擇單元選擇過程就是從目標音庫中選擇最合適的候選數字單元。單元選擇過程首先通過音庫索引文件來查找到當前待匹配的數字單元的所有候選,然后對每個候選依次進行打分評判,并找出獲得最高分的候選作為最終的目標候選。
打分方法考慮上下文的匹配程度,可能并且可行的打分函數如下所不S=Sp+Sn其中Sp是對上下文中前一個數字單元匹配與否的評價,Sn是對上下文中后一個數字單元匹配與否的評價。Sp和Sn的打分方法是首先檢驗是否完全匹配,如果不完全匹配,則檢查音庫候選數字的上下文是否為元組邊界標記&。如圖12所示,具體打分方法如下如果前一數字單元匹配,則Sp=3;否則,如果目標音庫中的候選數字單元的前一個數字單元為&,則Sp=2;否則,Sp=1;如果后一個數字單元匹配,則Sn=3;否則,如果目標音庫中的候選數字單元的后一個數字單元為&,則Sn=2;否則,Sn=1;
然后,對Sp和Sn求和,得到該候選數字單元的最終得分。
通過重復上面的步驟,得到所有的候選數字單元的最終等分,從中挑選得分最高的那個數字單元,并且進一步按照該數字單元的索引結構得到其波形。
5.波形拼接波形拼接過程是將選出的每個候選數字單元的波形依次拼接連接起來形成一段完成的語音波形。為了消除兩個數字單元直接拼接時因為能量和周期不匹配而產生的噪聲,“喀嗒”聲,需要對拼接點加窗平滑處理,而對于在原始音庫中就相鄰的兩個數字單元則直接進行拼接。一種可能并且可行的窗函數形如圖14,其中窗長約為20毫秒,重疊區長度在0到10毫秒之間,衰減方式為從加窗的起點到加窗終點按固定斜率進行正向或反向衰減。
對于具有粘連關系的相鄰數字,在構建目標音庫的時候已經都被選入,所以輸入數字串中包含這樣的數字鏈接時,單元選擇過程總可以有效地將最合適的數字單元從目標音庫選出,并且可以直接拼接,這樣也就保證了最高的自然度。
6.波形輸出在波形輸出過程中,將拼接的波形直接從揚聲器輸出,或者對其進行放大之后再輸出。
此外,圖14還示出了根據本發明的漢語數字串合成系統的方框圖。
如圖14所示,本發明的漢語數字串合成系統10包括輸入部分141、分組部分142、提取部分143、選擇部分144、拼接部分145、輸出部分146和存儲部分147。下面對上述的這些組成部分進行描述。
輸入部分141輸入具有預定長度的數字串,分組部分142按照該數字串的類型和長度對其進行韻律分組。例如,對于15位的身份證號,通常分成3-3-6-3,而對于18位的身份證號,通常分成3-3-4-4-4。對于電話號碼,按照圖11所列的情況進行韻律分組。
提取部分143提取待合成的數字的上下文特征,所述的上下文特征包括前一數字的編碼、后一數字的編碼和該數字自身的編碼。然后,選擇部分144按照待合成的數字的上下文特征從存儲了目標音庫的存儲部分147中選擇最合適的數字單元,具體的匹配過程與上面結合附圖13所作的描述相同。
接下來,拼接部分145對選擇的波形進行拼接。如果待合成的數字串在目標音庫中是彼此相鄰的,則直接將它們拼接在一起。否則,通過加窗處理來消除兩個數字單元直接拼接時因為能量和周期不匹配而產生的“喀嗒”聲。最后,輸出部分146將拼接的波形直接從揚聲器輸出,或者對其進行放大之后再輸出。
在上面的實施例中,各個組成部分之間是分離的,但是本領域的普通技術人員清楚可以將上述的一個或者多個部分集成在一起,例如,將輸入部分141的功能集成在韻律分組之中,或者將輸出部分146的功能直接集成在波形拼接部分145中,等等。
實施效果圖15描述了目標音庫中發音單元樣本的平均數目與系統合成語音的主觀評價得分之間的關系。主觀評價的目標是自然度,它是由參評者對系統進行主觀聽辯,給予0~5分之間的一個打分,最后對所有打分進行加權平均獲得最后打分的一種方法。
由圖15可以看出,在發音單元樣本數目達到15~30之間時,主觀評價已經在4分以上,表示音質已經相當不錯。
根據圖15對實施效果的總結如下根據本發明所提供的方法,在一個較小的音庫上也可以獲得很高的自然度。保持了高自然度的合成語音的同時,音庫的規模足夠小,可以被移植到具有小內存的嵌入式設備中。
變化上面已經以實施例的方式對本發明進行了詳細的說明,但是這里的實施例僅僅是出于清楚說明的目的,而不是要對本發明的范圍進行限制。例如,在‘數字單元的定義及其特征的描述’中定義了25個數字單元,但這只是一個應用而已,在工業應用中,要進行文語轉換的數字串可能帶有各自的度量單位,例如‘度’、‘米’、‘帕’等。而在日常的具有文語轉換功能的設備中,需要讀出‘斤’、‘兩’等度量單位。如銀行、稅務局等場所的叫號系統需要合成‘×××號’之類的語音。也就是說,在具體的應用中,數字單元的數目可能會多于上面描述的25個。
因此,本發明可以有其它不脫離其精髓和實質特性的特定形式。因此本發明示例性地,而非限制地考慮了所有的方面,所以想要包括權利要求確定的、而非上述的說明或者實施例確定的發明范圍和權利要求等同意義和范圍之中的所有變化。
權利要求
1.一種構造漢語數字音庫的方法,包括步驟產生一包括多個數字單元串的原始音庫,所述數字單元串是相應漢語數字串的發音的表示;從原始音庫中挑選其中的數字單元分別位于所述漢語數字串的串首、串中和串尾的二元組數字單元;從原始音庫中挑選其中的數字單元分別位于所述漢語數字串的串首、串中和串尾的一元組數字單元;裁減相鄰數字單元之間的影響程度弱的二元組數字單元;由裁減后的二元組數字單元和挑選的一元組數字單元構成目標音庫。
2.根據權利要求1所述的方法,其中還包括為各個數字單元建立用于描述其位置的索引結構的步驟,所述索引結構包括數字單元在目標音庫中的偏移量、數字單元的時長和數字單元的上下文結構。
3.根據權利要求2所述的方法,其中所述數字單元的上下文結構包括前一數字單元的編碼、后一數字單元的編碼和當前數字單元的編碼。
4.根據權利要求2所述的方法,其中所述數字單元包括下面漢字的發音的表示零、一、二、三、四、五、六、七、八、九、十、百、千、萬、億、點、分、之、又。
5.根據權利要求4所述的方法,其中所述數字單元還包括數字串的度量單位的發音的表示。
6.根據權利要求2-5之一所述的方法,其中,從原始音庫中挑選出的二元組數字單元中的數字單元在原始音庫中的上下文單元是數字串的邊界。
7.根據權利要求2-5之一所述的方法,其中,從原始音庫中挑選出的二元組數字單元中的數字單元在原始音庫中的上下文單元是對二元組數字單元中的數字單元影響弱的另一發音單元。
8.根據權利要求2-5之一所述的方法,其中,從原始音庫中挑選出的一元組數字單元中的數字單元在原始音庫中的上下文單元是數字串的邊界。
9.根據權利要求2-5之一所述的方法,其中,從原始音庫中挑選出的一元組數字單元中的數字單元在原始音庫中的上下文單元是對一元組中的數字單元影響弱的另一數字單元。
10.根據權利要求2-5之一所述的方法,其中所述經過裁減的二元組數字單元至少包括零、一、五、六及變調yao2、wu2、wan4、yi4和you4。
11.根據權利要求6所述的方法,其中,所述原始音庫中的多個數字單元串的每一個是三元組數字單元串。
12.根據權利要求7所述的方法,其中,所述原始音庫中的多個數字單元串的每一個是三元組數字單元串。
13.根據權利要求8所述的方法,其中,所述原始音庫中的多個數字單元串的每一個是三元組數字單元串。
14.根據權利要求9所述的方法,其中,所述原始音庫中的多個數字單元串的每一個是三元組數字單元串。
15.根據權利要求10所述的方法,其中,所述原始音庫中的多個數字單元串的每一個是三元組數字單元串。
16.一種合成漢語數字串的方法,包括步驟根據輸入的數字串的長度和類型進行韻律分組,得到數字串組;提取數字串組中的數字的上下文特征,所述上下文特征包括前一數字的編碼、后一數字的編碼和當前數字的編碼;根據所述的上下文特征從音庫中選擇相應的數字單元,進而得到數字串組中各個數字的數字單元;將所述各個數字的數字單元的波形拼接在一起輸出。
17.根據權利要求16所述的方法,當數字位于數字串首或者數字串組首時,其上下文特征中的前一數字的編碼是邊界標記。
18.根據權利要求16所述的方法,當數字位于數字串尾或者數字串組尾時,其上下文特征中的后一數字的編碼是邊界標記。
19.根據權利要求16所述的方法,從原始音庫中選擇合適的數字單元包括通過對當前數字的數字單元的所有候選進行打分,選擇得分最高的候選數字單元。
20.根據權利要求19所述的方法,通過當前數字的上下文特征與候選數字單元的上下文特征的匹配程度來進行打分。
21.根據權利要求16所述的方法,如果針對兩個相鄰數字從音庫中選擇的兩個數字單元相鄰,則將所述兩個數字單元的波形直接拼接,否則,在拼接所述兩個數字單元的波形時執行加窗平滑處理。
22.根據權利要求21所述的方法,加窗平滑處理中使用的窗的長度是20毫秒,窗之間的重疊區長度是0-10毫秒。
23.根據權利要求16所述的方法,其中所述數字串的類型包括電話號碼、身份證號、駕駛證號、證券數據和工業儀表讀數。
24.一種漢語數字串合成系統,包括分組裝置,用于根據數字串的長度和數字串的類型對數字串進行韻律分組,得到數字串組;提取裝置,用于提取數字串組中的數字的上下文特征,所述上下文特征包括前一數字的編碼、后一數字的編碼和當前數字的編碼;選擇裝置,用于根據所述的上下文特征從音庫中選擇相應的數字單元,進而得到數字串組中各個數字的數字單元;拼接裝置,用于將所述各個數字的數字單元的波形拼接在一起輸出。
25.根據權利要求24所述的系統,當數字位于數字串首或者數字串組首時,其上下文特征中的前一數字的編碼是邊界標記。
26.根據權利要求24所述的系統,當數字位于數字串尾或者數字串組尾時,其上下文特征中的后一數字的編碼是邊界標記。
27.根據權利要求24所述的系統,選擇裝置通過對當前數字的數字單元的所有候選進行打分,選擇得分最高的候選數字單元。
28.根據權利要求27所述的系統,選擇裝置通過當前數字的上下文特征與候選數字單元的上下文特征的匹配程度來進行打分。
29.根據權利要求24所述的系統,如果兩個相鄰數字的從音庫中選擇的兩個數字單元相鄰,則將所述兩個數字單元的波形直接拼接,否則,在拼接所述兩個數字單元的波形時執行加窗平滑處理。
30.根據權利要求29所述的系統,加窗平滑處理中使用的窗的長度是20毫秒,窗之間的重疊區長度是0-10毫秒。
31.根據權利要求24所述的系統,其中所述數字串的類型包括電話號碼、身份證號、駕駛證號、證券數據和工業儀表讀數。
全文摘要
公開了一種構造漢語數字音庫的方法,用于解決現有的音庫無法適應嵌入式設備的小內存和數字串合成所需的高自然度問題。該方法包括產生一包括多個數字單元串的原始音庫,所述數字單元串是相應漢語數字串的發音的表示;從原始音庫中挑選其中的數字單元分別位于所述漢語數字串的串首、串中和串尾的二元組數字單元;從原始音庫中挑選其中的數字單元分別位于所述漢語數字串的串首、串中和串尾的一元組數字單元;裁減相鄰數字單元之間的影響程度弱的二元組數字單元;由裁減后的二元組數字單元和挑選的一元組數字單元構成目標音庫。采用上述方法,保持了高自然度的合成語音的同時,音庫的規模足夠小,可以被移植到具有小內存的嵌入式設備中。
文檔編號G10L13/00GK1755795SQ200410083149
公開日2006年4月5日 申請日期2004年9月30日 優先權日2004年9月30日
發明者夏海榮, 吳翔, 董娜, 賈磊 申請人:松下電器產業株式會社