林 攀,何儒漢
(1.武漢紡織大學(xué) 計(jì)算機(jī)與人工智能學(xué)院;2.湖北省服裝信息化工程技術(shù)研究中心,湖北 武漢 430200)
各種類型的環(huán)境噪聲會(huì)極大地降低通信、自動(dòng)語(yǔ)音識(shí)別以及助聽器的效果[1-2]。語(yǔ)音增強(qiáng)的目的是提升語(yǔ)音質(zhì)量和清晰度,從部分被噪聲污染的混合語(yǔ)音中恢復(fù)干凈語(yǔ)音。隨著深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)的發(fā)展,研究人員提出大量基于DNN 的方法以提升語(yǔ)音增強(qiáng)效果。在低信噪比(Signal-to-Noise Ratio,SNR)條件下,基于DNN 的方法相較于基于統(tǒng)計(jì)信號(hào)處理的傳統(tǒng)方法,能夠更好地抑制非平穩(wěn)噪聲[4-5]。
基于深度學(xué)習(xí)的單通道語(yǔ)音增強(qiáng)方法按照其工作的信號(hào)域可分為頻域、時(shí)域方法。頻域方法對(duì)頻譜圖進(jìn)行研究,認(rèn)為經(jīng)過(guò)短時(shí)傅里葉變換后的頻譜圖能更精確地分離背景噪聲和干凈語(yǔ)音[6]。在通常情況下,頻域方法的訓(xùn)練目標(biāo)包括理想二進(jìn)制掩模(Ideal Binary Mask,IBM)[7]、理想比率掩碼(Ideal Ratio Mask,IRM)[8]與最優(yōu)比掩模(Optimal ratio mask,ORM)[9]。但所有上述掩膜都僅考慮了幅度譜而忽視了相位信息,只是簡(jiǎn)單地將估計(jì)的幅度譜與帶噪語(yǔ)音相位相結(jié)合來(lái)重新合成增強(qiáng)語(yǔ)音[10]。文獻(xiàn)[11]指出相位與語(yǔ)音的質(zhì)量及清晰度有很強(qiáng)的關(guān)系。為解決相位失配問(wèn)題,時(shí)域方法可以對(duì)語(yǔ)音原始波形進(jìn)行處理。時(shí)域方法可以分為直接回歸方法和自適應(yīng)前端方法兩類。直接回歸方法從帶噪語(yǔ)音波形直接學(xué)習(xí)到目標(biāo)語(yǔ)音的回歸函數(shù),其通常采用某種形式的一維卷積神經(jīng)網(wǎng)絡(luò)。自適應(yīng)前端方法在編解碼框架中插入語(yǔ)音增強(qiáng)網(wǎng)絡(luò),如時(shí)間卷積網(wǎng)絡(luò)(Temporal Convolutional Network,TCN)[12]和長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-term Memory Networks,LSTM)[13]等具有時(shí)間建模能力的網(wǎng)絡(luò)。文獻(xiàn)[14]指出采用長(zhǎng)短期記憶(LSTM)層的遞歸神經(jīng)網(wǎng)絡(luò)進(jìn)行語(yǔ)音增強(qiáng),效果明顯優(yōu)于多層感知器。遞歸網(wǎng)絡(luò)要對(duì)所有頻率的串聯(lián)特征向量序列進(jìn)行建模,具有相對(duì)較高的狀態(tài)向量維度,因而會(huì)產(chǎn)生大量參數(shù),嚴(yán)重限制了其適用范圍。殘差時(shí)間卷積網(wǎng)絡(luò)(Residual Network-Temporal Convolutional Network,ResTCN)利用膨脹卷積和殘差跳躍連接,在建模長(zhǎng)期相關(guān)性方面表現(xiàn)出令人印象深刻的性能,并在語(yǔ)音增強(qiáng)方面取得了巨大成功。然而,語(yǔ)音和噪聲在頻譜表示上更容易區(qū)分,時(shí)域方法無(wú)法有效利用頻譜表示中的聲學(xué)信息。
現(xiàn)有模型主要關(guān)注如何有效地對(duì)長(zhǎng)期依賴關(guān)系進(jìn)行建模,而通常忽略了語(yǔ)音在T-F 表示中的能量分布特征,這對(duì)于語(yǔ)音增強(qiáng)同樣重要。受注意力概念的啟發(fā)[15-16],本文提出一種新的架構(gòu)單元,稱為時(shí)頻注意力模塊,用于模擬語(yǔ)音的能量分布。具體而言,注意力模塊由兩個(gè)平行的注意力分支組成,即時(shí)間維度注意力和頻率維度注意力。其生成兩個(gè)一維注意力圖,引導(dǎo)模型分別關(guān)注“哪里”(哪些時(shí)間幀)和“什么”(哪些頻率信道),使得模型能夠捕獲語(yǔ)音分布。
針對(duì)時(shí)域、頻域方法的不足,本文在文獻(xiàn)[17]基礎(chǔ)上作出以下貢獻(xiàn):
(1)為了實(shí)現(xiàn)時(shí)域、頻域兩個(gè)領(lǐng)域的優(yōu)勢(shì)互補(bǔ),進(jìn)一步提取來(lái)自兩個(gè)不同領(lǐng)域特征之間共享的信息,本文通過(guò)連接時(shí)域與頻域的特征來(lái)構(gòu)建時(shí)間和頻率特征圖。
(2)提出時(shí)頻注意力模塊,使得模型能夠捕獲時(shí)頻域特征中的語(yǔ)音分布情況。
(3)聯(lián)合時(shí)域、頻域損失函數(shù),提升語(yǔ)音增強(qiáng)模型的性能。
在單通道語(yǔ)音增強(qiáng)中,帶噪語(yǔ)音信號(hào)可由公式(1)表示。其中,x(t)為干凈語(yǔ)音,n(t)為背景噪聲,語(yǔ)音增強(qiáng)從帶噪語(yǔ)音y(t)中估計(jì)增強(qiáng)語(yǔ)音信號(hào)x(t),使得x(t)與x(t)的差異盡可能小。干凈語(yǔ)音中疊加了不同類型的噪聲和各種信噪比變化,因此需要提高增強(qiáng)模型的泛化性,并提高其去除不同類型噪聲的能力。
基于深度學(xué)習(xí)的語(yǔ)音增強(qiáng)模型如圖1 所示,神經(jīng)網(wǎng)絡(luò)從已知的帶噪語(yǔ)音數(shù)據(jù)中學(xué)習(xí)到干凈語(yǔ)音特征空間的函數(shù)映射。網(wǎng)絡(luò)的輸入可以是音頻原始波形,也可以是頻譜特征。網(wǎng)絡(luò)的輸出是時(shí)頻掩碼估計(jì)值,利用得到的掩碼與輸入進(jìn)行掩膜操作,得到增強(qiáng)語(yǔ)音的估計(jì)。
Fig.1 Voice enhancement flow圖1 語(yǔ)音增強(qiáng)流程
為了提升模型在不同信噪比條件下的去噪性能,研究人員提出了大量改進(jìn)算法。語(yǔ)音信號(hào)作為一種時(shí)序信號(hào),具有很強(qiáng)的上下文關(guān)聯(lián)性。卷積神經(jīng)網(wǎng)絡(luò)不具備直接利用上下文的能力,常常通過(guò)拼接相鄰幀的方法擴(kuò)大上下文窗口。循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Netural Network,RNN)按照順序處理時(shí)序信號(hào),不能大規(guī)模并行處理時(shí)間序列。上述方法通常會(huì)引入大量無(wú)關(guān)信息或存在不能充分關(guān)聯(lián)上下文信息的弊端。因此,可使用時(shí)間卷積神經(jīng)網(wǎng)絡(luò)(TCN)維護(hù)語(yǔ)音信號(hào)中的時(shí)間信息。TCN 具有大規(guī)模并行處理的能力,降低了空間復(fù)雜度,提升了學(xué)習(xí)效率,其結(jié)合了因果層和膨脹卷積層來(lái)加強(qiáng)因果約束。與傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)不同,因果卷積是一種只看到歷史信息的單向模型,但其時(shí)間建模長(zhǎng)度受到卷積核大小限制。為了解決該問(wèn)題,膨脹的卷積可通過(guò)間隔采樣來(lái)增加接受野。此外,TCN 使用殘差學(xué)習(xí)以避免深度網(wǎng)絡(luò)中的梯度消失或爆炸問(wèn)題。
基于Transformer 的語(yǔ)音增強(qiáng)模型可以有效對(duì)語(yǔ)音上下文信息進(jìn)行編碼,學(xué)習(xí)語(yǔ)音序列中的相互依賴關(guān)系。TST-NN 模型[18]在編碼器、解碼器中使用雙路徑Transformer 以擴(kuò)大網(wǎng)絡(luò)注意范圍,可用于語(yǔ)音信息聚合。TU-NET在Transformer 基礎(chǔ)上結(jié)合UNET 多尺度特征融合,以提升語(yǔ)音增強(qiáng)性能。然而,現(xiàn)有模型更多關(guān)注對(duì)長(zhǎng)時(shí)間依賴關(guān)系的建模,忽視了語(yǔ)音在頻域中的能量分布特征,而能量分布特征對(duì)預(yù)測(cè)掩膜具有重要意義。本文使用時(shí)頻注意力模塊對(duì)特征圖進(jìn)行加權(quán)處理,利用兩個(gè)并行分支得到語(yǔ)音能量分布的兩個(gè)描述符,用來(lái)突出相關(guān)特征,弱化噪聲特征。
本文提出一種新穎的單通道語(yǔ)音增強(qiáng)模型,對(duì)應(yīng)的框架如圖2 所示。其由混合域編碼器、掩碼估計(jì)網(wǎng)絡(luò)和解碼器組成。該框架可以同時(shí)利用語(yǔ)音信號(hào)的時(shí)、頻域特征來(lái)協(xié)同提高語(yǔ)音序列的性能。因?yàn)樵肼曉陬l域上更具有區(qū)分性,而時(shí)域可以避免頻域方法相位失配的問(wèn)題。為了有效捕獲時(shí)間信息并考慮輸入信號(hào)中的長(zhǎng)期依賴關(guān)系,使用殘差時(shí)間卷積(ResTCNs)來(lái)創(chuàng)建掩碼估計(jì)網(wǎng)絡(luò)。同時(shí)使用時(shí)頻注意力模塊模擬語(yǔ)音的能量分布,其由兩個(gè)平行的注意力分支組成,即時(shí)間注意力維度和頻率注意力維度,使得模型能夠捕獲長(zhǎng)程時(shí)間和頻率相關(guān)性。下面將詳細(xì)介紹相關(guān)工作。
Fig.2 Model structure圖2 模型結(jié)構(gòu)
如圖2 左側(cè)所示,編碼器結(jié)構(gòu)由兩個(gè)并行過(guò)程組成:一維卷積和短時(shí)傅里葉變換。將輸入的噪聲語(yǔ)音信號(hào)分別轉(zhuǎn)換為時(shí)域和頻域特征,時(shí)域特征要經(jīng)過(guò)如圖3 所示的分割操作后與頻譜特征進(jìn)行拼接,時(shí)域特征分割與雙路徑遞歸神經(jīng)網(wǎng)絡(luò)(DUAL-PATH RNN,DPRNN)[19]中的操作相似。將長(zhǎng)度為T、寬度為N 的時(shí)域特征分割出S 個(gè)長(zhǎng)度為2P、寬度為N 的數(shù)據(jù)塊,片段間的重疊率為50%。為了正確地集成來(lái)自不同域的兩個(gè)特征,本文為兩個(gè)域設(shè)置了相同的窗口大小和跨距。將頻譜特征與分割后的數(shù)據(jù)塊時(shí)間幀對(duì)齊進(jìn)行拼接。
Fig.3 Speech sequence segmentation圖3 語(yǔ)音序列分割
掩碼估計(jì)網(wǎng)絡(luò)輸出權(quán)重掩膜,以實(shí)現(xiàn)去除噪聲、提取干凈語(yǔ)音的目的。為了有效地捕獲時(shí)間信息,并考慮語(yǔ)音信號(hào)中幀的長(zhǎng)期依賴性,可以通過(guò)堆疊BiLSTM[20]或膨脹卷積層(如時(shí)間卷積網(wǎng)絡(luò)TCN)來(lái)創(chuàng)建掩碼估計(jì)網(wǎng)絡(luò)。膨脹卷積通過(guò)間隔采樣來(lái)擴(kuò)大感受野,能看到的輸入層信息更多。圖4 展示了膨脹因果卷積結(jié)構(gòu),圖中輸出層可以看到輸入層前15 結(jié)點(diǎn)的信息。伴隨著膨脹因子d 的增大,輸出層的感受野也越來(lái)越大。本文在TCN 的基礎(chǔ)上嵌入一維殘差網(wǎng)絡(luò),以增強(qiáng)模型對(duì)局部語(yǔ)音特征的學(xué)習(xí)能力。
Fig.4 Expanded causal convolution structure圖4 膨脹因果卷積結(jié)構(gòu)
本文提出新的注意力模塊用來(lái)捕獲時(shí)間和頻率相關(guān)性,如圖5所示。
該模塊由兩個(gè)注意力分支組成,即時(shí)間維度和頻率維度。每個(gè)注意力分支通過(guò)兩個(gè)步驟生成注意力圖:全局信息聚合和注意力生成。注意力圖能準(zhǔn)確反映語(yǔ)音在時(shí)間維度和頻率維度上的能量分布。對(duì)給定的輸入Y∈RM×N沿著時(shí)間幀維度和頻率維度進(jìn)行全局平均池化,生成頻率統(tǒng)計(jì)信息ZF∈R1×N和時(shí)間幀上的統(tǒng)計(jì)信息ZT∈R1×M。具體公式為:
由此得到時(shí)間幀與頻率維度上語(yǔ)音能量分布的兩個(gè)描述符ZT和ZF,同時(shí)使用兩個(gè)堆疊的一維卷積層作為非線性變換函數(shù)來(lái)準(zhǔn)確地生成注意力權(quán)重。其計(jì)算公式如下:
將得到的分支注意力圖相乘,得到時(shí)頻注意力圖:
將混合域特征映射乘以掩碼之后,本文將掩蔽的編碼特征分解為其原始分量:卷積特征圖和頻域譜圖。本文從每個(gè)單獨(dú)的域重構(gòu)原始信號(hào)波形,時(shí)域特征通過(guò)一個(gè)反卷積層,然后采用重疊相加的方法來(lái)重構(gòu)信號(hào)。頻域特征用傅立葉逆變換導(dǎo)出,將具有權(quán)重參數(shù)α 的兩個(gè)分量加權(quán)和作為估計(jì)的增強(qiáng)信號(hào)。
為了提高語(yǔ)音的清晰度和感知質(zhì)量,本文的損失函數(shù)結(jié)合了時(shí)域和頻域信息,可以監(jiān)督模型學(xué)習(xí)時(shí)頻域中的更多信息。其中,頻譜圖的損失函數(shù)定義為:
式中,X、分別代表干凈語(yǔ)音和增強(qiáng)語(yǔ)音的頻譜圖,r、i 分別代表STFT 變換后的實(shí)部和虛部,T、F 分別代表時(shí)間幀和頻率段數(shù)量。時(shí)域損失可定義為去噪語(yǔ)音與干凈語(yǔ)音之間的均方誤差(Mean Squared Error,MSE)。具體公式為:
式中,Xi分別表示干凈語(yǔ)音和增強(qiáng)語(yǔ)音,N 表示語(yǔ)音序列長(zhǎng)度。本文采取的損失函數(shù)結(jié)合了時(shí)域和頻域信息,公式如下:
式中,α是一個(gè)可調(diào)參數(shù),本文將其設(shè)置為0.2。
研究表明,在訓(xùn)練階段增加數(shù)據(jù)的多樣性可以增強(qiáng)模型學(xué)習(xí)不同特征的能力。因此,本文采用3 種數(shù)據(jù)增強(qiáng)方案:
(1)改變速度。針對(duì)原始輸入語(yǔ)音波形,通過(guò)速度函數(shù)SOX 改變其輸入信號(hào)的速度,并改變語(yǔ)音的音調(diào)。其是一種簡(jiǎn)單、有效的聲學(xué)建模技術(shù),被廣泛應(yīng)用于語(yǔ)音增強(qiáng)中。
(2)時(shí)移。時(shí)移是一種簡(jiǎn)單的音頻數(shù)據(jù)增強(qiáng)方法,其將音頻數(shù)據(jù)向左或向右移動(dòng)f 秒。本文實(shí)驗(yàn)統(tǒng)一選擇向右移隨機(jī)移動(dòng)0~0.625 s。
(3)樣本掩蔽。將語(yǔ)音樣本的掩碼部分置零,從而使得被掩蔽的語(yǔ)音保持靜音。該方法鼓勵(lì)模型通過(guò)考慮上下文信息來(lái)預(yù)測(cè)干凈的波形。樣本掩蔽中有兩個(gè)超參數(shù):每個(gè)掩碼的長(zhǎng)度(t)和最大掩碼數(shù)量(m)。通過(guò)實(shí)驗(yàn),本文將t設(shè)置為固定值10,m 的取值區(qū)間為[0,150]。
為驗(yàn)證本文語(yǔ)音增強(qiáng)系統(tǒng)的有效性,采用公開、標(biāo)準(zhǔn)的語(yǔ)音語(yǔ)料庫(kù)。干凈語(yǔ)音從VoiceBank[21]中選取,根據(jù)說(shuō)話者數(shù)量建立了兩個(gè)子數(shù)據(jù)庫(kù):一個(gè)包含28 名說(shuō)話者(14名男性,14 名女性),具有相同的英式口音;另一個(gè)包含56名說(shuō)話者(28 名男性,28 名女性),具有不同口音(英式,美式)。從DEMAND[22]語(yǔ)料庫(kù)中選取10 種不同噪聲類型合成帶噪語(yǔ)音,噪聲包括8 種真實(shí)噪聲和2 種人工產(chǎn)生的噪聲。具體而言,8 種真實(shí)噪聲類型包括家庭廚房噪聲、會(huì)議室噪聲,以及3 種公共空間噪聲(包括食堂、餐廳和地鐵站)、2 種交通工具噪聲(包括汽車和地鐵)與繁忙的交通十字路口噪聲。2 種人工產(chǎn)生的噪聲分別是通過(guò)增加白噪聲產(chǎn)生的語(yǔ)音型噪聲和通過(guò)增加語(yǔ)音產(chǎn)生的干擾噪聲。在訓(xùn)練集中選取每位說(shuō)話者10 條干凈語(yǔ)音,將信噪比(SNR)值分別設(shè)置為15 dB、10 dB、5 dB 和0 dB。因此,每位說(shuō)話者能產(chǎn)生400 條噪聲語(yǔ)音。每一個(gè)干凈的語(yǔ)音波形都會(huì)被歸一化,當(dāng)無(wú)聲片段在開始和結(jié)束時(shí)超過(guò)200 ms 時(shí),將被修剪掉。測(cè)試集選取兩位說(shuō)話者(一名男性,一名女性),從DEMAND 數(shù)據(jù)庫(kù)中選擇了另外5 種噪聲類型,包括1 種家庭客廳的噪聲、1 種辦公室噪聲、1 種公共汽車的交通噪聲和2 種街道噪聲。信噪比分別為2.5 dB、7.5 dB、12.5 dB 和17.5 dB。
本實(shí)驗(yàn)中語(yǔ)音采樣率均為16 kHz,編碼器中使用短時(shí)傅里葉變換時(shí),利用漢寧窗函數(shù),設(shè)置FFT 大小為512,幀大小與幀移位分別為64 和32。對(duì)于增強(qiáng)網(wǎng)絡(luò),混合特征圖首先經(jīng)過(guò)具有256 個(gè)濾波器的一維卷積塊,然后是8 個(gè)殘差一維卷積模塊(膨脹率為1,2,…,128),重復(fù)3 次。在訓(xùn)練過(guò)程中,設(shè)置模型學(xué)習(xí)率為0.000 5,Epoch 總數(shù)為100,選取Adam 作為參數(shù)更新的優(yōu)化器。在評(píng)估方面,采用的指標(biāo)為語(yǔ)音質(zhì)量感知(PESQ)[23]、信號(hào)失真比(SISDR)[24]、擴(kuò)展短時(shí)目標(biāo)可懂度(ESTOI)[25]與噪聲失真測(cè)度(CBAK)[26],上述指標(biāo)數(shù)值越大,效果越好。
表1、表2 展現(xiàn)了不同SNR 條件下STOI、PESQ 的得分情況。實(shí)驗(yàn)結(jié)果表明,本文采用的ResTCN+時(shí)頻注意力的方法性能最好,證實(shí)了注意力模塊的有效性。在3 種基線模型中,多頭自注意力網(wǎng)絡(luò)(MHANet)的性能最好。同時(shí),ResTCN+頻域注意力和ResTCN+時(shí)域注意力相比ResTCN也有了實(shí)質(zhì)性改進(jìn)。
Table 1 Average ESTOI scores under different SNRs表1 不同信噪比下的STOI平均得分
Table 2 Average PESQ scores under differenent SNRs表2 不同信噪比下的PESQ平均得分
圖6 可進(jìn)一步驗(yàn)證上述結(jié)果,圖中紅圈標(biāo)記表明,使用時(shí)頻注意力模塊后的局部去噪效果更好。本文提出的方法去除了大部分低頻噪聲,增強(qiáng)后的語(yǔ)音十分接近干凈語(yǔ)音。
Fig.6 Spectrogram of noise reduction results圖6 降噪結(jié)果頻譜圖
為驗(yàn)證數(shù)據(jù)增強(qiáng)對(duì)實(shí)驗(yàn)性能的影響,消融實(shí)驗(yàn)結(jié)果如表3 所示。結(jié)果表明,樣本掩蔽方法對(duì)結(jié)果的影響最大,對(duì)實(shí)驗(yàn)性能的提升最為顯著。
Table 3 Results of ablation experiment表3 消融實(shí)驗(yàn)結(jié)果
為進(jìn)一步驗(yàn)證本文方法的有效性,與SEGAN[27]、ConvTasNet[28]、PHASE[29]、TCN 方法進(jìn)行比較,結(jié)果如表4 所示。其中,SEGAN、ConvTasNet 是時(shí)域方法,編碼器用一維卷積提取時(shí)域特征;PHASE、TCN 是頻域方法,編碼器用短時(shí)傅里葉變換提取頻譜圖。結(jié)果表明,本文方法在PESQ、SI-SDR、CBAK 上的得分優(yōu)于上述方法,表明在編碼器中融合特征能提高語(yǔ)音增強(qiáng)效果。
Table 4 Comparison of experimental results of different methods表4 不同方法實(shí)驗(yàn)結(jié)果比較
本文將時(shí)域與頻域特征相結(jié)合,利用兩個(gè)領(lǐng)域的不同優(yōu)勢(shì)提升語(yǔ)音增強(qiáng)性能,同時(shí)提出一種輕量級(jí)時(shí)頻注意力模塊,可在T-F 表示中模擬語(yǔ)音的能量分布。在基線模型上進(jìn)行了廣泛實(shí)驗(yàn),結(jié)果表明,本文提出的ResTCN+時(shí)頻注意力方法始終表現(xiàn)最佳。未來(lái)還可以研究不同訓(xùn)練目標(biāo)和損失函數(shù)對(duì)語(yǔ)音增強(qiáng)任務(wù)的影響,將語(yǔ)音增強(qiáng)技術(shù)擴(kuò)展到真實(shí)語(yǔ)音噪聲環(huán)境中,如去混響、多目標(biāo)語(yǔ)音自動(dòng)識(shí)別等任務(wù)上。