雷 磊 佘 堃
(電子科技大學信息與軟件工程學院 成都 610054)
(worldDrifter@163.com)
說話人識別技術是一種使用說話人語音樣本識別說話人身份的技術.該技術被廣泛應用在身份認證系統(tǒng)中.為了提高識別準確性,文本相關的說話人識別模型被廣泛運用到訪問控制系統(tǒng)中,比如電話銀行、聲紋鎖等.在傳統(tǒng)的文本相關的識別模型中,訓練語音和測試語音的內(nèi)容(文本)相同且固定.由于訓練語音內(nèi)容通常公開,所以攻擊者就可以通過合成語音的方式模仿用戶而獲取訪問權限.換句話說,傳統(tǒng)文本相關的說話人識別模型無法有效防止合成語音攻擊.另外,外部噪音也會使得說話人模型性能下降.因此,找到一種能夠防止合成語音攻擊且對噪音不敏感的說話人識別模型是非常必要的.
說話人識別模型通常分為2個模塊:特征提取和說話人分類.在特征提取模塊中,語音樣本被轉化為語音特征(也被特征向量).這些特征中包含了僅和說話人相關而和語音內(nèi)容無關的信息[1].在說話人分類模塊中,一個學習算法對特征中的信息進行歸納并建立說話人模型.當識別未知語音時,說話人模型就和未知語音進行匹配而識別出未知說話人的身份.
目前最常用的一種語音特征是短時 譜特征向量(本文簡稱為短向量).它使用一組低維度向量表征說話人信息.獲取短向量的傳統(tǒng)方法是Mel倒譜系數(shù)算法(MFCC).該算法使用離散傅里葉變換(DFT)[2]對語音信號進行譜分析.但是,DFT固定分辨率的分析窗口無法滿足對語音這種給平穩(wěn)信號的分析要求.另外,DFT將信號投影到一個全局的頻率域上.如果信號的一個頻率被噪音污染,那么它無法有效阻止噪音在整個特征向量上擴散[3].目前,許多研究者使用離散小波變換[4](DWT)替換DFT對語音信號進行譜分析.DWT的可變分辨率分析窗口很適合分析非平穩(wěn)信號,并且DWT將信號分解到很多局部頻帶上.如果一個頻帶被噪音污染,那么噪音只能影響這個頻帶而不會影響到其他頻帶.也就是說DWT阻止了噪音擴散到整個特征向量上.基于小波分析,研究者已經(jīng)提出了很多種方案:Zhao等人[5]將小波分析用于基于語音識別系統(tǒng)中;Srivastava等人[6]將小波分析和倒譜分析結合改進了傳統(tǒng)Mel倒譜算法的性能;我們也基于小波分析提出了說話人識別模型[7].
超級向量是一種基于短向量的語音特征.和短向量不同,它用一個高維度的單一向量統(tǒng)一地表征了語音樣本中的說話人信息[8].超級向量通常考慮了背景信息,所以其可以獲得較高的識別率.本文將小波分析技術和超級向量技術結合得到一種基于小波的超級向量.
說話人分類的核心就是分類器.對于短向量來說最常用的分類器為高斯混合模型(GMM).這種分類器先歸納出特征中蘊含的概率分布,然后用這個分布來判定未知語音說話人的身份.但是,超級向量由于其維度過高,會對GMM造成“維度詛咒”問題.因此,通常需要使用一些特殊的分類算法來區(qū)別超級向量.在本文中,我們采用帶核函數(shù)的支持向量機(SVM)來對超級向量分類.
本文提出了一種基于小波分析和超級向量的說話人識別模型.該模型使用基于小波分析的算法提取短向量,以提高短向量的質量和抗噪性.基于這些短向量,超級向量被構建出來表征說話人的特征.超級向量考慮了背景模型而有助于提高識別性能.最后,為了防止合成語音攻擊,本文采用非對稱文本內(nèi)容的語音作為訓練語音和測試語音.訓練語音內(nèi)容和測試語音內(nèi)容不同,且訓練語音公開而測試語音內(nèi)容不公開,這樣就可以防止測試語音被合成.
基于超級向量的識別模型包含3個基本模塊,即提取短向量、構建背景模型和構建超級向量.具體結構如圖1所示.
從圖1可以看出,使用基于超級向量的識別模型完成識別任務時,需要用到3種語音樣本,即背景語音、訓練語音和測試語音.背景語音由許多說話人的許多語音樣本組成.通常,一個語音數(shù)據(jù)庫中的所有樣本被作為背景語音樣本.訓練語音是已知說話人的語音.該樣本被用來構建說話人模型.測試語音即未知說話人的語音,識別的目的就是要通過語音確定未知說話人的身份.3種語音首先都通過短向量提取算法轉化成短向量.然后,背景短向量用于訓練背景模型.其表征了一類說話人共同的特征.基于背景模型,訓練短向量和測試短向量分別用于構建訓練超級向量和各測試超級向量.當超級向量構建完成后,一個分類器就被用于匹配這2種超級向量,從而得出識別結果.
圖1 基于超級向量識別模型結構
本文使用的短向量提取算法是基于小波分析的,因此我們先介紹小波分析的基本概念.一個離散信號x[n]的小波分析(DWT)表示為
其中,ψ(·)表示母小波,j,k都屬于整數(shù)集.式(1)只用于定義小波分析,而實際計算小波使用Mallet小波快速算法.該算法使用1對由母小波和對應尺度函數(shù)得到的鏡像共軛濾波器實現(xiàn)小波分析.首先,1個待分析的信號被這對濾波器分解成低頻部分和高頻部分.然后,如果需要進一步提高分辨率,那么信號的低頻部分繼續(xù)被這對濾波器分解,而高頻部分保持不變.分解過程可以由1棵如下所示的二叉樹表示.
圖2中,根節(jié)點(s節(jié)點)表示待分解的信號.左孩子節(jié)點(a1,a2,a3)表示信號低頻部分,而右孩子節(jié)點(d1,d2,d3)表示信號高頻部分.左樹枝和右樹枝分別表示濾波過程.由于母小波滿足容許性條件,所以小波變換保持能量守恒.那么,分解樹的葉節(jié)點就代表了小波分析獲得的局部譜.而短向量正是基于這些局部譜計算得到的.
圖2 小波分解樹
下面介紹短向量提取算法.短向量提取算法一般分為4個主要步驟,即預處理、譜分析、Mel濾波和倒譜計算.具體計算過程如圖3所示.首先,語音信號進入預處理過程.在預處理中,語音信號被切分成短的語音幀,而每幀中包含512個采樣點.當分幀后我們需要計算每幀能量.能量定義如下:
其中,f[n]表示幀,L為幀長度.如果1幀能量小于1個閾值(本文為0.001),那么就舍棄該幀,如果幀能量大于閾值則保留.保留下來的幀稱為有效幀.然后,對每個有效幀作歸一化處理以消除音量對識別的影響.歸一化公式(3)為
其中,K為Mel能量的個數(shù).z[i]即為倒譜系數(shù).假設一共得到了I個倒譜系數(shù),那么最終得到的短向量表示為[z1,z2,…,z I],mk為第k個Mel濾波能量[9].
圖3 短向量提取算法流程
為了構架超級向量,背景模型(universal background model,UBM)需要被事先構建.通常,背景模型由高斯混合模型(Gaussian mixture model,GMM)表示.這種由GMM模型表示的背景模型被稱為GMM-UBM.和分類器GMM不同,GMM-UBM通常包含大量的高斯函數(shù)(本文中GMM-UBM包含2048個高斯函數(shù)).每個高斯函數(shù)的協(xié)方差都相同且為對角陣.一個GMM-UBM被定義為權重,且滿足表明GMM-UBM本質是一個概率分布.基于背景短向量,GMM-UBM中的參數(shù)通過EM算法[10]獲得.
當獲得GMM-UBM后就可以基于這個背景模型構建超級向量.超級向量構建過程如圖4所示:
其中,M為包含高斯函數(shù)的個數(shù),被稱為混合數(shù),Gi(·)表示GMM中第i個高斯函數(shù),λi表示混合
圖4 超級向量構建過程
圖4中,目標短向量即訓練或者測試短向量.超級向量的構建過程被稱為最大化調(diào)整過程(maximized adaptation processing,MAP).這個過程通過目標短向量對GMM-UBM的均值向量進行調(diào)整,使得GMM-UBM可以表征一個說話人的語音樣本.MAP過程如下:
1)計算后驗概率
這個后驗概率表示了GMM-UBM中的i個高斯函數(shù)對表征目標短向量x的貢獻度.
2)基于上述后驗概率,計算Baum-Welch統(tǒng)計量
其中,x n表示第n個目標短向量,N為目標短向量的個數(shù).
3)調(diào)整GMM-UBM的均值
其中,r表示調(diào)節(jié)率,當r=0時MAP就成了EM算法.表示調(diào)節(jié)前的GMM-UBM均值向量.調(diào)整后的模型被稱為目標模型,它表征了一個說話人.從上面MAP過程可以看出,MAP只調(diào)整了GMM-UBM的均值向量,而混合權重λi和協(xié)方差矩陣∑保持不變,所以目標模型可以用其均值進行區(qū)別.假設目標模型的均值向量表示為{m1,m2,…,m I}(向量均為列向量),則對應超級向量表示為
由于超級向量的維度過高,所以不能使用傳統(tǒng)的分類器如GMM對其進行分類.本文使用帶核函數(shù)的SVM.SVM依靠一個分類平面對未知類進行分類,這個分類平面定義為
其中,αi>0為累加權重,ti為支持向量x i的類型標簽,且滿足d為學習常數(shù).當對超級向量分類時,訓練超級向量即為支持向量[8],K(·,·)為核函數(shù).在本文中為
其中,M a,M b分別為2個超級向量分別為M a,M b的第i個分量.
本文實驗數(shù)據(jù)來自TIMIT語音數(shù)據(jù)庫[11].數(shù)據(jù)庫中包含了630名說話人的語音樣本.每人提供10句樣本,而每句樣本長度為5 s.所有樣本采樣率為16 k Hz的單信道語音,且在安靜環(huán)境下錄制.本文首先使用所有語音作為背景語音構建2個性別相關的背景模型.一個表征女性語音的共同特征,另一個表征男性語音的共同特征.然后,從語音庫中隨機選取192名女性說話人的語音和192名男性說話人的語音作為目標語音.
本文的所有實驗硬件平臺為一臺配有Intel core5 CPU和8 GB內(nèi)存的PC機.軟件平臺為Window7操作系統(tǒng)和MATLAB2012b數(shù)學仿真軟件.
在基于小波分析的算法中,母小波的性能決定了小波分析的性能.Daubechies方程已經(jīng)指出Daubechies小波家族和Symlet小波家族是最優(yōu)小波.在實驗中,能熵比(ESER)被用來定量這2個小波家族的性能.ESER定義如下:E為小波局部譜的能量,而SE為它的香農(nóng)熵.實驗結果如表1所示:
表1 母小波性能
表1中,DB表示Daubechies小波,SYM表示Symlet小波,而后面的數(shù)字代表了該小波的消失距.小波譜的能量越大說明小波分析捕獲重要信息的能力越強,而香農(nóng)熵越小則小波分析的穩(wěn)定性越好.也就是說ESER越高則小波性能就越好.表1中,DB4和SYM6得到的ESER最大.因此,這2個小波的性能就最好.但是,DB4(實小波)處理實信號時比SYM6(復小波)計算簡單.因此,本文只使用DB4.
本實驗將測試識別模型的準確率.為了比較,另外3種模型即MFCC-GMM[12],WMFCC-GMM[3],S-SVM[8]被引入到實驗中.384個說話人的語音被用作訓練語音和測試語音.對于每個說話人,5個語音作為訓練語音,而剩下的5個語音作為測試語音.實驗結果如表2所示:
表2 4種模型的準確率
從表2可以看出,WMFCC-GMM模型的識別率要高于MFCC-GMM.這是因為,WMFCC中使用了小波分析對信號幀進行譜分析,而在MFCC中譜分析由傅里葉變換實現(xiàn).和傅里葉變換相比,小波分析的可變窗口可以更準確地分析非平穩(wěn)信號,這就使得WMFCC有效提高了準確率.還可看出基于超級向量模型(后2種模型)的準確率比基于短向量模型(前2種模型)的準確率高.這是因為超級向量考慮到了背景信息而短向量并沒有考慮到這一點.最后,WS-SVM的準確率高于S-SVM,這表明小波分析可以有效提高模型識別性能.
本實驗用于測試上述4個模型的抗噪性能.為了獲得噪音語音樣本,向上述384個說話人語音中加入高斯白噪音.高斯白噪音序列由MATLAB高斯白噪音函數(shù)產(chǎn)生,其中s表示噪音強度.實驗用到信噪比(SNR)分別為40 dB,30 dB,20 dB 3種噪音語音.實驗結果如圖5所示:
圖5 4種模型的抗噪能力
如圖5所示,所有模型隨著噪音強度的增加(SNR減小),其準確率都在下降.但是,當SNR下滑至30 dB時,2種非小波模型(實線表示)的準確率下滑超過12%,而小波模型(虛線表示)準確率下滑不到8%.更有甚者,在SNR>30 dB時,S-SVM的準確率低于WMFCC-GMM的準確率.這說明了基于小波的模型的抗噪性能明顯好于非小波模型.這是因為小波在對信號進行譜分析時,它將信號分解到多個局部頻帶中.這些局部頻帶有效地限制了噪音的傳播范圍,而使得特征向量在整體上不受噪音污染.
本文提出了一種基于小波分析和超級向量的說話人識別模型(WS-SVM).實驗表明該模型在干凈語音和噪音語音中都可以取得較高的識別性能.這是因為,小波分析獲得的局部譜有效阻止了噪音的傳播,而超級向量中包含的背景信息有效提高了特征向量表征說話人的能力.超級向量是一種用時間復雜度換取識別性能的技術.在未來的研究中,我們將重點放在如何降低超級向量算法的計算時間代價上.
[1]Almaadeed N,Ggoun A,Amira A.Speaker identification using multimodal neural network and wavelet ananlysis[J].Biomtrics,2014,4(1):2047-4938
[2]Lalitha S,Mudupu A,Nandyala B V,et al.Speech emotion recognition using DWT[C]//Proc of Int Conf on Computational Intelligence&Computing Research.Piscataway,NJ:IEEE,2016:1-4
[3]Adam T B,Salam M S,Gunawan T S.Wavelet based cepstral coefficients for neural network speech recognition[C]//Proc of IEEE Int Conf on Signal and Image Processing Application.Piscataway,NJ:IEEE,2013:447-451
[4]Verma G K,Tiwary U S.Text independent speaker identification using wavelet transform[C]//Proc of IEEE Int Conf on Conputer and Communication Technology.Piscataway,NJ:IEEE,2010:130-134
[5]Zhao X L,Wu Z.Speech signal feature extraction based on wavelet transform[C]//Proc of IEEE Int Conf on Intelligent Computation and Bio-Medical Instrumentation.Piscataway,NJ:IEEE,2011:14-17
[6]Srivastava S,Bhardwaj S,Bhandari A.Wavelet packet based Mel frequency cepstral features for text independent speaker identification[J].Interalligent System and Computing,2013,182:237-247
[7]Lei Lei,She Kun.Speaker recognition using wavelet cepstral coefficient,i-vector and cosine distance scoring and its application for forensics[J/OL].2016[2018-03-15].http://www.hindawi.com/journals/jece/2016/4908412
[8]Campbell W M,Reynolds D A.Support vector machines using gmm supervectors for speaker verification[J].Signal Processing Letters,2006,13(5):308-311
[9]Chauhan F M,Desai N P.Mel frequency cepstral cofficients based on speaker identification in noisy environment using wiener filter[C]//Proc of the 2014 Int Green Computing Connunication and Electrical Engineering.Piscataway,NJ:IEEE,2014:1- 5
[10]Reynolds D,Rose R.Robust text-independent speaker identification using gaussian mixture speaker models[J].IEEE Trans on Speech and Audio Processing,1995,3(1):72-83
[11]Biswas A,Sahu P K,Bhowmick A,et al.Feature extraction technique using erb wavelet sub-band periodic and aperiodic decomposition for timit phoneme recognition[J].International Jounrnal of Speech Technology,2014,17(4):389-399
[12]Martinez J,Perez H,Escamilla E,et al.Speaker recognition using Mel frequency cepstral coefficients and vector quantization techniques[C]//Proc of the 22nd Int Conf on Electrical Communications and Computers.Piscataway,NJ:IEEE,2009:248-251