曹麗靜
(河北經(jīng)貿(mào)大學(xué) 信息技術(shù)學(xué)院,河北 石家莊 050061)
隨著通信技術(shù)的發(fā)展,語音的使用方便了人們的交流,但是在交流過程中噪音是影響語音通訊質(zhì)量的一大因素,過多噪音的存在會大大降低語音識別的準確率。為了提高語音通訊的質(zhì)量,通過語音增強技術(shù)從帶噪聲信號中提取純凈語音變得尤其重要,通過該技術(shù)可以提高語音的質(zhì)量,使用戶獲得更高的滿意度。
王路露等人[3]把倒譜特征參數(shù)加入到傳統(tǒng)譜減法中對譜減法進行改進,實現(xiàn)了較好的語音增強效果。張青等人[4]把多窗估計和維納濾波算法相結(jié)合,實現(xiàn)了抑制噪聲、增強語音的目的。盧炳乾等人[5]結(jié)合小波變換和變步長LMS自適應(yīng)濾波,讓LMS算法實現(xiàn)了變換域內(nèi)收斂速度和穩(wěn)態(tài)誤差的統(tǒng)一。張麗艷等人[6]將麥克風(fēng)陣列與奇異值分解相結(jié)合對語音進行增強,實現(xiàn)了較好的語音增強效果。閆姝等人[7]結(jié)合適用于噪聲相干的廣義旁瓣抵消的自適應(yīng)濾波算法和適用于噪聲非相干的維納濾波算法,對以麥克風(fēng)陣列為基礎(chǔ)的語音增強算法進行完善,得到較好的語音去噪效果。
蔣茂松等人[8]在以非負矩陣為基礎(chǔ)的語音增強算法中加入稀疏正則項,并把噪聲項和稀疏約束項加入到目標函數(shù)的正則項中,實現(xiàn)了增強語音的目的。李艷生等人[9]利用心理聲學(xué)掩蔽特性,并且利用不同頻率位采用不同掩蔽值的方式來建立自適應(yīng)感知掩蔽增益函數(shù),并采用語音存在概率來感知增益修正,解決了以非負矩陣為基礎(chǔ)的算法中存在的噪聲殘留問題。許春冬等人[10]針對當(dāng)前基于深度學(xué)習(xí)的語音增強算法中忽略語音相位作用的問題,提出了一種自動編碼生成對抗網(wǎng)絡(luò)的模型,模型采用自動編碼器、判別器和一個可以區(qū)分純凈語音和帶噪語音的二元分類器來構(gòu)成目標函數(shù)的方式,有效解決了生成對抗網(wǎng)絡(luò)存在的梯度消失和模式坍塌問題。李如瑋等人[11]提出一種以從四個不同分辨率的耳蝸中提取多分辨率聽覺倒譜系數(shù)作為神經(jīng)網(wǎng)絡(luò)的輸入,以跟蹤噪聲變化構(gòu)建的自適應(yīng)掩蔽閾值作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練目標,最后,將估計的自適應(yīng)掩蔽閾值用于對含噪語音進行增強的模型。與對比算法相比,該算法不僅對噪聲具有更強的魯棒性,而且抑制了更多的背景噪聲,進一步提高了增強語音的質(zhì)量和可懂度。
本文闡述了基于數(shù)字信號處理方法和機器學(xué)習(xí)方法中的語音增強算法的原理,并總結(jié)了幾種常用增強算法的優(yōu)缺點和適用領(lǐng)域。
傳統(tǒng)數(shù)字信號處理的語音增強算法可以分為單通道和麥克風(fēng)陣列兩種,其中單通道語音增強算法包括譜減法、維納濾波法、以統(tǒng)計模型為基礎(chǔ)的方法、自適應(yīng)濾波的方法、以子空間為基礎(chǔ)的方法、以小波變換為基礎(chǔ)的方法。
圖1 譜減法原理圖
1.1.1 譜減法
設(shè)帶噪語音中的噪聲是加性的,并把噪聲的譜估計值從原始信號的譜估計值中減去是譜減法的基本思路。圖1所示即為傳統(tǒng)譜減法的原理圖。
原理圖中y(m)=s(m)+n(m),其中s(m)是純凈的語音信號,n(m)是假設(shè)的加性噪聲。
分別對y(m),s(m)和n(m)做傅里葉變換,即得到對應(yīng)的Y(ω),S(ω)和N(ω),因為譜減法假設(shè)噪聲為加性噪聲,因此語音信號和噪聲信號相互獨立,所以變換以后的信號滿足等式:|Y(ω)2|=|S(ω)|2+|N(ω)|2。
譜減法的原理易于理解,計算量不大并且其性能也比較穩(wěn)定,因此是語音信號處理中常用的一種方法。然而在噪聲環(huán)境較為復(fù)雜的情況下,會出現(xiàn)“音樂噪聲”。
程塨等人[12]通過利用臨界帶特征矢量距離進行端點檢測,利用低、高兩個頻區(qū)的語音特性進行系數(shù)調(diào)節(jié),實現(xiàn)了過濾背景噪聲,增強語音的目的。
嚴思偉等人[13]在譜減法中加入連續(xù)噪聲譜估計,利用不間斷更新噪聲譜的方式進行語音的端點確定和噪聲位置確定,然后進行功率譜過減及半波整流,最后平滑處理時利用的是維納濾波的方法。該方法可以消除把含有噪聲的背景去除,并有效濾除“音樂噪聲”,得到的語音具有較好的可懂度和清晰度。
鄭成詩等人[14]提出了一種基于噪聲譜特性的譜減法(NPSD-SS),該方法利用周期圖估計來解決了譜減法存在的復(fù)雜背景噪聲下,噪聲無法全部去除的問題,提高語音增強效果的同時也沒有增加過多的運算量。
1.1.2 維納濾波法
維納濾波算法的基本原理如下:
設(shè)y(m)表示帶噪語音信號且滿足:y(m)=s(m)+n(m),其中s(m)代表不含有噪聲的純凈信號,n(m)是原始信號中的加性噪聲。
當(dāng)s(m)和n(m)不相關(guān)且隨機過程平穩(wěn)的條件下,對y(m)=s(m)+n(m)進行離散傅里葉變換,得到式(1):
Y(m,k)=S(m,k)+N(m,k)
(1)
得到式(1)后,設(shè)維納濾波的頻域響應(yīng)函數(shù)為H(m,k),得到信號最佳估計s′(m)的傅里葉變換為S′(m,k),如式(2)所示:
S′(m,k)=H(m,k)·Y(m,k)
(2)
最后按照最小均方誤差的思想使得輸出信號s′(m)盡可能接近原始信號。
復(fù)雜噪聲環(huán)境下,傳統(tǒng)語音增強算法存在增強后語音質(zhì)量一般,且“音樂噪聲”仍然存在的問題,董胡等人[15]針對此問題,在自適應(yīng)濾波算法中加入小波包變換對信號頻譜進行劃分,并通過自適應(yīng)濾波的方式對不同尺度的小波包系數(shù)進行濾波。實驗證明,與傳統(tǒng)算法相比,該算法不僅可以保存語音的譜特征,還可以提高含噪語音的質(zhì)量。
奚吉等人[16]針對維納濾波算法存在噪聲譜估計偏差大的不足,將多通道思想和維納濾波算法相結(jié)合,通過結(jié)合包絡(luò)估計達到抑制殘留噪聲,提高了語音的可懂度。
郭利華等人[17]針對維納濾波算法忽略信噪比的估計誤差和不同的語音幅度譜畸變對語音可懂度有重要影響的不足,利用先驗信噪比和增益函數(shù)來判定信噪比估計誤差和語音畸變區(qū)域的方式對維納濾波算法進行改進,從而提高語音可懂度。
1.1.3 基于統(tǒng)計模型的方法
利用統(tǒng)計模型進行語音增強的算法計算量小,應(yīng)用廣泛。王海艷[18]提出了一種用超高斯混合模型建立模型并用EM算法對超高斯混合模型中的參數(shù)進行估計的算法,實現(xiàn)了改善能量較小處語音性能的目的。
1.1.4 自適應(yīng)濾波的方法
自適應(yīng)濾波器采用的濾波思想是首先確定一個約束條件,在約束條件下實現(xiàn)對語音信號的最優(yōu)估計。最陡下降法、最小均方誤差算法(LMS)、遞推最小二乘法(RLS)等是常用的算法。由于LMS算法在運算、實現(xiàn)和穩(wěn)健性方面表現(xiàn)良好,是自適應(yīng)濾波技術(shù)的首選算法[19]。LMS算法的基本迭代過程如下[20]:
y(k)=XT(k)×W(k)
e(k)=v(k)-y(k)
W(k+1)=W(k)+2×μ×e(k)×X(k)
其中,X(k)=[x(k),x(k-1),…,x(k-M+1)]T為M階濾波器在k時刻的參考輸入,y(k)為濾波器的估計輸出,W(k)=[w(k),w(k-1),…w(k-M+1)]T對應(yīng)濾波器權(quán)系數(shù)矢量,μ為步長因子。
汪成曦等人[21]用自相關(guān)誤差與前一步長因子來更新迭代下一步長因子的方式對基于變步長的LMS算法進行完善,為使用固定步長最小均方算法的雷達雜波自適應(yīng)濾波器系統(tǒng)存在的收斂速度與收斂精度不匹配的問題提供了解決方案,且達到較快的收斂速度和較小的失調(diào)的效果。
1.1.5 基于子空間的方法
以子空間為基礎(chǔ)的語音增強算法的原理是把含有噪聲的原始信號分解為兩個正交的語音信號和噪聲信號,同時將噪聲信號置零使其從語音信號中濾除,從而得到純凈的語音信號。該算法可以減少信號失真程度和殘留噪聲,從信號失真和降噪程序兩個方面來調(diào)節(jié)增強語音的質(zhì)量[22]。
目前多數(shù)語音增強算法存在只使用最小均方誤差來限制語音的畸變,卻忽略了不同區(qū)域語音畸變對可懂度的影響的問題,針對這一問題,劉鵬等人[23]通過語音畸變區(qū)域是用先驗信噪比和增益矩陣來確定的,幅度譜限制是通過改變增益矩陣限制的方式對子空間語音增強算法進行完善,實現(xiàn)了提高語音可懂度的目的。
1.1.6 基于小波分析的方法
以小波分析為基礎(chǔ)的語音去噪是通過對語音進行小波變換處理,并通過小波重構(gòu)的思想達到去噪目的,原理圖如圖2所示。
王彪等人[24]利用小波分析方法解決了閾值函數(shù)中存在的問題,通過構(gòu)造任意階可導(dǎo)的新閾值函數(shù)的方式提高了語音質(zhì)量。
劉艷等人[25]針對小波去噪算法分離出的信號存在不是原始信號的最佳估計的問題,提出了一種利用子帶熵端點檢測的去噪算法,通過預(yù)處理、計算噪聲標準方差、子帶譜熵端點檢測的流程提取純凈語音,達到去噪的目的。
按照一定的拓撲結(jié)構(gòu)將麥克風(fēng)組成一個陣列,利用空間域的信息,對來自不同空間方位的信息進行濾波處理是以麥克風(fēng)陣列為基礎(chǔ)的語音增強算法的基本原理。
王義圓等人[26]提出將干擾抑制與麥克風(fēng)陣列結(jié)合的算法,該算法創(chuàng)新之處是在波束形成之后增加了系數(shù)加權(quán),系數(shù)加權(quán)可以有效濾除干擾信號,從而進一步消除干擾信號,然后利用空頻聯(lián)合處理進行語音增強。通過仿真實驗證明,系數(shù)加權(quán)后對于干擾的抑制具有更好的效果。
吳海彬等人[27]通過對噪聲主導(dǎo)的固有模態(tài)函數(shù)分量增加小波閾值去噪的處理,從而將改進經(jīng)驗?zāi)B(tài)分解與以自適應(yīng)波束為基礎(chǔ)的語音增強算法聯(lián)系起來,實現(xiàn)了減少噪聲污染的目的。
以機器學(xué)習(xí)為基礎(chǔ)的語音增強算法分為以隱馬爾可夫模型為基礎(chǔ)的語音增強算法、以非負矩陣分解為基礎(chǔ)的語音增強算法和以深度學(xué)習(xí)為基礎(chǔ)的語音增強算法。
以隱馬爾可夫模型為基礎(chǔ)的語音增強算法分兩個階段實現(xiàn):訓(xùn)練和識別,訓(xùn)練階段完成對輸入信號進行特征提取并通過矢量化的方式對其進行符號化的操作,從而訓(xùn)練得到隱馬爾可夫模型;在識別階段,利用訓(xùn)練好的模型進行識別,并通過比較概率大小的方式確定識別結(jié)果。
以非負矩陣分解為基礎(chǔ)的語音增強算法是將原始語音信號輸入矩陣分解為兩個非負矩陣,然后以純凈信號和噪聲信號的信號譜為激活系數(shù)來建模并與基向量進行線性組合實現(xiàn)增強語音的目的。
隋璐瑛等人[31]采用非負矩陣分解算法把噪聲字典矩陣和噪聲頻譜從原始語音中提取出來,以該字典矩陣為先驗信息,通過聯(lián)合噪聲字典矩陣和推導(dǎo)得到相應(yīng)的迭代公式對語音字典矩陣和語音編碼矩陣進行估計來重構(gòu)增強語音,達到語音增強的目的。
時文華等人[32]針對以非負矩陣分解為基礎(chǔ)的語音增強方法在低信噪比部分和無結(jié)構(gòu)特征的清音部分會引入失真這一問題,通過結(jié)合語音信號在時頻域呈現(xiàn)的稀疏特性和深度神經(jīng)網(wǎng)絡(luò)在語音增強應(yīng)用中表現(xiàn)出的具有重構(gòu)特性的譜,找到了一種聯(lián)合稀疏非負矩陣分解和深度神經(jīng)網(wǎng)絡(luò)的語音增強方法,結(jié)合維納濾波算法和深度學(xué)習(xí)的方法實現(xiàn)了語音增強的目的。
王波等人[33]利用引入平滑矩陣調(diào)節(jié)字典矩陣和系數(shù)矩陣稀疏性的方式來構(gòu)造以非平滑矩陣為基礎(chǔ)的非負矩陣分解算法,通過利用該方法對聯(lián)合字典矩陣下的投影系數(shù)進行更新,達到抑制噪聲的目的。
Y.Wang等人[37-38]利用DNN對理想二值掩碼和理想比率掩碼兩種不同的目標進行估計,通過實驗證明基于DNN的掩碼估計方法可以明顯提高語音增強性能。
Y.Xu等人[39-40]通過DNN來對純凈語音對數(shù)譜和含噪語音對數(shù)功率譜之間存在的非線性關(guān)系進行建模,提高了低信噪比下語音增強性能。
袁文浩等人[41]利用卷積門控循環(huán)神經(jīng)網(wǎng)絡(luò)解決了單獨使用卷積神經(jīng)網(wǎng)絡(luò)難以對含噪語音中的長期依賴關(guān)系進行建模的問題。通過將CNN分別與LSTM,GRU兩種門控循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)合實現(xiàn)了語音增強的目的。
徐思穎等人[42]針對訓(xùn)練與測試數(shù)據(jù)之間的失配問題,通過將正則化的思想應(yīng)用于深度神經(jīng)網(wǎng)絡(luò)中來對語音進行增強,實現(xiàn)了提高語音增強系統(tǒng)在不匹配噪聲環(huán)境下魯棒性的目的。
王雁等人將語音的MFCC和LPMS兩種特征同時作為網(wǎng)絡(luò)的輸入,通過特征結(jié)合的方法提高的深度信念網(wǎng)絡(luò)的語音增強效果。
常用語音增強算法的優(yōu)缺點如表1所示。
表1 常用語音增強算法的優(yōu)缺點
科技的進步與發(fā)展,給人們的生活帶來了方便,但是也提出了更高的要求。在手機通話、語音聊天等應(yīng)用中,如果通話者處于嘈雜的馬路或者熱鬧的火車上,對方就不能很好的接收信號,從而影響通話質(zhì)量,此時通過語音增強技術(shù)就可以有效地提高通話質(zhì)量和效率。在國防安全領(lǐng)域,其聲學(xué)環(huán)境與普通場景相比,噪聲更為復(fù)雜,因此如何從巨大的發(fā)動機轟隆聲中識別指揮員的口令等變得尤其重要,引入語音增強技術(shù),可以盡可能增強目標語音,從而確保戰(zhàn)士接收到準確的指揮口令,從而作出準確的反應(yīng)。
本文闡述了基于數(shù)字信號處理和基于機器學(xué)習(xí)的幾種語音增強技術(shù),同時分析了幾種常用語音增強技術(shù)的優(yōu)缺點。在實際應(yīng)用中,通過完善算法或者結(jié)合幾種算法的方式可以達到比較好的語音增強效果,但是由于噪聲的存在,算法仍然存在不足。基于DNN、RNN等語音降噪算法雖然取得了不錯的降噪效果,但是我們應(yīng)該關(guān)注傳統(tǒng)方法對數(shù)據(jù)進行預(yù)處理等操作,并結(jié)合深度學(xué)習(xí)的思想 ,實現(xiàn)進一步完善語音增強技術(shù)的目的。