基于Windows CE的語(yǔ)音口令識別系統的設計
對于一個(gè)基于嵌入式系統的語(yǔ)音口令識別系統,主要有以下幾個(gè)要求:
?。?)完成語(yǔ)音口令識別功能時(shí),需要系統對人所發(fā)出的語(yǔ)音口令做出快速的響應,然后給出相應的判斷結果。
?。?)自動(dòng)獲得語(yǔ)音信號。語(yǔ)音口令識別系統一直處于隨時(shí)接受語(yǔ)音口令的工作狀態(tài),無(wú)需人工操作就能將人的語(yǔ)音命令與環(huán)境噪聲分離出來(lái),舍棄靜音信號和環(huán)境噪聲信號部分,僅僅對有效的語(yǔ)音口令信號做處理和識別。
?。?)需要有足夠的存儲器容量存儲操作系統文件和訓練好的語(yǔ)音口令模型庫以及存儲大量數據的數據緩沖區。
論文給出的語(yǔ)音口令識別系統選擇高性?xún)r(jià)比的嵌入式微處理器S3C2440AL和64MB隨機存儲器和64MB的閃存來(lái)滿(mǎn)足計算速度和數據緩存的要求。
1.2 軟件程序的設計
選擇Windows CE 5.0為語(yǔ)音口令識別系統的操作系統,Windows CE 5.0是一個(gè)多任務(wù)操作系統。開(kāi)發(fā)工具主要有Platform. Builder 5.0和EVC++4.0。Platform. Builder5.0用于定制和開(kāi)發(fā)內核,而EVC++4.0則用來(lái)編寫(xiě)基于操作系統的應用層程序,也就是算法執行程序與圖形化界面,而圖形化的界面使用MFC編寫(xiě)。
由于語(yǔ)音口令識別系統算法的運算量比較大,所以為了能夠加快運算速度,首先對Windows CE 5.0操作系統進(jìn)行配置,需要將相應的板級支持包BSP(Board SupportPackage)導入到Platform. Builder 5.0,裁剪掉一些使用不到的資源,保留一些需要的資源,驅動(dòng)的配置正確后,將配置好的操作系統內核裝入到嵌入式平臺中,然后進(jìn)行應用程序的開(kāi)發(fā)。
語(yǔ)音口令識別系統分為訓練和識別兩個(gè)過(guò)程。訓練時(shí),語(yǔ)音口令信號首先經(jīng)過(guò)預處理,然后提取語(yǔ)音特征參數,采用MFCC(Mel-Frequency Ceptral Coefficients)參數[4],然后建立此口令的連續隱馬爾可夫(CDHMM)模型,把所有經(jīng)過(guò)訓練的語(yǔ)音口令的模型放在模型庫中。
在識別階段,與訓練時(shí)提取語(yǔ)音口令信號的特征參數一樣,也要提取MFCC特征參數,然后與保存在語(yǔ)音口令模型庫中的每一條語(yǔ)音口令模型相匹配,根據概率*分確定輸出識別結果。語(yǔ)音口令識別系統的程序流程圖如圖1所示。
評論