陳 武, 朱 忠,陳 琳,李 強(qiáng)
(中國(guó)衛(wèi)星海上測(cè)控部 江蘇 江陰 214431)
語(yǔ)音增強(qiáng)就是對(duì)帶噪語(yǔ)音進(jìn)行處理,從噪聲背景中提取、增強(qiáng)有用的語(yǔ)音信號(hào),降低噪聲干擾,以改善語(yǔ)音質(zhì)量。最早由Steven Boll提出的譜減法[1]是一種發(fā)展較早且應(yīng)用較為成熟的語(yǔ)音增強(qiáng)算法。譜減法結(jié)合其他算法產(chǎn)生了許多有效的語(yǔ)音增強(qiáng)方法[2-3],這些方法能在一定程度上解決譜減法殘留噪聲大的問(wèn)題,有較好的語(yǔ)音增強(qiáng)效果。而多數(shù)語(yǔ)音增強(qiáng)算法,如譜減法等,都需要利用噪聲的特性參數(shù),噪聲估計(jì)的準(zhǔn)確性直接影響語(yǔ)音增強(qiáng)算法的效果。
Martin[4]提出的基于最小值統(tǒng)計(jì)的譜估計(jì)方法,通過(guò)跟蹤一定窗長(zhǎng)內(nèi)語(yǔ)音功率譜的最小值來(lái)估計(jì)并更新噪聲,該算法在非平穩(wěn)的噪聲環(huán)境下也能做出較好的估計(jì)結(jié)果,但該算法對(duì)窗長(zhǎng)的選擇比較敏感。在最小值統(tǒng)計(jì)方法基礎(chǔ)上,Doblinger[5]提出的帶噪語(yǔ)音子帶平滑功率譜最小值追蹤算法,通過(guò)逐幀追蹤語(yǔ)音功率譜最小值來(lái)估計(jì)并更新噪聲譜,該方法計(jì)算效率高,但在噪聲功率譜的上升階段,不能很好的適應(yīng)噪聲信號(hào)的變化。
本文在分析Doblinger方法基礎(chǔ)上,提出了一種非平穩(wěn)噪聲環(huán)境下快速追蹤噪聲變化的方法,即動(dòng)態(tài)譜估計(jì)法,使得噪聲譜估計(jì)值既能快速適應(yīng)噪聲的變化又能保證其準(zhǔn)確性,并對(duì)譜減法做出進(jìn)一步的改進(jìn),以達(dá)到增強(qiáng)語(yǔ)音質(zhì)量的目的。
Doblinger的帶噪語(yǔ)音子帶平滑功率譜最小值追蹤算法,通過(guò)比較前一幀帶噪語(yǔ)音功率譜最小值和后幀帶噪語(yǔ)音功率譜之間的大小,對(duì)每幀帶噪語(yǔ)音功率譜最小值 進(jìn)行追蹤并更新, 具體如下:
其中,β,r為經(jīng)驗(yàn)常數(shù),分別為0.96,0.998。 為用一階遞歸公式計(jì)算帶噪語(yǔ)音平滑功率譜,具體為:
其中,a是自適應(yīng)平滑因子,一般取值0.7~0.9,λ表示帶噪語(yǔ)音分幀后的幀序號(hào),k表示頻率點(diǎn)。
圖1為在船舶主機(jī)艙噪聲干擾下SNR為-10 dB的帶噪語(yǔ)音功率譜及其局部最小值,虛線表示帶噪語(yǔ)音功率譜,實(shí)線表示帶噪語(yǔ)音局部最小值。
從圖中可以看到,在第70幀、170幀及250幀附近,當(dāng)噪聲突變時(shí),最小值追蹤方法已經(jīng)不能很好的追蹤噪聲的變化,且在整個(gè)噪聲譜的追蹤過(guò)程中,噪聲譜估計(jì)值要明顯小于真實(shí)噪聲譜。
圖1 帶噪語(yǔ)音功率譜及其局部最小值Fig. 1 Noisy speech power spectrum and local minimum
具體的改進(jìn)思路為:經(jīng)過(guò)VAD檢測(cè)以后,對(duì)于無(wú)語(yǔ)音段噪聲譜直接更新即可;而對(duì)于語(yǔ)音段的噪聲譜則要首先要判斷噪聲功率譜是處于上升階段還是下降階段,若處于上升階段且變化率沒(méi)有超過(guò)預(yù)定的門限,則可以采用步進(jìn)遞推法則進(jìn)行噪聲譜更新,并將結(jié)果與采用Doblinger方法跟蹤到的最小值進(jìn)行比較,若結(jié)果較之后者要大,則進(jìn)行修正處理,并更改遞推法則,這樣可以保證噪聲譜的更新速度,同時(shí)得到的噪聲譜估計(jì)值也更加接近真實(shí)的噪聲;若噪聲功率譜處于下降階段,按Doblinger方法更新噪聲譜。
算法具體步驟如下:
通過(guò)VAD檢測(cè)將帶噪語(yǔ)音信號(hào)分成有語(yǔ)音幀和無(wú)語(yǔ)音幀,對(duì)不同類型的幀分別進(jìn)行噪聲譜更新。
對(duì)于非語(yǔ)音幀,更新噪聲譜為:
其中ad的取值為0.95。
帶噪語(yǔ)音功率譜上升的主要原因有兩個(gè):語(yǔ)音信號(hào)的出現(xiàn)和噪聲信號(hào)功率譜的上升。假定噪聲的變化速率不超過(guò)R(dB/s),并認(rèn)為帶噪語(yǔ)音功率譜變化速率超過(guò)R的情況均是由語(yǔ)音存在引起的。第 幀噪聲譜的更新步驟包括:
1)跟蹤前λ幀帶噪語(yǔ)音子帶平滑譜最小值變化速率r1(i=1,2,3……λ),統(tǒng)計(jì)最大值r0。
2)比較第 幀r與R的大小,判斷含噪語(yǔ)音幀是處于語(yǔ)音功率譜的上升區(qū)間或是下降區(qū)間,并根據(jù)不同情況更新噪聲譜。當(dāng)r> 0 并且r>R時(shí),此時(shí)噪聲功率譜處于上升區(qū)間,噪聲譜更新為:
其中Ci為遞增系數(shù),遞增量:
將得到的譜估計(jì)值與經(jīng)Doblinger方法得到的結(jié)果比較,若譜估計(jì)值大于后者k倍時(shí),修改譜估計(jì)值為:
當(dāng)r>R時(shí),認(rèn)為帶噪語(yǔ)音功率譜的上升是由語(yǔ)音出現(xiàn)引起的,噪聲譜估計(jì)值與前一幀保持不變,即:
當(dāng)r〈 0時(shí),帶噪語(yǔ)音功率譜處于下降區(qū)間,噪聲譜的更新與Doblinger方法保持一致,即:
圖2為改進(jìn)后算法的仿真結(jié)果,其中虛線表示表示在船舶主機(jī)艙噪聲干擾下SNR為-10 dB條件帶噪語(yǔ)音功率譜,實(shí)線表示更新得到的噪聲譜估計(jì)值。
圖2 帶噪語(yǔ)音功率譜及噪聲譜估計(jì)值Fig. 2 Noisy speech power spectrum and noise spectrum estimation
從圖中可以看出,在大約60幀、175幀處,噪聲功率突然增大,估計(jì)的噪聲功率也隨后增大,表明算法能夠較好地追蹤突變?cè)肼?,但也可以看到個(gè)別幀存在噪聲過(guò)估計(jì)。
基本譜減法在減去噪聲譜后,會(huì)有較大功率譜剩余,在頻譜上呈現(xiàn)出隨機(jī)的尖峰,在聽(tīng)覺(jué)上形成殘留噪聲。為解決這一問(wèn)題,Udrea[6]等人在基本譜減法基礎(chǔ)上引入過(guò)減系數(shù) 進(jìn)行改進(jìn):
由上式可以看出,降噪的關(guān)鍵在于對(duì)噪聲譜λn(k)的準(zhǔn)確估計(jì)和確定合適的過(guò)減系數(shù)k。
噪聲譜λn(k)采用文中改進(jìn)后的噪聲動(dòng)態(tài)譜估計(jì)方法進(jìn)行實(shí)時(shí)追蹤和估計(jì),逐幀更新噪聲譜。
Udrea等人提出根據(jù)帶噪語(yǔ)音與噪聲的信噪比(Noisy Speech to Noise Ratio,NSNR)分段計(jì)算過(guò)減系數(shù)的方法[7],該方法能根據(jù)信噪比變化對(duì)過(guò)減系數(shù)進(jìn)行調(diào)整,但在信噪比較低的條件下效果并不理想。
噪聲譜減量的跟噪聲的變化情況直接相關(guān),因此定義反映噪聲變化趨勢(shì)的慣性量Gi:
慣性量Gi能在一定程度上反映噪聲的變化趨勢(shì),當(dāng)Gi>1時(shí),可以多減去一些噪聲;當(dāng)Gi〈1時(shí),可以少減去一些噪聲。由此,根據(jù)噪聲變化趨勢(shì)對(duì)過(guò)減系數(shù)k進(jìn)行調(diào)整:
式中k0取NSNR為0 dB時(shí)的初始值,根據(jù)文獻(xiàn)[7]取k0等于4。改進(jìn)后的譜減法原理框圖如圖3所示。
圖3 改進(jìn)的譜減法原理框圖Fig. 3 Improved spectrum subtraction principle diagram
為了驗(yàn)證算法對(duì)低信噪比信號(hào)的改善情況,進(jìn)行了降噪實(shí)驗(yàn)。采用的噪聲樣本是不同航速下在船舶主機(jī)艙錄制的噪聲,采樣頻率為8 kHz,噪聲與語(yǔ)音經(jīng)Matlab線性疊加后產(chǎn)生SNR=-10 dB的帶噪語(yǔ)音信號(hào)。
對(duì)比圖4至圖7可以看出,在低信噪比環(huán)境下(SNR為-10 dB),基本譜減法和改進(jìn)譜減法均能起到語(yǔ)音增強(qiáng)的作用,處理后的語(yǔ)音信號(hào)噪聲幅度明顯減小,能夠提高輸出信噪比。但基本譜減法處理后仍殘留有大量噪聲,而改進(jìn)譜減法得到的時(shí)域波形更加接近原始語(yǔ)音,只在幅度上略小于原始語(yǔ)音。
圖4 原始語(yǔ)音時(shí)域波形圖Fig. 4 Raw speech time-domain waveform
文中抓住噪聲譜估計(jì)值的準(zhǔn)確性是影響語(yǔ)音增強(qiáng)效果的關(guān)鍵因素,研究了一種快速追蹤噪聲變化的動(dòng)態(tài)譜估計(jì)方法,進(jìn)而提出了改進(jìn)的譜減語(yǔ)音增強(qiáng)算法。仿真結(jié)果表明,該算法在低信噪比的環(huán)境下能快速、準(zhǔn)確估計(jì)噪聲譜,提高了輸出語(yǔ)音信噪比,達(dá)到了改善語(yǔ)音質(zhì)量的目的。
圖5 SNR=-10dB的帶噪語(yǔ)音時(shí)域波形圖Fig. 5 Noisy speech( SNR=-10dB) time-domain waveform
圖6 基本譜減法處理后的時(shí)域波形圖Fig.6 Basic spectrum subtraction processed time-domain waveform
圖7 改進(jìn)譜減法處理后的時(shí)域波形圖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]錢國(guó)青,趙鶴鳴.基于改進(jìn)譜減算法的語(yǔ)音增強(qiáng)新方法[J].計(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)計(jì)的語(yǔ)音增強(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.