奚 吉,梁瑞宇,王國偉,仇曉梅,馬安駿
XI Ji1,LIANG Ruiyu2,WANG Guowei2,QIU Xiaomei2,MAAnjun2
1.常州工學院 計算機信息工程學院,江蘇 常州 213002
2.南京工程學院 通信工程學院,南京 211167
1.School of Computer Information and Engineering,Changzhou Institute of Technology,Changzhou,Jiangsu 213002,China
2.School of Communication Engineering,Nanjing Institute of Technology,Nanjing 211167,China
改善噪聲環(huán)境下的語音理解度,一直是助聽器性能提高的瓶頸。研究表明,在限定的背景噪聲下,聽障患者要達到正常人的理解水平的前提是將語音信號提高大約30 dB[1]。由于環(huán)境噪聲的復雜性,以及其可能與語音存在的強相關性,使得提高噪聲環(huán)境下聽障患者的語音理解度存在很多挑戰(zhàn)。
目前,改善方法主要有兩類:方向性麥克風和語音降噪算法[2]。前者是基于語音和噪聲在空間上的差異性設計,利用方向性麥克風或波束形成技術來增強特點方向上的語音信號。但是此類方法受麥克風的數量或尺寸限制,性能改善有限,而且不適用于深耳道助聽器。第二種方法旨在利用語音和噪聲的時間和頻譜上的差異,將語音從含噪信號中分離出來。但是,語音和噪聲可能在時間和頻譜上存在重疊,因此很多學者針對這個問題進行了深入研究。
在助聽器降噪算法中,常采用多通道降噪策略,即在噪聲占優(yōu)時減小頻道的噪聲干擾。目前,語音降噪算法主要有譜減法、維納濾波法[3-4]、子空間法[5]、聽覺掩蔽法[6]等。但是譜減法雖然實現簡單,容易產生音樂噪聲;子空間法的計算量大。而維納濾波算法采用短時譜估計算法削弱子帶信號,即使期望信號和噪聲覆蓋相同的頻率域。為此,本文在維納濾波研究的基礎上,提出一種多通道助聽器語音降噪算法。
算法首先結合人耳聽覺特性和助聽器響度補償的特點,將語音信號進行Gammatone分解為多路子帶信號。然后在每個子帶內用基于先驗信噪比估計的維納濾波器進行語音增強處理。最后通過綜合子帶信號,得到增強的語音。此外,為了改善維納濾波算法噪聲譜估計的問題,本文提出一種基于包絡估計的語音活動檢測算法,并用于改善維納濾波性能。實驗表明,與傳統維納濾波法相比,該方法能更有效地抑制殘留噪聲,提高語音可懂度,具有較高的實用價值。
耳蝸基底膜上每個部位的最大位移都具有頻率選擇性,耳蝸的部位-頻率特異性在整個聽覺系統中都有所體現。這種頻率選擇性通常由一組基于等效矩形帶寬(Equivalent Rectangular Band,ERB)刻度的伽馬通濾波器實現。伽馬通濾波器模擬基底膜不同部位最大位移處的響應。n階伽馬通濾波器的時域表示如式(1)所示。
這里?代表相位,b代表帶寬,n是濾波器階數,f為中心頻率。仿真實驗選擇n為4,因為此時伽馬通濾波器的幅度特征與人耳聽覺濾波器形狀更匹配[7]。本文中濾波器的路數選擇基于兩點考慮:(1)等響度補償算法是助聽器的常用算法之一[8],因此多通道語音分解是助聽器的基本操作,所以該算法可和等響度補償算法相結合。(2)雖然濾波器分解的路數越多越能符合人耳的特性,更能細致地計算不同頻率對算法性能的影響,效果更佳。但是,路數的增加同時意味著計算量的增加,而助聽器受體積的限制,其功率和內存有限。目前新聲公司的瑞翼系列已可做到128路的濾波處理,因此本文選用24路濾波器組進行研究,存在集成到現有的助聽器算法中的可能。
根據Moore的論述,人耳聽覺濾波器的中心頻率只覆蓋50~15 000 Hz(對應ERB尺度范圍為1.8~38.8)的頻率范圍。但是,受信號采樣頻率限制,本研究所需的中心頻率在50 Hz到8 000 Hz之間(采樣頻率16 000 Hz)。
對于第m幀帶噪語音信號:
式中sm(n)是第m幀純凈語音信號,nm(n)為第m幀噪聲信號,維納濾波器就是在最小均方誤差準則(MSE)下實現對語音信號sm(n)的估計。在sm(n)與nm(n)不相關且均為平穩(wěn)隨機過程條件下,對式(2)進行離散傅里葉變換,得:
設維納濾波的頻域響應函數為G(m,k),則最佳估計?m(n)的傅里葉變換為 ?(m,k):
以?(m,k)與S(m,k)的最小均方誤差為準則,可得:
由上式可知,Y(m,k)為帶噪信號的FFT變換,可直接求得。因此,維納濾波的關鍵在于獲得對噪聲功率N(m,k)的準確估計值N^(m,k)。
在維納濾波語音增強算法中,需要估計當前幀的噪聲功率譜,經典的算法是通過計算無聲期間的統計平均來估計噪聲功率譜。這種算法存在兩個問題:(1)在噪聲環(huán)境下,尤其是低信噪比情況下,無聲檢測的效率低,從而使噪聲估計出現偏差;(2)沒有考慮噪聲的功率譜在發(fā)聲期間的變化。
為了解決上述問題,在維納濾波算法基礎上,本文提出了一種改進的算法,包括:(1)提出一種基于包絡估計的VAD算法,提高無聲段檢測效率,并估計當前幀的信噪比,實時調整系統參數;(2)在傳統的估計噪聲功率譜的方法基礎上,結合每幀帶噪語音功率譜推導當前幀的噪聲功率譜;(3)提出基于估計信噪比的維納濾波頻響參數調整算法。
算法步驟與實現如下:
(1)對帶噪語音進行端點檢測確定語音起始幀。一般情況下,語音段信噪比要比噪聲段的信噪比要高。因此本文提出一種基于信號調制率的VAD算法,通過計算信號調整率,計算信號信噪比,并根據信噪比變化判斷語音是否開始。具體方法如下:
①變換子帶輸入信號 ym(n)到dB域:ydBm(n)=20lg(abs(ym(n)))。
②平滑 ydBm(n),求波形包絡VS:VS(n)=τS·VS(n-1)+(1- τS)·ydBm(n)。
③采用最小值追蹤法估計噪聲包絡VN:
④估計信噪比Snr(n)=VS(n)-VN(n)。
⑤無聲段的判斷:取前10幀的信噪比作為閾值,信噪比大于此閾值的信號段為語音段。
(2)標記語音段的起始時刻,通過計算語音段前的無聲期間統計平均的噪聲方差作為噪聲功率譜的初值。
(3)計算每幀語音出現的概率 f(m,k):
式中,I(m,k)為靜音標記函數。該幀信號為靜音時,I(m,k)為0;否則為1。αp為語音出現的概率系數。
(4)實時估計當前幀的噪聲功率譜:
此處,第一幀噪聲功率譜按式計算獲得。而α=a+b·αp,其系數a和b可根據信噪比進行實時更新。
對于維納濾波算法來說,VAD算法是基礎。本文比較了傳統的基于信號能量的算法和本文提出的算法。實驗語音為一段英文,內容為“I wish I could”。因為,在高信噪比情況下,VAD檢測的效果都比較好,因此實驗選用的信噪比為-10 dB。實驗結果如圖1所示。
圖1 靜音檢測算法比較
從圖1可以看出,在低信噪比情況下,從帶噪語音信號中幾乎沒法識別出語音信號。因此,基于能量法的靜音檢測算法存在很大偏差,而且在非語音段存在很多虛假語音段。相比來說,本文提出的方法的靜音檢測效果較好,除了“I could”中的“I”沒有檢測到外,但是少了很多虛假檢測。因此,該算法能改善噪聲譜估計效果,有助于提高維納濾波算法性能。
利用Matlab對本文提出的語音增強方法進行測試,并與傳統維納濾波算法和基于先驗信噪比估計的維納濾波算法[9]進行對比。實驗語音為錄制的一段語音,噪聲選自NOISEX-92噪聲庫中的白噪聲、鬧市聲和驅逐艦引擎噪聲,在輸入信噪比為-10 dB、0 dB、10 dB下分別測試。實驗中語音信號的采樣率為8 kHz,幀長為256點,幀移50%。
客觀評價指標包含對數似然率(Log-Likelihood Ratio,LLR)、信噪比(Signal to Noise Ratio,SNR)、加權譜傾斜測度(Weighted-Slope Spectral distance,WSS)和語音質量的感知評價值(Perceptual Evaluation of Speech Quality,PESQ)四個指標[10]。原始語音的各項指標分別為0(LLR),無窮(SNR),0(WSS)和4.5(PESQ),由此可知LLR和WSS指標的數值是越小越好,而另兩種指標的數值是越大越好。
從表1可知,本文提出的方法相比于其他兩種方法,四種性能指標都較為優(yōu)越。如相比于傳統的維納濾波算法來說,四種指標的改善程度為-0.36,7.67,-41.13和0.48,而相比于基于先驗SNR的維納濾波算法,四種指標的改善程度為-0.34,6.68,-40.15和0.35。而三種噪聲類型中,提出的算法的四種指標差別不大,其中鬧市聲的LLR和SNR指標最佳,白噪聲的WSS指標最佳,而驅逐艦引擎聲的PESQ指標最佳。而隨著信噪比的降低,系統的各項指標都有所降低,這符合實際情況。
為了確定客觀性能評估,進行了主觀評價。語音信號選自漢語普通話詞庫,分別通過三種算法進行降噪處理。在平均意見得分(Mean Opinion Score,MOS)測試中選用20位試聽者,要求試聽者根據自己的認可度從1~5給出每種測試語音的印象得分,從而得到三種算法的平均意見得分。
從圖2可知看出,本文提出算法的主觀評價性能比其他兩種算法都好,且隨著信噪比的提高,MOS的值越來越高。由于在低信噪比下,其他兩種算法的靜音檢測算法不準確,從而影響了算法的噪聲估計性能,也影響了語音質量。而本文的算法由于改善了靜音檢測性能,且綜合考慮語音幀和噪聲幀來實時評估噪聲幀,從而有效地抑制了殘留噪聲,減少了語音的聽覺失真,所以提高了語音的可懂度。
表1 降噪算法客觀評價指標對比
圖2 算法主觀性能比較
本文提出一種改進的多通道維納濾波算法的助聽器語音降噪算法。首先結合人耳聽覺特性和助聽器響度補償的特點,將語音信號進行Gammatone分解為多路子帶信號。然后在每個子帶內用基于先驗信噪比估計的維納濾波器進行語音增強處理。最后通過綜合子帶信號,得到增強的語音。此外,為了改善維納濾波算法噪聲譜估計的問題,本文提出一種基于包絡估計的語音活動檢測算法,并用于改善維納濾波性能。實驗表明,與傳統維納濾波法相比,該方法能更有效地抑制殘留噪聲,提高語音可懂度,具有較高的實用價值。算法能有效地抑制殘留噪聲,對語音增強有較好的效果,能提高聽力損傷患者的語音可懂度。
[1]Edwards B.The future of hearing aid technology[J].Trends in Amplification,2007,11(1):31-46.
[2]Chung K.Challenges and recent developments in hearing aids.Part I.Speech understanding in noise,microphone technologies and noise reduction algorithms[J].Trends in Amplification,2004,8(3):83-124.
[3]Van Den Bogaert T,Doclo S,Wouters J,et al.Speech enhancement with multichannel Wiener filter techniques in multimicrophone binaural hearing aids[J].The Journal of the Acoustical Society of America,2009,125(1):360-371.
[4]Klasen T J,Den Bogaert T,Moonen M,et al.Binaural noise reduction algorithms for hearing aids that preserve interaural time delay cues[J].IEEE Transactions on Signal Processing,2007,55(4):1579-1585.
[5]Sarradj E.A fast signal subspace approach for the determination of absolute levels from phased microphone array measurements[J].Journal of Sound and Vibration,2010,329(9):1553-1569.
[6]Hamacher V,Chalupper J,Eggers J,et al.Signal processing in high-end hearing aids:state of the art,challenges,and future trends[J].Eurasip Journal on Applied Signal Processing,2005,18:2915-2929.
[7]Wrigley S N,Brown G J.A computational model of auditory selective attention[J].IEEE Transactions on Neural Networks,2004,15(5):1151-1163.
[8]王青云,趙力,趙立業(yè),等.一種數字助聽器多通道響度補償方法[J].電子與信息學報,2009,31(4):832-835.
[9]張亮,龔衛(wèi)國.一種改進的維納濾波語音增強算法[J].計算機工程與應用,2010,46(26):126-131.
[10]Wojcicki K,Milacic M,Stark A,et al.Exploiting conjugate symmetry of the short-time Fourier spectrum for speech enhancement[J].IEEE Signal Processing Letters,2008,15:461-464.