袁文浩,時云龍,胡少東,婁迎曦
(山東理工大學計算機科學與技術學院,山東淄博 255000)
近年來,基于深度神經網絡的語音增強方法成為語音識別領域的研究熱點[1-3],相比傳統統計方法明顯提高了非平穩噪聲條件下的語音增強性能。為提高神經網絡的語音增強性能,現有研究工作主要針對訓練特征和訓練目標的設計以及網絡結構的改進展開。根據訓練特征和訓練目標的設計方法,基于深度神經網絡的語音增強方法可分為頻域和時域兩類。
頻域的語音增強一般將含噪語音經過短時傅里葉變換得到的幅度譜或對數功率譜作為訓練特征,而訓練目標除了純凈語音的幅度譜或對數功率譜,還可以是由幅度譜計算得到的掩蔽特征。文獻[4-5]采用全連接神經網絡建立一個從含噪語音對數功率譜到純凈語音對數功率譜的映射關系。基于語音在時間維度上的序列性,文獻[6-7]分別采用循環神經網絡(Recurrent Neural Network,RNN)和長短時記憶(Long Short-Term Memory,LSTM)網絡來估計含噪語音的掩蔽特征。當采用多幀的含噪語音幅度譜或對數功率譜作為訓練特征時,網絡輸入將在時間和頻率兩個維度上都具有相關性。文獻[8]采用一個全卷積神經網絡(Fully Convolutional Network,FCN)絡構來建立含噪語音幅度譜和純凈語音幅度譜之間的映射關系實現語音增強。文獻[9]建立了結合卷積層、池化層和全連接層的網絡結構進行語音增強。文獻[10-11]在網絡結構中引入門控機制和殘差學習,而文獻[12]基于密集連接卷積網絡結構來提高網絡在時間和頻率兩個維度上的感受野。由于卷積神經網絡中的參數共享機制,因此基于卷積神經網絡的語音增強方法能夠大幅減少網絡中需要訓練的參數量。通過結合卷積神經網絡和循環神經網絡兩種不同的網絡結構,文獻[13]提出一種用于語音增強的卷積循環網絡(Convolutional Recurrent Network,CRN),文獻[14]將兩層LSTM 嵌入到一個全卷積的編碼器-解碼器(Convolutional Encoder-Decoder,CED)中提出另一種形式的CRN,實驗結果表明CRN相比LSTM等循環神經網絡進一步提高了語音增強性能。
時域的語音增強將含噪語音和純凈語音的時域波形分別作為訓練特征和訓練目標。文獻[15]采用FCN建立一個含噪語音幀波形到純凈語音幀波形的映射關系,并指出采用全連接層的DNN 不適用于時域語音增強。文獻[16]采用基于短時客觀可懂度(Short-Time Objective Intelligibility,STOI)指標的損失函數代替均方誤差函數進行網絡訓練,進一步提高了增強語音的可懂度。文獻[17]將因果卷積嵌入到一個由全卷積網絡構成的編碼器-解碼器中,構建實時的時域語音增強網絡。文獻[18-19]對時域語音增強中不同損失函數的性能進行評估,指出對于時域語音增強,先將時域信號轉換到頻域再在頻域設計損失函數相比直接在時域設計損失函數具有更好的性能,并基于此提出一種新的時域語音增強網絡設計框架。
在頻域的語音增強中,通常使用含噪語音和純凈語音的對數功率譜作為訓練特征和訓練目標,對數功率譜的計算是基于信號的短時傅里葉變換,對于含噪語音特征的表達具有一定的局限性。時域語音增強直接使用含噪語音和純凈語音的波形作為訓練特征和訓練目標,雖然相比頻域語音增強能夠更好地利用含噪語音特征,但是其性能非常依賴損失函數的設計,而設計復雜的損失函數會大幅提高網絡的訓練難度。基于以上分析,本文提出一種基于時頻域特征融合的深度神經網絡語音增強方法,采用含噪語音的時域波形作為訓練特征,同時利用純凈語音的頻域對數功率譜作為訓練目標,基于深度神經網絡強大的特征計算能力來建立含噪語音時域波形和純凈語音頻域對數功率譜之間的映射關系,并將含噪語音的時域特征與頻域特征在網絡深層結構中進行融合,最終利用語音增強實驗從增強語音的質量和可懂度兩方面對本文所提語音增強方法的性能進行客觀評估。
在基于深度神經網絡的語音增強方法中,采用回歸模型訓練語音增強網絡。通過網絡的訓練學習構造一個非線性映射函數fθ來表達含噪語音幀和增強語音幀之間的回歸關系,θ是網絡的參數集合,并采用均方誤差損失函數L(θ)進行網絡訓練:

