李 澤,崔 宣,馬雨廷,陳俊宇
(西華大學(xué) 機(jī)械工程與自動(dòng)化學(xué)院,四川 成都 610039)
隨著社會(huì)的發(fā)展和科技的進(jìn)步,信息服務(wù)正走向智能化,說話人識(shí)別(Speaker Recognition)已勃然興起[1].它已被廣泛地應(yīng)用于刑偵破案、罪犯跟蹤、國防監(jiān)聽、證券交易、銀行交易、公安取證、個(gè)人電腦聲控鎖、汽車聲控鎖和信用卡認(rèn)證等[2].
說話人識(shí)別又被稱為話者識(shí)別,是指通過對(duì)說話人語音信號(hào)的分析處理,自動(dòng)確認(rèn)說話人是否在所記錄的話者集合中以及進(jìn)一步確認(rèn)說話人是誰.說話人識(shí)別可分為說話人辨認(rèn)和說話人確認(rèn)兩類[3-4].對(duì)于說話人識(shí)別有兩個(gè)最基本的問題:第一個(gè)基本問題是說話者聲音特性特征參數(shù)的選取,第二個(gè)基本問題是說話人模型的建立.本文針對(duì)第一個(gè)基本問題進(jìn)行研究,介紹了MEL頻標(biāo)倒譜系數(shù)(MFCC)和線性預(yù)測倒譜系數(shù)(LPCC),并對(duì)其在說話人識(shí)別中的效果作出了理論比較和實(shí)驗(yàn)比較.
特征提取[5]就是指從說話人的語音信號(hào)中獲得一組能夠描述語音信號(hào)特征參數(shù)的過程,通過不斷的實(shí)驗(yàn)和探索,人們發(fā)現(xiàn)語音信號(hào)是聲道頻率特性和激勵(lì)信號(hào)源兩者的共同結(jié)果,后者對(duì)于某一信號(hào)來說常帶有一定的隨機(jī)性,而說話人的個(gè)性特征在很大程度上取決于說話人的發(fā)音聲道.因此,音特征參數(shù)可以是能量、共振峰值、基音頻率等語音參數(shù).目前,在語音識(shí)別中較為常用的特征參數(shù)為MEL倒譜系數(shù)MFCC與線性預(yù)測倒譜系數(shù)LPCC,兩者都是將語音從時(shí)域變換到倒譜域上[6],前者構(gòu)造人的聽覺模型,以語音通過濾波器組的輸出為聲學(xué)特征,直接通過離散傅立葉變換(DFT)進(jìn)行變換;后者從人的發(fā)聲模型角度出發(fā),利用線性預(yù)測編碼(LPC)技術(shù)求倒譜系數(shù).
MFCC的分析符合人類的聽覺特性,人耳具有一些特殊的功能,能在嘈雜的環(huán)境中以及各種異變情況下分辨出各種語音,其中耳蝸起了關(guān)鍵作用[7-8].耳蝸實(shí)質(zhì)上就相當(dāng)于是一個(gè)濾波器組,耳蝸濾波作用是在對(duì)數(shù)頻率尺度上進(jìn)行的,1 000 Hz 以下是線性尺度,1 000 Hz以上是對(duì)數(shù)尺度,這就使人耳對(duì)高頻敏感.根據(jù)這一原則研究了一組類似于人耳蝸?zhàn)饔玫臑V波器即Mel頻率濾波器.
MFCC是使用傅立葉分析提取的語音特征參數(shù),是類似于指數(shù)的形式 ,它和實(shí)際頻域之間的關(guān)系見(1)式.
Fmel= 1 127 ln(1+FHz/700)
(1)
式中,Fmel是以MEL為單位的感知頻域[9],FHz是以Hz為單位的實(shí)際頻域.將語音信號(hào)的頻譜變換到感知頻域中,能更好地進(jìn)行模擬聽覺過程的處理.
在實(shí)際應(yīng)用中提取 MFCC語音特征參數(shù)的算法如下.
Extraction MFCC
Inputs: s contains the signal to analize; fs is the sampling rate of the signal
Output: r contains the transformed signal
01 m←256; //幀長為256
02 n←100; //幀移為100
03 l←length(s); //求取輸入的語音信號(hào)的長度
04 nbFrame=floor((l-n)/m)+1; //求得所輸入語音信號(hào)總的幀數(shù)
05 i←1 to n
06 j←1 to nbFrame
07 M(i,j)=s(((j-1)*m)+i); //s為幅度值,M(i,j)為分幀之后的數(shù)據(jù)
08 h←hamming(n);
09 M2←diag(h)*M; //對(duì)數(shù)據(jù)矩陣M加上漢明窗,形成對(duì)角矩陣M2
10 i←1 to nbFrame
11 frame(:,i)=fft(M2(:,i));//對(duì)已加窗的數(shù)據(jù)進(jìn)行快速傅立葉變換,將其轉(zhuǎn)換到頻域上
12 t←n/2;
13 tmax←1/fs;
14 m=melfb(20,n,fs);//調(diào)用20階MEL濾波器組進(jìn)行濾波,把輸出值保存在m中
15 n2←1+floor(t);
16 z=m*abs(frame(1:n2, : )).^2; //取前1到n2行矩陣中,所有幀列向量的平方
17 r1=log(z); //對(duì)z的值取對(duì)數(shù)
18 r=dct(r1); //對(duì)所求得的值取反余弦變換
通過以上算法,最終可以得到所要求取的20階MFCC語音特征參數(shù).
在語音識(shí)別系統(tǒng)中,通常使用由LPC系數(shù)推導(dǎo)出另一種參數(shù),LPCC作為特征參數(shù)[11].倒譜實(shí)際上是一種同態(tài)信號(hào)處理方法,標(biāo)準(zhǔn)的倒譜系數(shù)計(jì)算流程需要進(jìn)行FFT變換、對(duì)數(shù)操作和相位校正等運(yùn)算,運(yùn)算比較復(fù)雜.在實(shí)際計(jì)算中,當(dāng)序列x(n)為最小相位的情況下,可以利用序列x(n)及其復(fù)倒譜系數(shù)C(n)的遞推關(guān)系來簡化計(jì)算[12-13].
在實(shí)際應(yīng)用中,提取LPCC語音特征參數(shù)的算法如下.
Extraction LPCC
Inputs: y contains the signal to analize ;fs is the sampling rate of the signal
Output: h contains the transformed signal
01 Framelen←256; //幀長為256
02 Frameinc←100; //幀移為100
03 x←enframe(y, Framelen, Frameinc); //將輸入的語音信號(hào)分幀,每一行為一幀
04 h←hamming(Framelen); //形成漢明窗為256*256的矩陣
05 x←x*diag(h); //為分幀后的語音信號(hào)按行加窗
06 [x1,x2]←size(x); //取x的行數(shù)和列數(shù),分別存為x1和x2
07 i←1 to x1
08 a=lpc(x(i,:),12); //求取12階lpc倒譜
09 len=length(a); //求得向量a的長度
10 p=12;//階數(shù)設(shè)為12階
11 n=1;
12 j←2 to len
13 if j==2
14 h(i,n) ←a(j);
15 else
16 k←1 to n-1
17 h(i,n)=a(j)+sum((1-k/n)*a(k)*h(i,n-k)); //有LPC可遞推出LPCC
18 n←n+1;
19 return h.
(1)MFCC參數(shù)將線性頻標(biāo)轉(zhuǎn)化為MEL頻標(biāo),強(qiáng)調(diào)語音的低頻信息,從而突出了有利于識(shí)別的信息,屏蔽了噪聲的干擾[12].LPCC參數(shù)是基于線性頻標(biāo)的,它在所有的頻率上都是線性的逼近語音,而這與人的聽覺特性是不一致的,而且LPCC包含了語音高頻部分的大部分噪音細(xì)節(jié),這些都會(huì)影響系統(tǒng)的性能.
(2)MFCC參數(shù)無任何前提假設(shè),在各種情況下均可使用.而LPCC參數(shù)假定所處理的信號(hào)為AR信號(hào),對(duì)于動(dòng)態(tài)特性較強(qiáng)的輔音,這個(gè)假設(shè)并不嚴(yán)格成立.另外,當(dāng)噪聲存在時(shí),AR信號(hào)會(huì)變?yōu)锳RMA信號(hào):
其中,H(ω)為受噪聲污染的信號(hào)功率譜,n0為噪聲功率,這會(huì)給LPC分析的結(jié)果帶來較大誤差[4].因此,對(duì)于語音的低頻部分MFCC參數(shù)的抗噪聲能力優(yōu)于LPCC參數(shù)[12].
(3)LPCC參數(shù)也繼承了LPC的優(yōu)點(diǎn),保證了系統(tǒng)的穩(wěn)定性,并且對(duì)元音有較好的描述能力,但對(duì)輔音的描述能力比較差;而MFCC是采用濾波器組的方法計(jì)算出來的,所以具有良好的識(shí)別性能.
實(shí)驗(yàn)的軟硬件環(huán)境如下:
(1)CPU 為Pentium 2.80 GHz,內(nèi)存512 M.
(2)普通麥克風(fēng),采用wav格式錄制.
(3)操作系統(tǒng) WindowsXP.
(4)開發(fā)平臺(tái) MATLAB 7.1
實(shí)驗(yàn)中采用的語音數(shù)據(jù)為15名錄音人員 ,包含6名女性和9名男性,在相距30 d的時(shí)段錄了兩次語音.錄音在實(shí)驗(yàn)室環(huán)境下進(jìn)行,MFCC語音參數(shù)和LPCC語音參數(shù)的提取,都是采用8 K采樣率.錄音人員全部為學(xué)生 ,每人隨機(jī)朗讀.語句長度為5~15 s ,每個(gè)語句存為一個(gè)文件 ,每次錄取 5 段語句.特征參數(shù)提取前進(jìn)行的預(yù)加重1-0.9375 Z-1,分詞處理,每段語音分割為幀長30 ms,240個(gè)采樣點(diǎn),幀移設(shè)為0,幀數(shù)共48,加Hamming窗平滑.
以3號(hào)女生的語音信號(hào)作為測試語音,其他語音信號(hào)處理方法與3號(hào)語音方法相同.發(fā)音內(nèi)容為 “I LOVE YOU”的一段原始語音信號(hào),測試結(jié)果如圖1所示.
圖1 原始語音的時(shí)域波形圖Fig.1 Original sound’s sound wave of the time domain
此語音信號(hào)經(jīng)過預(yù)加重、分幀、加漢明窗平滑后得到語音信號(hào)波形,如圖2所示.
圖2 加漢明窗后的語音信號(hào)波形圖Fig.2 Hamming window after wave of the voice signal
經(jīng)過1,2步預(yù)處理后便可以提取20階MFCC語音特征,語音訓(xùn)練過程采用的是LBG算法,并使用了分裂法進(jìn)行碼本初始化.在實(shí)驗(yàn)中,取目前公認(rèn)為較好的碼本尺度來做實(shí)驗(yàn),碼本尺度為16.經(jīng)過VQ矢量化后,得到的碼本數(shù)據(jù)如圖3所示.
圖3 語音信號(hào)的數(shù)據(jù)壓縮圖Fig.3 The data compression map
經(jīng)過預(yù)加重、分幀、加漢明窗平滑后,求取的12階線性預(yù)測系數(shù)LPC,如圖4所示.
圖4 線性預(yù)測系數(shù)LPCFig.4 Linear prediction coefficient
線性預(yù)測系數(shù)LPC轉(zhuǎn)化為線性預(yù)測倒譜系LPCC(12),LPCC如圖5所示.
圖5 12階線性預(yù)測倒譜系數(shù)LPCC Fig.5 12 bands Linear Prediction inverted coefficients
在基于單一語音信號(hào)特征的說話人辨認(rèn)系統(tǒng)中,分別對(duì)所有人員的語音數(shù)據(jù)采用提取20階的MFCC和12階的LPCC作為識(shí)別的語音特征參數(shù),經(jīng)多次實(shí)驗(yàn)對(duì)比,兩個(gè)系統(tǒng)的識(shí)別結(jié)果對(duì)比如表1所示.
表1 基于單一特征系統(tǒng)的識(shí)別率Tab.1 The recognition rate based on the single characteristics
提取12階LPCC作為特征參數(shù),來進(jìn)行說話人辨認(rèn)的效果比較差,出現(xiàn)了多處錯(cuò)誤,原因正如上面分析所述, 提取12階LPCC特征參數(shù)后,形成的碼本與碼本之間的距離值太相近,差異不大,所以在辨認(rèn)時(shí)很難精確地分析出測試語音與語音庫中的哪個(gè)語音樣本相對(duì)應(yīng),故出現(xiàn)了較多的識(shí)別錯(cuò)誤.
對(duì)同一期錄音的無噪音語音進(jìn)行說話人識(shí)別 ,采用MFCC作為特征參數(shù)的說話人識(shí)別和采用LPCC作為特征參數(shù)的說話人識(shí)別都可以達(dá)到比較高的識(shí)別率.如果訓(xùn)練和識(shí)別的語音環(huán)境有一定的干擾 ,利用兩種參數(shù)的識(shí)別率都會(huì)大幅下降.
對(duì)于低頻語音的識(shí)別部分,采用MFCC特征參數(shù)在屏蔽噪音和抗噪聲兩方面的能力都優(yōu)于采用LPCC特征參數(shù)的說話人識(shí)別,所以在傳統(tǒng)的說話人識(shí)別系統(tǒng)中多數(shù)都會(huì)采用MFCC作為語音特征.
本文詳細(xì)地介紹了在說話人識(shí)別系統(tǒng)中語音特征參數(shù)的提取原則,并對(duì)兩個(gè)重要的語音特征參數(shù)MFCC和LPCC進(jìn)行了比較,提出了這兩種語音特征的不同之處,并進(jìn)行了實(shí)驗(yàn)比對(duì).
本實(shí)驗(yàn)在無噪的情況下識(shí)別效果較好,但在有噪音情況下識(shí)別率大大降低,實(shí)驗(yàn)只得出了兩種特征參數(shù)在識(shí)別低頻部分的優(yōu)劣.如果能考慮到結(jié)合其他特征參數(shù)進(jìn)行識(shí)別,可以進(jìn)一步提高識(shí)別的準(zhǔn)確率.
參考文獻(xiàn):
[1] PRUZANSKY S. Pattern-matching procedure for automatic talker recognition[M]. J.Acoust.Sec.Amer,1963:354-358.
[2] ATAL B S. Automatic speaker recognition based on pitch contours[M]. J. PH.D thesis.Ploytechinc Inst. Brooklyn.NY, 1968:289-212.
[3] TIERNEY J. A study of LPC analysis of speech in additive noise[J].IEEE Trans on Signal Processing,1990,24(4):389-397.
[4] 楊行峻,遲惠生. 語音信號(hào)數(shù)字處理 [M].北京:電子工業(yè)出版社 ,1995:89-96.
[5] 韓紀(jì)慶,張 磊,鄭鐵染 . 語音信號(hào)處理[M].北京:清華大學(xué)出版社,2004:101-124.
[6] 馬 俊.聲紋識(shí)別技術(shù)研究[D].哈爾濱:哈爾濱工程大學(xué),2004:33-49.
[7] 張衛(wèi)清.語音識(shí)別算法的研究[D].南京:南京理工大學(xué),2004:44-61.
[8] 汪 崢,連 翰,王建軍.說話人識(shí)別中特征參數(shù)提取的一種新方法[J].復(fù)旦大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,44(1):21-23.
[9] 谷志新,王述洋,田仲富. 聲紋識(shí)別技術(shù)中特征語音參數(shù)選取的相關(guān)問題[J].研究與技術(shù),2005,18 (2): 27-30.
[10] 張 華,裘雪紅.說話人識(shí)別中LPCCEP倒譜分量的相對(duì)重要性[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006(4):67-68, 72.
[11] DANIEL G R, JULIAN F A.Using quality measures for multilevel speaker recognition[J]. Computer Speech and Language,2006(20):192-209.
[12] 崔 宣. 基于語音混合特征說話人識(shí)別的研究[D]. 成都:西華大學(xué),2008:19, 39-42.
[13] 張 凱.Delta特征用于說話人識(shí)別的研究[J].聲學(xué)電子工程,2008(2):21-24.