基于嵌入式系統(tǒng)的語音口令識別系統(tǒng)的實現(xiàn)
2.2 CDHMM算法
HMM是一種雙重隨機過程,用概率統(tǒng)計的方法描述語音信號的產(chǎn)生及變化過程。HMM的模型參數(shù)為λ=(N,M,π,A,B),其中,N為模型中馬爾克夫鏈的狀態(tài)數(shù)目;M為每個狀態(tài)對應(yīng)的可能的觀察數(shù)目;π為初始狀態(tài)概率矢量,π=(π1,…,πN);A為狀態(tài)轉(zhuǎn)移矩陣,A=(aij)N*N;B為觀察概率矩陣,B=(bjk)N*N。
CDHMM的B不再是一個矩陣,而是一組觀察值概率密度函數(shù),由M個連續(xù)高斯密度函數(shù)描述:
N(o,ujk,∑jk)為多維高斯概率密度函數(shù),o是觀察矢量序列,即從語音中提取的特征矢量參數(shù)(o1,o2,…,ot),t為觀察矢量序列的時間長度。ujk,∑jk分別為高斯分布的均值和方差參數(shù),Cjk為高斯分布的權(quán)值,滿足約束條件
CDHMM參數(shù)估計采用“分段K-平均法”。初始模型可以隨機選取,由是改進(jìn)后的模型,再將作為初始值,重新估計。
基于“分段K-平均法”的CDHMM參數(shù)估計具體過程為:
(1)設(shè)置模型參數(shù)初始值λ=(π,A,B)。
(2)根據(jù)此λ用Viterbi算法將輸入的訓(xùn)練語音數(shù)據(jù)劃分為最可能的狀態(tài)序列,利用狀態(tài)序列估計參數(shù)A。本文引用地址:http://m.butianyuan.cn/article/151538.htm
(3)用分段K-平均法對B進(jìn)行重新估計,即將第二步得到的每一種狀態(tài)的訓(xùn)練語音數(shù)據(jù)搜集在一起并對其特征進(jìn)行統(tǒng)計,從而得到B。
對于概率密度函數(shù)由若干正態(tài)分布函數(shù)線性相加的CDHMM系統(tǒng),每個狀態(tài)θj(1≤j≤N)的概率密度函數(shù)bj(X)由K個正態(tài)分布函數(shù)線性相加而成,這樣可以把每一狀態(tài)語音幀分成K類,然后計算同一類中諸語音幀矢量X的均值矢量,方差矩陣∑jk和混合密度函數(shù)中各概率密度函數(shù)的權(quán)重系數(shù)Cjk。
(4)由(2)和(3)估計的CDHMM參數(shù)作為初值,利用重估公式對CDHMM參數(shù)進(jìn)行重估,得到參數(shù)。
(5)利用(4)所得的計算,并與p(O/λ)相比較。如果差值小于預(yù)定的閾值或迭代次數(shù)超過預(yù)定的次數(shù),即說明模型參數(shù)已經(jīng)收斂,無需進(jìn)行重估計算,可將作為模型參數(shù)輸出。反之,若差值超出閾值或迭代未到預(yù)定的次數(shù),則將計算結(jié)果作為新的初值,重復(fù)
進(jìn)行下一次迭代。
3 結(jié)束語
論文建立了一種基于嵌入式系統(tǒng)的語音口令識別系統(tǒng),并且對上升、下降等14條口令進(jìn)行測試,每條語音先切除靜音,預(yù)加重,然后通過Hamming窗分幀處理,幀長和幀移分別為20ms和10ms,然后對每一幀語音信號提取16MFCC+16AMFCC共32維參數(shù)作為特征矢量。該語音口令識別系統(tǒng)達(dá)到了實時的要求,可以使語音口令識別系統(tǒng)廣泛應(yīng)用于便攜式設(shè)備中。
評論