其中:Xl是網絡輸入的訓練特征;Tl是網絡的訓練目標;M是網絡訓練采用的Mini-batch 大小。根據Xl和Tl在時域和頻域的不同設計方法,該模型可以作為頻域和時域的語音增強模型。需要注意的是,為了減小網絡訓練參數的規模,并保證語音增強模型的因果性,本文中的Xl和Tl均為單幀的頻域和時域特征。
對于頻域的語音增強,在網絡訓練階段,通常采用的訓練特征和訓練目標分別為含噪語音和純凈語音的對數功率譜。

在利用訓練得到的網絡進行語音增強時,首先根據含噪語音第l幀的對數功率譜計算增強語音第l幀的對數功率譜然后結合含噪語音第l幀的相位譜αl進行短時傅里葉逆變換(Inverse Short-Time Fourier Transform,ISTFT),得到增強語音第l幀的時域信號

對于時域的語音增強,在網絡訓練階段,采用的訓練特征和訓練目標分別為含噪語音和純凈語音的波形。

其中:yl,n和sl,n分別是含噪語音和純凈語音波形經過分幀后得到的第l幀的第n個采樣點。
在利用訓練得到的網絡進行語音增強時,可以直接根據含噪語音第l幀的波形計算增強語音第l幀的時域信號。

在頻域的深度神經網絡語音增強方法中,如式(2)所示,通常采用含噪語音的對數功率譜作為網絡的輸入,而對數功率譜對于含噪語音特征的表達是具有局限性的,這種局限性主要表現在兩個方面。一方面,對數功率譜忽略了信號的相位信息,例如:圖1(a)給出了256 點的采樣頻率為8 kHz 的噪聲信號的波形;圖1(b)給出了另外一段噪聲信號的波形,該噪聲段為圖1(a)中噪聲信號的倒序排列;圖1(c)給出了上述兩種噪聲信號的對數功率譜。可見,雖然圖1(a)和圖1(b)中的噪聲具有截然不同的變化趨勢,但是兩種噪聲卻具有完全相同的對數功率譜特征,這表明由于忽略了相位信息,對數功率譜不能完整表達含噪語音的特征。另一方面,式(2)中對數功率譜的特征維度K受限于短時傅里葉變換窗長的選擇,而窗長的選擇受海森堡不確定性原理限制,難以同時滿足時間分辨率和頻率分辨率的需求。在對數功率譜的計算中窗長一般是按照語音信號的短時平穩特性進行選擇,因此對數功率譜能夠較好地表達語音信號的短時特性。含噪語音信號是由語音信號和噪聲信號疊加得到,因為噪聲信號的來源不同,不同噪聲信號的特性復雜多樣,為了更好地提取含噪語音的短時特征,理論上在進行短時傅里葉變換時應該選用不同的窗長,所以采用相同窗長計算得到的對數功率譜并不能很好地表達含噪語音的短時特性。例如,對于采樣頻率為8 kHz 的信號,通常采用的窗長為256 點[4-5],但是對于圖1(a)中的噪聲,256 點的窗長顯然不能反映該噪聲隨時間的快速變化趨勢,這表明采用固定窗長的對數功率譜不能完整表達含噪語音中不同類型噪聲的變化特性。

