楊 熙
?
基于DTW改進算法的孤立詞語音識別仿真與分析
楊熙
(湖南科技學院 電子與信息工程學院,湖南 永州 425199)
動態時間規整DTW算法是孤立詞語音識別較為經典的一種算法,本文針對傳統DTW的改進算法進行了研究,主要是從減少計算量和存儲空間需求兩個方面去考慮,并用MATLAB進行了仿真,仿真結果表明改進后的算法取得了更滿意的識別效果。
語音識別;動態時間規整;孤立詞
語音識別按照不同的角度有不同的分類。依據講話方式,分為孤立詞識別、連接詞識別和連續語音識別[1]。針對孤立詞識別,要求每次只講一個詞或短語,并把它當成詞匯表中的一個詞條。孤立詞語音識別在我們的現實生活應用中有著重要地位,主要應用于自動控制,如家用電器控制、儀器設備操縱、機器人操控及智能玩具等,特別是當無法用人手進行操作控制時,這時采用語音控制,更顯其重要性。
本文設計的孤立詞語音識別系統采用動態時間規整DTW算法,其系統構成如框圖1所示,通常包含3個部分:前端的預處理、特征參數提取和識別部分。

圖1.孤立語音識別系統
從框圖1可以看出,首先要做的,是將送過來的語音信號經過預處理,在預處理部分,通過高頻預加重、加窗分幀和端點檢測來去除冗余,檢出平穩的語音信號。隨后提取信號的特征參數,抽取其特征。最后進行匹配判決識別,即把需要識別的語音樣本與參考模板進行匹對,尋找相似度最高的參考模板,作為識別結果進行輸出。
系統的具體實現過程如下:
2.1預處理和特征參數提取
預加重就是采用一階的高通數字濾波器來提升高頻特性,至于加窗分幀,窗函數采用常用的漢明窗,為了計算參數的方便,幀長取256,幀移取80。端點檢測在傳統的基于過零率和短時能量雙門限檢測方法上進行了些改進,另外多增設了2個門限值:最大靜音門限值和最短語音時間門限值,靜音門限是為了防止漏檢,一般取3~5幀,語音時間門限是為了濾除突發性的噪聲,一般取9~10幀,根據具體的實際環境來設定門限值。
取梅爾倒譜系數(MFCC)和MFCC差分倒譜參數一起作為本系統的特征參數。由于我們的耳朵對動態特性更敏感,所以除了MFCC參數外,還需要能反映語音動態變化的差分倒譜參數。這里MFCC參數選12階,差分倒譜取其一階差分,合在一起就是24階。

圖2. 24維特征參數部分值
圖2是孤立詞“關機”的24階特征參數,從圖中的“size”可看出數據結構為60×24,即幀數×參數階數。由于圖片顯示的限制,只截取了一部分數值。
2.2 DTW算法
語音識別過程,其實是模板匹配的過程,不斷搜尋匹配誤差最小的參考模板,以此作為最終的識別結果。測試模板為所要識別的一個輸入詞條語音,參考模板是存在模板庫中的各個訓練好的詞條。假設用C表示測試模板,參考模板用F來表示,那么用它們之間的距離D[C,F]來度量兩者之間的相似度。相似度越高的話表示對應的距離應越小,為了計算這一失真距離,要從C和F中各個對應幀之間的距離算起[2]。假設m是F中任選的幀號,m=1~M,n是C中任選的幀號,取值范圍n=1~N,那么對應此兩幀特征矢量的距離為d[C(n),F(m)],且。DTW算法其實是做兩個事情,一是計算C與F對應的各幀之間的距離,二是依據幀匹配距離結果搜尋出一條最佳路徑。顯然,根據傳統的DTW算法,運算量比較大,需要經過N×M次運算才能找到一個時間彎折函數。
2.3 DTW算法的改進
由上面的分析可知,一般情況下,路徑函數的約束情況如圖3所示,被限制在固定斜率的平行四邊形內,相鄰的兩邊斜率分別為2和1/2。這里和取最相近的整數,對M和N有限制,要求(2M-N)不能小于3,(2N-M)不能小于2,如不滿足,則視兩者相差較大,無法匹配。匹配過程中許多點實際上是到達不了的,這是因為對路徑進行了限制,即在計算幀匹配時,無需考慮圖3四邊形外面的點。

圖3.匹配路徑約束示意圖
另外,對于每一列各格點上的匹配計算而言,因為有局部路徑限制,只牽涉到前一列的三個網格,所以對于幀匹配距離矩陣與累積距離矩陣,無需全部都存起來。考慮上述的兩個特點,利用它們可減少計算量和降低對存儲空間的需求。這種改進后的DTW算法雖然大大減少了不必要的路徑搜索,但上下邊界的計算,在搜索每向前一步時都需要進行,當時間序列較長時,重復性的操作就較多,文[4]提出了建立查找表保存搜索范圍的下邊界,通過查表來提高程序的運行效率。
MATLAB是進行信號處理的常用仿真軟件,它具有強大的科學計算能力,除了常用的工具箱外,還有語音處理的專用工具包voice box,用來做語音分析,非常方便。采集語音樣本,8kHz采樣,采用麥克風單聲道輸入,16bit量化,保存為wav格式。對改進后的DTW算法進行仿真測試,圖4是匹配距離仿真結果,圖5為識別判決結果輸出。

圖4.改進后的DTW算法下的失真測度

圖5.測試模板識別結果輸出
圖4中的數據都要乘以1.0e+004,列為測試模板,行為參考模板,對角線上是正確匹配的對應分數,應是所在行中最小的,從圖5可以看出改進后DTW算法的正確性。

圖6.傳統DTW算法和改進DTW算法的用時比較
對于同樣的測試樣本,圖6是對傳統DTW算法和改進后DTW算法的用時比較結果,可以看出,改進后的DTW算法有效地降低了系統的識別時間,提高了系統的運行速率。
實驗結果表明,改進后的DTW算法縮減了運算量,提高了識別速率,并降低對數據存儲量的要求,是孤立詞語音識別一種簡單有效的算法,相對于另外一種經典識別算法HMM而言,DTW計算簡便,特別適合于對硬件要求不高的特定場合,比如嵌入式系統。
[1]劉洪斌.廣播電臺網絡音頻搜索系統初探[J].中國廣播,2011,(6):47-49.
[2]文翰,黃國順.語音識別中DTW算法改進研究[J].微計算機信息,2010,26(07):195-197.
[3]萬春,黃杰圣,曹煦輝.基于DTW的孤立詞語音識別研究和算法改進[J].計算機與現代化,2003,(11):4-6.
[4]曹茂俊,尚福華.改進的DTW算法在實時語音辨識系統中的應用[J].科學技術與工程,2010,10(07):1652-1655.
(責任編校:宮彥軍)
2015-07-05
湖南科技學院科研課題(項目編號14XKY101)。
楊熙(1982-),女,湖南永州人,講師,工學碩士,主要研究方向為語音識別,嵌入式系統。
TP391.4
A
1673-2219(2015)10-0041-02