郭莉莉,陳永紅
(南通大學杏林學院,江蘇 南通 226000)
在語音信號傳輸過程中,由于環境和傳輸信道等因素的影響,收到的語音信號中往往夾雜著噪聲,使語音信號產生失真。語音信號增強算法主要是研究如何對失真的帶噪語音信號進行有效的降噪處理,盡可能提取出純凈語音信號[1]。在語音增強算法中,基于短時譜估計的增強算法因效率高、計算簡單、易于處理等特點而應用廣泛。基于短時譜估計的語音增強算法可分為譜減法[2]、最小均方誤差算法[3]和維納濾波算法[4]等,其中基于譜減法的語音增強算法得到了廣泛研究。文獻[5]將壓縮感知應用于譜減法語音增強算法,提高了語音的可懂度;文獻[6]提出一種基于噪聲譜估計的譜減法語音增強算法,通過端點檢測和噪聲估計,提高了語音信號的信噪比和清晰度。本文首先分析傳統的譜減法語音增強算法的基本原理,針對傳統的譜減法中存在的“音樂噪聲”問題,引入過減因子和補償因子兩個參數對傳統的譜減法進行改進,得到引入參數的改進形式譜減法語音增強算法。最后,仿真結果驗證了改進算法的語音增強效果。
譜減法語音增強的基本原理是在語音信號和噪聲通過加性模型構成帶噪語音信號且語音信號與噪聲之間互不相關的前提假設下,將帶噪語音信號轉化到頻域進行“短時處理”,從帶噪語音的短時譜中減去估計出的噪聲短時譜,從而獲得增強處理后的純凈語音信號的估計短時譜,最后通過傅里葉逆變換將其恢復回時域信號。
假設純凈語音的時域采樣信號為s(n),噪聲的時域采樣信號為d(n),則帶噪語音的時域信號y(n)可表示為:

由于譜減法是基于短時譜的估計算法,故首先對信號y(n)、s(n)和d(n)進行分幀、加窗處理,得到:

式中,yw(n)、sw(n)和dw(n)分別為y(n)、s(n)和d(n)經過分幀、加窗處理以后的結果。
對式(2)兩邊同時做傅里葉變換,得到:

式中,Yw(ω)、Sw(ω)和Dw(ω)分別為yw(n)、sw(n) 和dw(n)的傅里葉變換。
對式(3)等式兩邊同時求平方,可得帶噪語音信號的功率譜為:

式中,S*w(ω)Dw(ω)+Sw(ω)D*w(ω)表示Sw(ω)和Dw(ω) 在相關性作用下產生的分量,也可寫為交叉項2Re[Sw(ω)D*w(ω)],故式(4)變為:

基于前提假設了s(n)和d(n)之間互不相干的統計特性,可認為交叉項為2E{Re[Sw(ω)D*w(ω)]}=0。式(6)中噪聲譜是未知的,可用前導無語音段獲得的估計值來代替。一般采用平均法對噪聲譜進行估計,即:

式中,N為前導無語音幀的幀數。基于語音的短時平穩特性,式(6)可以變為:



根據以上的分析和推導過程,譜減法語音增強過程的原理如圖1 所示。

圖1 譜減法語音增強原理
由傳統的譜減法分析過程可以看出,譜減法是在整個語音段中減去相同程度的噪聲功率譜估計值來獲得增強后的純凈語音信號。在現實中,這種方法往往會帶來很多不足。由于語音信號的能量分布不均勻,在頻譜上語音的能量通常聚集在某一頻段之內,特別是處于共振峰段的語音信號幅度比起噪聲往往要高出很多。所以,單一地使用同一個標準去處理噪聲分量無法使純凈語音的成分更為突出,也無法增加純凈語音的清晰度。加上噪聲的隨機性及復雜性,使得噪聲的頻域值與前導無語音段的噪聲估計值往往存在較大差距,單一使用同一個處理標準會有大量的噪聲殘留下來,帶來“音樂噪聲”[8]。另外,在式(10)中,傳統的譜減法使用了一種非線性方式,將功率譜相減后產生的負值設置為零,實際上是采用了一種調整選擇法來進行處理,但把負值直接設置為零,待語音恢復到時域后可能會有明顯的多頻音顫音,影響人耳的聽覺感受。針對上述不足,對譜減法進行優化,在式(10)的調整機制中引入參數a、b進行人為的控制選擇。譜減法的改進形式如下:

