白 帆,李含雁,李勇滔,梁明孔,羅梅桂,周海琳,江 柏,宋仁發
(1.廣西科技大學a.自動化學院;b.機械與汽車工程學院,廣西 柳州 545616;2.柳州柳工挖掘機有限公司,廣西 柳州 545007)
語音信號增強算法[1]的主要研究內容是有效地降低失真和噪聲對語音信號的影響,并盡可能提取出純凈的語音信號。在實際應用中,音頻信號往往受到環境噪聲、回聲、失真等干擾,尤其是在工地施工環境下,各種非穩態噪聲會大大降低語音質量和可理解性。因此,通過減少噪聲的干擾并增強有用的語音成分,改善語音信號的質量和提升識別成功率變得尤為重要。
語音增強常用的算法主要有兩種:一種以發聲模型為基礎的算法,即通過建立聲音產生模型來對語音信號進行語音增強處理;另一種是以估算語音幅度譜為基礎的算法,即通過估計語音信號的幅度譜對帶噪語音進行降噪處理,這兩種算法在語音增強技術中起著重要的作用[2]。在以估算語音幅度譜為基礎的算法中,譜減法[3]可控性強,適用范圍最廣,得到了眾多學者的深入研究。傳統的譜減法將無語音段噪聲的平均功率譜作為整個語音信號噪聲估計的功率譜,用帶噪語音譜中減去估計的噪聲譜[4],從而得到干凈的語音譜。但是,在面對非平穩噪聲尤其是工地噪聲時,由于噪聲的功率譜是隨機波動的,會出現估計的噪聲功率譜太大,波形相減使得不能為負的幅度譜出現負值的情況。如果直接將負值置為零,則會過度減少信號的能量,導致信號的部分信息丟失或失真,出現波形中斷的情況。為解決這一問題,Mossa E 等[5]通過調節參數法在提升信噪比的同時,盡量降低語音信號失真程度;申浩等[6]分別采用掩蔽效應、小波包分解和維納濾波相結合、與麥克風波束形成方法相結合三種方法對譜減法中產生的音樂噪聲進行抑制;張國峰等[7]將語音識別系統估計的噪聲參數用于譜減法語音增強,在語音持續期間及時更新噪聲的均值。
分析傳統的譜減法算法原理普遍存在的問題,通過設置譜值下限因子,在不出現波形中斷的情況下解決幅度譜為負值的問題,并進一步引入平滑機制來避免譜值下限因子可能導致的波形不連續現象的發生。最后,通過與傳統譜減法語音增強結果進行對比實驗,驗證了改進算法的增強效果。
譜減法是語音增強算法中最早被提出的算法,它假設噪聲是加性的,將無語音段噪聲的平均功率譜作為整個語音信號噪聲估計的功率譜,用帶噪語音譜中減去估計的噪聲譜,即可得到干凈的語音譜估計。算法相對簡單,容易實現與理解,能夠有效地降低噪聲的干擾,提升信號強度,并且適用性強,在多種場景中均有不錯的效果。譜減法的算法原理如下:
記z(i)為帶噪語音信號,s(i)為無噪聲的純凈語音信號,n(i)為噪聲信號,故語音信號可以用以下公式來表示:
由于譜減法是基于短時譜的估計算法[8],故需要先對信號z(i)、s(i)和n(i)進行預加重[9]、分幀、加窗處理,得到:
對式(2)左右兩邊同時作傅里葉變換,得:
對式(3)左右兩邊進行平方,得:
故式(4)可得:
式(7)中,θYw(ω)表示帶噪語音信號的相位。最后,對Sw(ω)進行傅里葉逆變換,得到增強處理后純凈語音信號的時域估計表達式為:
譜減法原理圖如下所示:

