蔣非穎 張佳敏
(1、北京儒博科技有限公司,北京 100000 2、成都大學(xué)肉類加工四川省重點(diǎn)實(shí)驗(yàn)室,四川成都 610106)
在語(yǔ)音識(shí)別中的多人對(duì)話場(chǎng)景,需要把說(shuō)話人各自的語(yǔ)音分開才能有效加以識(shí)別,混在一起的語(yǔ)音識(shí)別不了。目前一個(gè)比較常用的應(yīng)用場(chǎng)景是用于智能多人會(huì)議識(shí)別轉(zhuǎn)寫系統(tǒng),一個(gè)麥陣設(shè)備放在參會(huì)者中間來(lái)拾取和分離、識(shí)別語(yǔ)音。其普遍使用的算法是基于麥陣多波束成形按說(shuō)話人空間方向來(lái)分離[1],典型的如微軟Azure IoT Edge 使用的“黑塔”會(huì)議系統(tǒng),用12個(gè)波束,覆蓋360°的方位?;蛘哂?xùn)練深度神經(jīng)網(wǎng)絡(luò)來(lái)做單通道盲分離[2-4]。將其結(jié)合的多通道神經(jīng)網(wǎng)絡(luò)語(yǔ)音分離架構(gòu)是目前熱點(diǎn)的研究方向[5,6]。這種主要用于多人會(huì)議場(chǎng)景的外置麥陣拾音設(shè)備使用場(chǎng)景固定,它需要有地方放置,不方便移動(dòng)攜帶。相比而言可穿戴的小型設(shè)備更為靈活方便,廣泛適用于例如服務(wù)員和顧客,醫(yī)護(hù)和患者等之間的對(duì)話的拾音來(lái)分離識(shí)別。
基于設(shè)置較多固定波束的波束成形算法以及基于深度神經(jīng)網(wǎng)絡(luò)的分離算法往往需要比較大的算力和存儲(chǔ)空間,其本地設(shè)備主要用于拾音,計(jì)算一般放在云端進(jìn)行,因此用于有無(wú)線信號(hào)覆蓋的在線場(chǎng)景。而可穿戴設(shè)備具有可移動(dòng)性,有支持離線處理的需求,算法要能在本地嵌入式端進(jìn)行。而且使用電池供電,也有省電、低功耗的需求。因此算力和存儲(chǔ)都有限,需要低復(fù)雜度的分離算法。
本文研究了在一種基于增強(qiáng)干擾語(yǔ)音抑制的人聲分離的算法,使用了最少一個(gè)麥陣波束和一個(gè)自適應(yīng)噪聲對(duì)消模塊,以較小的算力消耗在一種可穿戴設(shè)備,智能胸牌上達(dá)到了較好的人聲分離的效果。
本文研究的胸牌結(jié)構(gòu)如圖1 所示,胸牌使用4 個(gè)麥克風(fēng)構(gòu)成麥克風(fēng)陣列,麥克風(fēng)放置在胸牌四個(gè)角上,橫向麥克間距6cm,縱向間距3cm。胸牌佩戴在說(shuō)話人胸口,這種4 麥結(jié)構(gòu)可以認(rèn)為構(gòu)成一個(gè)環(huán)形麥陣,認(rèn)為4 個(gè)麥克風(fēng)非均勻的分布在環(huán)麥的圓周上。
圖1 胸牌結(jié)構(gòu)示意圖
胸牌佩戴在使用者身上后,可以使用麥陣型波束,一個(gè)固定指向佩戴者嘴的方向,另一個(gè)指向?qū)υ捳?,如圖2 所示。本算法采用MVDR[7]波束成形算法,它是廣泛使用的波束成形算法,能較好的抑制干擾噪聲。MVDR 可以使用基于廣義旁瓣對(duì)消的自適應(yīng)波束成形架構(gòu)來(lái)方便迭代實(shí)現(xiàn)[8,9]。如圖3 所示,兩個(gè)波束其中一個(gè)按佩戴位置以固定的方位角和抬高角指向佩戴者,另外一個(gè)以抬高角90°垂直胸牌平面指向?qū)γ娴膶?duì)話者。下文用服務(wù)員和顧客分別指代胸牌佩戴者和與其對(duì)話者。
圖2 胸牌使用場(chǎng)景
由于胸牌離服務(wù)員近很多,而且角度相對(duì)固定,而離顧客遠(yuǎn),因此,如圖3 所示,服務(wù)員這一路固定角度beamforming 輸出的信號(hào)A1 中服務(wù)員語(yǔ)音是主要信號(hào)分量,殘留的顧客語(yǔ)音分量小,如果能進(jìn)一步抑制殘留的顧客語(yǔ)音就能得到比較純凈的服務(wù)員信號(hào)。本文研究了一種增強(qiáng)干擾語(yǔ)音分量抑制算法來(lái)進(jìn)一步抑制顧客語(yǔ)音在信號(hào)A1 上的殘留,以此作為理想的參考信號(hào)。
相反的,由于顧客離胸牌相對(duì)較遠(yuǎn),指向顧客的一路beamforming 輸出信號(hào)A2 中有較強(qiáng)殘留的服務(wù)員語(yǔ)音,并且環(huán)境噪聲大。這里使用自適應(yīng)噪聲消除算法[10,11],把服務(wù)員一路經(jīng)過干擾語(yǔ)音抑制后的輸出作為參考信號(hào),抑制顧客信號(hào)A2 上服務(wù)員的語(yǔ)音分量,以得到分離度較高的顧客語(yǔ)音。
在算力限制或者佩戴者和顧客之間角度較大的情況下,可以如圖3 直接使用一個(gè)麥克的單麥輸入語(yǔ)音替代顧客方向波束成形,這種方案對(duì)噪聲的抑制效果小一些,但并不影響分離。兩路語(yǔ)音再各自經(jīng)過降噪/增益調(diào)整等后處理算法得到最終輸出語(yǔ)音。
圖3 增強(qiáng)干擾抑制波束成形算法框架
傳統(tǒng)自適應(yīng)波束成形雖然能一定程度上抑制非指向方向的語(yǔ)音分量,但還是會(huì)有一定殘余干擾語(yǔ)音成分,特別是兩個(gè)指向方向角度比較靠近的情況,殘留干擾語(yǔ)音分量會(huì)更多,需要進(jìn)一步抑制才能提供較好的識(shí)別效果。具體到工牌設(shè)備,如圖3,如果佩戴者一路輸出信號(hào)A1 里面殘留有較多顧客語(yǔ)音分量,則其作為噪聲對(duì)消算法的參考信號(hào)就不純凈,會(huì)把顧客的語(yǔ)音成分給對(duì)消掉很多,影響語(yǔ)音分離效果。這里考慮利用廣義旁瓣對(duì)消中包含的空間信息,可以進(jìn)一步抑制A1 信號(hào)里殘余的顧客語(yǔ)音分量。
如圖4 所示的廣義旁瓣對(duì)消原理框圖里,經(jīng)過block matrix之后經(jīng)過平滑和EQ 處理后,是估計(jì)出來(lái)的空間噪聲的頻譜Ns,其在空域后濾波里面作為參考進(jìn)一步抑制空間干擾分量。這個(gè)空間噪聲代表波束成形算法里非beam 指向方向的空間干擾信號(hào)。包含了干擾的空間信息,越大表明干擾的能量越強(qiáng),也就是干擾語(yǔ)音分量越強(qiáng)。根據(jù)它的強(qiáng)度,可以設(shè)定一個(gè)門限來(lái)判斷當(dāng)前幀的主要成分是波束指向方向的期望信號(hào),還是非指向方向的干擾語(yǔ)音信號(hào),由此可以把語(yǔ)音分段成期望語(yǔ)音段和干擾語(yǔ)音段,對(duì)干擾語(yǔ)音段進(jìn)行進(jìn)一步的抑制。
圖4 空域自適應(yīng)波束成型旁瓣對(duì)消原理
在廣義旁瓣對(duì)消的自適應(yīng)beamforming 算法結(jié)構(gòu)中,麥克風(fēng)輸入的信號(hào)Xn經(jīng)過傅里葉變換成子帶信號(hào)Xn(ejΩμ,k),其中n為麥克風(fēng)序號(hào),μ 為頻率點(diǎn)序號(hào),Ω 為頻率支撐點(diǎn),k 為時(shí)間幀號(hào)。經(jīng)過Blocking Matrix 去掉目標(biāo)信號(hào)得到空間噪聲,再經(jīng)過平滑以及去偏移EQ 處理后得到用于空域后濾波的空間噪聲頻譜Ns(ejΩμ,k)。
空域后濾波根據(jù)估計(jì)出來(lái)的固定beamforming 處理后的語(yǔ)音功率譜A(ejΩμ,k),以及前述空間噪聲功率譜Ns(ejΩμ,k),利用迭代維納濾波降噪的方式計(jì)算出濾波器系數(shù)用于消除空間噪聲。降噪公式為:
從式(2)可以看出,維納濾波器系數(shù)H(ejΩμ,k)可以反映頻域子帶空間噪聲的強(qiáng)弱,越小說(shuō)明空間噪聲越大,也就是從非beam 指向進(jìn)入的干擾語(yǔ)音分量越大。將濾波器系數(shù)H 在頻域子帶上做歸一化得到全頻帶的平均濾波器系數(shù)H(k):
式中,Hextra(ejΩμ)為額外抑制系數(shù),用于降低去噪門限提供額外的抑制。通過設(shè)置它來(lái)基本消除干擾語(yǔ)音段。
為了評(píng)估分離算法,佩戴胸牌錄音測(cè)試。兩個(gè)測(cè)試人員模擬辦事大廳的服務(wù)員和客戶對(duì)話,兩者相距兩米,1.5m 外音響與兩者成45°角,播放音樂作為噪聲干擾,音樂聲在工牌附近測(cè)得聲壓為70 dBSPL。錄取4 路mic in,其中某一路波形如圖6 第一行所示,其中加框部分波形為顧客說(shuō)話,其余部分為服務(wù)員說(shuō)話。
圖6 分離前后波形對(duì)比
基于錄音使用分離算法,錄制16k 采樣率16bit PCM,使用16ms 幀長(zhǎng),每幀做256 點(diǎn)FFT,使用參數(shù):平滑系數(shù)?=0.99,Hmin=10dB,Hextra=20dB。對(duì)服務(wù)員通路信號(hào)采用波束成形算法和干擾語(yǔ)音抑制算法,得到干擾語(yǔ)音檢測(cè)標(biāo)志如圖5,其中藍(lán)線為干擾語(yǔ)音檢測(cè)標(biāo)志C(k),由圖5 可見,干擾語(yǔ)音段的C(k)值明顯低于非干擾語(yǔ)音段,可以很好的分開。這里設(shè)門限CT 為0.05,就可以分離出干擾語(yǔ)音段,并使用干擾額外抑制算法。
圖5 干擾語(yǔ)音段檢測(cè)
對(duì)于顧客信號(hào)通路,如圖3 算法結(jié)構(gòu),對(duì)顧客信號(hào)分別使用波束成形處理后輸出,或某一個(gè)輸入麥克直接輸出來(lái)做自適應(yīng)噪聲消除,處理后得到最終服務(wù)員波形和顧客波形如圖6。其中第一行為麥克輸入波形,第二行波形為服務(wù)員輸出,第三行為使用波束成形再做自適應(yīng)噪聲消除的顧客輸出波形,第四行為直接使用一麥克輸入來(lái)做自適應(yīng)噪聲消除的顧客處理后輸出波形。由波形可見無(wú)論顧客一路使用波束成形輸出還是使用單一麥克輸出來(lái)做噪聲消除,服務(wù)員和顧客的語(yǔ)音都被完全分離開來(lái),都具有良好的分離能力。只是使用單麥克信號(hào)的話,不具備波束成形的降噪功能,噪聲抑制會(huì)差一點(diǎn)。但是這么節(jié)省了一個(gè)波束成形的計(jì)算,可用于算力緊張的情況。
如2.1 所述增強(qiáng)干擾語(yǔ)音抑制算法主要針對(duì)非同時(shí)說(shuō)話的場(chǎng)景,這是本文分離算法討論的主要場(chǎng)景,在典型的對(duì)話過程中,大部分時(shí)間是對(duì)話成員先后說(shuō)話。同時(shí)說(shuō)話是一種暫態(tài),但同時(shí)說(shuō)話的分離能力也是重要的指標(biāo)。胸牌采用由圖3 所示的旁瓣對(duì)消自適應(yīng)波束成形加自適應(yīng)噪聲消除的算法框架對(duì)同時(shí)說(shuō)話也能提供較好分離能力。
由于胸牌的特點(diǎn),服務(wù)員的語(yǔ)音能量相對(duì)顧客較大,且角度相對(duì)固定,因此圖3 所示服務(wù)員一路,經(jīng)波束成形輸出信號(hào)A1 比較純凈,包含的顧客語(yǔ)音少,用它作為參考信號(hào)使用自適應(yīng)濾波的噪聲消除算法可以進(jìn)一步消除顧客一路A2 里面的服務(wù)員語(yǔ)音分量,且對(duì)A2 中顧客語(yǔ)音成分的消除較少。在胸牌兩人2m 距離說(shuō)話場(chǎng)景,分離仿真效果如圖7所示,第一,行為mic 輸入波形,其中紅色細(xì)線部分是顧客單講,藍(lán)色粗線是同時(shí)講話部分。第二,三行分別為分離出來(lái)的服務(wù)員和顧客。經(jīng)仿真計(jì)算,使用本文提出的如圖3 所示的分離算法框架,同時(shí)說(shuō)話的干擾語(yǔ)音抑制能達(dá)到18dB,同時(shí)對(duì)各自自己的語(yǔ)音消除較小。
圖7 同時(shí)講話的分離
本文基于麥陣自適應(yīng)波束成形算法,實(shí)現(xiàn)了一種用于可穿戴設(shè)備的語(yǔ)音分離算法框架。研究了一種加強(qiáng)干擾語(yǔ)音抑制算法,能進(jìn)一步消除波束成形后的殘余干擾語(yǔ)音分量。對(duì)于對(duì)話者的非同時(shí)說(shuō)話以及同時(shí)說(shuō)話的場(chǎng)景,本算法都可以較好的分離語(yǔ)音,同時(shí)節(jié)省計(jì)算量,適用于低功耗設(shè)備的需求。