李雷,賈新春,彭登永
(1.山西大學(xué) 數(shù)學(xué)科學(xué)學(xué)院,山西 太原 030006;2.山西大學(xué) 自動化系,山西 太原 030013)
近年來,作為語音識別技術(shù)的重要組成部分,語音信號的檢測與增強技術(shù)獲得了廣泛的關(guān)注與研究[1-2]。其中語音檢測技術(shù)主要分為兩類[3]:模型匹配法和門限法。前者由于需要大量的內(nèi)存空間來存儲一些經(jīng)典語音模型,同時還需要大量數(shù)據(jù)來估計待檢測語音的模型,因而在實際應(yīng)用中受到一定的限制。后者通過設(shè)定語音特征參數(shù)閾值來進行檢測,相比于前一種方法更容易實現(xiàn),因此得到更為廣泛的應(yīng)用,例如基于短時能量與過零率的檢測方法、基于LPC倒譜特征的檢測方法[4]、基于小波分析理論的檢測方法等。另一方面,語音增強技術(shù)主要有譜減法[5]、最小均方誤差法[6]、小波變換法[7]等。然而,這些現(xiàn)有的語音檢測與增強技術(shù)多要求語音環(huán)境具有高信噪比,大多難以用于實現(xiàn)低信噪比語音信號的檢測與增強。在許多實際生產(chǎn)應(yīng)用中,語音信號往往會受到各種各樣的噪聲干擾、甚至?xí)谎蜎],例如火車站臺嘈雜的語音環(huán)境經(jīng)常會表現(xiàn)會負(fù)信噪比特征,即信號功率小于噪聲功率。對于這類具有較低信噪比特征的語音環(huán)境下,如何從噪聲背景中盡可能地提取有用的語音信號來實現(xiàn)語音檢測和增強是一個具有重要現(xiàn)實意義和挑戰(zhàn)的研究問題。
為了解決低信噪比環(huán)境對語音信號處理的影響,人們在不斷地研究低信噪比環(huán)境下的語音信號處理技術(shù)。例如,基于希爾伯特-黃變換的低信噪比語音端點檢測算法[8]以及基于極值域均值模式分解最大相似度的低信噪比語音增強算法[9]。它們在低信噪比語音檢測和增強上有顯著效果,但其同樣面臨著一些不可忽略的問題。這兩個技術(shù)都是在經(jīng)驗?zāi)B(tài)分解算法基礎(chǔ)上發(fā)展而來,而經(jīng)驗?zāi)B(tài)分解算法中需要利用三次樣條插值技術(shù)對信號的全部極大值和極小值點進行插值擬合,其中會遇到端點外插值的情況,從而導(dǎo)致端點效應(yīng)的出現(xiàn)。
對于語音信號處理過程中出現(xiàn)的端點效應(yīng),目前也有一些處理方法。例如,Huang等[10]提出了一種延拓法,利用“特征波”對原始信號進行延拓。這一方法只是對端點效應(yīng)有所抑制,并沒有有效降低端點效應(yīng)帶來的影響。因此,許多研究人員對這一方法進行了深入分析并提出了一些改進方法,如鄧擁軍等[11]通過對給定信號的兩端分別添加極大值和極小值,再利用神經(jīng)網(wǎng)絡(luò)分析法來進行端點延拓。另外,也出現(xiàn)了邊界波形匹配預(yù)測法和基于信號時域局部特征的自適應(yīng)時變?yōu)V波分解算法等方法。這些方法都有一定的抑制端點效應(yīng)的效果。
不同于以上工作,為降低端點效應(yīng)帶來的影響,本文采用雙采樣方法將帶噪語音的信號分割成兩組不同長度的信號段,來實現(xiàn)低信噪比語音檢測與增強算法,其中這兩組信號段的長度不同且端點不重合。對這兩組信號段分別進行經(jīng)驗?zāi)B(tài)分解處理,得到固有模態(tài)分量。然后對兩組固有模態(tài)分量分別進行一系列處理,兩組不同長度的信號段經(jīng)過相同的處理過程可以得到兩組語音起始與截止端點數(shù)據(jù),以及兩組濾波去噪后的信號數(shù)據(jù)。兩組語音端點數(shù)據(jù)是不同的,兩組去噪后的信號數(shù)據(jù)也不同,其中有端點效應(yīng)以及信號段長度帶來的影響。對于語音端點數(shù)據(jù),本文根據(jù)這兩組不同的結(jié)果進行語音端點校正,對于同一段語音,從兩組結(jié)果中取靠近其中心的點作為其端點。對于去噪后的信號數(shù)據(jù),進行數(shù)據(jù)融合處理,對于某一時刻的信號數(shù)據(jù),如果該時刻處于兩組信號段中任意一個信號段的端點附近,則取另一組信號對應(yīng)時刻的數(shù)據(jù)作為最終增強處理后的信號數(shù)據(jù),否則取兩組信號對應(yīng)時刻數(shù)據(jù)的均值為最終增強處理后的信號數(shù)據(jù)。雙采樣技術(shù)的應(yīng)用為語音端點校正以及最后的濾波信號數(shù)據(jù)融合提供了必要的條件,也為有效降低端點效應(yīng)帶來的影響提供了基礎(chǔ)。最后,通過例子驗證該結(jié)果比現(xiàn)有算法效果更好。
語音信號是典型的非平穩(wěn)信號,但語音信號同時具有短時平穩(wěn)特性,即可認(rèn)為在10~30 ms內(nèi)語音信號分布特性近似不變。因此,可以在處理語音信號時先將其分割成連續(xù)的小段,再進行一系列的處理。傳統(tǒng)的語音采樣技術(shù)是對語音信號進行“加窗分幀”處理。分幀可以采用連續(xù)分段和交疊分段的方法,一般采用后者。交疊分段的方法由于幀與幀之間是平滑過渡,保持了信號的連續(xù)性,兩幀之間的交疊部分稱為幀移。分幀是通過一個有限長的窗函數(shù)加權(quán)滑動實現(xiàn)的。
本文以高速列車運營的復(fù)雜語音環(huán)境及無線傳感網(wǎng)絡(luò)(WSN)的實時監(jiān)測為研究背景,提出一個多采樣方法來降低復(fù)雜語音環(huán)境對語音信號處理效果的影響。具體地,由于在WSN對火車站臺語音信號進行實時監(jiān)測收集過程中,采樣數(shù)據(jù)經(jīng)常會發(fā)生丟包和時延等非理想情形,從而導(dǎo)致采樣數(shù)據(jù)的不完整和不連續(xù),所以為降低它們對語音處理效果的影響,可以在火車站臺同一個地點同時利用多個無線傳感器對語音信號進行采樣,然后在后續(xù)的數(shù)據(jù)處理中通過數(shù)據(jù)融合來減弱這些非理想因素對語音處理效果的影響。考慮到研究方法復(fù)雜度和有效性之間的折中,本文采用兩個無線傳感器分別對同一低信噪比語音信號進行采樣的雙采樣方法。在此過程中,兩個無線傳感器都只收集和發(fā)送數(shù)據(jù),不存儲數(shù)據(jù),故只能采用連續(xù)分段的方法進行采樣,如圖1所示。為防止各分段的端點重合以及滿足短時平穩(wěn)性,可分別取幀長為l1、l2,使得l1、l2均分布在30 ms附近,且兩者之積為無理數(shù),本文取l1=10π ms,l2=10 e ms,其中π為圓周率,e為自然常數(shù)。
圖1 語音雙采樣示意圖
本文提出的基于雙采樣方法的語音端點檢測與語音增強算法主要流程見圖2,從圖中可知,所提算法的處理過程主要分為兩大部分組成,即語音端點檢測和語音增強。因此,后文將主要圍繞著兩部分進行詳細(xì)闡述。
圖2 基于雙采樣方法的語音檢測與增強流程示意圖
在語音識別系統(tǒng)中語音信號檢測被稱為語音端點檢測。在火車站臺這種復(fù)雜語音環(huán)境中,強背景噪聲的存在使得待檢測的語音信號相對較弱,這導(dǎo)致常規(guī)的檢測算法效果較差。經(jīng)過分析比較現(xiàn)有的檢測算法,本文采用基于希爾伯特-黃變換的語音信號檢測算法,該算法在低信噪比語音信號檢測中取得了一定成效。希爾伯特-黃變換算法[12-13]主要包含兩個部分:經(jīng)驗?zāi)B(tài)分解和希爾伯特變換。
A. 經(jīng)驗?zāi)B(tài)分解
經(jīng)驗?zāi)B(tài)分解(Empirical Mode Decomposition, EMD)過程具體如下:
1) 設(shè)原始信號為x(t),初始化:r0(t)=x(t),i=1;
2) 得到第i個固有模態(tài)分量(Intrinsic Mode Function, IMF):
(a) 初始化:h0(t)=ri-1(t),j=1;
(b) 找出hj-1(t)的局部極值點;
(c) 對hj-1(t)的局部極大和極小值點分別進行三次樣條插值擬合處理,形成上下包絡(luò)線;
(d) 計算上下包絡(luò)線的平均值mj-1(t);
(e) 計算hj(t)=hj-1(t)-mj-1(t);
3) 計算ri(t)=ri-1(t)-imfi(t);
4) 如果ri(t)的極值點數(shù)多于2個,則i=i+1,轉(zhuǎn)到2);否則,分解結(jié)束,ri(t)為殘余分量。
B. 希爾伯特變換
希爾伯特變換(Hilbert Transform,HT)常用于線性和非線性系統(tǒng)的分析。在實際應(yīng)用中,HT可以提供有關(guān)振幅、瞬時相位和頻率的附加信息。對于信號x(t)通過經(jīng)驗?zāi)B(tài)分解處理得到的任意時間序列imfi(t),其希爾伯特變換himfi(t)被定義為:
由于在火車站臺是利用無線傳感網(wǎng)絡(luò)對語音信號進行實時采集和傳輸,容易出現(xiàn)丟包現(xiàn)象,這里假設(shè)雙采樣得到的兩組數(shù)據(jù)在同一時刻的數(shù)據(jù)最多丟失一組。
根據(jù)前文所述,可制定基于希爾伯特-黃變換算法的語音端點檢測步驟如下:
1) 利用兩個傳感器對語音信號分別以相同采樣頻率進行采樣,并分割成相鄰沒有重疊的信號幀,幀長分別為:l1=10e ms,l2=10π ms;
2) 分別對兩種不同幀長的帶噪語音信號各幀進行經(jīng)驗?zāi)B(tài)分解處理;
3) 對各IMF分量進行希爾伯特變換,求解瞬時頻率與幅值;
4) 兩組數(shù)據(jù)分別合成希爾伯特譜;
5) 利用合成的希爾伯特譜計算獲得信號瞬時能量譜,并對該譜進行平滑處理;
6) 在信號初始階段選取沒有語音的片段,用于語音背景噪聲的估計。本文分別取兩種幀長信號的前5幀瞬時能量譜進行如下處理,分別得到兩個語音信號檢測的閾值(這里假設(shè)兩組數(shù)據(jù)的前5幀均沒有出現(xiàn)數(shù)據(jù)丟失)Ts1、Ts2:
Ts1=E(IE1)+α·D(IE1)
7) 利用閾值Ts1、Ts2在兩種不同幀長的瞬時能量譜中判斷出語音段和非語音段,并在帶噪語音信號中標(biāo)記出語音的起始和截止端點(仿真實驗中,可以同時在純凈語音信號中標(biāo)出語音端點,來計算準(zhǔn)確率);
8) 每個語音片段對應(yīng)兩個語音端點,比較兩種不同幀長信號的語音端點位置,對于同一個語音片段的起始端點,選取靠近語音片段中心的那個作為該語音片段的起始端點,而其截止端點同樣選取靠近其中心的端點作為其截止端點。
基于經(jīng)驗?zāi)B(tài)分解最大相似度語音增強方法,可以利用前文中檢測得到的噪聲先驗知識和最大相似度方法對經(jīng)驗?zāi)B(tài)分解得到的固有模態(tài)分量進行有效的分類,再對各類固有模態(tài)分量進行自適應(yīng)濾波處理,達到降噪目的,從而實現(xiàn)復(fù)雜環(huán)境下低信噪比語言信號的增強。
本文中最大相似度指的是噪聲信號與檢測到的帶噪語音信號各固有模態(tài)分量的最大相似程度。最大相似度計算過程如下:
1) 在語音信號前的非語音段任意提取k段噪聲信號Nk,且每段噪聲信號要與檢測到的語音信號片段長度相同;
2) 計算提取的k段噪聲信號分別與分解得到的第i個固有模態(tài)分量imfi對應(yīng)的語音片段位置的數(shù)據(jù)之間的相關(guān)系數(shù)R1i、R2i、…Rki,假設(shè)i=1,2,…,m;
3) 在R1i、R2i、…Rki中選取最大值,即為最大相似度,記作MSi,i=1,2,…,m。
基于前文對基于經(jīng)驗?zāi)B(tài)分解最大相似度語音增強算法各關(guān)鍵概念的闡述,給出語言增強設(shè)計步驟如下:
1) 在前文語音檢測的基礎(chǔ)上,分別提取檢測到的帶噪語音信號片段;
2) 在語音信號前端任意提取多段與檢測到的語音信號片段長度相等的噪聲信號;
3) 將提取的帶噪語音信號片段進行極值域均值模式分解處理,得到若干固有模態(tài)分量;
4) 計算求取噪聲信號與各固有模態(tài)分量之間的最大相似度;
5) 通過實驗確定最大相似度閾值,本文取閾值為0.02;
7) 將經(jīng)過濾波處理的固有模態(tài)分量和沒經(jīng)過濾波處理的其他固有模態(tài)分量進行信號重構(gòu),得到增強后的信號;
8) 將兩組不同幀長的經(jīng)過一系列處理得到的增強信號進行數(shù)據(jù)融合,如果在某一點,處于其中一組數(shù)據(jù)某幀端點附近(端點前后0.5 ms),則融合的信號取另一組數(shù)據(jù)對應(yīng)位置的數(shù)據(jù),否則取兩組數(shù)據(jù)的平均值。
經(jīng)過上述算法第八個步驟數(shù)據(jù)融合處理,可有效解決端點效應(yīng)帶來的影響,且可減少幀長不同所帶來的影響,進而提高語音增強效果。
根據(jù)上述理論分析,分別進行了MATLAB軟件仿真實驗和實物平臺測試實驗,以下是實驗過程及結(jié)果。
本文選取一段語音信號,利用MATLAB軟件對其添加了不同信噪比的火車站臺噪聲,并按照前述方法進行了仿真實驗,結(jié)果如圖3-圖5所示。
圖3 SNR =1 dB時語音端點檢測與增強效果
圖4 SNR =-3 dB時語音端點檢測與增強效果
圖5 SNR =-7 dB時語音端點檢測與增強效果
圖3、4、5分別是信噪比為1 dB、-3 dB、-7 dB時語音端點檢測與增強效果圖,每幅圖中第一子圖為原始語音信號圖,第二子圖為帶噪語音信號的起始與截止端點檢測效果圖,第三子圖為增強處理后效果圖。從中可以看出,隨著信噪比降低,本文方法仍然有較好的語音端點檢測與增強效果。此外,針對不同信噪比的帶噪信號,本文利用譜減法和最小均方誤差估計法對前文帶噪語音信號進行處理,并用MATLAB軟件編程實現(xiàn),得到語音增強后信噪比,如表1所示。
由表1可知,本文方法在信噪比較低時依然有較好的增強效果,能較大幅度提高信噪比。同時,與另兩種方法相比,在相同條件下,本文方法增強效果更好。
我們注意到,在本文所提方法中,由于語音增強是在語音端點檢測基礎(chǔ)上進行操作,所以增強效果可以側(cè)面反映出語音端點檢測效果,而仿真實驗顯示語音增強效果較好,故語音端點檢測效果較好。另外,從圖3-圖5中也能看出,語音信號的端點基本都能被檢測出來,然而,由于聲音信號的不平穩(wěn)性,導(dǎo)致很多現(xiàn)有方法會把帶噪信號中的許多噪音被誤認(rèn)為語音,從而降低了其語音處理效果,而本文所提的基于雙采樣的語音增強技術(shù)能很好地處理這類問題,并得到較好的結(jié)果。
表1 3種方法增強語音后信噪比對比結(jié)果
利用硬件(語音信號采集節(jié)點、信號轉(zhuǎn)發(fā)器)和軟件(Microsoft Visual Studio)搭建了語音信號采集處理平臺(如圖6所示),根據(jù)前文所述算法,利用C#語言編程實現(xiàn),對硬件采集的語音信號進行了實際場景的語音信號檢測與增強測試,結(jié)果見表2、表3所示。
圖6 語音信號采集處理平臺示意圖
由于實際應(yīng)用場景(火車站臺)的特殊性,實物平臺測試實驗只能在實驗室進行。具體操作為:利用錄音設(shè)備在火車站臺錄制一整天的音頻數(shù)據(jù),然后在實驗室播放,利用語音信號采集節(jié)點進行信號采集,并通過信號轉(zhuǎn)發(fā)器傳輸給電腦接收端,通過電腦軟件平臺對所采集的信號進行處理。檢測的語音對象是火車站站臺廣播語音,其他聲音信號默認(rèn)為背景噪聲。
表2統(tǒng)計并比較了使用本文方法與基于短時能量與過零率的檢測方法、基于LPC倒譜特征的檢測方法的語音信號檢測率(DR)、漏檢率(ODR)和誤檢率(EDR)。使用本文方法、譜減法和最小均方誤差估計法對同一段帶噪語音信號增強處理,利用PESQ語音質(zhì)量評估算法分別對增強后的語音信號進行了語音質(zhì)量評估,結(jié)果如表3所示。從表2、表3中可以看出本文方法的有效性和可靠性。
表2 3種方法語音信號檢測結(jié)果比較
表3 對3種方法所增強語音的PESQ語音質(zhì)量評估結(jié)果比較
本文提出了一種基于雙采樣方法的語音端點檢測與語音增強算法,在雙采樣技術(shù)的基礎(chǔ)上結(jié)合經(jīng)驗?zāi)B(tài)分解、希爾伯特變換及最大相似度計算,對帶噪語音信號依次進行語音端點檢測和語音增強處理,最后通過數(shù)據(jù)融合處理在降低了端點效應(yīng)及其他因素對低信噪比語音信號處理結(jié)果帶來的影響,實驗結(jié)果說明本文所提方法在處理火車站臺低信噪比復(fù)雜語音環(huán)境下語音端點檢測與增強的有效性。此外,本文算法可以推廣到多個傳感器采樣的場景中。