陳 武, 朱 忠,陳 琳,李 強(qiáng)
(中國衛(wèi)星海上測控部 江蘇 江陰 214431)
語音增強(qiáng)就是對帶噪語音進(jìn)行處理,從噪聲背景中提取、增強(qiáng)有用的語音信號,降低噪聲干擾,以改善語音質(zhì)量。最早由Steven Boll提出的譜減法[1]是一種發(fā)展較早且應(yīng)用較為成熟的語音增強(qiáng)算法。譜減法結(jié)合其他算法產(chǎn)生了許多有效的語音增強(qiáng)方法[2-3],這些方法能在一定程度上解決譜減法殘留噪聲大的問題,有較好的語音增強(qiáng)效果。而多數(shù)語音增強(qiáng)算法,如譜減法等,都需要利用噪聲的特性參數(shù),噪聲估計的準(zhǔn)確性直接影響語音增強(qiáng)算法的效果。
Martin[4]提出的基于最小值統(tǒng)計的譜估計方法,通過跟蹤一定窗長內(nèi)語音功率譜的最小值來估計并更新噪聲,該算法在非平穩(wěn)的噪聲環(huán)境下也能做出較好的估計結(jié)果,但該算法對窗長的選擇比較敏感。在最小值統(tǒng)計方法基礎(chǔ)上,Doblinger[5]提出的帶噪語音子帶平滑功率譜最小值追蹤算法,通過逐幀追蹤語音功率譜最小值來估計并更新噪聲譜,該方法計算效率高,但在噪聲功率譜的上升階段,不能很好的適應(yīng)噪聲信號的變化。
本文在分析Doblinger方法基礎(chǔ)上,提出了一種非平穩(wěn)噪聲環(huán)境下快速追蹤噪聲變化的方法,即動態(tài)譜估計法,使得噪聲譜估計值既能快速適應(yīng)噪聲的變化又能保證其準(zhǔn)確性,并對譜減法做出進(jìn)一步的改進(jìn),以達(dá)到增強(qiáng)語音質(zhì)量的目的。
Doblinger的帶噪語音子帶平滑功率譜最小值追蹤算法,通過比較前一幀帶噪語音功率譜最小值和后幀帶噪語音功率譜之間的大小,對每幀帶噪語音功率譜最小值 進(jìn)行追蹤并更新, 具體如下:

其中,β,r為經(jīng)驗(yàn)常數(shù),分別為0.96,0.998。 為用一階遞歸公式計算帶噪語音平滑功率譜,具體為:

其中,a是自適應(yīng)平滑因子,一般取值0.7~0.9,λ表示帶噪語音分幀后的幀序號,k表示頻率點(diǎn)。
圖1為在船舶主機(jī)艙噪聲干擾下SNR為-10 dB的帶噪語音功率譜及其局部最小值,虛線表示帶噪語音功率譜,實(shí)線表示帶噪語音局部最小值。
從圖中可以看到,在第70幀、170幀及250幀附近,當(dāng)噪聲突變時,最小值追蹤方法已經(jīng)不能很好的追蹤噪聲的變化,且在整個噪聲譜的追蹤過程中,噪聲譜估計值要明顯小于真實(shí)噪聲譜。

圖1 帶噪語音功率譜及其局部最小值Fig. 1 Noisy speech power spectrum and local minimum
具體的改進(jìn)思路為:經(jīng)過VAD檢測以后,對于無語音段噪聲譜直接更新即可;而對于語音段的噪聲譜則要首先要判斷噪聲功率譜是處于上升階段還是下降階段,若處于上升階段且變化率沒有超過預(yù)定的門限,則可以采用步進(jìn)遞推法則進(jìn)行噪聲譜更新,并將結(jié)果與采用Doblinger方法跟蹤到的最小值進(jìn)行比較,若結(jié)果較之后者要大,則進(jìn)行修正處理,并更改遞推法則,這樣可以保證噪聲譜的更新速度,同時得到的噪聲譜估計值也更加接近真實(shí)的噪聲;若噪聲功率譜處于下降階段,按Doblinger方法更新噪聲譜。
算法具體步驟如下:
通過VAD檢測將帶噪語音信號分成有語音幀和無語音幀,對不同類型的幀分別進(jìn)行噪聲譜更新。
對于非語音幀,更新噪聲譜為:

其中ad的取值為0.95。
帶噪語音功率譜上升的主要原因有兩個:語音信號的出現(xiàn)和噪聲信號功率譜的上升。假定噪聲的變化速率不超過R(dB/s),并認(rèn)為帶噪語音功率譜變化速率超過R的情況均是由語音存在引起的。第 幀噪聲譜的更新步驟包括:
1)跟蹤前λ幀帶噪語音子帶平滑譜最小值變化速率r1(i=1,2,3……λ),統(tǒng)計最大值r0。

2)比較第 幀r與R的大小,判斷含噪語音幀是處于語音功率譜的上升區(qū)間或是下降區(qū)間,并根據(jù)不同情況更新噪聲譜。當(dāng)r> 0 并且r>R時,此時噪聲功率譜處于上升區(qū)間,噪聲譜更新為:

其中Ci為遞增系數(shù),遞增量:

將得到的譜估計值與經(jīng)Doblinger方法得到的結(jié)果比較,若譜估計值大于后者k倍時,修改譜估計值為:

當(dāng)r>R時,認(rèn)為帶噪語音功率譜的上升是由語音出現(xiàn)引起的,噪聲譜估計值與前一幀保持不變,即:

當(dāng)r〈 0時,帶噪語音功率譜處于下降區(qū)間,噪聲譜的更新與Doblinger方法保持一致,即:

