摘 要: 為了提高語音激活檢測在汽車內部噪聲環境下的檢測性能,提出了一種基于分帶譜熵的語音激活檢測算法。將實驗仿真結果與ITU標準G.729B中的檢測性能進行了分析比較,結果表明,該算法在汽車內部噪聲環境下具有較高的準確率和穩定性,且算法的復雜度較低,具有一定的實用價值。
關鍵詞: 語音激活檢測;分帶譜熵;汽車內部噪聲
語音激活檢測VAD(Voice Activity Detection)指采用一定的信號處理技術來檢測信號中是否包含語音信號,并且從背景噪聲中找出每一段語音的開始和終止,以明確找出語音信號存在的范圍。目前該技術被廣泛應用在語音編碼、語音增強、語音合成、回聲抵消以及語音通信等領域。
語音激活檢測的研究歷史很長,從最早的基于短時能量、過零率的判斷,到基于語音模型和統計知識的各種復雜算法,語音激活檢測算法的原理和實現方法都在不斷地更新。近年來,一些學者提出了基于支持向量機[1]、小波理論[2]、神經網絡[3]和循環累積量[4]等理論的檢測方法,對語音檢測方法的研究給出了新的思路。如何在保證算法魯棒性的同時降低算法的復雜度是一個極具挑戰性的問題,也是目前語音激活檢測中的熱點問題。本文設計了一種基于分帶譜熵的語音激活檢測算法,該方法采用分帶譜熵作為判決參數,達到了較高的判別準確率及較低的算法復雜度。
1 特征提取
特征提取的框圖如圖1所示。首先對加噪語音進行分幀和加窗處理,然后進行時頻變換,由參考文獻[5]知,與常用的FFT相比,用離散余弦變換譜熵來區分噪聲與語音具有更大的隔離度,因此本文選用離散余弦變換(DCT)。離散余弦變換的定義式為:
在DCT變換之后,對DCT系數進行分帶,分成32個子帶,然后分別計算它的能量,其計算公式為:
為了提高概率密度函數分辨語音信號和非語音信號的能力,提出了一些經驗性的約束。首先,由于大部分語音信號都在250 Hz~6 000 Hz頻帶內,因此有:
為進一步提高語音激活檢測的準確率,本文采用短時平均能量進行加權的方法,即:
從圖2(c)和圖2(d)可以看出,加權譜熵對幀能量更加敏感,而通過對其取對數,在一定程度上降低了能量的影響。正因為如此,本文采用加權譜熵的對數值作為特征量,提高了算法的魯棒性。
2 語音激活檢測算法
(1) 對輸入的語音信號s(n)進行分幀處理,幀長32 ms (256個樣點),得到每幀信號si(n),i表示第i幀,并對si(n)進行加窗處理,窗函數采用漢明窗。
(2) 自適應閾值的確定。可合理假設待檢測語音的前幾幀是非語音信號,本文中假設前10幀為非語音信號,計算其加權譜熵的對數值,然后求它們的最大值,門限值就是前10幀信號的加權譜熵的對數值中的最大值。
(3) 計算每一幀信號的加權譜熵的對數值,然后把它與門限值進行比較。如果大于門限值,則判為語音幀,否則判為噪聲幀或靜音幀。
(4)對判決結果進行平滑處理。為了有效地避免激活狀態的頻繁切換,本文對判決結果進行平滑后處理。由于無論是非語音信號還是語音信號,一般都會持續一段時間,因此為了剔除判決時的少數壞點,在判決結束后加入了平滑后處理。即:
3 仿真與實驗結果
本文的算法用VC、Matlab進行仿真。圖3所示為原始語音、加噪語音(噪聲為汽車內部噪聲,信噪比為0 dB)、人工標注的結果和使用本文算法檢測的結果。圖3(a)是一段純凈語音,其采樣率為8 000 Hz。圖3(b)是加噪語音,所加噪聲為汽車內部噪聲,信噪比為0 dB。圖3(c)為本文算法檢測的結果。圖3(d)為人工標注的結果。由圖3(c)可以看出,本文的方法對低信噪比條件下的語音依然具有較好的分類效果。
為進一步說明本文算法對加噪語音進行檢測的魯棒性,對本文算法和G.729B中的VAD算法進行對比。對1 000幀中文信號進行實驗, 測試環境分別選取了-5 dB、 0 dB、5 dB、10 dB、20 dB、30 dB等6個不同的信噪比,充分體現了算法在不同信噪比下的性能。圖4給出了不同算法在相同背景噪聲類型(都為汽車內部噪聲)、不同信噪比情況下的檢測準確率。
從圖4可以看出,本文算法的性能基本上不隨信噪比的變化而變化。同時可以看出當信噪比逐漸降低時,G.729B算法性能有了明顯的下降。
本文中提出了一種能夠準確進行VAD判決的算法。該算法提取了加權譜熵的對數值作為特征,然后通過自適應閾值,實現語音和靜音(或噪聲)的準確檢測。實驗結果表明,該語音激活檢測算法在汽車內部噪聲條件具有較高的準確率和穩定性,是一種有效、簡單的語音激活檢測算法。
參考文獻
[1] 齊峰巖,鮑長春. 一種基于支持向量機的含噪語音的清/濁/靜音分類的新方法[J].電子學報,2006,34(4):605-611.
[2] AGHAJANI K H, MANZURI M T, KARAMI M, et al. A robust voice activity detection based on wavelet transform. 2008 Second International Conference on Electrical Engineering (ICEE). Lahore, Pakistan,2008.
[3] 柳燕,鮑長春. 基于競爭網絡的語音激活算法研究[J].信號處理,2006,22 (1):57-60.
[4] 竇慧晶,李如瑋,鮑長春. 一種基于循環累積量的語音激活檢測算法[C].黃山:第九屆全國人機語音通訊學術會議(NCMMSC2007),2007.
[5] 汪濤,胡劍凌.基于低信噪比條件下的VAD算法研究[J].電子工程師,2005,31(2):42-45.