陳孟元
(安徽工程大學 安徽省電氣傳動與控制重點實驗室,安徽 蕪湖 241000)
語音識別是通過機器識別將語音信號轉變?yōu)橄鄳奈谋净蛎畹募夹g,屬于多維模式識別和智能接口的范疇[1-2].近年來,語音識別研究取得了廣泛關注和顯著進步,其中小碼本的孤立詞語音識別系統(tǒng)識別率高,在工業(yè)命令控制、個人信息確認及個人移動通信呼叫等應用場合具有廣闊前景[3-5].孤立詞語音識別系統(tǒng)的識別單元是孤立發(fā)音的單詞,在訓練階段熟悉和記憶說話人的語音特征,建立參考模板庫,在識別階段通過比對測試將具有最大聲學相似性的模板作為輸出結果[6].為了提高系統(tǒng)的識別率和識別速度,并使系統(tǒng)對語音的地域差別具有較強的適應性,在特征參數提取和模板匹配過程中,對DTW(動態(tài)時間歸整[7],Dynamic Time Warping)算法和 MFCC(梅爾頻率倒譜系數[8],Mel Frequency Cepstrum Coefficient)進行改進,基于MATLAB環(huán)境下的實驗表明,該系統(tǒng)對于來自不同地域的語音具有較高識別水平.
圖1 語音識別系統(tǒng)的結構框圖
語音識別系統(tǒng)的結構框圖如圖1所示[9-10].由圖1可知,語音輸入信號首先進入預處理單元,去除冗余信息,得到平穩(wěn)的語音信號.語音信號包含發(fā)音人的語音特征,語音識別通過提取語音特征參數使機器具有一定記憶功能,這個過程稱為訓練階段.在訓練階段,系統(tǒng)建立參考模板庫,保存語音特征參數.參考模板庫建立后輸入測試語音,進行語音識別.在識別階段,采用模式匹配的技術,通過匹配函數計算輸入模板和參考模板間的聲學誤差,系統(tǒng)將誤差最小的參考模板作為識別結果輸出.
圖2 語音信號的預處理過程
語音信號的預處理過程包括預加重、加窗和端點檢測,如圖2所示.
數字語音“0”的端點檢測仿真圖如圖3所示.由3個子圖組成,最上面的子圖是語音信號波形圖,橫坐標為時間;中間的子圖是短時能量檢測圖,橫坐標為幀數;最下面的子圖是過零率檢測圖,橫坐標為幀數;圖3中兩豎線間的區(qū)域是端點檢測出的語音段.數字語音“0”大致在115~185幀之間,幀移為80 檢測的語音范圍為第9 200~14 800采樣點.
圖3 數字語音“0”的端點檢測仿真圖
特征參數提取的優(yōu)劣對系統(tǒng)識別的精度有很大影響,在含一定噪聲的語音識別系統(tǒng)中,采用MFCC作為語音的特征參數可使系統(tǒng)具有一定的穩(wěn)健性.傳統(tǒng)的MFCC只反映語音的靜態(tài)特征,為了獲得語音的動態(tài)特征,在提取MFCC基礎上,整合差分倒譜參數作為語音的特征參數,提取過程如下:
預處理后語音時域信號y(n)通過補0構成長度為N的時間序列,N=512.時間序列經過FFT得到線性頻譜Y(k).Y(k)通過Mel濾波器組得到Mel頻譜,對數能量處理后得到對數頻譜S(m).其中,Mel濾波器組由M個帶通濾波器組成,總傳遞函數可表示為:
式中:Hm(k)為帶通濾波器的傳遞函數.
將對數頻譜S(m)通過DCT(離散余弦變換,Discrete Cosine Transform)變換到倒譜域,得到標準的MFCC,MFCC表示為C(n),
求出前3階的MFCC,將各階參數值乘以權重系數ε進行加權處理得到C*(n),
式中:k為待求MFCC的階數.求取MFCC差分倒譜參數,將各階MFCC差分倒譜參數和MFCC參數矢量合成,作為一幀語音信號的特征參數.MFCC差分倒譜參數的求取可表示為d(n):
圖4 數字語音“3”的MFCC數據結構圖
在MATLAB環(huán)境下提取各語音信號的MFCC,數字語音“3”的MFCC參數數據結構圖如圖4所示.由圖4可知,數據結構為88×24的二維矩陣,88為幀數,24為參數階數.
模板匹配的過程中,為了規(guī)整參考模板和測試模板的時間對應關系,常采用DTW算法,可以求解出衡量模板間似然度的測度函數,保證最大的聲學相似性[10].DTW算法通過計算參考模板和測試模板中各個對應幀之間的失真距離,得出幀匹配距離矩陣,繪制DTW網格.網格中的格點是對應幀的交匯點,按照距離最短原則搜索前續(xù)格點,反復遞推得到一條最優(yōu)路徑,實現累積失真量最小.DTW算法在路徑搜索的過程中,由于路徑約束條件的存在,部分格點計算存在冗余,并且每列格點的匹配計算只與前列的兩個網格相關,不用保存所有的累積距離矩陣和幀匹配矩陣.因此對DTW算法做出改進,有助于減小存儲量,提高識別率和識別速度.改進型DTW算法流程圖如圖5所示,M為參考模板的語音幀總數,N為訓練模板的語音幀總數,α為累積距離矩陣,β為幀匹配距離矩陣,m為參考模板語音幀的時序標號,n為測試模板語音幀的時序標號,int[]為取整函數.
為體現系統(tǒng)對語言地域差別的適應性,建立湖北、閩南和安徽3個地域的語音數據庫,并與普通話語音作比對實驗.選取的語音地域性顯著,具有一定的代表性.
圖5 改進型DTW算法流程圖
建立3處地域的方言和普通話語音組成的語音數據庫,數據庫包括0~9共10個語音樣本元素,每位發(fā)言人將每個元素發(fā)音6遍,共240個發(fā)音.分別錄制1個參考模板組和5個測試模板組,每個模板組包括0~9共10個漢語數字語音,參考模板組共包括來自語音數據庫的40個發(fā)音,測試模板組共包括另外的200個發(fā)音.
在MATLAB環(huán)境下,提取語音的累積誤差距離矩陣,湖北口音測試模板組1和組2的累積誤差距離矩陣如圖6所示,行對應測試模板中的語言,列對應參考模板組的語音1-10,矩陣中的數值為對應測試組之間的誤差距離,dist為累計誤差距離,橢圓圈出的數字為一行中最小的數.測試人從數字“0”開始朗讀,一直朗讀到數字“9”,按照改進DTW算法累積誤差距離最短的原則,語音被完全識別的條件下,橢圓全部位于主對角線,連成直線,如果識別出現錯誤,會產生折線.累積誤差距離矩陣表明,模板組1的測試語音均與參考模板中對應的正確語音匹配距離最小,模板組2第9行的測試發(fā)音“9”與第6列參考模板中數字發(fā)音“6”匹配距離最小.湖北口音測試模板組1和組2的識別結果如圖7所示.進行比較分析可知,系統(tǒng)正確識別了模板組1的10個數字語音,將模板組2中的語音“9”識別為“6”,出現一處識別錯誤,DTW算法的計算結果與實驗結果一致.
圖6 湖北口音測試模板組1和組2的累積誤差距離矩陣
圖7 湖北口音測試模板組1和組2的識別結果
系統(tǒng)采用不同特征參數和匹配算法的性能指標如表1所示,模板匹配時間是20個測試組的平均匹配時間,模板識別率是20個測試組的平均識別率,在4種組合方式下統(tǒng)計比對.
組合1和組合2均采用傳統(tǒng)的DTW算法,MFCC提取方式不同.實驗結果表明,組合2的模板匹配時間比組合1低6.73%,模板識別率比組合2高3.28%;組合2和組合4均采用改進型MFCC,DTW算法不同.實驗結果表明,組合4的模板匹配速度比組合2高29.42%,模板識別率比組合2高3.17%.
通過其余組合兩兩比對表明,改進型MFCC雖然增加了系統(tǒng)運行時間,但提高了系統(tǒng)的識別率.改進型DTW算法提高了系統(tǒng)識別率,并且對提升系統(tǒng)運行速度作用顯著.采用改進型DTW算法和改進型MFCC的組合4與采用傳統(tǒng)DTW算法和MFCC的組合1相比,模板匹配速度提升了24.32%,系統(tǒng)識別率提升了6.56%.
表1 系統(tǒng)采用不同特征參數和匹配算法的性能指標
通過分別測試和整理,語音識別系統(tǒng)各測試模板的識別結果如表2所示.分別對普通話語音、湖北語音、安徽語音和閩南語音進行測試,每種語音有5個測試模板組,每個模板組將0~9這10個數字語音重復10遍,包括100個測試語音.普通話語音測試組正確識別率最高,平均識別率為98.6%,閩南語音測試組正確識別率最低,平均識別率為90.2%,湖北和安徽測試組的平均識別率分別為94.0%和95.4%.系統(tǒng)對所有測試模板組的平均識別率為94.55%.
表2 語音識別系統(tǒng)各測試模板的識別結果
為了提高語音識別系統(tǒng)的識別速度和正確率,并對不同地域的語音具有較好的適應性.在特征參數提取的過程中,將MFCC和差分倒譜參數結合為一幀的特征參數,并對傳統(tǒng)的DTW算法做出改進,減小模板匹配的時間和計算量.采集了具有地域代表性的3省方言和普通話語音,在MATLAB環(huán)境下進行仿真實驗.實驗結果表明,改進型DTW算法提高了系統(tǒng)識別率,提升了系統(tǒng)運行速度;改進后的MFCC一定程度上增加了系統(tǒng)運行時間,但提高了系統(tǒng)識別率;基于改進型DTW和MFCC的語音識別系統(tǒng)比傳統(tǒng)的系統(tǒng)識別速度高24.32%,識別率高6.56%;改進后的系統(tǒng)對普通話語音的識別率最高,對地域特征明顯的語音識別率有所降低,所有測試模板的平均識別率為94.55%.
[1] 袁正午,肖旺輝.改進的混合 MFCC語音識別算法研究[J].計算機工程與應用,2009,45(33):108-110.
[2] 榮薇,陶智,顧濟華,等.基于改進LPCC和 MFCC的漢語耳語音識別[J].計算機工程與應用,2007,43(30):213-216.
[3] 汲清波,盧侃,李康.在孤立詞語音識別系統(tǒng)中動態(tài)時間規(guī)整的改進算法[J].計算機工程與應用,2010,46(25):118-120.
[4] 張震,王化清.語音信號提取中 Mel倒譜系 MFCC的改進算法[J].計算機工程與應用,2008,44(22):54-55,58.
[5] 安鎮(zhèn)宙,楊鑒,王紅,等.一種新的基于并行分段剪裁的 DTW 算法[J].計算機工程與應用,2007,43(15):35-36,89.
[6] 楊大利,徐明星,吳文虎.語音識別特征參數選擇方法研究[J].計算機研究與發(fā)展,2003,40(7):963-969.
[7] 郭繼云,王守覺,苑海濤.一種基于頻能比的端點檢測算法[J].計算機工程與應用,2009,31:49-51.
[8] 相征,尹成俊.基于基音頻能值和梅爾參數的語音識別設計與實現[J].計算機系統(tǒng)應用,2008,9:86-89.
[9] 黃文龍.語音識別關鍵技術研究及系統(tǒng)實現[D].重慶:重慶大學,2010.
[10]舒琦.小詞匯量的孤立詞語音識別方法研究[D].武漢:武漢理工大學,2012.