圖2為改進(jìn)后算法的仿真結(jié)果,其中虛線表示表示在船舶主機(jī)艙噪聲干擾下SNR為-10 dB條件帶噪語音功率譜,實(shí)線表示更新得到的噪聲譜估計值。

圖2 帶噪語音功率譜及噪聲譜估計值Fig. 2 Noisy speech power spectrum and noise spectrum estimation
從圖中可以看出,在大約60幀、175幀處,噪聲功率突然增大,估計的噪聲功率也隨后增大,表明算法能夠較好地追蹤突變噪聲,但也可以看到個別幀存在噪聲過估計。
基本譜減法在減去噪聲譜后,會有較大功率譜剩余,在頻譜上呈現(xiàn)出隨機(jī)的尖峰,在聽覺上形成殘留噪聲。為解決這一問題,Udrea[6]等人在基本譜減法基礎(chǔ)上引入過減系數(shù) 進(jìn)行改進(jìn):

由上式可以看出,降噪的關(guān)鍵在于對噪聲譜λn(k)的準(zhǔn)確估計和確定合適的過減系數(shù)k。
噪聲譜λn(k)采用文中改進(jìn)后的噪聲動態(tài)譜估計方法進(jìn)行實(shí)時追蹤和估計,逐幀更新噪聲譜。
Udrea等人提出根據(jù)帶噪語音與噪聲的信噪比(Noisy Speech to Noise Ratio,NSNR)分段計算過減系數(shù)的方法[7],該方法能根據(jù)信噪比變化對過減系數(shù)進(jìn)行調(diào)整,但在信噪比較低的條件下效果并不理想。
噪聲譜減量的跟噪聲的變化情況直接相關(guān),因此定義反映噪聲變化趨勢的慣性量Gi:

慣性量Gi能在一定程度上反映噪聲的變化趨勢,當(dāng)Gi>1時,可以多減去一些噪聲;當(dāng)Gi〈1時,可以少減去一些噪聲。由此,根據(jù)噪聲變化趨勢對過減系數(shù)k進(jìn)行調(diào)整:

式中k0取NSNR為0 dB時的初始值,根據(jù)文獻(xiàn)[7]取k0等于4。改進(jìn)后的譜減法原理框圖如圖3所示。

圖3 改進(jìn)的譜減法原理框圖Fig. 3 Improved spectrum subtraction principle diagram
為了驗(yàn)證算法對低信噪比信號的改善情況,進(jìn)行了降噪實(shí)驗(yàn)。采用的噪聲樣本是不同航速下在船舶主機(jī)艙錄制的噪聲,采樣頻率為8 kHz,噪聲與語音經(jīng)Matlab線性疊加后產(chǎn)生SNR=-10 dB的帶噪語音信號。
對比圖4至圖7可以看出,在低信噪比環(huán)境下(SNR為-10 dB),基本譜減法和改進(jìn)譜減法均能起到語音增強(qiáng)的作用,處理后的語音信號噪聲幅度明顯減小,能夠提高輸出信噪比。但基本譜減法處理后仍殘留有大量噪聲,而改進(jìn)譜減法得到的時域波形更加接近原始語音,只在幅度上略小于原始語音。

圖4 原始語音時域波形圖Fig. 4 Raw speech time-domain waveform
文中抓住噪聲譜估計值的準(zhǔn)確性是影響語音增強(qiáng)效果的關(guān)鍵因素,研究了一種快速追蹤噪聲變化的動態(tài)譜估計方法,進(jìn)而提出了改進(jìn)的譜減語音增強(qiáng)算法。仿真結(jié)果表明,該算法在低信噪比的環(huán)境下能快速、準(zhǔn)確估計噪聲譜,提高了輸出語音信噪比,達(dá)到了改善語音質(zhì)量的目的。

圖5 SNR=-10dB的帶噪語音時域波形圖Fig. 5 Noisy speech( SNR=-10dB) time-domain waveform

圖6 基本譜減法處理后的時域波形圖Fig.6 Basic spectrum subtraction processed time-domain waveform

圖7 改進(jìn)譜減法處理后的時域波形圖Fig.7 Improved spectrum subtraction processed time-domain waveform
[1]BOLL S F. Suppression of acoustic noise in speech using spectrum subtraction [J]. Acoustic speech and Signal Processing IEEE Transaction,1979,27(2):113-120.
[2]錢國青,趙鶴鳴.基于改進(jìn)譜減算法的語音增強(qiáng)新方法[J].計算機(jī)工程與應(yīng)用,2005,41(3):42-43.
QIAN Guo-qing,ZHAO He-ming. New speech enhancement algorithm based on the improved spectral subtraction[J].Computer Engineering and Applications, 2005,41(3):42-43.
[3]翟士奇,盧晶,鄒海山.一種基于最小能量統(tǒng)計的語音增強(qiáng)改進(jìn)算法[J].電聲技術(shù),2012,36(9):41-43.
ZHAI Shi-qi,LU Jing,ZOU Hai-shan.An improved speech enhancement algorithm based on minimum statistics [J].Audio Engineering, 2012,36(9):41-43.
[4]Martin R.Spectrum Subtraction Based on Minimum Statistics[J].European Signal Processing, 1994:1128-1185.
[5]Doblinger G.Computationally Efficient Speech Enhancement by Spectrum Minima Tracking in Sub-band[J]. Eurospeech,1995(2):1513-1516.
[6]Udrea Radu M, Ciochina S. Speech Enhancement Using Spectrum Over-subtraction and Residual Noise Reduction [J]. Signals Circuits and Systems,2003,4(1):165-168.
[7]Udrea Radu M,Vizireanu D N, Pirnog I.A perceptual approach for noise reduction using nonlinear spectrum subtraction[C].Proceedings of 8th International Conference ,Serbia, 2007:649-652.