摘 要: 語音激活檢測技術是應用于語音偵聽領域降低節(jié)點能耗的關鍵技術之一,其核心是語音激活檢測算法。針對基于統(tǒng)計模型的語音激活檢測算法僅采用當前語音幀的參數(shù)來判斷有無語音信號而帶來的誤檢率高的問題,提出用相鄰語音幀邏輯與運算的方法對其進行改進。試驗表明:改進后的算法在誤檢率上明顯低于改進前,提高了語音信號檢測的準確性,有效地降低了節(jié)點能耗。
關鍵詞: 統(tǒng)計模型;語音激活檢測;檢測算法
0 引言
語音激活檢測技術是利用語音激活檢測算法,僅當檢測到語音信號時激活節(jié)點,使之從休眠狀態(tài)轉(zhuǎn)換到工作狀態(tài),其余時間處于休眠狀態(tài),是降低節(jié)點能耗的關鍵技術之一。基于統(tǒng)計模型的語音激活檢測算法,通過選取特征參數(shù)建立統(tǒng)計分布模型,根據(jù)當前幀的信息計算出模型中的未知參數(shù),得出判決準則,并據(jù)此判斷有無語音信號[1]。其優(yōu)點是能夠適應時變噪聲的特點,在復雜環(huán)境下,檢測的準確率較高[2-4]。但只根據(jù)當前語音幀的參數(shù)來判斷有無語音信號具有一定的局限性,極易出現(xiàn)誤判的情況。因此,對基于統(tǒng)計模型的語音激活檢測算法加以改進來降低誤檢率,對語音偵聽領域具有十分重要的意義。
1 基于統(tǒng)計模型的語音激活檢測算法
1.1 算法的基本步驟
基于統(tǒng)計模型的語音激活檢測算法[2-3,5]以貝葉斯定理和似然比檢驗為基礎,檢驗過程分提出假設、分析參數(shù)和檢驗判決三步。
1.1.1 提出假設
待測音信號X有兩種假設:一是只有噪聲N存在,則原假設H0為真,判定未檢測到語音;二是語音S與噪聲N同時存在(S與N互不相關),則備選假設H1為真,判定檢測到語音,可以描述為:
H0∶X(t)=N(t)(1)
判定不存在語音信號。
H1∶X(t)=N(t)+S(t)(2)
判定存在語音信號。
1.1.2 分析參數(shù)
首先要根據(jù)其頻率特征進行周期性采樣,使波形參數(shù)由連續(xù)時間序列變?yōu)殡x散時間序列。然后根據(jù)采樣信號的振幅絕對值描繪直方圖,計算概率密度表達式,將模擬的語音信號用數(shù)字參數(shù)表示出來[1]。第t幀加噪信號、純語音信號和噪聲信號的離散傅里葉變換系數(shù)如下。
X(t)=[X0(t),X1(t),…,XM-1(t)]T(3)
S(t)=[S0(t),S1(t),…,SM-1(t)]T(4)
N(t)=[N0(t),N1(t),…,NM-1(t)]T(5)
在X(t)、S(t)、N(t)中,第k個譜分量的系數(shù)分別為Xk、Sk和Nk。用Xk(R)和Xk(I)分別表示離散傅里葉變換系數(shù)Xk的實部和虛部,假設每個DFT系數(shù)的實部和虛部都服從拉普拉斯概率密度函數(shù),如果其實部和虛部的方差相同,則Xk(R)和Xk(I)的概率密度分布如式(6)和式(7)所示。
其中,是指Xk方差的平方根。因為Xk的實部和虛部近似獨立,其方差可以看作相等,則Xk的概率密度函數(shù)可以表示為[1,6]:
H0和H1的條件概率密度函數(shù)分別為:
其中,λs,k和λn,k分別代表Sk和Nk的方差。
1.1.3 檢驗判決
根據(jù)兩個假設的條件概率密度函數(shù),計算出第k個頻譜分量的似然比:
其中,Λk是基于拉普拉斯統(tǒng)計分布模型的語音激活檢測算法的第k個頻譜分量的判決統(tǒng)計量。將加噪語音分析后,根據(jù)式(11)計算出信號第k個頻譜分量的似然比,在實際應用中,為了使計算簡單,可以用瞬時譜幅度|Xk|代替。
兩個假設的拉普拉斯概率密度如圖1所示。在兩個概率密度曲線的交點處,P(Xk|H0)=P(Xk|H1),似然比Λk=1;在兩個交點之間,P(Xk|H0)>P(Xk|H1),Λk<1,H1的概率小于H0的概率,H0成立,檢測不存在語音信號;在兩個交點之外,P(Xk|H0)<P(Xk|H1),Λk>1,則H1的概率大于H0的概率,H1成立,即檢測到語音信號。
1.2 算法的流程
基于統(tǒng)計模型的語音激活檢測算法流程如圖2所示。
2 算法的改進
2.1 改進的思想
算法的改進參照邏輯與運算的思想,真值表如表1所示。在基于統(tǒng)計模型算法的基礎上:(1)如果第k幀(k為大于等于1的正整數(shù))信號檢測判定結(jié)果是“0”,第k-1幀信號輸出結(jié)果是“0”,那么經(jīng)過與運算的結(jié)果是“0”,表示無語音信號;(2)如果第k幀信號檢測判定結(jié)果是“0”,第k-1幀信號檢測判定結(jié)果是“1”,與運算后的結(jié)果是“0”,同樣判斷無語音信號;(3)如果第k幀信號檢測判定的結(jié)果是“1”,第k-1幀信號檢測判定結(jié)果是“0”,那么經(jīng)過與運算的結(jié)果還是“0”,依然判為無語音信號;(4)只有兩次檢測的結(jié)果均為“1”,與運算后的結(jié)果才是“1”,才能證明有語音信號存在。只有當前幀信號的判決結(jié)果是“1”時,才有可能判斷有語音信號存在。所以為簡便判決,只在當前幀判決結(jié)果為“1”時執(zhí)行與運算。
2.2 改進算法的流程
改進算法的工作原理是將一段語音信號采樣分幀處理后,對第k幀信號依據(jù)上節(jié)的檢測激活算法完成檢驗判決,將結(jié)果存于寄存器,若結(jié)果為“0”,返回繼續(xù)完成后續(xù)幀的檢驗;若結(jié)果為“1”,與上一幀信號進行與運算,根據(jù)運算結(jié)果完成最后判決。改進后的算法流程如圖3所示。
3 改進算法的驗證與分析
3.1 試驗步驟和結(jié)果
語音信號的檢測仿真選用MATLAB平臺。仿真主要完成不同噪聲環(huán)境下基于統(tǒng)計模型的語音激活檢測算法(用算法1表示)和其改進算法(用算法2表示)誤檢率的測試。
試驗步驟如下:(1)在較為安靜的環(huán)境下錄制一段長約6 s的語音片段作為原始樣本,保存為.wav格式;(2)將語音原始樣本分別與車輛噪聲和人群噪聲混合;(3)將混合信號在信噪比0~20 dB之間應用兩種檢測算法進行仿真,得出誤判率。試驗結(jié)果如圖4、圖5所示。
3.2 試驗結(jié)果分析
在車輛噪聲環(huán)境下,算法的誤檢率隨信噪比的增加而增加,這是由于車輛噪聲和語音信號的差異性導致信噪比增加時算法的正確率和錯誤率同時增加,而錯誤率的增長幅度大于正確率的增長幅度。在人群噪聲環(huán)境下,算法的誤檢率隨信噪比的增加而減少。
在兩種噪聲環(huán)境且信噪比相同的情況下,改進后的算法在語音信號的誤檢率上均明顯低于改進前的誤檢率,提高了語音信號檢測的準確性;而語音激活檢測技術是當且僅當檢測到語音信號時,才激活語音偵聽節(jié)點從休眠狀態(tài)轉(zhuǎn)換為工作狀態(tài),因此改進后的算法降低了節(jié)點能耗,延長了節(jié)點的生命周期。
4 結(jié)論
改進的基于統(tǒng)計模型的語音激活檢測算法是通過相鄰幀邏輯與的方法來實現(xiàn)的。試驗結(jié)果表明:算法改進后,語音信號的誤檢率明顯低于改進之前,降低了節(jié)點能耗,延長了節(jié)點壽命,適用于便攜式語音檢測裝置中。
參考文獻
[1] 彭利華.高噪聲環(huán)境下語音激活檢測技術的研究[D].武漢:華中科技大學,2007.
[2] SOHN J S, SUNG W Y. A voice activity detector employing soft decision based noise spectrum adaptation[C]. Proceeding of the IEEE Speech Coding Workshop, 1998:365-368.
[3] CHO Y D, KONDOZ A. Analysis and improvement of a statisticalmodel-based voice activity detector[J]. IEEE Signal Processing Letters, 2001,8(10):276-278.
[4] 戴啟軍,卞正中,陳硯圃,等.基于統(tǒng)計模型實現(xiàn)語音信號有聲/無聲檢測的研究[J].西安交通大學學報,2002,36(8):839-846.
[5] EPHRAIM Y, MALAH D. Speech enhancement using a minimummean-square error short-time spectral amplitude estimator[J]. IEEE Transactions on Acoust Speech and Signal Processing,1984,32(6):1109-1121.
[6] 景占榮,羊彥.信號檢測與估計[M].北京:化學工業(yè)出版社,2004.