圖1 譜減法原理圖
在譜減法算法中,如果帶噪語音的功率譜與估計出來的噪聲譜相減出現負值,說明對估計的噪聲功率譜太大,最簡單的處理方法就是將負值置零,以保證幅度譜非負。但是,這種處理方式會導致信號幀頻譜出現波形中斷的情況,使信號的部分信息丟失。
為了在不出現波形中斷的情況下解決幅度譜為負值的問題,需要在噪聲估計的過程中找到一個平衡點,既能降低噪聲的影響,又能保留語音信號的重要信息。針對傳統譜減法進行優化,當語音能量譜大于噪聲的時候,譜減法正常運行,可以增強語音質量;當語音能量譜小于噪聲的時候,增加譜值下限因子,保留譜值下限,對二者之差取值,既保證幅度譜不為負值,也不直接置零,避免出現波形中斷的情況。具體原理如下:
式中,β為譜值下限因子,取值范圍為0 ~1 之間。如果β取值過小,會對低頻信號進行更強的抑制,導致音頻信號的低頻部分失真;如果β取值過大,會對低頻信號進行較弱的抑制,仍有低頻噪聲的殘留。因此,具體取值需要根據具體的音頻信號和噪聲特征進行調整,以達到更好的語音增強效果。
增加譜值下限因子雖然能夠在不出現波形中斷的情況下解決幅度譜為負值的問題,但如果遇到信噪比較低的待增強語音時,輸出的增強語音會出現波形不連續的情況,因此需要在該方法基礎上引入平滑機制來進行再次改善。具體過程如下:
首先在噪聲估計階段,計算出譜減法噪聲估計時所產生的最大誤差。將帶噪語音前T幀的真實幅度譜與前T幀噪聲的平均功率譜進行按幀相減,并取其中最大值,即為前T幀的最大噪聲估計誤差。其中,T為譜減法噪聲估計時所選取的無語音段噪聲幀數值。
如式(10)所示:
如果改進譜減法處理完畢后,仍有某時頻點的幅度值小于噪聲估計時所產·生的最大誤差,則將其替換為相鄰幀的最小幅度值。如式(11)所示。
通過實驗對純凈語音、添加噪聲后的語音、傳統譜減法處理過的語音以及改進譜減法處理過的語音分別進行時域波形模擬,驗證增加譜值下限因子并引入平滑機制的改進譜減法的有效性。實驗中,純凈語音在安靜環境下錄制,噪聲則采用工地施工現場錄制的噪聲,以44000 Hz 的采樣標準和16bit 量化對純凈語音信號和噪聲信號進行采樣,按照一定比例,將純凈語音信號和噪聲信號線性相加,分別形成五種不同信噪比的情況,分別為:-10 dB、-5 dB、0 dB、5 dB、10 dB。
以形成的信噪比為5 dB 的含噪語音為例,純凈語音時域波形圖見圖2,添加噪聲后語音時域波形圖見圖3,傳統譜減法輸出語音時域波形圖見圖4,改進譜減法輸出語音時域波形圖見圖5。

圖2 純凈語音時域波形圖

圖3 添加噪聲后語音時域波形圖

圖4 傳統譜減法輸出語音時域波形圖

圖5 改進譜減法輸出語音時域波形圖
由圖2、圖3 對比可知,加入工地施工現場錄制的噪聲后,純凈語音受到了很大的干擾,一些頻率成分被壓制或淹沒在噪聲中,從而導致整體幅值降低;經過傳統譜減法處理后,由圖3、圖4 對比可知,傳統譜減法在保留語音波形的基礎上,消除了大部分的工地噪聲所帶來的波形影響,但由于將波形相減所產生的負值直接置為零導致波形中斷的情況十分明顯;由圖4、圖5 對比可知,改進譜減法在保留傳統譜減法去噪的基礎上,增添的譜值下限因子和平滑機制效果顯著,解決了波形不連續的情況。
對實驗結果進行信噪比評測,結果見表1。
從表1 結果可以看出,傳統譜減法在五種信噪比的情況下,輸出語音信噪比平均增強了6.28 dB,而改進譜減法比平均增強了8.43 dB,比傳統譜減法平均增強了2.15 dB。與傳統譜減法相比,改進后的譜減法不僅在波形連續的情況下解決了負值問題,而且降噪能力更強,使得信噪比提升更大,尤其在低信噪比情況下,增強效果更加明顯。

表1 實驗結果信噪比統計
經過傳統的譜減法處理后的語音信號可以獲得一定程度的增強效果,但由于將波形相減所產生的負值直接置為零,導致出現波形中斷的情況。通過增加譜值下限因子并引入平滑機制,對傳統譜減法進行了改進,在不出現波形中斷的情況下解決了幅度譜為負值的問題,進一步對語音信號進行了增強。實驗結果說明,改進譜減法在五種信噪比的情況下,輸出語音信噪比平均增強了8.43 dB,比傳統譜減法平均增強了2.15 dB,并且當信噪比處于較低水平時,有更加明顯的增強效果。