圖1 兩種噪聲信號的波形與對數功率譜Fig.1 Waveform and log power spectrum of two kinds of noise signals
在時域的深度神經網絡語音增強方法中,直接采用式(7)中的純凈語音波形作為訓練目標,由于波形特征中的采樣點具有快速變化的特性,使用式(1)中的均方誤差損失函數進行網絡訓練,并不能得到相比頻域方法更好的語音增強性能,因此時域語音增強方法需要充分考慮損失函數的設計問題,網絡結構通常比較復雜且難于訓練。
為充分利用含噪語音特征來提高深度神經網絡的語音增強性能,且同時避免復雜損失函數的設計問題,保證網絡易于訓練,本文將含噪語音的頻域對數功率譜和時域波形共同作為訓練特征,同時采用純凈語音的頻域對數功率譜作為訓練目標,設計一種融合時頻域特征的語音增強網絡結構。因為含噪語音的時域特征與頻域特征具有較大的差別,所以直接組合兩種特征作為網絡輸入是不合適的。為在網絡中深度融合含噪語音的時域和頻域特征進行語音增強,本文基于時頻域特征融合的語音增強網絡結構包括3 個模塊,分別為以含噪語音時域波形特征作為輸入的時域特征計算模塊、以含噪語音對數功率譜特征作為輸入的頻域特征計算模塊和結合兩個特征計算模塊的輸出作為輸入的語音增強模塊,3個模塊對應的參數集合分別為θt、θf和θtf,整個網絡的參數集合可以表示如下:

網絡的訓練目標與式(3)相同,網絡的訓練特征如下:

其中:與式(2)一致,是頻域的對數功率譜特征,計算公式如式(11)所示。與式(6)一致,是時域的波形特征,計算公式如式(12)所示。

在利用訓練得到的網絡進行語音增強時,首先根據含噪語音第l幀的波形和對數功率譜計算增強語音第l幀的對數功率譜然后按照式(5)同樣的計算方法得到增強語音第l幀的時域信號

本文的時頻域特征融合網絡基于卷積循環神經網絡結構進行設計,卷積循環神經網絡結合了卷積神經網絡的特征提取能力和循環神經網絡對于長期依賴信息的建模能力,在語音增強中表現出了良好的性能[13-14]。時頻域特征融合網絡中的時域特征計算模塊和頻域特征計算模塊均為多層的卷積網絡結構,兩者具有類似的結構,唯一的區別是,由于時域特征和頻域特征的維度不同,因此最后一個卷積層所用的卷積濾波器的大小不同,語音增強模塊則由兩層的LSTM 構成。時頻域特征融合網絡記為TFCRN,網絡結構如圖2 所示。如果只保留時域特征計算模塊和語音增強模塊,訓練得到的網絡可以建立含噪語音時域波形和純凈語音頻域對數功率譜之間的映射關系,該網絡記為T-CRN。如果只保留頻域特征計算模塊和語音增強模塊,訓練得到的網絡可以建立含噪語音對數功率譜和純凈語音對數功率譜之間的映射關系,是一種頻域的語音增強方法,該網絡記為F-CRN。

