周 萍,沈 昊,鄭凱鵬
桂林電子科技大學(xué)電子工程與自動化學(xué)院,廣西桂林541004
說話人識別技術(shù)作為多種生物認(rèn)證技術(shù)之一已經(jīng)廣泛應(yīng)用于社會生活中的多個領(lǐng)域,相比于其他識別技術(shù),該技術(shù)有著語音信息采集方便且不易遺失的優(yōu)點.說話人識別本質(zhì)上是一個模式識別的問題,因此識別之前如何提取出具有表征說話人唯一特性的參數(shù)就成了這一研究的熱門話題,也隨之涌現(xiàn)了許多提取特征參數(shù)的方法.目前,最常見的特征參數(shù)有基音周期、共振峰、線性預(yù)測倒譜系數(shù)(linear prediction cepstral coefficient,LPCC)、Mel 頻率倒譜系數(shù)(Mel frequency cepstral coefficient,MFCC)等[1],但這些方法所提取的特征參數(shù)有一定缺陷,且單一特征參數(shù)無法完全表征說話人的所有特點,于是出現(xiàn)了將不同特征相互融合的改進(jìn)算法,在一定程度上提高了特征的有效性和識別率[2-4].最常用的Mel倒譜系數(shù)是根據(jù)人耳結(jié)構(gòu)設(shè)計的三角濾波器組進(jìn)行特征提取的,但在噪聲情況下的識別效果急劇下降.Gammatone 函數(shù)最早由Johannesma 提出,能夠精確模擬人耳的聽覺響應(yīng),且具有較強(qiáng)的噪聲魯棒性[5-7].文獻(xiàn)[8]考慮到不同特征參數(shù)的各個特征分量對識別結(jié)果的貢獻(xiàn)不同,將所有特征參數(shù)進(jìn)行簡單混合,但維數(shù)過高以致影響識別效率.為了獲取更完善的特征參數(shù),濾除干擾因素,本文采用增減分量法剔除貢獻(xiàn)度較低的維度,然后將Mel 頻率倒譜系數(shù)和Gamma 頻率倒譜系數(shù)以及它們的差分倒譜系數(shù)進(jìn)行有效的混合,以替代單一的倒譜系數(shù)作為說話人聲紋識別的特征參數(shù),最后采用高斯混合模型(Gaussian mixture model,GMM)識別混合倒譜參數(shù).實驗表明,本文方法提取的混合特征參數(shù)MFCC+?MFCC+GFCC+?GFCC 更能體現(xiàn)說話人的特征,有效提高了識別率.
人類能夠正確地分辨出說話人聲音的不同,是因為人耳的聽覺系統(tǒng)具有很高的復(fù)雜度.要使機(jī)器正確區(qū)分說話人,必須對說話人的聲紋進(jìn)行特征提取,使之成為機(jī)器可以區(qū)分的特征參數(shù).MFCC 和GFCC 都是根據(jù)人耳的特征結(jié)構(gòu)而提出的特征參數(shù),因此在特征提取方面具有優(yōu)勢.
人耳的聽覺與頻率成非線性關(guān)系,頻率與Mel 頻率之間的關(guān)系可以近似表示為
MFCC 以人耳特性設(shè)計的一系列非線性的Mel 三角濾波器對語譜信號進(jìn)行濾波,然后進(jìn)行離散余弦變換,最后進(jìn)行倒譜變換就可以得到MFCC 特征參數(shù).MFCC 特征參數(shù)的提取過程如圖1所示.
圖1 MFCC 的提取過程Figure1 Extraction process for MFCC
語音信號預(yù)處理階段主要包括預(yù)加重、分幀、加窗、端點檢測、去噪處理等過程.經(jīng)預(yù)處理得到信號xi,再通過快速傅里葉變換使數(shù)據(jù)從時域轉(zhuǎn)換到頻域,得到頻譜上的能量分布X(i,k),取其模的平方得到譜線能量E(i,k);然后送入26 維(本文算法取26 維時效果最佳)的Mel 濾波器組,計算出在Mel 濾波器的能量,并取每個濾波器輸出的對數(shù)能量S(m);最后根據(jù)式(2)進(jìn)行DCT 變換,得到MFCC 特征參數(shù)
式中,Cn為特征參數(shù),M為濾波器的數(shù)目.
MFCC 主要提取的是語音的靜態(tài)特征.為了滿足人耳的構(gòu)造特征,凸顯語音信號的動態(tài)變化,通常對特征參數(shù)進(jìn)行二次提取.本文選用?MFCC,即MFCC 的一階差分,差分之后得到特征參數(shù)表達(dá)式如下:
式中,k取2,即以第t幀的前后各2 幀MFCC 參數(shù)變化來反映當(dāng)前幀的動態(tài)特性.
Gammatone 濾波器是一種基于標(biāo)準(zhǔn)耳蝸結(jié)構(gòu)的濾波器,其時域表達(dá)式如下:
式中,A為濾波器的增益;fi為濾波器的中心頻率;U(t)為階躍函數(shù);φi為偏移相位,而人耳對相位偏移不敏感,因此為了簡化模型,本文取為0;n為濾波器的階數(shù);N為濾波器數(shù)目;bi為濾波器的衰減因子,它將決定當(dāng)前濾波器對脈沖響應(yīng)的衰減速度,與中心頻率的對應(yīng)關(guān)系如下:
式中,bEBR(fi)為等效矩形帶寬,與中心頻率fi的關(guān)系如式(6)所示.GFCC 參數(shù)提取的步驟如圖2所示.
圖2 GFCC 的提取過程Figure2 Extraction process for GFCC
GFCC 特征參數(shù)的提取過程與MFCC 基本相似,本文根據(jù)以往實驗的經(jīng)驗值選用濾波階數(shù)n=4,濾波器數(shù)目N=64,經(jīng)過上面的提取過程得到特征參數(shù)Gn.同樣地,為了顯示語音的動態(tài)特性,本文對GFCC 的一階差分?GFCC 進(jìn)行二次特征提取.?GFCC 的計算方式同式(3),通過計算當(dāng)前幀前后兩幀變化得到特征參數(shù)?Gn.
Mel 濾波器是根據(jù)人耳聽覺特征設(shè)計的,Gammatone 濾波器主要是根據(jù)基底膜上的頻率感應(yīng)而設(shè)計的.只要少量的幾個參數(shù)就能擬合出抗干擾性強(qiáng)的特征參數(shù),因此為了提高特征參數(shù)的抗噪性,本文將MFCC、MFCC 的一階差分參數(shù)?MFCC、GFCC 和GFCC 的一階差分參數(shù)?GFCC 作為混合特征參數(shù),如式(7)所示:
式中,m和n分別為MFCC、GFCC 的特征參數(shù)階數(shù).
由式(7)直接拼接起來的混合參數(shù)過于冗余,且GFCC 參數(shù)在大于30 維以后基本為0,對于識別而言并沒有作用[9].此外,語音中的噪聲主要體現(xiàn)在低維數(shù)的特征矩陣中,這些受影響的維數(shù)可能降低聲紋識別率[10],因此在實驗中必須降低特征參數(shù)的維度,去掉受噪聲影響大的維度.本文通過增減分量法評價特征參數(shù)的貢獻(xiàn)度,根據(jù)貢獻(xiàn)度的不同去除不必要的維數(shù)成分.增減分量法的平均貢獻(xiàn)度函數(shù)如下:
式中,R(i)為貢獻(xiàn)度,p(i,j)表示第i階到第j階作為語音特征參數(shù)應(yīng)用于識別系統(tǒng)時的識別率.在實際應(yīng)用增減分量法時,首先檢測特征參數(shù)每個維數(shù)Ci ~Cj組合的識別率,然后由式(8)計算每個維數(shù)Ci的貢獻(xiàn)度.
GMM 是一種應(yīng)用較廣泛的說話人識別模型,具有運算速度快、訓(xùn)練復(fù)雜度低、魯棒性好的優(yōu)點.使用GMM 進(jìn)行識別就是根據(jù)說話人的特征參數(shù)分布為每一個說話對象建立一個GMM 模型庫,這個庫可用來確定說話人的身份.M階高斯混合模型的表達(dá)式如下:
式中,x表示1 個D維的隨機(jī)向量;bi(x)為高斯概率密度函數(shù),共有M個;pi為第i個分量的權(quán)重,通過多個高斯分量擬合成說話人的GMM 模型λ.在模型訓(xùn)練階段,根據(jù)最大期望算法將模型進(jìn)行多次迭代,計算每個說話人的GMM 模型.在識別階段,對待識別語音進(jìn)行特征提取,將特征矩陣與訓(xùn)練過的各個說話人模型一一進(jìn)行匹配,計算特征矩陣屬于每個說話人模型的概率,則最大概率的說話人即為最終識別結(jié)果.
仿真實驗在MATLAB 2015b 上實現(xiàn),實驗用的語音庫容量為100 人,其中男女各50 人,每人錄制10 段6 s 的語音,其中7 段用來訓(xùn)練,剩下3 段進(jìn)行識別.對語音的預(yù)處理設(shè)置如下:預(yù)加重系數(shù)為0.94,采樣率為16 kHz;加窗類型為漢明窗,幀長為16 ms,幀移為8 ms.建立16 階高斯混合模型進(jìn)行說話人聲紋識別,其最大迭代次數(shù)為100.
首先分別采用單一MFCC、?MFCC、GFCC、?GFCC 作為特征參數(shù),通過不同維度的組合進(jìn)行說話人識別實驗,以驗證各分量對識別結(jié)果的影響.MFCC、?MFCC、GFCC、?GFCC的實驗結(jié)果分別如圖3~6 所示.圖中右側(cè)線段表示不同維數(shù)組合的起始分量,各數(shù)據(jù)點橫坐標(biāo)代表終止分量.在圖3中,“×”線段第1 個數(shù)據(jù)點代表以MFCC 第1 維C1作為特征的識別率,第2 個數(shù)據(jù)點代表C1和C2作為特征的識別率.以此類推并由圖3可知:將MFCC 參數(shù)C1和C15維組合作為特征參數(shù)達(dá)到了全局最高的識別率,之后隨著維數(shù)的增加,識別率并未上升,而是穩(wěn)定在80%左右.根據(jù)式(8)可以計算出MFCC 參數(shù)每個維度的貢獻(xiàn)度如圖7(a)所示,大于C16維的貢獻(xiàn)度快速下降.?MFCC 可以作為表征語音動態(tài)變化的特性,但作為單一特征參數(shù)進(jìn)行識別的效果并不理想,于是可以根據(jù)實驗計算出各維度對識別結(jié)果的影響.由圖7(b)可知,MFCC 參數(shù)C1和C13的貢獻(xiàn)度較高.同樣由圖4、圖5、圖8可知:GFCC 在大于21 維的貢獻(xiàn)度下降迅速,?GFCC 在大于23 維的貢獻(xiàn)度較低.
圖3 MFCC 的各維度組合識別率Figure3 Recognition rate of different combination of MFCC dimension
經(jīng)過上述實驗可知:到達(dá)一定維數(shù)之后,增加維數(shù)并不會提高識別率.為了精簡參數(shù)不產(chǎn)生冗余又能保留說話人的聲紋特征,本文選擇MFCC 的前15 維、?MFCC 的前13 維、GFCC 的前21 維、?GFCC 的前23 維構(gòu)成最終的特征參數(shù),如式(10)所示:
對于組合后的特征參數(shù),為驗證它在不同噪聲環(huán)境不同信噪比下的識別率,分別采用NoiseX-92 噪聲庫中的白噪聲(white)、汽車噪聲(volvo)、粉紅噪聲(pink)、工廠噪聲(factory)進(jìn)行說話人識別實驗,并與無噪聲情況下的識別率進(jìn)行比較,所得實驗結(jié)果如圖9所示.可以看出:對于純凈的語音,以MFCC 為特征進(jìn)行識別的識別率高于以GFCC 為特征進(jìn)行識別的識別率.然而在低信噪比條件下,MFCC 的識別率大幅度下降,抗噪性能較差;而GFCC 的識別率下降比較緩慢,抗噪性能較好.本文綜合兩種倒譜參數(shù)的優(yōu)點,提出將MFCC+?MFCC+GFCC+?GFCC 混合特征參數(shù)用于說話人識別.從圖9的數(shù)據(jù)中可以看出:本文提出的混合倒譜特征參數(shù)識別方法在不同噪聲環(huán)境下的識別率均明顯高于其他特征提取方法,且受信噪比的影響程度也小于其他方法.
圖4 ?MFCC 的各維度組合識別率Figure4 Recognition rate of different combination of ?MFCC dimension
圖5 GFCC 的各維度組合識別率Figure5 Recognition rate of different combination of GFCC dimension
圖6 ?GFCC 的各維度組合識別率Figure6 Recognition rate of different combination of ?GFCC dimension
圖7 MFCC 及其差分參數(shù)各維度貢獻(xiàn)度Figure7 Contribution of each dimension of MFCC and its differential parameter
圖8 GFCC 及其差分參數(shù)各維度貢獻(xiàn)度Figure8 Contribution of each dimension of GFCC and its differential parameter
圖9 不同環(huán)境下的識別率Figure9 Recognition rate under different environments
本文針對常見的語音特征參數(shù)有效維數(shù)不足以及抗噪性能差等問題,根據(jù)各維度的貢獻(xiàn)度大小將MFCC、?MFCC、GFCC、?GFCC 這4 種混合倒譜特征參數(shù)中貢獻(xiàn)度較大的維度組合成新的混合特征參數(shù);然后將混合倒譜特征參數(shù)送入16 階高斯混合模型進(jìn)行說話人識別.MATLAB 仿真實驗表明:以不同噪聲和不同信噪比情況下的識別率來衡量,本文所使用的混合倒譜特征參數(shù)方法相對于其他特征參數(shù)方法均有所提高,因此具有良好的抗噪性能.