龔 杰,馮海泓,陳友元,方 義,2,3,牟宏宇
(1.中國(guó)科學(xué)院聲學(xué)研究所東海研究站,上海201815;2.中國(guó)科學(xué)院聲學(xué)研究所,北京100190;3.中國(guó)科學(xué)院大學(xué),北京100049)
目前,智能家居、智能交通、智能醫(yī)療等場(chǎng)景中越來(lái)越多地將語(yǔ)音端作為一個(gè)重要的現(xiàn)實(shí)場(chǎng)景信息入口,以實(shí)現(xiàn)智能化操作。盡管語(yǔ)音增強(qiáng)領(lǐng)域有著比較長(zhǎng)的研究歷史,但是由于現(xiàn)實(shí)生活中的聲學(xué)場(chǎng)景非常復(fù)雜,如在語(yǔ)音增強(qiáng)領(lǐng)域一直未被解決的雞尾酒會(huì)問(wèn)題(即當(dāng)前語(yǔ)音識(shí)別技術(shù)能以較高精度識(shí)別單個(gè)人講話,但是當(dāng)說(shuō)話人數(shù)為兩人或多人時(shí),語(yǔ)音識(shí)別率就會(huì)極大地降低),在實(shí)際生活場(chǎng)景下語(yǔ)音增強(qiáng)工作仍面臨著極大挑戰(zhàn)。本文致力于在房間存在混響和4個(gè)說(shuō)話人的聲學(xué)場(chǎng)景下,利用陣列波束形成和神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)目標(biāo)語(yǔ)音增強(qiáng)。
用于目標(biāo)語(yǔ)音分離的其中一類方法是單通道目標(biāo)語(yǔ)音增強(qiáng),目前在這一方向上已經(jīng)有一些效果較好的方法,如譜減法[1]、維納濾波法[2]、基于統(tǒng)計(jì)模型的方法[3]、計(jì)算聽覺(jué)場(chǎng)景分析(Computational Auditory Scene Analysis, CASA)和非負(fù)矩陣分解(Non-Negative Matrix Factorization, NMF)方法。近期也出現(xiàn)了一些基于深度學(xué)習(xí)的單通道語(yǔ)音增強(qiáng)方法,例如基于置換不變性的訓(xùn)練方法(Permutation Invariant Training, PIT)[4]、生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Nets, GAN)[5]方法等。但是單通道語(yǔ)音增強(qiáng)的不足在于其實(shí)現(xiàn)語(yǔ)音增強(qiáng)的依據(jù)為目標(biāo)語(yǔ)音與干擾聲的頻譜結(jié)構(gòu)差異,若目標(biāo)語(yǔ)音與干擾聲頻譜結(jié)構(gòu)相似,其效果可能較差且單通道沒(méi)有利用空間信息。
另一類方法是利用空間信息實(shí)現(xiàn)多通道語(yǔ)音增強(qiáng),主要方法是波束形成的方法。但是波束形成大多只利用了空間信息,未利用頻譜信息。
本文將接收的多通道信號(hào)形成4個(gè)方向的超指向波束,得到4個(gè)角度的頻譜信息,然后利用神經(jīng)網(wǎng)絡(luò)與目標(biāo)純凈語(yǔ)音頻譜信息進(jìn)行映射。在此過(guò)程中頻譜信息和空間方位信息均得到利用。仿真和實(shí)驗(yàn)結(jié)果表明,本文采用超指向波束形成結(jié)合神經(jīng)網(wǎng)絡(luò)以實(shí)現(xiàn)目標(biāo)語(yǔ)音增強(qiáng)的算法取得了較好的效果。
本文算法結(jié)構(gòu)如圖1所示。算法流程為待處理的信號(hào)在4個(gè)方向上進(jìn)行超指向波束形成;提取每個(gè)波束的頻譜幅度特征;聯(lián)合后得到聯(lián)合特征,根據(jù)數(shù)據(jù)每個(gè)維度上特征值的平均值和標(biāo)準(zhǔn)差對(duì)聯(lián)合特征進(jìn)行標(biāo)準(zhǔn)化;然后進(jìn)入神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)掩蔽值(Mask);根據(jù)掩蔽值得到目標(biāo)語(yǔ)音頻譜進(jìn)而重構(gòu)時(shí)域信號(hào),得到預(yù)測(cè)的目標(biāo)語(yǔ)音。
圖1 本文算法結(jié)構(gòu)圖Fig.1 The structure diagram of the algorithm proposed in this paper
延遲相加波束形成是波束形成方法中最基礎(chǔ)的一種,其原理是將多個(gè)傳聲器的時(shí)延差補(bǔ)齊,使它們與目標(biāo)方向的傳聲器一致然后進(jìn)行累加。此方法應(yīng)用于非相關(guān)的空間白噪聲時(shí)效果較好,但是其對(duì)相干噪聲場(chǎng)的抑制效果不理想。超指向波束形成在低頻的指向性要強(qiáng)于延遲相加波束形成,因此能夠更好地抑制相干噪聲場(chǎng)[6],因此本文采用超指向波束形成算法。
假設(shè)空間噪聲各向同性分布,噪聲協(xié)方差矩陣的計(jì)算公式為[7]
其中:ΓVV為噪聲協(xié)方差矩陣;J0(?)為0階貝塞爾函數(shù);rmic為圓陣上按逆時(shí)針順序,每個(gè)陣元(包括參考陣元)與參考陣元之間的直線距離;f為頻率;c為空氣中聲速,取值為340.29 m·s-1。
利用最小方差無(wú)失真響應(yīng)(Minimum Variance Distortionless Response, MVDR)波束形成器的權(quán)重公式可以得出此時(shí)的濾波器權(quán)重為[8]
其中:d為導(dǎo)向向量。
由于實(shí)際環(huán)境中存在陣列誤差和空間白噪聲,因此可通過(guò)對(duì)角加載來(lái)提高超指向波束形成的穩(wěn)健性,此時(shí)濾波器權(quán)重為[9]
其中:μ表示對(duì)角加載量,I表示單位矩陣。
信號(hào)相位譜代表方位信息,由于原始信號(hào)來(lái)自多個(gè)方向,頻譜中相位信息和幅度信息相互關(guān)聯(lián),而神經(jīng)網(wǎng)絡(luò)一般都是實(shí)數(shù)型網(wǎng)絡(luò),故頻譜中的相位信息不便利用。進(jìn)行超指向波束形成后,得到4個(gè)方向的超指向波束,這時(shí)可以只利用頻譜幅度信息估計(jì)目標(biāo)語(yǔ)音的掩蔽值,掩蔽值的表達(dá)式為
其中:M為目標(biāo)語(yǔ)音的掩蔽值;λs為目標(biāo)語(yǔ)音的特征值;λ0為參考波束的特征值。
1.3.1 長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)
長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)是一種時(shí)間遞歸神經(jīng)網(wǎng)絡(luò),適用于有用信息間隔和延遲相對(duì)較長(zhǎng)或者間隔有大有小、長(zhǎng)短不一的復(fù)雜語(yǔ)言場(chǎng)景[10]。本文將一條語(yǔ)音片段信息作為一個(gè)時(shí)間序列送入LSTM進(jìn)行訓(xùn)練。
1.3.2 構(gòu)建神經(jīng)網(wǎng)絡(luò)
本文構(gòu)建的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。該結(jié)構(gòu)采用4層LSTM網(wǎng)絡(luò)和1層全連接層網(wǎng)絡(luò)相結(jié)合的形式,每層LSTM層有600個(gè)節(jié)點(diǎn),全連接層有600個(gè)節(jié)點(diǎn),全連接層的激活函數(shù)采用了LeakyReLU函數(shù)和sigmoid函數(shù),損失函數(shù)采用mean_squared_error函數(shù),損失函數(shù)的表達(dá)式為[11]
圖2 本文所用的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 The neural network framework used in this paper
其中:yi為訓(xùn)練集數(shù)據(jù)中的真實(shí)值,為神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)值,ferror為損失函數(shù),損失函數(shù)值越小,說(shuō)明神經(jīng)網(wǎng)絡(luò)與訓(xùn)練集的匹配度越高。
2.1.1 利用TIMIT語(yǔ)料庫(kù)和image method構(gòu)造神經(jīng)網(wǎng)絡(luò)訓(xùn)練集
德州儀器和麻省理工學(xué)院(Texas Instruments and Massachu-setts Institute of Technology, TIMIT)語(yǔ)料庫(kù),是由上述兩家機(jī)構(gòu)和斯坦福國(guó)際研究院合作構(gòu)建的聲學(xué)-音素連續(xù)英語(yǔ)語(yǔ)音語(yǔ)料庫(kù)。TIMIT語(yǔ)料庫(kù)的語(yǔ)音采樣頻率為16 kHz,包含6 300個(gè)句子,70%的說(shuō)話人是男性,大多數(shù)說(shuō)話人是成年白人,630個(gè)說(shuō)話人來(lái)自美國(guó)8個(gè)主要方言地區(qū),每人說(shuō)出給定的10個(gè)句子,所有句子在音素級(jí)別上進(jìn)行了手動(dòng)分割、標(biāo)記。
根據(jù)房間規(guī)格、混響時(shí)間T60、傳聲器位置、說(shuō)話人位置,利用鏡象法(image method)可求得此時(shí)每個(gè)傳聲器的混響傳遞函數(shù)[12]。
假設(shè)一個(gè)房間,如圖3所示,4個(gè)傳聲器構(gòu)成圓陣,圓陣半徑為36.25 mm,與智能音箱的半徑近似。將圓陣中心置于房間正中央,離地高度設(shè)為1.3 m,與現(xiàn)實(shí)環(huán)境中的智能音箱擺放高度大致相同,所有傳聲器均位于同一水平面上。然后將從圖3中聲陣列的圓心到最右側(cè)陣元的連線方向作為0°方向,即目標(biāo)語(yǔ)音方向,逆時(shí)針規(guī)劃角度,將0°~360°以60°為間隔劃分角度,除0°以外,隨機(jī)挑選3個(gè)角度作為說(shuō)話人方向,4個(gè)說(shuō)話人在距離圓陣中心1~3 m內(nèi)隨機(jī)站位,陣列中心與四個(gè)說(shuō)話人的距離均遠(yuǎn)大于混響半徑?;祉憰r(shí)間T60在0.3~0.6 s內(nèi)隨機(jī)取值,該混響范圍對(duì)語(yǔ)音的清晰度影響較小[13]。
利用鏡象法可求得每個(gè)說(shuō)話人到每個(gè)傳聲器的傳遞函數(shù)。在TIMIT語(yǔ)料庫(kù)中隨機(jī)挑選4條純凈語(yǔ)音片段,4個(gè)說(shuō)話人的語(yǔ)言均為英語(yǔ),男女比例、年齡均隨機(jī)。將語(yǔ)音片段裁剪成相同時(shí)長(zhǎng)并對(duì)每條語(yǔ)音的幅度進(jìn)行歸一化,再與傳遞函數(shù)進(jìn)行卷積,然后將每個(gè)傳聲器接收的不同說(shuō)話人的信號(hào)進(jìn)行累加,之后將0°方向的歸一化后的純凈語(yǔ)音代入混響時(shí)間T60=0時(shí)的傳遞函數(shù)中,可以得到此場(chǎng)景下對(duì)應(yīng)的純凈語(yǔ)音,最后得到一組最終的訓(xùn)練集數(shù)據(jù)。本研究制作了18 000條數(shù)據(jù),總時(shí)長(zhǎng)約為10 h。
2.1.2 數(shù)據(jù)預(yù)處理
輸入信號(hào)的采樣頻率為16 kHz,幀長(zhǎng)為512點(diǎn)。在0°、90°、180°、270°這4個(gè)方向上對(duì)其進(jìn)行超指向波束形成,每幀加漢寧窗,得到4個(gè)波束的頻譜幅度特征,聯(lián)合后得到聯(lián)合特征和與之對(duì)應(yīng)的目標(biāo)語(yǔ)音在特定方向的掩蔽值。因0°方向目標(biāo)語(yǔ)音的頻譜成分占超指向波束頻譜成分的比例大,避免了掩蔽值過(guò)小影響語(yǔ)音增強(qiáng)效果的情況,因此本文采用目標(biāo)語(yǔ)音在0°方向的掩蔽值。訓(xùn)練集中的聯(lián)合特征需要在每個(gè)維度上進(jìn)行標(biāo)準(zhǔn)化[14],特征值標(biāo)準(zhǔn)化的公式為
式中,F(xiàn)nor為標(biāo)準(zhǔn)化后的特征值,F(xiàn)為原始的特征值,為整個(gè)訓(xùn)練集數(shù)據(jù)在某個(gè)維度上特征值的平均值,σ為標(biāo)準(zhǔn)差。利用根據(jù)式(6)得到的標(biāo)準(zhǔn)化的聯(lián)合特征和掩蔽值訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
通過(guò)訓(xùn)練集可得到特征值和掩蔽值,特征值送入神經(jīng)網(wǎng)絡(luò)后得到掩蔽值,神經(jīng)網(wǎng)絡(luò)具體結(jié)構(gòu)如圖2所示,包括1層掩蔽(masking)層,4層LSTM層和1層全連接層。設(shè)置好損失函數(shù)、優(yōu)化器、輸入、輸出,便可訓(xùn)練神經(jīng)網(wǎng)絡(luò)。訓(xùn)練集數(shù)據(jù)在訓(xùn)練過(guò)程中共訓(xùn)練25輪,每1輪都需要隨機(jī)打亂訓(xùn)練集數(shù)據(jù)的順序,之后送入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。訓(xùn)練過(guò)程中利用Python語(yǔ)言編寫的生成器,用中央處理器(Central Processing Unit, CPU)逐個(gè)生成數(shù)據(jù)批(batch),用圖形處理器(Graphics Processing Unit,GPU)訓(xùn)練神經(jīng)網(wǎng)絡(luò),生成器的運(yùn)行與神經(jīng)網(wǎng)絡(luò)的訓(xùn)練兩者并行,提高了訓(xùn)練效率。
使用英文語(yǔ)料庫(kù)TIMIT制作本研究中神經(jīng)網(wǎng)絡(luò)的訓(xùn)練集,使用中文語(yǔ)料庫(kù)prime-words_md_218_set1制作神經(jīng)網(wǎng)絡(luò)的測(cè)試集。
3.1.1 語(yǔ)音分離客觀評(píng)價(jià)
使用源失真比(Signal To Distortion Ratio,SDR)[15]對(duì)本文算法進(jìn)行語(yǔ)音分離效果客觀評(píng)價(jià),具體公式為
式中:Si表示實(shí)際的理想信號(hào),Sp表示經(jīng)算法處理后的信號(hào);RSD為源失真比。
采用SDR對(duì)本文算法與超指向算法、譜減法進(jìn)行語(yǔ)音分離效果評(píng)價(jià),評(píng)價(jià)結(jié)果見表1。從表1可知,本文算法的RSD值大于超指向算法和譜減法,因此本文算法的語(yǔ)音分離效果優(yōu)于超指向算法和譜減法。
表1 3種算法的RSD值Table 1 The RSD values of three algorithms
3.1.2 混響抑制效果的客觀評(píng)價(jià)
混響抑制效果采用信混噪比(Signal Reverberation Noise Ratio, SRNR)的改善值ΔR進(jìn)行客觀評(píng)價(jià),計(jì)算每幀語(yǔ)音的ΔR的表達(dá)式為
式中:p(j)表示實(shí)際的理想信號(hào),i(j)表示原始信號(hào),o(j)表示經(jīng)算法處理后的信號(hào),N表示當(dāng)前幀共有N個(gè)點(diǎn),Rin表示原始信號(hào)的信混噪比,Rout表示經(jīng)算法處理后信號(hào)的信混噪比。
對(duì)所有幀的ΔR求均值,得到最終的ΔR值。本文算法、超指向算法和譜減法的ΔR值見表2。從表2中可知,本文算法的ΔR值大于超指向算法和譜減法,所以本文算法的混響抑制效果優(yōu)于這兩種對(duì)比算法。
表2 3種算法的ΔR值Table 2 The ΔR values of three algorithms
3.1.3 語(yǔ)音質(zhì)量的客觀評(píng)價(jià)
利用感知語(yǔ)音質(zhì)量評(píng)價(jià)(Perceptual Evaluation of Speech Quality, PESQ)法對(duì)語(yǔ)音質(zhì)量進(jìn)行評(píng)價(jià),經(jīng)3種算法處理后的語(yǔ)音的PESQ分?jǐn)?shù)見表3,從表3中可知,本文算法提升語(yǔ)音質(zhì)量的效果優(yōu)于其他兩種算法。
由以上評(píng)價(jià)結(jié)果可知,本文算法在語(yǔ)音分離、混響抑制和提升語(yǔ)音質(zhì)量的能力上均優(yōu)于超指向算法和譜減法。以上分析驗(yàn)證了在房間里存在多說(shuō)話人場(chǎng)景時(shí),本文算法對(duì)目標(biāo)語(yǔ)音進(jìn)行增強(qiáng)的有效性。
表3 3種算法的PESQ分?jǐn)?shù)Table 3 The PESQ scores of three algorithms
實(shí)驗(yàn)采用多通道錄音采集卡采集4個(gè)說(shuō)話人的語(yǔ)音數(shù)據(jù)。實(shí)驗(yàn)布設(shè)場(chǎng)景和制作訓(xùn)練數(shù)據(jù)時(shí)的場(chǎng)景類似,目標(biāo)說(shuō)話人的位置固定,陣元中心與目標(biāo)說(shuō)話人的連線方向?yàn)?°方向,據(jù)此將0°~360°以60°為間隔劃分角度,其余說(shuō)話人的位置從除0°方向以外的剩余5個(gè)角度(60°,120°,180°,240°,300°)中隨機(jī)挑選3個(gè)角度,然后錄制實(shí)驗(yàn)數(shù)據(jù)。
圖4、圖5分別是測(cè)試集數(shù)據(jù)的時(shí)域信號(hào)對(duì)比圖和語(yǔ)譜對(duì)比圖。從圖4、圖5可知,采用測(cè)試集數(shù)據(jù)時(shí),本文算法有明顯的語(yǔ)音增強(qiáng)效果。
圖4 測(cè)試集的時(shí)域波形對(duì)比圖Fig.4 Speech waveform diagrams of testing dataset
圖5 測(cè)試集語(yǔ)譜對(duì)比圖Fig.5 Spectrograms of testing dataset
利用實(shí)錄實(shí)驗(yàn)采集數(shù)據(jù),實(shí)驗(yàn)場(chǎng)景為有4個(gè)說(shuō)話人的房間,說(shuō)話人的性別為兩男兩女,均用普通話朗誦,實(shí)錄語(yǔ)音的信干比為-0.1 dB。對(duì)目標(biāo)語(yǔ)音進(jìn)行增強(qiáng),超指向波束形成算法使實(shí)錄信號(hào)信干比提高了4.59 dB,譜減法使實(shí)錄信號(hào)信干比降低了0.86 dB,本文算法使實(shí)錄信號(hào)信干比提高了12.16 dB。在實(shí)際場(chǎng)景下,本文算法語(yǔ)音增強(qiáng)的效果明顯優(yōu)于超指向波束形成算法和譜減法。
本文算法利用4個(gè)方向的超指向波束特征與掩蔽值之間的對(duì)應(yīng)關(guān)系實(shí)現(xiàn)了語(yǔ)音增強(qiáng),空間信息和頻譜信息均得到了利用,而且神經(jīng)網(wǎng)絡(luò)將特征值與掩蔽值建立起了非線性映射關(guān)系。而超指向波束形成算法為線性濾波,只利用了空間信息,譜減法只利用了頻譜信息?;谏鲜鲈?,本文算法效果優(yōu)于超指向波束形成算法和譜減法。目前,“雞尾酒會(huì)”問(wèn)題的難點(diǎn)為人聲在復(fù)雜聲學(xué)場(chǎng)景下的頻譜特征,尤其是同性之間的頻譜特征相似程度大,方位可能重疊。因此,在該場(chǎng)景下利用頻譜信息和空間方位信息分離目標(biāo)語(yǔ)音困難較大,而神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì)在于能夠從大數(shù)據(jù)中學(xué)習(xí)到分類特征甚至學(xué)習(xí)到某些尚未定義的特征。本文算法致力于實(shí)現(xiàn)房間場(chǎng)景下的語(yǔ)音增強(qiáng)。
根據(jù)實(shí)驗(yàn)可知,訓(xùn)練集數(shù)據(jù)需要達(dá)到一定的量級(jí)且生成數(shù)據(jù)的場(chǎng)景種類要豐富,本文訓(xùn)練集數(shù)據(jù)總時(shí)長(zhǎng)達(dá)到了10 h。具備以上條件的神經(jīng)網(wǎng)絡(luò)具有較好的可推廣性。神經(jīng)網(wǎng)絡(luò)需要訓(xùn)練足夠的輪次且每一輪數(shù)據(jù)的順序需要隨機(jī)打亂,使損失函數(shù)值降到足夠低,此種狀況下,神經(jīng)網(wǎng)絡(luò)的擬合效果較好。
本文將超指向波束形成算法和神經(jīng)網(wǎng)絡(luò)算法相結(jié)合,在房間存在多說(shuō)話人的聲學(xué)場(chǎng)景下,實(shí)現(xiàn)了目標(biāo)方向語(yǔ)音分離、混響抑制和語(yǔ)音質(zhì)量的提升。利用仿真數(shù)據(jù)集訓(xùn)練神經(jīng)網(wǎng)絡(luò),學(xué)習(xí)此場(chǎng)景下多波束聯(lián)合特征和目標(biāo)語(yǔ)音頻譜間的復(fù)雜關(guān)系。通過(guò)中文語(yǔ)料庫(kù)數(shù)據(jù)的測(cè)試評(píng)價(jià)和實(shí)錄數(shù)據(jù)的實(shí)驗(yàn)表明,該方法在上述場(chǎng)景中具有明顯的語(yǔ)音增強(qiáng)效果。
在實(shí)際應(yīng)用本文算法中的神經(jīng)網(wǎng)絡(luò)時(shí),可考慮將若干幀數(shù)據(jù)聯(lián)合作為一組輸入數(shù)據(jù)序列,經(jīng)過(guò)神經(jīng)網(wǎng)絡(luò)映射得到與之對(duì)應(yīng)的掩蔽值序列,訓(xùn)練和預(yù)測(cè)均如此處理,可以增強(qiáng)算法的實(shí)時(shí)性、降低硬件要求。此外,可通過(guò)在神經(jīng)網(wǎng)絡(luò)的層之間增加過(guò)渡層;把神經(jīng)網(wǎng)絡(luò)進(jìn)行分類,與標(biāo)簽分別進(jìn)行對(duì)應(yīng);壓縮神經(jīng)網(wǎng)絡(luò);先訓(xùn)練大的神經(jīng)網(wǎng)絡(luò),再用大網(wǎng)絡(luò)訓(xùn)練小網(wǎng)絡(luò);也可采用美爾譜、分頻帶等方法減少計(jì)算量。目前國(guó)內(nèi)已經(jīng)有單位將深度學(xué)習(xí)的降噪算法運(yùn)行在高級(jí)精簡(jiǎn)指令集計(jì)算器(Advanced Reduced Instruction Set Computer Machine, ARM)上。