引入的兩個參數a、b,其意義分別如下。
(1)a是過減因子,取值范圍為a≥1。增大a的值,可以在帶噪語音頻譜上減去更多的噪聲分量。噪聲分量減小,會提高輸出信噪比,且使得殘留在頻譜上的“音樂噪聲”的窄帶譜幅度減小,對殘留噪聲有很好的抑制作用,同時可以有效突出純凈語音的成分。
(2)b是補償因子,取值范圍為0 ≤b<<1。增大b的值,可以在頻譜上保留極少的部分加性噪聲分量,實則是為了減少毛刺而人為地為增強后的純凈語音信號填充入部分背景噪聲。一是可以利用人耳的聽覺掩蔽特性來弱化殘留噪聲;二是可以對殘余的噪聲有聽覺上的平緩作用,降低人耳對殘留噪聲的感知度,且在一定程度上提高人耳的接受度。
參數a、b的取值在不同噪聲環境下會帶來不同的降噪結果。若a=1、b=0,就是傳統的譜減法表達式。倘若參數a取值過大,從帶噪語音信號的功率譜中減去過多的噪聲估計功率譜可能會導致語音失真;如果參數b取值過大,可能會混合疊加入過量的背景噪聲,不僅輸出信噪比會下降,人耳的接受度也會降低。因此,引入參數a、b實則是一種基于譜減法的折中改進方式。
本文在MATLAB 軟件中對傳統的譜減法和改進形式譜減法的語音增強效果進行仿真,其中采樣頻率fs=8 000 Hz,前導空白語音段長度為0.25 s,幀長為25 ms,幀移為10 ms。a=1、b=0 即為傳統譜減法的仿真結果,對參數加以人為控制選擇以a=4、b=0.001 作為改進形式譜減法的一組數據。仿真流程如圖2 所示。

圖2 仿真流程
以高斯白噪聲作為背景噪聲,輸入信噪比分別取-5 dB、0 dB、5 dB,譜減法和引入參數的改進形式譜減法對語音信號的增強效果分別如圖3、圖4 和圖5 所示。圖3~圖5 主要是從時域波形圖的角度來觀察。可以看出,輸入信噪比越低,純凈語音被噪聲湮沒的程度越強。當輸入信噪比為 -5 dB 時,幾乎看不出存儲純凈語音信號的波形段。但是,譜減法和改進形式的譜減法對不同輸入信噪比的帶噪語音處理后都減少了其中的噪聲分量,尤其是改進形式的譜減法相比于譜減法,純凈語音成分的時域波形更加突出,降低了波形失真程度,使得語音信號的增強效果更為明顯。

圖3 輸入SNR=-5 dB 時譜減法與改進形式譜減法語音增強效果對比

圖4 輸入SNR=0 dB 時譜減法與改進形式譜減法語音增強效果對比

圖5 輸入SNR=5 dB 時譜減法與改進形式譜減法語音增強效果對比
信噪比改善(Signal-to-Noise Ratio Improvement,SNRI)定義為最終SNR 減去原始SNR。譜減法和改進形式譜減法的SNRI,如表1 所示。從表1 可知,隨著輸入信噪比的提高,譜減法和改進形式譜減法對應的輸出信噪比隨之增加,但改進形式的譜減法輸出信噪比總體比譜減法提高5 dB 左右。在輸出信噪比遞增的同時,SNRI 的值卻逐漸降低,說明基于譜減法的增強算法在低輸入信噪比時對帶噪語音的信噪比改善更明顯。

表1 不同強度噪聲環境下的信噪比改善
譜減法和改進形式譜減法的MOS 評分結果,如表2 所示。從表2 可知,相比于譜減法,帶噪語音在改進形式的譜減法處理后所獲得的MOS 評分得到了更顯著的提高。每組實驗中,譜減法處理后的語音信號都可以聽見不同程度的類似水流一般的間歇性的殘留噪聲,而經改進形式譜減法處理后的語音信號相比于譜減法來說,可以明顯感受到殘留噪聲得到了減弱,語音聽起來更加清晰,也較為流暢,減小了失真度,改善了人耳的接受度。

表2 MOS 評分
經過傳統的譜減法處理后的語音信號可以獲得一定程度的增強效果,但會產生“音樂噪聲”。本文提出引入參數的改進形式譜減法,引入過減因子和補償因子兩個參數。在這兩個參數的共同作用下,算法可以在抑制“音樂噪聲”的同時使語音信號更為突出。仿真結果表明,改進形式的譜減法語音信號波形的失真程度降低,信噪比改善更明顯,語音增強效果更好。