圖2 時頻域特征融合網絡結構Fig.2 Structure of fusion network of time-domain and frequency-domain features
訓練集和測試集均基于TIMIT 語音庫構造,其中訓練集中的純凈語音來自TIMIT 語音庫的訓練集,測試集中的純凈語音來自TIMIT 語音庫的測試集[20],純凈語音的采樣頻率均轉換為8 kHz。為了合成訓練集中的含噪語音,選取文獻[21]中的100 個真實噪聲段,將其采樣頻率同樣轉換為8 kHz,然后按照?10 dB、?5 dB、0 dB、5 dB、10 dB 這5 種信噪比與純凈語音進行合成,從所有合成得到的含噪語音中隨機選取50 000段,與其相應的純凈語音一起構成訓練集。為了合成測試集中的含噪語音,選取Noisex92 噪聲庫中Factory2、Buccaneer1、Destroyer engine 和HF channel 噪聲[22],將其采樣頻率轉換為8 kHz,按照?7 dB、0 dB、7 dB 這3 種信噪比與192 段純凈語音進行合成,選取全部2 304 段(192×3×4)含噪語音,與相應的純凈語音一起構成測試集。需要注意的是,為檢驗語音增強方法對不同噪聲條件的泛化能力,測試集選取的4 類噪聲是與訓練集完全不同的未知噪聲,測試集中的?7 dB 和7 dB 是不同于訓練集的未知信噪比。
頻域對數功率譜特征計算所用的短時傅里葉變換的幀長為32 ms(256 點),幀移為16 ms(128 點),相應的頻域特征維度為129。時域波形按照語音段均標準化為?1~1,分幀的幀長同樣為256 點,幀移為128 點,相應的時域特征維度為256。
為客觀評價不同網絡的語音增強性能,分別采用不同網絡對測試集含噪語音進行語音增強,并比較不同網絡增強后語音的平均語音質量和平均可懂度,其中:語音質量的評價指標為語音質量的感知評估(Perceptual Evaluation of Speech Quality,PESQ),其得分范圍為?0.5~4.5,得分越高代表語音質量越好[23];語音可懂度的評價指標為STOI[20],其得分范圍為0~1,得分越高代表語音可懂度越高[24]。
對F-CRN、T-CRN、TF-CRN 這3 種網絡的語音增強性能進行比較,圖3 給出了在不同信噪比下3 種網絡對應的增強語音的平均PESQ 得分和平均STOI 得分,其中平均STOI 得分以百分比的形式進行表示。可見:在3 種網絡中,TF-CRN 在兩種指標的不同信噪比下都取得了最好的結果,表明TF-CRN 能夠充分融合時域和頻域特征,相比單純采用頻域或時域特征的網絡提高了語音增強性能;在兩種指標的低信噪比(?7 dB 和0 dB)條件下,T-CRN 相比F-CRN 取得了更好的結果,表明在相同的CRN 網絡結構下,采用時域波形特征能夠帶來更好的語音增強性能。

圖3 不同信噪比下F-CRN、T-CRN 和TF-CRN 的語音增強性能比較Fig.3 Comparison of speech enhancement performance of F-CRN,T-CRN and TF-CRN under different SNRs
為驗證基于時頻域特征融合的深度神經網絡語音增強方法的有效性,將其與4 種網絡進行語音增強性能的比較,對比網絡包括:1)具有3 層結構的DNN[4],每個隱層的節點個數為2 048;2)采用3 層LSTM 的網絡,每層的Cell 維度為512;3)文獻[14]網絡;4)FCN[15]。前3 個網絡均為頻域的語音增強,采用單幀的含噪語音和純凈語音的對數功率譜分別作為訓練特征和訓練目標,記為F-DNN、F-LSTM 和CED-CRN;第4 個網絡為時域的語音增強,將單幀的含噪語音和純凈語音的時域波形分別作為訓練特征和訓練目標,記為T-FCN。
表1 給出了不同信噪比下與5 種網絡相應的增強語音的平均PESQ 得分和平均STOI 得分,其中平均STOI 得分以百分比的形式進行表示。可見,在不同信噪比下,相比含噪語音,F-DNN 增強后語音的平均PESQ 得分提升非常有限,平均STOI 得分甚至出現了下降,表明當采用單一幀的含噪語音作為輸入時,DNN 由于缺乏對時間依賴信息建模的能力,不能進行有效的語音增強;其他頻域方法包括F-LSTM和CED-CRN 增強后語音的平均PESQ 得分和平均STOI 得分相比含噪語音均有明顯提升,表明它們能夠進行有效的語音增強,結合平均PESQ 得分和平均STOI 得分的結果整體來看,CED-CRN 相比F-LSTM具有更好的性能;時域方法T-FCN 增強后語音的平均PESQ 得分和平均STOI 得分相比含噪語音在絕大多數條件下都有所提升,但是提升幅度相比頻域方法的F-LSTM 和CED-CRN 有明顯差距,表明與這2 種頻域方法相比,T-FCN 的語音增強性能較差;在5 種網絡中,除了7 dB 下的平均STOI 得分,TF-CRN在其他噪聲條件下的2 種指標都取得了最好的結果,表明TF-CRN 通過融合時域和頻域特征,具有較好的語音增強性能。

