【導(dǎo)讀】隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,安靜環(huán)境下的語音識別已基本達(dá)到實(shí)用的要求;但是面對真實(shí)環(huán)境下噪聲、混響、回聲的干擾,面對著更自然隨意的口語表達(dá),語音識別的性能明顯下降;尤其是遠(yuǎn)講環(huán)境下的語音識別,還難以達(dá)到實(shí)用的要求。
語音前端處理技術(shù)對于提高語音識別的魯棒性起到了非常重要的作用;通過前端處理模塊抑制各種干擾,使待識別的語音更干凈;尤其是面向智能家居和智能車載中的語音識別系統(tǒng),語音前端處理模塊扮演著重要角色。除了語音識別,語音前端處理算法在語音通信和語音修復(fù)中也有著廣泛的應(yīng)用。
在面向語音識別的語音前端處理算法,通過回聲消除、噪聲抑制、去混響提高語音識別的魯棒性;真實(shí)環(huán)境中包含著背景噪聲、人聲、混響、回聲等多種干擾源,上述因素組合到一起,使得這一問題更具挑戰(zhàn)性。
遠(yuǎn)場語音識別的幾個典型的應(yīng)用場景,包括:智能機(jī)器人、智能家居等,此外智能車載也有著非常廣泛的應(yīng)用。為了使得這幾個典型應(yīng)用場景的技術(shù)真正落地,需要解決一系列技術(shù)痛點(diǎn),語音前端處理的一個最為重要的目標(biāo)是實(shí)現(xiàn)釋放雙手的語音交互,使得人機(jī)之間更自然的交互。
此圖形象的描述的語音前端處理模塊的幾個關(guān)鍵問題:Echo:遠(yuǎn)端揚(yáng)聲器播放的聲音回傳給麥克;Diffuse Noise:無向噪聲的干擾;Reflected Sound:聲音通過墻壁反射,造成混響干擾;Interference:其他方向的干擾源; Target Speech:目標(biāo)方向聲音。Microphone Array:利用麥克風(fēng)陣列拾音。
語音前端處理模塊跟語音交互系統(tǒng)的關(guān)系:橙色部分表示多通道處理模塊,藍(lán)色部分表示單通道處理模塊,紅色部分表示后端識別合成等模塊。麥克風(fēng)陣列采集的語音首先利用參考源對各通道的信號進(jìn)行回波消除,然后確定聲源的方向信息,進(jìn)而通過波束形成算法來增強(qiáng)目標(biāo)方向的聲音,再通過混響消除方法抑制混響;需要強(qiáng)調(diào)的是可以先進(jìn)行多通道混響消除再進(jìn)行波束形成,也可以先進(jìn)行波束形成再進(jìn)行單通道混響消除。經(jīng)過上述處理后的單路語音進(jìn)行后置濾波消除殘留的音樂噪聲,然后通過自動增益算法調(diào)節(jié)各個頻帶的能量后最為前端處理的輸出,將輸出的音頻傳遞給后端進(jìn)行識別和理解。
對于遠(yuǎn)場語音識別,更多的是采用雙麥克,甚至是多麥克進(jìn)行聲音采集,這是由于單麥克遠(yuǎn)距離拾音能力有限,而麥克風(fēng)陣列可以有效的增強(qiáng)目標(biāo)方向聲音。上圖為麥克風(fēng)陣列采集語音的示意圖,各個通道的信號通過濾波器加權(quán)融合,Y為多通道融合增強(qiáng)后的語音,可以將其分解為兩部分:目標(biāo)語音成分和殘留噪聲成分;殘留噪聲成分可以通過后置濾波算法進(jìn)一步處理,也可以通過改進(jìn)麥克風(fēng)陣列波束形成算法使這一成分得到有效抑制。
一、回聲消除的方法:
在遠(yuǎn)場語音識別系統(tǒng)中,回聲消除最典型的應(yīng)用是智能終端播放音樂,遠(yuǎn)端揚(yáng)聲器播放的音樂會回傳給近端麥克風(fēng),此時需要有效的回聲消除算法來抑制遠(yuǎn)端信號的干擾。回聲消除的兩個難點(diǎn)是雙講檢測和延時估計,對于智能終端的回聲消除模塊,解決雙講條件下對遠(yuǎn)端干擾源的抑制是最為關(guān)鍵的問題。
這是一個更為復(fù)雜的回聲消除系統(tǒng),近端通過麥克風(fēng)陣列采集信號,遠(yuǎn)端是雙聲道揚(yáng)聲器輸出;因此近端需要考慮如何將波束形成算法跟回聲消除算法對接,遠(yuǎn)端需要考慮如何對立體聲信號去相關(guān)。如圖所示DTD部分結(jié)合遠(yuǎn)端信號和近端信號進(jìn)行雙講檢測,通過判斷當(dāng)前的模式(近講模式、遠(yuǎn)講模式、雙講模式)采用不同的策略對濾波器w1和w2進(jìn)行更新,進(jìn)而濾除遠(yuǎn)端干擾,在此基礎(chǔ)上通過后置濾波算法消除殘留噪聲的干擾。
二、混響消除方法:
聲音在房間傳輸過程中,會經(jīng)過墻壁或其它障礙物的反射后到達(dá)麥克風(fēng),從而生成混響語音;房間大小、聲源和麥克風(fēng)的位置、室內(nèi)障礙物、混響時間等因素均影響著混響語音的生成;可以通過T60描述混響時間,它的定義為聲源停止發(fā)聲后,聲壓級減少60dB所需要時間即為混響時間?;祉憰r間過短,聲音發(fā)干,枯燥無味不親切自然,混響時間過長,會使聲音含混不清:合適時聲音圓潤動聽。大多數(shù)房間的混響時間在200-1000ms范圍內(nèi)。
上圖為一個典型的房間脈沖響應(yīng),藍(lán)色部分為早期混響,橙色部分為晚期混響;在語音去混響任務(wù)中,更多的關(guān)注于對晚期混響的抑制。
此圖相對直觀的描述了混響語音的生成過程,安靜語音在時域上卷積房間脈沖響應(yīng)濾波器后生成混響語音;通常語音在傳輸過程中會伴隨噪聲的干擾;因此麥克風(fēng)接收到的語音Y包含三個部分:藍(lán)色部分包括了從聲源直接到達(dá)麥克風(fēng)的語音以及早期混響成分、橙色部分是晚期混響成分、灰色部分是房間中各種噪聲源的干擾。
當(dāng)前主流的混響消除方法主要包括以下四類:基于波束形成方法、基于逆濾波方法、基于語音增強(qiáng)方法、基于深度學(xué)習(xí)方法?;诓ㄊ纬傻幕祉懴椒僭O(shè)干擾信號與直達(dá)信號之間是獨(dú)立的,它對于抑制加性噪聲非常有效,它并不適用于混響環(huán)境;理論上,逆濾波算法可以獲得較好的混響消除性能,但是缺少能夠在實(shí)際環(huán)境中對混響等效濾波器進(jìn)行盲估計的有效算法,因此很難實(shí)際應(yīng)用;譜增強(qiáng)算法根據(jù)預(yù)先定義好的語音信號的波形或頻譜模型,對混響信號進(jìn)行處理,但是該方法難以提取出純凈語音,從而難以有效實(shí)現(xiàn)混響消除。針對上述問題,一些學(xué)者開始嘗試基于深度學(xué)習(xí)的語音混響消除方法,這種方法的劣勢是當(dāng)訓(xùn)練集和測試集不匹配時,算法性能會下降。這次報告重點(diǎn)介紹一種使用比較廣的基于加權(quán)預(yù)測誤差的混響消除方法。這種方法是由日本的NTTData公司提出并進(jìn)一步改進(jìn)的,能夠適用于單通道和多通道的混響消除。
這種方法的思想和語音編碼中的線性預(yù)測系數(shù)有些相似,如下圖所示,混響語音信號Y可以分解為安靜語音成分D混響成分L,L可以通過先前若干點(diǎn)的Y加權(quán)確定,G表示權(quán)重系數(shù);WPE算法的核心問題是確定G,然后估計出混響消除后的語音。
該算法通過如下目標(biāo)函數(shù)估計濾波器系數(shù),具體推倒過程如下所示,更為詳細(xì)的算法流程可以參考一下網(wǎng)址(kecl.ntt)推薦的論文。
由于早期混響成分有助于提高語音的可懂度,因此可以對上述的方法進(jìn)行改進(jìn),只抑制晚期混響成分。如下圖所示D同時包括安靜語音成分和早期混響成分,通過先前若干點(diǎn)的Y確定L時沒有考慮早期混響成分。
在此基礎(chǔ)上將WPE方法擴(kuò)展到多通道混響消除模式,此時某一通道的晚期混響成分L可以通過各個通道先前若干點(diǎn)的Y加權(quán)確定,通過估計最優(yōu)的權(quán)重系數(shù)G,消除晚期混響成分的干擾。
基于WPE的多通道混響消除的流程,如果所示需要經(jīng)過多次迭代確定出濾波器系數(shù)g,生成出混響消除后的語音。輸出的去混響后的各通道語音可以作為波束形成算法的輸入。
三、語音降噪方法:
這個公式表示第j個麥克風(fēng)接收到語音信號時域上的數(shù)學(xué)表達(dá)式,x表示安靜語音,h表示房間響應(yīng)函數(shù),u表示其它噪聲干擾。接下來介紹的算法將更多的側(cè)重于對噪聲源u的抑制。
此公式表示第j個麥克風(fēng)接收到語音信號頻域上的數(shù)學(xué)表達(dá)式,X表示安靜語音,H表示房間響應(yīng)函數(shù),U表示其它噪聲干擾。接下來介紹的算法將更多的側(cè)重于對噪聲源U的抑制。
波束形成算法的目的:融合多個通道的信息抑制非目標(biāo)方向的干擾源,增強(qiáng)目標(biāo)方向的聲音。從圖中我們可以看到,各個麥克風(fēng)接收到的語音信號存在延時,這種時延信息能夠反映出聲源的方向;直覺上分析,通過對齊各個通道的信號,能夠增強(qiáng)目標(biāo)語音信號,同時由于相位差異可以抵消掉部分干擾成分。
波束形成算法需要解決的核心問題是估計空間濾波器W,它的輸入是麥克風(fēng)陣列采集的多通道語音信號,它的輸出是增強(qiáng)后的單路語音信號。對空間濾波器進(jìn)一步細(xì)分,可以分為時不變線性濾波、時變線性濾波以及非線性變換模型。最簡單的延時求和法屬于時不變線性濾波,廣義旁瓣濾波法屬于時變線性濾波,基于深層神經(jīng)網(wǎng)絡(luò)的波束形成屬于非線性變換模型。
通過波束方向圖可以更直觀的理解波束形成的原理,上圖是一個麥克風(fēng)陣列算法在f頻帶上所對應(yīng)的波束方向圖,不同頻帶對應(yīng)不同的波束方向圖;波束方向圖同時還依賴于麥克風(fēng)陣列的硬件拓?fù)?,例如線型陣只能實(shí)現(xiàn)180度定向,因此它的波束方向圖是對稱的。在設(shè)計波束形成算法時,需要盡可能使得主瓣帶寬盡可能窄,同時能夠有效的抑制旁瓣增益。在麥克風(fēng)陣列選型上,麥克風(fēng)之間的距離越大,則陣列的定向拾音能力越強(qiáng),但是不能無限加大麥克風(fēng)之間的距離,需要遵循空間采樣定理。聲學(xué)信號中的波束形成方法與雷達(dá)信號處理中的波束形成方法有很多相似之處,但兩者處理的頻帶和帶寬有差異。
麥克風(fēng)陣列算法的數(shù)學(xué)表達(dá)式解析,式中Y表示各個麥克風(fēng)接收到的信號,綠色部分表示聲源信號,橙色部分表示聲源信號傳輸?shù)禁溈孙L(fēng)的變換,紅色部分表示各種噪聲源的干擾。因此波束形成算法需要在已知Y的條件下,盡可能準(zhǔn)確的估計h和u;即估計導(dǎo)向矢量和噪聲模型。
導(dǎo)向矢量是麥克風(fēng)陣列算法中最為重要的參數(shù),能夠反映聲源傳輸?shù)姆较蛐孕畔?,用于描述從聲源到麥克風(fēng)傳輸過程中延時、衰減等特性;下圖為自由場條件下的平面波模型,自由場假設(shè)忽略了混響干擾,遠(yuǎn)距離拾音可以近似為平面波模型;數(shù)學(xué)表達(dá)式中紫色部分表示聲源到達(dá)各個麥克風(fēng)的時間差,綠色部分表示聲源向麥克風(fēng)傳輸過程中的衰減,導(dǎo)向矢量主要跟這兩個因素有關(guān);在一些算法中會忽略能量衰減因素的影響。對導(dǎo)向矢量進(jìn)一步處理也可以對聲源方位信息進(jìn)行估計。
通過廣義互相關(guān)函數(shù)可以確定各個麥克風(fēng)之間的相對延時,如下圖所示,尋找廣義互相關(guān)函數(shù)中的峰值點(diǎn),通過峰值點(diǎn)的位置計算出相對延時。為了進(jìn)一步提高TDOA估計的魯棒性,可以采用GCC-PHAT方法,這種方法在已有方法基礎(chǔ)上引入了能量歸一化機(jī)制。
下圖為一種改進(jìn)的基于加權(quán)延時求和的波束形成方法,針對TDOA模塊,利用維特比算法確定各個通道的最優(yōu)相對延時,根據(jù)實(shí)際環(huán)境對各個通道的權(quán)重進(jìn)行控制;算法細(xì)節(jié)可以參考BeamformIt工具包,這種算法作為CHIME評測比賽中的基線方法。
基于延時求和的方法計算復(fù)雜度低,但是它在真實(shí)環(huán)境下的魯棒性差,接下來介紹一種應(yīng)用更為廣泛的方法:基于最小方差失真響應(yīng)波束形成。如下圖中的數(shù)學(xué)表達(dá)式所示,y表示多通道語音,w表示空間濾波器,x表示增強(qiáng)后的單通道語音,這種波束形成算法的假設(shè)是期望方向上的語音無失真,也就是wh這項為1;同時保證對噪聲的響應(yīng)最小,也就是最小化wu這項。在這兩個約束條件下估計最優(yōu)的空間濾波器w。
經(jīng)過一系列的變換和推倒,我們能夠確定空間濾波器w與噪聲協(xié)方差矩陣和導(dǎo)向矢量的關(guān)系。為了計算噪聲協(xié)方差矩陣,需要估計出各個通道中信號在各個頻帶上噪聲成分的互相關(guān)系數(shù),因此對噪聲成分的有效估計將直接影響到波束形成算法的性能。對于導(dǎo)向矢量,可以通過估計聲源到達(dá)各個麥克風(fēng)的相對延時來確定。
為了有效的估計噪聲協(xié)方差矩陣,需要對各個通道信號的各幀的各個頻帶的屏蔽值進(jìn)行估計,可以采用二值型屏蔽或浮點(diǎn)型屏蔽;通過這一屏蔽值可以判斷各個頻帶是否是噪聲主導(dǎo)以及噪聲所占的比重;在確定了屏蔽值,可以進(jìn)一步計算出噪聲協(xié)方差矩陣和語音協(xié)方差矩陣;對于導(dǎo)向矢量,不僅可能通過到達(dá)各個麥克風(fēng)的相對延時來確定,還可以通過語音協(xié)方差矩陣變換得到,導(dǎo)向矢量可以近似的表示為語音協(xié)方差矩陣最大特征值所對應(yīng)的特征向量。
重點(diǎn)介紹基于最小方差失真響應(yīng)波束形成的流程,對各個通道語音首先進(jìn)行屏蔽值估計,然后計算噪聲協(xié)方差矩陣和語音協(xié)方差矩陣,進(jìn)一步確定導(dǎo)向矢量,通過導(dǎo)向矢量和噪聲協(xié)方差矩陣估計空間濾波器,生成波束形成后的單通道語音。
除了基于延時求和的波束形成和基于最小方差失真響應(yīng)的波束形成,以下幾種波束形成方法應(yīng)用也比較廣泛,包括:基于最大信噪比的波束形成、基于多通道維納濾波的波束形成以及基于廣義旁瓣濾波的波束形成;通過數(shù)學(xué)表達(dá)式我們可以看出,噪聲協(xié)方差矩陣的估計起到了非常關(guān)鍵的作用。
下面重點(diǎn)介紹一下基于深度學(xué)習(xí)的波束形成方法;深度學(xué)習(xí)方法在智能語音領(lǐng)域的應(yīng)用非常的廣泛,包括單通道的語音增強(qiáng)和語音去混響問題,深度學(xué)習(xí)方法已經(jīng)成為了智能語音領(lǐng)域重要的主流方法之一;不同于單通道語音增強(qiáng),多通道語音增強(qiáng)方法跟麥克風(fēng)陣列的硬件結(jié)構(gòu)高度相關(guān),所以如果直接將各通道譜參數(shù)特征作為輸入,將干凈語音譜參數(shù)特征作為輸出,所訓(xùn)練的模型將受限于硬件結(jié)構(gòu);因此,為了提高模型的泛化能力,更常用的方法是采用深層神經(jīng)網(wǎng)絡(luò)模型對各個通道各個頻帶的屏蔽值進(jìn)行估計、融合,進(jìn)而計算出噪聲協(xié)方差矩陣,然后再跟傳統(tǒng)的波束形成方法對接,如下圖所示的方法是將深層神經(jīng)網(wǎng)絡(luò)方法跟最小方差失真響應(yīng)波束形成方法對接。
采用這種基于深度學(xué)習(xí)的方法,可以有效的抑制噪聲的干擾,提高增強(qiáng)語音的質(zhì)量。增強(qiáng)后的語音可以輸入到語音識別系統(tǒng),提高語音識別的魯棒性。
四、語音前端處理方法在語音識別中的應(yīng)用
這是用于遠(yuǎn)場語音識別的公共數(shù)據(jù)庫,不同于近場語音識別數(shù)據(jù)庫,遠(yuǎn)場語音數(shù)據(jù)的采集不僅錄音環(huán)境更為復(fù)雜,同時還跟采集語音的硬件相關(guān)。所以錄制遠(yuǎn)場語音數(shù)據(jù)的成本相對較高。比較有名的遠(yuǎn)場語音數(shù)據(jù)庫包括AMI數(shù)據(jù),這個數(shù)據(jù)庫是在會議室環(huán)境下錄制的,混響時間較長;Chime數(shù)據(jù)庫,在噪聲環(huán)境下錄制的數(shù)據(jù)庫,其中Chime1和Chime2是單通道采集的,Chime-3和Chime-4是多通道采集的。
Chime-4比賽中包括了三種場景:單通道、雙通道和六通道。前端基線方法是改進(jìn)的延時求和;后端聲學(xué)模型是7層的DNN,得到的聲學(xué)模型需要再進(jìn)行sMBR區(qū)分性訓(xùn)練;語言模型采用3元或5元的語言模型;語料內(nèi)容來自WSJ0數(shù)據(jù)庫。
以下是對Chime-3和Chime-4比賽中的有效方法進(jìn)行的梳理。
首先看一下前端部分,有效的估計噪聲協(xié)方差矩陣將有助于提高算法性能。為了有效的估計噪聲協(xié)方差矩陣,需要對各個通道的各個時頻單元進(jìn)行屏蔽值估計,可以采用深度學(xué)習(xí)等方法進(jìn)行估計,在此基礎(chǔ)上計算噪聲協(xié)方差矩陣;使用最多的波束形成方法包括:最小方差響應(yīng)失真波束形成、最大信噪比波束形成、廣義旁瓣濾波波束形成、多通道維納濾波波束形成等。自適應(yīng)波束形成方法要優(yōu)于固定波束形成方法。
接下來介紹后端有效方法,在數(shù)據(jù)選擇上充分利用各個通道數(shù)據(jù);比如單通道語音增強(qiáng)任務(wù),將六個通道采集的數(shù)據(jù)都作為訓(xùn)練數(shù)據(jù);前端算法和后端算法的匹配非常重要,具體來說,訓(xùn)練聲學(xué)模型時,如果是將前端算法處理后的數(shù)據(jù)作為后端聲學(xué)模型的訓(xùn)練數(shù)據(jù),則對于測試集,需要先通過前端算法進(jìn)行增強(qiáng)處理,然后在此基礎(chǔ)上通過后端模型識別;此外前端算法跟麥克風(fēng)陣列的適配也是非常重要的。當(dāng)前主流的聲學(xué)模型包括了BLSTM和深層的CNN;對不同的聲學(xué)模型進(jìn)行融合也有助于提高識別率,比如將BLSTM和深層CNN的輸出層進(jìn)行融合。對于語言模型LSTM優(yōu)于RNN,RNN優(yōu)于n-gram,對于工業(yè)領(lǐng)域的上線產(chǎn)品更多的是實(shí)用n-gram模型。
當(dāng)前這一領(lǐng)域仍然面臨的挑戰(zhàn)和需要解決的痛點(diǎn)包括:
1、多說話人分離的雞尾酒問題,如何改進(jìn)盲分離算法突破雞尾酒問題;
2、說話人移動時,如何保證遠(yuǎn)場語音識別性能;
3、面對不同的麥克風(fēng)陣列結(jié)構(gòu),如何提高語音前端算法的泛化性能;
4、面對更加復(fù)雜的非平穩(wěn)噪聲和強(qiáng)混響如何保證算法魯棒性;
5、針對更隨意的口語,尤其是窄帶語音,如何提高語音識別的性能;
6、遠(yuǎn)場語音數(shù)據(jù)庫不容易采集,如何通過聲場環(huán)境模擬方法擴(kuò)充數(shù)據(jù)庫。
上述問題的解決將有助于提高遠(yuǎn)場語音識別算法的性能。
(本文由極限元智能科技語音算法專家、中科院-極限元“智能交互聯(lián)合實(shí)驗(yàn)室”核心技術(shù)人員、中科院自動化所博士劉斌整理分享)
推薦閱讀: