引言
語言是人與人之間在日常交往中最直接也是最強大的工具,然而我們并不滿足于人與人之間的對話,而是通過語音識別技術來實現人機對話,語音識別技術的終極目標就是能夠讓人類與計算機進行自由地交談。隨著語音識別技術的逐漸成熟及近些年來已經取得的進步,英文數字語音識別在其發展的20多年間已達到了很高的
識別率,漢語數字語音識別也經過多年研究在PC平臺和實驗室條件下達到了高性能[1],但中英文混合連續數字語音識別還有待進一步研究,張晴晴[2]等人研究的中英雙語混合語音識別的識別率為16.8%,遠低于理想中的識別率。為使識別效果達到可實用的水平,本系統首先從基本的中英文數字語音識別出發,從而為相應的登錄注冊系統做出一些嘗試。
本文研究的中英文連續數字語音識別,包含中文0-10和英文zero-ten的數字語音識別,其中包括對語音信號的預處理、特征參數提取、中英文聲學模型與語言模型的訓練及模版匹配等,適合于研究數字語音登錄系統,比如用戶用中英文任何語言念學號或是身份證號就能登陸,免去書寫的麻煩,同時也對后續研究中英文混合連續語音識別奠定了基礎。
語音識別原理
根據對說話人說話方式的要求,語音識別可以分為孤立字(詞)語音識別系統,連接字語音識別系統以及連續語音識別系統;根據對說話人的依賴程度,語音識別可以分為特定人和非特定人語音識別系統[3];根據詞匯量大小,又可以分為小詞匯量、中等詞匯量、大詞匯量以及無限詞匯量的語音識別系統。不同的語音識別系統,其目的和功能各不相同,但它們所采用的基本框架大體一致,語音識別基本流程如圖1。
語音識別的過程,其本質就是模式匹配的過程。語音信號經過預處理、語音信號的特征提取、聲學模型的訓練與模式匹配后,經過處理輸出識別結果。其中:
1)預處理是對輸入的原始語音信號進行處理,濾除掉其中不重要的信息和背景噪聲,并進行語音信號的端點檢測、語音分幀以及預加重等處理。
2)特征提取主要負責計算語音的
圖1 語音識別基本流程圖
聲學參數,并進行特征的計算,以便提取出反映信號特征的關鍵特征參數,從而用于后續處理。因Mel頻率倒譜系數(MFCC)具有良好的抗噪性和魯棒性,故本文采用MFCC提取特征參數。
3)訓練階段是用戶通過輸入若干次訓練語音后,經預處理和特征提取后得到特征矢量參數,建立或修改訓練語音的參考模式庫。
4)識別階段是將輸入的語音提取特征矢量參數與參考模式庫中的模式進行匹配,得出最終的識別結果。
HTK搭建識別系統
HTK(HMM Tool Kit)是英國劍橋大學工程系(CUED)開發出來的一套用于處理隱馬爾科夫模型(HMM)的實驗工具包,廣泛用于語音識別研究當中,它由模型庫和工具組成,這些都是由C源代碼的形式組成[4]。基于HTK搭建中英文數字語音登陸系統體系結構如圖2 。
其步驟可總結如下:
1) 數據準備,訓練數據和測試數據都要通過HCopy得到所需要的聲學特征,典型的聲學特征有Mel頻率倒譜系數MFCC、感知線性預測plp等;
2)定義一個原始模型拓撲結構,設置參數,然后使用HCompV對所有訓練數據進行初始化,從而求出全局HMM模型的均值與方差;
3)使用HERest進行迭代訓練,也就是模型參數訓練,它可以完成嵌入式HMM模型參數的計算。訓練時,HERest順次加載每個訓練文件,實際上是先載入觀察序列,然后使用對應的標注文件計算前后向概率,在累加器上進行更新,當所有的訓練文件處理完畢后,就通過B-W算法更新模型參數;
4)為了改善模型,使用HMM編輯器HHEd建立上下文的綁定狀態三音素模型[4],由于一個音素發音會由于上下文音素的不同而產生不同的發音,也就是協同發音,故使用三音素捆綁和訓練,可以有效解決協同發音的問題。為使結果更準確,綁定后還需使用HERest進行重估。
5)在得到識別網絡、字典和聲學模型的基礎上,調用HVite識別器進行識別,識別結果保存在MLF
仿真實驗與結果分析
1) 數據
語音識別機理就是用訓練數據與測試數據的聲學模型進行匹配,另外還需要數據的標注文本,以及語音集合和字典,其中包含中文0-10和英文zero-ten的所有數字或單詞。
數據均為電話信道數據,采樣率為8 kHz,16bit/s。語音特征提取為36維的MFCC,由12維的MFCC以及他們的一階二階差分組成[6]。標準中文訓練數據有100句,測試數據有20句(一男一女各10句);標準英文訓練數據有8440句,測試數據有422句(一男一女各211句),另外還有中英文混合測試數據442句。這兩個數據集的具體信息見表1和表2。
2) 任務語法的定義
任務語法根據HTK要求,以正則表達式形式進行定義,并存儲在文件gram里,其中英文語法結構為:
$digit=LING|YI|ER|SAN|SI|WU|L IU|QI|BA|JIU|SHI;
$digit=ZERO|ONE|TWO|THREE| FOUR|FIVE|SIX|SEVEN|EIGHT|NINE|TEN;
(START($digit)[$digit] [$digit][$digit] [$digit] [$digit] [$digit] [$digit] END)
其中“|”表示可以相互替代的符號,圓括號“( )”表示必須選擇的符號,方括號“[ ]”表示可以選擇的符號。以上語法表示將隨機產生
利用全局均值和方差來創建統一初始化單音素模型的高斯參數,然后再修補亞音素模型,最后重新校準訓練數據。
利用單音素得到三音素并重估參數,綁定三音素的狀態以使輸出分布更加穩健,最終生成三音素級標注文本。
最后驗證測試數據,查看識別結果[7]。
仿真實驗
本系統設計是使用Aurora2數據庫的Clean-Training訓練數據進行聲學模型實驗,測試數據中共有8540句話。分別將subway環境中的clean音頻數據TestM、TestE和TestB作為測試音頻數據。聲學模型在各測試機中的識別率見表3。
通過上面的實驗可以得知,中英文模型獲得了較高的識別率,但與單純中文或英文相比還有些差距,還有待日后改進。
結束語
本系統使用性能較佳的聲學模型進行設計,將中英文數字語音識別技術應用到多媒體的注冊系統當中,可以提高多媒體注冊的智能化,未來還可以加入中英文名字,方便學生登錄系統。本系統使用中英文輸入,數字輸出,可以大大地提高系統識別率。考慮到中英文學號注冊或登錄方便快捷,同時基于Aurora2數據庫的訓練數據比較大,因此設計出本系統,以確保中英文數字語音登陸系統的穩定性和魯棒性。盡管本系統在魯棒性、抗噪性等方面還有很多需要改進的地方,但是本系統還是可以作為多媒體智能化注冊的初步應用來研究。