表1 不同信噪比下5 種網絡的語音增強性能比較Table 1 Comparison of speech enhancement performance of five networks under different SNRs
下面通過對比不同網絡增強語音的語譜圖來更加直觀地比較不同網絡的語音增強性能。圖4(a)給出了一段信噪比為0 dB 的含有N3 噪聲語音的語譜圖,圖4(b)~圖4(h)分別給出了采用F-DNN、F-LSTM、CEDCRN、T-FCN、F-CRN、T-CRN 和TF-CRN 進行處理后增強語音的語譜圖,圖4(i)給出了相應的純凈語音的語譜圖作為對比。通過對比增強語音和純凈語音的語譜圖,可見:F-DNN 和T-FCN 增強后的語音仍然存在大量的噪聲成分,表明F-DNN 和T-FCN 的語音增強性能較差;F-LSTM、CED-CRN 和F-CRN 這3 種頻域語音增強方法雖然能夠抑制大部分的噪聲成分,但是增強后的語音中仍然存在明顯可見的噪聲成分;T-CRN 具有最好的噪聲抑制能力,但是對于語音成分的保留能力稍遜于TF-CRN;在7 種網絡中,TF-CRN 在噪聲成分抑制和語音成分保留上取得了最好的折衷效果,具有最好的語音增強性能。非正式的試聽實驗也進一步驗證了上述結論。

圖4 7 種網絡增強語音的語譜圖比較Fig.4 Comparison of spectrograms of speech enhanced by seven networks
為說明時頻域特征融合網絡在結構設計上的有效性,將其與其他6 種網絡進行空間復雜度的比較。表2給出了7 種網絡的參數規模,可見:由于采用了全卷積網絡,T-FCN 的參數量要遠低于其他網絡;在具有較好語音增強性能的F-LSTM、CED-CRN、F-CRN、T-CRN、TF-CRN 這5 種網絡中,CED-CRN 網絡結構復雜,參數量最大,F-LSTM 次之;本文提出的F-CRN、T-CRN、TF-CRN 這3 種網絡參數量明顯小于CED-CRN 和F-LSTM,其中TF-CRN 的參數量約為F-LSTM 的38.35%,約為CED-CRN 的21.75%,表明本文的時頻域特征融合網絡利用更小的網絡參數規模取得更好的語音增強性能。

表2 7 種網絡的參數規模比較Table 2 Comparison of parameter scale of seven networks
在基于深度神經網絡的語音增強方法中,采用時域波形作為訓練特征和訓練目標的時域方法通常依賴損失函數的設計,而將對數功率譜作為訓練特征和訓練目標的頻域方法則受限于短時傅里葉變換的特征表達能力,無法充分利用含噪語音的特征。為解決上述問題,本文提出一種基于時頻域特征融合的深度神經網絡語音增強方法。采用含噪語音的時域波形作為訓練特征,利用純凈語音的對數功率譜作為訓練目標,通過設計T-CRN 建立含噪語音時域波形和純凈語音對數功率譜之間的映射關系,并進一步設計能融合含噪語音的時域波形特征和頻域對數功率譜特征的TF-CRN。實驗結果表明,與采用對數功率譜作為訓練特征的頻域語音增強方法相比,T-CRN 具有更好的語音增強性能,而TF-CRN 相較對比網絡明顯提高了增強語音的質量和可懂度。后續將結合卷積神經網絡的特征可視化技術,對特征計算過程進行深入研究,進一步優化深度神經網絡結構。