【摘要】通過介紹語音增強的特點,詳細分析了最小均方誤差對數譜幅度估計(MMSE-LSA)算法,并提出了與MMSE-LSA算法相匹配的語音激活檢測(VAD)算法。該方案計算簡單、易于實現且語音增強效果好,能夠動態地跟蹤背景噪聲的變化。最后通過仿真分析,比較了MMSE-LSA與其它幾種語音增強算法的增強效果。
【關鍵詞】MMSE-LSAVAD語音增強
中圖分類號:TN912.35文獻標識碼:B文章編號:1006-1010(2014)-10-0059-04
A Speech Enhancement Algorithm Based on MMSE-LSA and VAD
YAN Guang-hua
[Abstract] The minimum mean square error of log-spectral amplitude estimator (MMSE-LSA) algorithm is analyzed in detail by introducing the characteristics of speech enhancement, and voice activity detection (VAD) algorithm matching with MMSE-LSA algorithm is proposed. This scheme is simple and easy to implement and its speech enhancement effect is good. In addition, it can track the changes of background noise dynamically. Finally, the enhancement effect of MMSE-LSA is compared with that of other algorithms by the analysis of simulation.
[Key words]MMSE-LSAVADspeech enhancement
1 引言
在語音通信特別是軍用語音通信中,各類的噪聲干擾較為普遍,坦克、飛機、艦船上的電臺常常會受到很強的背景噪聲干擾,嚴重影響語音通信的質量和效果。普通濾波手段作用有限,難以有效地消除噪聲,因此有必要采用語音增強技術,提高語音通信的效果。
語音增強是消除語音中噪聲干擾的重要手段,它在語音低速編碼、語音識別和人機語音交互等領域都有著重要的應用,在軍用語音通信中具有重要的意義。語音增強的基本思想是從與噪聲混淆的語音信號中提取純凈的語音信號,消除背景噪聲的影響,提高語音的清晰度和自然度,使收聽者能夠更清楚、更舒適地聽清話音。典型的語音增強算法有減譜法、自適應濾波、維納濾波、最小均方誤差估計(MMSE)等。其中,減譜法及其改進算法會存在較明顯的音樂噪聲;自適應濾波和維納濾波算法會造成語音信號的失真;而基于短時譜分析的最小均方誤差估計(MMSE-STSA)算法的語音增強效果最優,對背景噪聲的抑制度高、使語音信號的失真度低。
本文詳細分析了一種改進的MMSE-STSA算法——最小均方誤差對數譜幅度估計(MMSE-LSA)算法,并利用該算法對數譜幅度已知的特點,提出了僅需對數譜幅度的VAD算法與之結合使用,最后還給出了測試結果和結論。
2 MMSE-LSA原理
語音增強是從語音和人講話的特點發展而來,人們在說話的時候總是存在停頓,據統計停頓時間約占講話總時間的40%~60%。而收聽到的語音信號可以看作凈語音與噪聲的疊加,因此在講話的停頓時間就認為只存在噪聲而不存在語音。利用語音激話檢測(VAD)算法判斷語音的停頓,并統計噪聲,最后利用MMSE 算法估計出純凈的語音。語音增強的處理對象是語音信號,效果表現形式是人耳對語音的感知,在做數字信號處理時需要以下兩點作為依據:
(1)語音信號是時變、非平穩隨機過程,但是它在10~30ms可以近似看成平穩的;
(2)人耳對語音的感知主要依賴語音信號的幅度,而對其相位不敏感。
MMSE-LSA算法的結構如圖1所示。首先根據語音信號的準平穩特性對語音信號進行分幀處理,這樣每一幀信號都認為具有平穩特性,再求出每幀信號的短時頻譜,提取特征參數;然后利用VAD算法判斷每幀信號是噪聲還是含噪語音,并用MMSE方法估計出純凈語音的短時譜幅度(STSA);最后利用人耳對語音相位不敏感的特性,用輸入信號的短時譜相位和估計的短時譜幅度重構語音信號,從而得到增強后的語音信號。
圖1MMSE-LSA算法結構圖
設收到的帶噪語音信號y(t)可以表示為:
y(t)=x(t)+n(t)(1)
其中,x(t)為純凈的語音信號;n(t)為加性噪聲。
根據語音信號短時平穩的特性,對輸入的帶噪語音信號y(t)分幀,為了避免分幀時產生截斷效應,影響話音質量,對分幀的信號加窗處理。同時,為了保證輸出語音的連續性,采用滑動窗方式分幀。出于硬件平臺對FFT運算的要求,本文處理的幀長度為256點,每幀更新100采樣點,采用漢明窗。分幀后的語音信號如式(2)所示:
(2)
其中,yn(t)表示滑動窗分幀后的第n幀信號;H(t)表示漢明窗;為加窗后的語音信號。
對做FFT運算,得到語音信號的第n幀短時頻Yn(W),通過VAD判斷每一幀的輸入信號是噪聲或者是含噪語音信號,并利用判斷結果更新噪聲短時譜幅度的統計值N(W)。根據人耳對相位不敏感的特性,只考慮短時譜的幅度,利用|Yn(W)|2和|N(W)|2可以直接求得后驗信噪比。后驗信噪比可以表示成當前輸入信號功率與噪聲功率的比值。由于當前輸入信號功率可以近似看作語音信號功率與噪聲功率之和,因此后續的計算要減1。后驗信噪比可以表示為:
(3)
使用后驗信噪比計算增益函數固然可以起到語音增強的目的,但是使用先驗信噪比計算增益函數能更加有效地抑制音樂噪聲。采用直接判決法(DD)對先驗信噪比進行估計,如式(4)所示:
(4)
其中,Yn-1(W)為上一幀輸入的語音信號;Gn-1(W)為上一幀的增益;α為平滑系數,范圍為0~1;max{}表示兩者中值較大的一個。通過式(4)可以看出,先驗信噪比是以遞推方式求出的。
根據選取代價函數的不同,增益因子可以衍生出多種估計行形。其中,基于先驗信噪比的對數譜估計增益函數能較好地消除噪聲。增益函數如式(5)所示,其中積分為指數積分函數。
(5)
通過增益函數可求得增強后的語音信號短時譜,如式(6)所示:
Xn(W)=Gn(W)*Yn(W) (6)
用IFFT運算將估計的純凈語音信號短時譜Xn(W)變換為時域信號,并通過窗疊加保證輸入輸出的點數一致。
endprint
3 VAD檢測
在語音增強方案中,VAD算法是非常重要的一部分。由于現實環境中大部分的背景噪聲是非平穩的,為了保證語音增強的效果,需要時刻跟蹤背景噪聲的變化。VAD的目的就是判斷輸入的語音信號是語音還是背景噪聲,同時VAD判斷的準確程度直接影響著語音增強的效果。根據語音在短時能量、短時過零率、倒譜系數等方面的特征,VAD具有多種算法。本文采用的VAD算法利用語音信號的短時全帶能量包絡、低通帶能量包絡和高通帶能量包絡進行決策,計算量小且準確度高,能夠在低信噪比下保持較小的虛警概率。
根據以上對MMSE-LSA的描述可知,在VAD檢測中語音信號的短時對數譜幅度是已知的,VAD算法僅需要對各子帶的能量進行簡單的計算和判決,而不需要再計算語音信號的短時能量。接收語音信號的全帶能量Ep、低通帶能量Elp和高通帶能量Ehp計算公式分別如下:
(7)
(8)
(9)
其中,p表示輸入語音信號的第p幀;n表示全帶的各頻點;l表示截止頻率以內的各頻點;h表示截止頻率以外的各頻點。為了平滑各帶能量值,在幾幀內對能量做一階低通濾波處理,若能量增加則不做平滑處理,防止造成拖尾效應。最后,算法利用每幀信號各帶能量的最大值、最小值進行VAD檢測。VAD算法的流程圖如圖2所示。
VAD算法首先要初始化能量包絡的各參數,根據人講話的特點,假設語音開頭的100~200ms為背景噪聲,利用這段時間的語音信號能量平均值初始化包絡參數如下:
Emin=Ep,Emax=Ep(10)
Elp.min=Elp,Elp.max=Elp (11)
Ehp.min=Ehp,Ehp.max=Ehp (12)
對三個子帶包絡能量的最大值、最小值做一階濾波平滑處理,并計算每個子帶能量最大值和最小值之間的差值。
Δ=Emax-Emin(13)
Δlp=Elp.max-Elp.min (14)
Δhp=Ehp.max-Ehp.min (15)
最后,對各包絡能量進行多邊界判決得出VAD檢測的結果。多邊界判決的門限值η和權值pc可以自適應地調整以滿足不同的需求。
4 仿真結果分析
如何客觀地評價語音效果是一項非常重要且繁瑣的工作,因為語音的最終目的是讓收聽者聽清話音,需要根據人耳獨特的聽覺特性來評價語音質量的好壞。目前還沒有比較客觀的方法來準確地評價語音質量的好壞,所以測試大多采用主觀評價方法。常用的主觀評價方法有平均意見得分(MOS)、判斷韻字測試(DRT)和判斷滿意度測試(DAM)。目前國際上最通用的主觀評價方法是MOS評價,它是從絕對等級評價法發展而來,用于對語音整體滿意度或語音通信系統質量的評分。標準的MOS測試要求參加測試的實驗者人數應在40人以上,所測試的語音材料要足夠豐富,測試環境要盡量保持一致。
由于實際的測試條件有限,本文對語音增強效果的評價采用了簡單化的平均意見得分(MOS)方法,并根據增強語音對語音信號本身的失真程度以及背景噪聲的抑制程度進行綜合評價。測試者僅限于實驗室的8個人,語音增強的語料庫采用了不同信噪比下自錄的男生、女生及標準播報員聲音測試,噪聲選用包括白噪聲在內的noise92噪聲庫的多種噪聲。
本文在VC平臺上實現了幾種語音增強方法,包括:MMSE-LSA、基本減譜法、多帶減譜法、維納濾波法。經過實驗者仔細測試比對得出結論:基本減譜法語音增強效果最差,存在較明顯的音樂噪聲,同時對背景噪聲的抑制也不夠;多帶減譜法雖然減少了部分的音樂噪聲,但是語音信號本身的失真較嚴重;MMSE-LSA和維納濾波法語音增強效果最好,但是通過對各種背景噪聲下的語音測試發現,維納濾波法對于語音信號的失真要比MMSE-LSA嚴重,并且在低信噪比下語音效果不如MMSE-LSA方法。總體來說,語音增強對于白噪聲之類的平穩背景噪聲具有較好的抑制效果,而對于機關槍等非平穩背景噪聲的抑制效果不明顯。圖3給出了0dB白噪聲下MMSE-LSA方法語音增強的語音波形圖:
5 結語
本文研究了最小均方誤差對數譜幅度估計(MMSE-LSA)語音增強算法,并利用MMSE-LSA對數譜幅度已知的特點采用了簡單高效的VAD算法。通過對仿真結果進行詳細分析,比較了MMSE-LSA與其它幾種語音增強算法的增強效果。MMSE-LSA能夠有效地消除白噪聲之類的平穩噪聲,但是對于突發的非平穩噪聲效果不明顯,仍有待于進一步研究。
參考文獻:
[1] 易克初,田斌,付強. 語音信號處理[M]. 北京: 國防工業出版社, 2000.
[2] Rabiner L R, Schafer R W. 語音信號數字處理[M]. 朱雪龍,等譯. 北京: 科學出版社, 1983.
[3] Y Ephraim, D Malah. Speech Enhancement Using a Minimum Mean-Square Error Short-Time Spectral Amplitude Estimator[J]. IEEE Transactions on Acoustics, Speech and Signal Processing, 1984: 1109-1121.
[4] Rainer Martin. Spectral Subtraction Based on Minimum Statistics[C]. Proc Eur Signal Processing Conf, 1994: 1182-1185.
[5] Rainer Martin. Speech Pause Detection for Noise Spectrum Estimation by Tracking Power Envelope Dynamics[J]. IEEE Transactions on Speech and Audio Processing, 2001,9(5).
[6] Mark Marzinzik, Birger Kollmeier. Speech Pause Detection for Noise Spectrum Estimation by Tracking Power Envelope Dynamics[J]. IEEE Transactions on Speech and Audio Processing, 2002,10(2).★
作者簡介
晏光華:學士畢業于大連艦艇學院,現任職于海軍司令部信息化部,主要研究方向為無線通信。
endprint
3 VAD檢測
在語音增強方案中,VAD算法是非常重要的一部分。由于現實環境中大部分的背景噪聲是非平穩的,為了保證語音增強的效果,需要時刻跟蹤背景噪聲的變化。VAD的目的就是判斷輸入的語音信號是語音還是背景噪聲,同時VAD判斷的準確程度直接影響著語音增強的效果。根據語音在短時能量、短時過零率、倒譜系數等方面的特征,VAD具有多種算法。本文采用的VAD算法利用語音信號的短時全帶能量包絡、低通帶能量包絡和高通帶能量包絡進行決策,計算量小且準確度高,能夠在低信噪比下保持較小的虛警概率。
根據以上對MMSE-LSA的描述可知,在VAD檢測中語音信號的短時對數譜幅度是已知的,VAD算法僅需要對各子帶的能量進行簡單的計算和判決,而不需要再計算語音信號的短時能量。接收語音信號的全帶能量Ep、低通帶能量Elp和高通帶能量Ehp計算公式分別如下:
(7)
(8)
(9)
其中,p表示輸入語音信號的第p幀;n表示全帶的各頻點;l表示截止頻率以內的各頻點;h表示截止頻率以外的各頻點。為了平滑各帶能量值,在幾幀內對能量做一階低通濾波處理,若能量增加則不做平滑處理,防止造成拖尾效應。最后,算法利用每幀信號各帶能量的最大值、最小值進行VAD檢測。VAD算法的流程圖如圖2所示。
VAD算法首先要初始化能量包絡的各參數,根據人講話的特點,假設語音開頭的100~200ms為背景噪聲,利用這段時間的語音信號能量平均值初始化包絡參數如下:
Emin=Ep,Emax=Ep(10)
Elp.min=Elp,Elp.max=Elp (11)
Ehp.min=Ehp,Ehp.max=Ehp (12)
對三個子帶包絡能量的最大值、最小值做一階濾波平滑處理,并計算每個子帶能量最大值和最小值之間的差值。
Δ=Emax-Emin(13)
Δlp=Elp.max-Elp.min (14)
Δhp=Ehp.max-Ehp.min (15)
最后,對各包絡能量進行多邊界判決得出VAD檢測的結果。多邊界判決的門限值η和權值pc可以自適應地調整以滿足不同的需求。
4 仿真結果分析
如何客觀地評價語音效果是一項非常重要且繁瑣的工作,因為語音的最終目的是讓收聽者聽清話音,需要根據人耳獨特的聽覺特性來評價語音質量的好壞。目前還沒有比較客觀的方法來準確地評價語音質量的好壞,所以測試大多采用主觀評價方法。常用的主觀評價方法有平均意見得分(MOS)、判斷韻字測試(DRT)和判斷滿意度測試(DAM)。目前國際上最通用的主觀評價方法是MOS評價,它是從絕對等級評價法發展而來,用于對語音整體滿意度或語音通信系統質量的評分。標準的MOS測試要求參加測試的實驗者人數應在40人以上,所測試的語音材料要足夠豐富,測試環境要盡量保持一致。
由于實際的測試條件有限,本文對語音增強效果的評價采用了簡單化的平均意見得分(MOS)方法,并根據增強語音對語音信號本身的失真程度以及背景噪聲的抑制程度進行綜合評價。測試者僅限于實驗室的8個人,語音增強的語料庫采用了不同信噪比下自錄的男生、女生及標準播報員聲音測試,噪聲選用包括白噪聲在內的noise92噪聲庫的多種噪聲。
本文在VC平臺上實現了幾種語音增強方法,包括:MMSE-LSA、基本減譜法、多帶減譜法、維納濾波法。經過實驗者仔細測試比對得出結論:基本減譜法語音增強效果最差,存在較明顯的音樂噪聲,同時對背景噪聲的抑制也不夠;多帶減譜法雖然減少了部分的音樂噪聲,但是語音信號本身的失真較嚴重;MMSE-LSA和維納濾波法語音增強效果最好,但是通過對各種背景噪聲下的語音測試發現,維納濾波法對于語音信號的失真要比MMSE-LSA嚴重,并且在低信噪比下語音效果不如MMSE-LSA方法。總體來說,語音增強對于白噪聲之類的平穩背景噪聲具有較好的抑制效果,而對于機關槍等非平穩背景噪聲的抑制效果不明顯。圖3給出了0dB白噪聲下MMSE-LSA方法語音增強的語音波形圖:
5 結語
本文研究了最小均方誤差對數譜幅度估計(MMSE-LSA)語音增強算法,并利用MMSE-LSA對數譜幅度已知的特點采用了簡單高效的VAD算法。通過對仿真結果進行詳細分析,比較了MMSE-LSA與其它幾種語音增強算法的增強效果。MMSE-LSA能夠有效地消除白噪聲之類的平穩噪聲,但是對于突發的非平穩噪聲效果不明顯,仍有待于進一步研究。
參考文獻:
[1] 易克初,田斌,付強. 語音信號處理[M]. 北京: 國防工業出版社, 2000.
[2] Rabiner L R, Schafer R W. 語音信號數字處理[M]. 朱雪龍,等譯. 北京: 科學出版社, 1983.
[3] Y Ephraim, D Malah. Speech Enhancement Using a Minimum Mean-Square Error Short-Time Spectral Amplitude Estimator[J]. IEEE Transactions on Acoustics, Speech and Signal Processing, 1984: 1109-1121.
[4] Rainer Martin. Spectral Subtraction Based on Minimum Statistics[C]. Proc Eur Signal Processing Conf, 1994: 1182-1185.
[5] Rainer Martin. Speech Pause Detection for Noise Spectrum Estimation by Tracking Power Envelope Dynamics[J]. IEEE Transactions on Speech and Audio Processing, 2001,9(5).
[6] Mark Marzinzik, Birger Kollmeier. Speech Pause Detection for Noise Spectrum Estimation by Tracking Power Envelope Dynamics[J]. IEEE Transactions on Speech and Audio Processing, 2002,10(2).★
作者簡介
晏光華:學士畢業于大連艦艇學院,現任職于海軍司令部信息化部,主要研究方向為無線通信。
endprint
3 VAD檢測
在語音增強方案中,VAD算法是非常重要的一部分。由于現實環境中大部分的背景噪聲是非平穩的,為了保證語音增強的效果,需要時刻跟蹤背景噪聲的變化。VAD的目的就是判斷輸入的語音信號是語音還是背景噪聲,同時VAD判斷的準確程度直接影響著語音增強的效果。根據語音在短時能量、短時過零率、倒譜系數等方面的特征,VAD具有多種算法。本文采用的VAD算法利用語音信號的短時全帶能量包絡、低通帶能量包絡和高通帶能量包絡進行決策,計算量小且準確度高,能夠在低信噪比下保持較小的虛警概率。
根據以上對MMSE-LSA的描述可知,在VAD檢測中語音信號的短時對數譜幅度是已知的,VAD算法僅需要對各子帶的能量進行簡單的計算和判決,而不需要再計算語音信號的短時能量。接收語音信號的全帶能量Ep、低通帶能量Elp和高通帶能量Ehp計算公式分別如下:
(7)
(8)
(9)
其中,p表示輸入語音信號的第p幀;n表示全帶的各頻點;l表示截止頻率以內的各頻點;h表示截止頻率以外的各頻點。為了平滑各帶能量值,在幾幀內對能量做一階低通濾波處理,若能量增加則不做平滑處理,防止造成拖尾效應。最后,算法利用每幀信號各帶能量的最大值、最小值進行VAD檢測。VAD算法的流程圖如圖2所示。
VAD算法首先要初始化能量包絡的各參數,根據人講話的特點,假設語音開頭的100~200ms為背景噪聲,利用這段時間的語音信號能量平均值初始化包絡參數如下:
Emin=Ep,Emax=Ep(10)
Elp.min=Elp,Elp.max=Elp (11)
Ehp.min=Ehp,Ehp.max=Ehp (12)
對三個子帶包絡能量的最大值、最小值做一階濾波平滑處理,并計算每個子帶能量最大值和最小值之間的差值。
Δ=Emax-Emin(13)
Δlp=Elp.max-Elp.min (14)
Δhp=Ehp.max-Ehp.min (15)
最后,對各包絡能量進行多邊界判決得出VAD檢測的結果。多邊界判決的門限值η和權值pc可以自適應地調整以滿足不同的需求。
4 仿真結果分析
如何客觀地評價語音效果是一項非常重要且繁瑣的工作,因為語音的最終目的是讓收聽者聽清話音,需要根據人耳獨特的聽覺特性來評價語音質量的好壞。目前還沒有比較客觀的方法來準確地評價語音質量的好壞,所以測試大多采用主觀評價方法。常用的主觀評價方法有平均意見得分(MOS)、判斷韻字測試(DRT)和判斷滿意度測試(DAM)。目前國際上最通用的主觀評價方法是MOS評價,它是從絕對等級評價法發展而來,用于對語音整體滿意度或語音通信系統質量的評分。標準的MOS測試要求參加測試的實驗者人數應在40人以上,所測試的語音材料要足夠豐富,測試環境要盡量保持一致。
由于實際的測試條件有限,本文對語音增強效果的評價采用了簡單化的平均意見得分(MOS)方法,并根據增強語音對語音信號本身的失真程度以及背景噪聲的抑制程度進行綜合評價。測試者僅限于實驗室的8個人,語音增強的語料庫采用了不同信噪比下自錄的男生、女生及標準播報員聲音測試,噪聲選用包括白噪聲在內的noise92噪聲庫的多種噪聲。
本文在VC平臺上實現了幾種語音增強方法,包括:MMSE-LSA、基本減譜法、多帶減譜法、維納濾波法。經過實驗者仔細測試比對得出結論:基本減譜法語音增強效果最差,存在較明顯的音樂噪聲,同時對背景噪聲的抑制也不夠;多帶減譜法雖然減少了部分的音樂噪聲,但是語音信號本身的失真較嚴重;MMSE-LSA和維納濾波法語音增強效果最好,但是通過對各種背景噪聲下的語音測試發現,維納濾波法對于語音信號的失真要比MMSE-LSA嚴重,并且在低信噪比下語音效果不如MMSE-LSA方法??傮w來說,語音增強對于白噪聲之類的平穩背景噪聲具有較好的抑制效果,而對于機關槍等非平穩背景噪聲的抑制效果不明顯。圖3給出了0dB白噪聲下MMSE-LSA方法語音增強的語音波形圖:
5 結語
本文研究了最小均方誤差對數譜幅度估計(MMSE-LSA)語音增強算法,并利用MMSE-LSA對數譜幅度已知的特點采用了簡單高效的VAD算法。通過對仿真結果進行詳細分析,比較了MMSE-LSA與其它幾種語音增強算法的增強效果。MMSE-LSA能夠有效地消除白噪聲之類的平穩噪聲,但是對于突發的非平穩噪聲效果不明顯,仍有待于進一步研究。
參考文獻:
[1] 易克初,田斌,付強. 語音信號處理[M]. 北京: 國防工業出版社, 2000.
[2] Rabiner L R, Schafer R W. 語音信號數字處理[M]. 朱雪龍,等譯. 北京: 科學出版社, 1983.
[3] Y Ephraim, D Malah. Speech Enhancement Using a Minimum Mean-Square Error Short-Time Spectral Amplitude Estimator[J]. IEEE Transactions on Acoustics, Speech and Signal Processing, 1984: 1109-1121.
[4] Rainer Martin. Spectral Subtraction Based on Minimum Statistics[C]. Proc Eur Signal Processing Conf, 1994: 1182-1185.
[5] Rainer Martin. Speech Pause Detection for Noise Spectrum Estimation by Tracking Power Envelope Dynamics[J]. IEEE Transactions on Speech and Audio Processing, 2001,9(5).
[6] Mark Marzinzik, Birger Kollmeier. Speech Pause Detection for Noise Spectrum Estimation by Tracking Power Envelope Dynamics[J]. IEEE Transactions on Speech and Audio Processing, 2002,10(2).★
作者簡介
晏光華:學士畢業于大連艦艇學院,現任職于海軍司令部信息化部,主要研究方向為無線通信。
endprint