基于DSP的語音識別系統(tǒng)的實現(xiàn)及分析
0 引言
語音識別技術的目的是使機器能理解人類語言,最終使人機通信成為現(xiàn)實。在過去幾十年,自動語音識別(AutomaticSpeech Recognition,ASR)技術已經取得了非常重大的進步。
ASR系統(tǒng)已經能從處理像數(shù)字之類的小詞匯量到廣播新聞之類的大詞匯量。然而針對識別效果來說,ASR 系統(tǒng)則相對較差。尤其在會話任務上,自動語音識別系統(tǒng)遠不及人類。因此,語音識別技術的應用已成為一個極具競爭性和挑戰(zhàn)性的高新技術產業(yè)。
隨著DSP技術的快速發(fā)展及性能不斷完善,基于DSP的語音識別算法得到了實現(xiàn),并且在費用、功耗、速度、精確度和體積等方面有著PC機所不具備的優(yōu)勢,具有廣闊的應用前景。
1 系統(tǒng)參數(shù)選擇
一般情況下,語音識別系統(tǒng)按照不同的角度、不同的應用范圍、不同的性能要求有不同的分類方法。針對識別對象不同有孤立詞識別、連接詞識別、連續(xù)語音識別與理解和會話語音識別等。針對識別系統(tǒng)的詞匯量有小詞匯量語音識別(1~20個詞匯)、中詞匯量識別(20~1 000個詞匯)和大詞匯量(1 000以上個詞匯)語音識別。針對發(fā)音人范圍來分,分為特定人語音識別、非特定人語音識別、自適應語音識別。
本文主要研究非特定人小詞匯量連續(xù)語音實時識別系統(tǒng)。
1.1 語音識別系統(tǒng)
語音識別本質上是一種模式識別的過程,即未知語音的模式與已知語音的參考模式逐一進行比較,最佳匹配的參考模式被作為識別結果。語音識別系統(tǒng)一般包括前端處理、特征參數(shù)提取、模型訓練和識別部分。圖1所示是基于模式匹配原理的語音識別系統(tǒng)框圖。
圖1 語音識別系統(tǒng)基本框圖
1.2 特征參數(shù)
語音信號中含有非常豐富的信息,包括影響語音識別的重要信息,也包括對語音識別無關緊要甚至會降低識別率的冗余信息。特征提取則可以去除冗余信息,將能準確表征語音信號特征的聲學參數(shù)提取出來用于后端的模型建立和匹配,大大減少了存儲空間、訓練和測試時間。對特定人語音識別來說,希望提取的特征參數(shù)盡可能少的反映語義信息,盡可能多的反映說話人的個人信息,而對非特定人語音識別來說,則相反。
現(xiàn)在較常用的特征參數(shù)有線性預測參數(shù)(LPCC)、線譜對(LSP)參數(shù)、Mel頻率倒譜參數(shù)(MFCC)、感覺加權的線性預測(PLP)參數(shù)、動態(tài)差分參數(shù)和高階信號譜類特征等,尤其是LPCC和MFCC兩種參數(shù)最為常用。本文選擇MFCC作為特征參數(shù)。
1.3 模型訓練及模式識別
在識別系統(tǒng)后端,從已知模式中獲取用以表征該模式本質特征的模型參數(shù)即形成模式庫,再將輸入的語音提取特征矢量參數(shù)后與已建立的聲學模型進行相似度比較,同時根據(jù)一定的專家知識(如構詞規(guī)則,語法規(guī)則等)和判別規(guī)則決策出最終的識別結果。
目前,語音識別所應用模型匹配技術主要有動態(tài)時間規(guī)整(DTW)、隱馬爾可夫模型(HMM)、人工神經元網絡(ANN)和支持向量機(SVM)等。DTW 是基本的語音相似性或相異性的一種測量工具,僅僅適合于孤立詞語音識別系統(tǒng)中。在解決非特定人、大詞匯量、連續(xù)語音識別問題時較之HMM 算法相形見絀。HMM 模型是隨機過程的數(shù)學模型,它用統(tǒng)計方式建立語音信號的動態(tài)模型,將聲學模型和語言模型融入語音識別搜索算法中,被認為是語音識別中最有效的模型。
然而由Vapnik和co-workers提出來的SVM 基于結構風險最小化準則和非線性和函數(shù),具有更好的泛化能力和分類精確度。目前,SVM 已經成功應用于語音識別與話者識別。
除此之外,Ganapathiraju等人已經將支持向量機成功運用到復雜的大詞表非特定人連續(xù)語音識別上來。因此本文選擇SVM結合VQ完成語音模式識別。
2 系統(tǒng)構建及實現(xiàn)
為了更好地體現(xiàn)DSP的實時性,選擇的合適參數(shù)相當重要。考慮到DSP的存儲容量和實時性要求,本文首先選用Matlab平臺對系統(tǒng)進行仿真以比較選取合適的參數(shù)。
2.1 Matlab平臺上的仿真實現(xiàn)
2.1.1 實驗數(shù)據(jù)的建立
基于Matlab平臺,本文實驗語音信號在安靜的實驗室環(huán)境下用普通的麥克風通過Windows音頻設備和Cool edit軟件進行錄制,語速一般,音量適中,文件存儲格式為wav文件。語音采樣頻率為8kHz,采樣量化精度為16bit,雙聲道。
由于無調音節(jié)有412個,有調音節(jié)為1 282個,若采用SVM 對所有音節(jié)進行分類,數(shù)據(jù)量很龐大,故本文選擇10個人對6個不固定的連續(xù)漢語數(shù)字進行發(fā)音,每人發(fā)音15次,音節(jié)切分后共900個樣本,其中600個樣本作為訓練樣本集,其余300個樣本用于特定人的識別;另外選擇5個人對漢語數(shù)字0~9發(fā)音,每人發(fā)音3次,共150個測試樣本作為非特定人的識別。此外,以上選取的訓練或測試樣本均考慮到0~9共10個數(shù)字的均勻分布,并且樣本類型通過手工標定。
2.1.2 基于Matlab的語音識別系統(tǒng)的仿真及性能分析
首先對語音信號進行了預處理及時域分析:使用H(Z)=1-0.9375z-1 進行預加重處理;同時考慮語音信號的短時平穩(wěn)性,進行分幀加窗---選用Hamming窗,幀長32ms,幀移是10ms.本文所設計系統(tǒng)為小詞匯量的連續(xù)語音識別,考慮到訓練時的工作量和運算量,選用音節(jié)作為基本識別單元。語音特征參數(shù)矢量采用12維MFCC、12維一階MFCC以及每幀的短時歸一化能量共25維構成。
本文構造了基于SVM 的連續(xù)語音識別系統(tǒng)。系統(tǒng)前端采用MFCC特征參數(shù)、并用遺傳算法(GA)與矢量量化(VQ)混合算法對其進行聚類得到優(yōu)化碼本,然后將所得碼本作為 SVM 模式訓練和識別算法的輸入,按照相應的準則最終得到識別的結果。語音識別系統(tǒng)流程圖如圖2所示。
圖2 語音識別系統(tǒng)流程圖
首先對不同初始種群數(shù)的語音識別系統(tǒng)性能進行了分析。表1給出了不同初始種群下的識別系統(tǒng)性能,從表中可以得出,在迭代次數(shù)為100、初始種群數(shù)為100時,種群最終平均適應度和正識率最高,之后隨著初始種群數(shù)繼續(xù)增加,平均適應度和正識率都在降低。綜合考慮迭代所需時間和正識率,本文折衷采用初始種群數(shù)為80進行系統(tǒng)的仿真和實現(xiàn)。
表1 不同初始種群下的識別系統(tǒng)性能
種群數(shù)平均適應度迭代所需時間/ (s) 正識率系統(tǒng)設計中考慮到MFCC參數(shù)數(shù)據(jù)量太大,對模型訓練和識別的時間有很大的影響,因此選擇矢量量化對數(shù)據(jù)進行分類。矢量量化的關鍵問題是如何獲取VQ碼本及碼本長度的確定,對此進行了仿真比較。
表2給出了不同VQ算法對正識率的影響比較。由表可以采用種群數(shù)為80,碼本長度為16,核函數(shù)為 RBF,選用的改進遺傳算法(GA)時系統(tǒng)的正識率要明顯高于LBG和傳統(tǒng)GA.LBG容易陷入局部最優(yōu),傳統(tǒng)GA 具有全局搜索能力,但收斂速度慢。實驗證明,改進的GA較好地解決了這兩者的問題,收斂速度較快,正識率也有較為明顯的提高。
表2 不同VQ算法對正識率的影響比較
在此基礎上比較了傳統(tǒng)GA和優(yōu)化后GA對不同碼本長度失真測度的影響,如圖3所示。由圖可知,在碼本平均失真測度上,改進的GA比傳統(tǒng)GA在整體上明顯有所降低,即種群平均適應度更高。從圖3還可以發(fā)現(xiàn)碼本長度為32時失真測度達到最低,但相比碼本長度為16時的值減少的并不太明顯。 考慮到迭代時間問題,本文所采用的碼本長度為16.
不同SVM 核函數(shù)對語音識別系統(tǒng)性能也會有影響。SVM分類器的目的是設計一個具有良好性能的分類超平面,以滿足在高維特征空間中能通過這個分類超平面區(qū)分多類數(shù)據(jù)樣本。
已有文獻證明一對一分類器在邊界距離上比一對多分類器更精確,故本文采用一對一方法對多類數(shù)據(jù)樣本進行訓練和識別。
圖3 碼本長度的失真測度對比
表3給出了針對非特定人的不同SVM 核函數(shù)的識別系統(tǒng)性能。表中顯示,在取C =3,γ= 125(這里的25為特征參數(shù)維數(shù))情況下,盡管核函數(shù)為RBF時所需的支持向量數(shù)要略高于核函數(shù)為Sigmoid時,但系統(tǒng)的正確識別率要明顯高于采用其他核函數(shù)的系統(tǒng),因此本文選取RBF作為核函數(shù)。
表3 不同SVM 核函數(shù)的識別系統(tǒng)性能
通過Matlab仿真分析了不同的矢量量化算法、SVM 核函數(shù)和初始種群數(shù)對語音識別系統(tǒng)性能產生的影響,為語音識別系統(tǒng)在DSP上的實現(xiàn)提供了參數(shù)和模型的選擇。
2.2 語音識別系統(tǒng)在DSP上的實現(xiàn)
2.2.1 實驗數(shù)據(jù)的建立
所有語音信號在安靜的實驗室環(huán)境下獲得?;贒SP 平臺的實時識別實驗系統(tǒng),語音信號通過麥克風輸入,使用TLV320AIC23對模擬語音信號進行采樣。語音采樣頻率為8kHz,采樣量化精度為 16bit,雙聲道??紤]到Flash存儲空間有限,本文選用自建語音庫中900個樣本中的40個樣本作為訓練樣本建立模型參數(shù)。
2.2.2 語音識別系統(tǒng)的硬件結構
由于語音識別系統(tǒng)算法復雜度較高,同時考慮到實時性,本文選擇TI公司的TMS320C6713DSK 作為硬件開發(fā)平臺。
TMS320C6713DSK是一款低成本獨立開發(fā)應用板,其最高工作時鐘頻率可以達到225MHz,且是高性能的浮點數(shù)字信號處理器。且?guī)в蠺LV320AIC23 立體編解碼器,8M 字節(jié)32bit的SDRAM,512k字節(jié),8bit的非易失性Flash存儲器。
本系統(tǒng)針對的是非特定人小詞匯量連續(xù)語音的識別,硬件結構如圖4所示,主要包括語音數(shù)據(jù)采集模塊、數(shù)據(jù)傳輸模塊、數(shù)據(jù)處理模塊、程序數(shù)據(jù)存儲及Flash引導裝載模塊、數(shù)據(jù)存儲器RAM 模塊及其他相關模塊。
圖4 系統(tǒng)硬件結構圖
數(shù)據(jù)采集模塊主要采用TLV320AIC23編解碼器來實現(xiàn)對語音數(shù)據(jù)的采集。由AIC23采集的數(shù)字信號數(shù)據(jù)通過McBSP1存入SDRAM 中,數(shù)據(jù)傳輸方式為EDMA方式下的McBSP數(shù)據(jù)傳輸。數(shù)據(jù)處理模塊是系統(tǒng)的核心模塊,用TMS320C6713DSP芯片來完成語音識別算法的實現(xiàn)。訓練時,DSP完成語音信號MFCC特征參數(shù)的提取、SVM 建模并存入Flash中;識別時,DSP讀取待識別語音信號數(shù)據(jù)并將獲得的模型參數(shù)與訓練模型參數(shù)進行比較,進而得到識別結果。
2.2.2 基于DSP的語音識別系統(tǒng)的實現(xiàn)及分析
本系統(tǒng)設計主要涉及到語音數(shù)據(jù)段、執(zhí)行代碼段、載入Flash的程序段和模型參數(shù)段等。在編程中主要以C語言編程為主,配合使用匯編語言,使程序運行效率更高。
實驗結果及其性能分析:
訓練時,系統(tǒng)上電,加入工程項目。圖5所示為讀取“12345”的語音時部分主程序、對音節(jié)切分后數(shù)字“1”提取的語音及其第10幀的MFCC參數(shù)、mfcc子程序等。
圖5 MFCC參數(shù)
識別過程中,將存入Flash中的訓練模型參數(shù)依次讀出,與待識別語音信號的MFCC參數(shù)比較,最后得到識別結果。
實驗中讀取20句話,每句話含有6個不同漢語數(shù)字的連續(xù)語音,通過對其進行測試,得到識別率為76.7%.圖6是對音節(jié)切分后的數(shù)字“2”的識別情況,在STD欄輸出了最后識別結果即數(shù)字“2”。
3 結論
本文通過在Matlab平臺上進行仿真實驗選取合適的參數(shù)及模型,并將其移植到 TMS320C6713DSK上實現(xiàn)了非特定人小詞匯量連續(xù)語音識別系統(tǒng)。其中基于TLV320AIC23完成了對語音數(shù)據(jù)的采集,借助SDRAM 和Flash進行數(shù)據(jù)存儲,并采用短時能量和短時過零率進行語音信號的初步判定,結合起來進行測試,在Windows7操作系統(tǒng)中使用DirectX SDK 9.0b進行視頻顯示,QR解碼程序為自行編制,并與TPS自動測試臺集成。連續(xù)地采集視頻,在計算機顯示屏上實時顯示影像圖的同時進行條碼解碼定位,結果顯示單幀圖像的平均解碼時間為630ms,使用幀相關算法后,平均解碼時間為124ms.
圖6為在單碼定位時預估未定位條碼的結果,q1為已定位碼,q2,q3,q4為未定位碼,由q1預估q2,q3,q4的結果為圖中的加亮框表示,對框區(qū)域外擴使其包含完整條碼,然后把擴域后的子區(qū)域獨立出來,作為下一幀條碼解碼的有效區(qū)域以提高圖像處理速度。
圖5 視頻輔助探針定位
圖6 單碼定位的預估結果
本方法在采用幀相關及位置相關算法后,在普通PC上實現(xiàn)實時視頻,并具有如下特點:
a)無需夾具,允許遮擋,允許測試板和探頭位置變化;探針和目標點標記同時出現(xiàn)影像圖上,直接引導,無需在影像和實板上對照查找,提高探測效率,減小出錯機會。
b)QR碼定位符含測試板信息,可以在PCB板制作過程中通過絲印到PCB板上,也可以在后期紙制粘貼到PCB板上(但要精確地保證每塊板上的QR碼位置相同),允許同一板面任意多定位碼,以區(qū)分不同PCB板及不同板面,用作PCB加電前預檢測,可保證加電安全。
矢量控制相關文章:矢量控制原理
評論