李江和,王 玫
(桂林理工大學 信息科學與工程學院,廣西 桂林 541006)
近年來,語音增強技術在軍事、商業等領域發揮著重要作用,在工業界與學術界受到越來越多的關注。在語音識別、通信等應用領域,由于背景噪聲的影響,語音質量、語音可懂度等指標大幅下降,從而導致語音識別率下降,同時給試聽者帶來較差的聽覺體驗。為解決該問題,語音增強技術在語音預處理中成為不可或缺的一部分[1]。
當前,語音增強技術發展迅速,傳統經典的語音增強算法包括譜減法[2-3]、統計模型法[4-6]、維納濾波[7-8]等。傳統譜減法的關鍵在于對噪聲頻譜進行估計,通過在帶噪頻譜中減去噪聲譜,從而得到增強后的語音頻譜。在傳統基于譜減法的語音增強方法中,需要對先驗信噪比進行估計,但這會影響到算法性能。除此之外,基于子空間的語音增強算法[9-10]也得到一定發展。
傳統的語音增強方法均建立在數字信號處理的基礎上。近年來,基于深度學習的語音增強方法逐漸引起研究人員的關注并展現出優越性能。相較傳統的基于數字信號處理的語音增強方法,基于深度學習的語音增強方法在語音客觀可懂度、語音感知質量(PESQ)等指標上得到大幅提升。XU 等[11]提出基于深度神經網絡(DNN)的語音增強方法,通過多目標、多通道的網絡學習,在語音可懂度、語音感知質量等指標上得到較大提升。由于語音信號在頻域表現出時頻相關性,為了更好地學習這種相關性,文獻[12-14]提出基于卷積循環神經網絡的語音增強方法,通過卷積神經網絡學習頻譜的空間相關性,同時利用循環神經網絡學習頻譜的時間相關性,研究結果表明,這種方法能更好地建模語音信號。一些學者通過研究發現,聽覺特征可以提高深度學習的語音增強性能,文獻[15-16]通過融合使用MFCC、Log_Mel 頻譜等聽覺特征,提高了神經網絡對語音信號的建模能力。
然而,現有基于深度學習的語音增強方法[17-19]為了使網絡更好地學習語音信號相鄰幀的相關性,網絡采用了非因果式的對稱窗作為輸入,即輸入不僅為當前幀(第n幀),而且需要先前的N幀以及后續的N幀共同作為網絡的輸入特征(2N+1 幀),這導致在語音增強過程中產生了固定時延,不能滿足語音增強系統對實時性的要求。因果式語音增強方法僅利用當前幀(第n幀)與先前的N幀作為網絡輸入,從而避免了固定時延問題。文獻[20]從實驗中尋找適合因果式語音增強的網絡結構,增強后的語音質量得到較大提升,但其并未針對網絡本身結構進行改進。
本文從網絡結構出發,為充分利用先前N幀語音信號的信息,提出一種用于因果式語音增強的門控循環神經網絡CGRU。該網絡結構單元的輸出結合當前時刻的輸入xt以及上一時刻的輸入xt-1和輸出ht-1,充分利用先前幀的信息來提高網絡的建模能力。在實驗過程中,將本文CGRU 網絡與簡單循環神經網絡(SRNN)、門控循環神經網絡(GRU)、簡化循環神經網絡(SRU)[21]等傳統網絡結構進行性能對比,驗證算法增強后的語音在短時客觀可懂度(STOI)、語音感知質量、分段信噪比(SSNR)等指標上的性能表現。
假設加性噪聲為n(t),純凈語音信號為s(t),帶噪語音為y(t),則帶噪語音信號的時域表示為:

為了更好地分析語音信號,一般需要對時域信號進行短時傅里葉變換(Short Time Fourier Transform,STFT)。對帶噪語音信號y(t)進行的短時傅里葉變換為:

其中:n、k分別表示第n幀的第k個頻帶。本文采用基于非負幅度的特征實現語音增強實驗,以驗證所提方法的有效性。通過短時傅里葉變換式(2),得到音頻的頻率分量。非負幅度譜[22]可通過式(3)計算:

其中:Y(n,k)為語音通過短時傅里葉變換后的幅度譜;Z(n,k)為非負幅度譜特征。在深度學習因果式的語音增強中,語音增強可視為通過非線性函數fx實現帶噪語音到純凈語音的復雜映射:

其中:x為神經網絡訓練后的參數;Xn代表網絡的輸入特征,其為當前幀(第n幀)與先前N幀拼接而成的因果式輸入特征(N+1 幀);為神經網絡對純凈語音特征的估計結果。
通過網絡的不斷訓練迭代,得到一個從帶噪語音到純凈語音的復雜映射函數,記為fx。在網絡的訓練過程中,本文通過多次實驗發現絕對誤差的語音增強效果較好,最后選擇的損失函數為平均絕對誤差,如下:

其中:fx(Xi)是通過網絡后得到的輸出特征值,即對純凈語音非負幅度譜的估計;Ti為網絡的訓練標簽,即目標語音的非負幅度譜;M為網絡在訓練時采用的批量大小,本文通過實驗得出M的合適取值為256。
通過神經網絡對帶噪語音非負幅度譜Zn(n,k)進行估計得到純凈語音非負幅度譜,記為Zs(n,k),然后利用人耳對相位不敏感的特點,通過帶噪語音的相位譜φ(n,k)結合估計的純凈語音非負幅度譜逆變換,得到增強后的時域語音分幀后的信號,利用重疊相加法得到估計的語音信號xt:

對于語音信號,通過對分幀加窗(hamming 窗)處理后的數據進行STFT(式(2)),得到語音信號的時頻二維分量,求取頻率幅度值并保存相位φ(n,k),利用幅度譜,通過式(3)可計算得到非負幅度譜特征以用于網絡訓練和測試。通過語音增強算法得到增強后的非負幅度譜,并經由式(6)、式(7),聯合保存的相位φ(n,k)經過傅里葉逆變換得到增強后的時域語音信號,最后利用重疊相加法(式(8))恢復增強后的信號時域序列xt。
圖1 所示為門控循環神經單元結構,其中,xt、ht、ht-1分別為當前時刻輸入、當前時刻輸出以及上一時刻輸出,rt、zt、分別為重置門、更新門和候選隱藏狀態。門控循環神經單元(GRU)采用了門控機制,在一定程度上能夠緩解網絡過擬合問題,且網絡能夠學習更長的時序關系[23]。GRU 對長短時記憶(LSTM)網絡進行優化,在網絡結構復雜度、網絡參數量等指標上均有改進,LSTM 具有3 個門結構,而GRU 只有重置門rt和更新門zt這2 個門。GRU 相對于LSTM網絡結構復雜度更低,語音增強實時性更高,此外,GRU 網絡結構對語音增強系統的硬件要求更低。

圖1 GRU 結構Fig.1 Structure of GRU
GRU 的單元更新關系可由式(9)表示:

其中:W、U為權重矩陣,b為偏置項,它們均為可訓練的參數;⊙為Hadmard 乘積;σ為Sigmoid 激活函數。
圖2 所示為本文所設計的CGRU 因果式門控循環神經單元結構。為了解決傳統神經網絡語音增強中因采用非因果式(輸入為2N+1 幀)的對稱窗而產生的固定時延問題,本文采用因果式(輸入為N+1 幀)的網絡輸入。由于采用了因果式的網絡輸入,因此神經網絡獲得的語音信號特征信息衰減為非因果式輸入的0.5 倍,為減小其對神經網絡學習的影響,本文充分利用前N幀的語音信號特征信息,在CGRU網絡單元中融入上一時刻的輸入特征xt-1。

圖2 CGRU 結構Fig.2 Structure of CGRU
在圖2 中,xt、ht、xt-1、ht-1分別為當前時刻的輸入和輸出以及上一時刻的輸入和輸出。CGRU 神經網絡單元當前時刻的輸出ht由上一時刻的輸入xt-1、上一時刻的輸出ht-1以及當前時刻的輸入xt共同決定,從而充分利用先前幀的語音信號特征。受空間注意力機制以及門控線性單元(GLU)[24]的啟發,本文在CGRU 因果式門控循環神經網絡的單元輸入中首先計算xt、xt-1、ht-1的帶權特征向量:

與GRU 不同,CGRU 的候選隱藏狀態僅由當前時刻的輸入xt決定:

當前時刻網絡單元的輸出ht由候選隱藏狀態、遺忘門ft以及上一時刻輸出的帶權特征共同決定,如式(13)所示:

為了降低網絡的結構復雜度,本文僅在CGRU網絡中采用一個遺忘門ft,同時,針對在因果式語音增強中因輸入語音信號特征信息減少所導致的語音增強性能下降問題,本文充分利用先前幀的語音信號特征,在當前時刻的輸入xt中融合上一時刻的輸入xt-1,同時采用GLU 控制特征信息的傳遞,從而大幅提高網絡性能。
為了驗證CGRU 網絡的有效性,本文進行對比實驗。針對純凈語音,本文在TIMIT 語音數據集[25]的訓練集中隨機選取2 000 條音頻作為訓練集,從測試集中隨機選取500 條音頻作為測試集。對于訓練集的噪聲,本文使用文獻[26]中的100 種環境噪聲,對于測試集的噪聲,使用文獻[27]中的15 種噪聲。在信噪比分別為-5 dB、0 dB、5 dB、10 dB 這4 種情況下,將從TIMIT 訓練集中隨機選取的2 000 條音頻與文獻[26]中的100種環境噪聲隨機混合生成8 000條訓練數據集。在信噪比分別為-5 dB、0 dB、5 dB、10 dB 這4 種情況下,將從TIMIT 測試集中隨機選取的500 條純凈語音數據與文獻[27]中的15 種噪聲隨機混合生成2 000 條帶噪語音測試數據集。在特征提取時,純凈語音、噪聲的采樣頻率均設置為8 000 Hz,幀長為256(約31 ms),幀移為128。
在keras/tensorflow2.0 的環境下完成網絡構建與訓練。網絡的初始學習率設為1e-4,為了使網絡更好地收斂,設置學習率的衰減系數為1e-6,最大學習迭代次數為50 次。網絡訓練采用批量梯度下降算法,利用Adam 算法做迭代優化,批量大小設置為256。網絡訓練的損失函數使用平均絕對誤差(MAE)。在實驗過程中,分別設計4 層的GRU、SRNN、SRU 以及CGRU 網絡結構,每一層均為512 個神經網絡單元。
分別對4 層的GRU、SRNN、SRU 以及CGRU 網絡結構模型進行實驗。在-5 dB、0 dB、5 dB 這3 種信噪比條件下,測試集上的factory2、destroyerengine、buccaneer1、hfchannal 4 種噪聲[27]分別與測試集中的500 條純凈語音進行混合,利用4 種網絡模型進行語音增強對比實驗,從而驗證所提網絡的有效性。
在本次實驗中,語音增強性能評估指標選擇STOI、PESQ 以及SSNR。STOI 的取值范圍為0~1,PESQ 的取值范圍為-0.5~4.5,數值越大,表明增強后的語音質量越高,語音可懂度越高。表1、表2 所示分別為不同網絡模型得到的平均語音感知質量與平均語音短時可懂度。

表1 平均語音感知質量對比Table 1 Comparison of average speech perceptual quality

表2 平均語音短時可懂度對比Table 2 Comparison of average speech objective intelligibility
通過對表1、表2 中的平均語音感知質量與平均語音短時可懂度進行分析可以發現,SRNN 的語音增強效果最差,SRU 與GRU 具有較好的語音增強效果,這是由于簡單循環神經網絡并不能學習到長期依賴關系,而GRU 與SRU 采用的門控機制在很大程度上提升了網絡的學習能力。與其他3 種網絡相比,本文因果式語音增強網絡CGRU 在語音質量與語音短時可懂度上均取得了良好表現。
在CGRU 網絡的單元結構中,采用門控循環神經網絡的門控機制,同時,為了充分利用輸入特征先前的特征信息,在當前網絡的輸出特征計算中,不僅整合當前時刻的輸入xt與上一時刻的輸出ht-1,而且還融合了上一時刻的輸入xt-1,從而充分利用語音信號先前的N幀特征信息。表1 和表2 的實驗結果證明了因果式循環神經網絡CGRU 的有效性。為了進一步直觀地展現CGRU 的優越性,統計4 種噪聲的平均語音感知質量與平均語音短時可懂度,結果如圖3 所示。從圖3 可以看出,CGRU 在語音短時可懂度上取得了最好的可懂度評分,在平均語音感知質量方面,雖然在-5 dB 信噪比條件下CGRU 性能略低于SRU,但是隨著信噪比的增加,CGRU 表現出更好的性能。

圖3 平均語音感知質量與平均語音短時可懂度Fig.3 Average speech perceptual quality and average speech objective intelligibility
為了進一步驗證CGRU 的優越性,統計不同信噪比條件下4 種噪聲通過4 種不同網絡增強后得到的平均語音分段信噪比SSNR,結果如圖4 所示。從圖4 可以看出,在圖4(c)的destroyerengine 噪聲下,SRNN 在-5 dB 和0 dB 信噪比條件下獲得了較高的SSNR 得分,除此之外,CGRU 在增強后的語音分段信噪比評價指標上得分普遍優于其他3 種網絡結構,這進一步驗證了CGRU 的優越性。

圖4 不同噪聲條件下的分段信噪比結果對比Fig.4 Comparison of SSNR results under different noise conditions
在圖3 中,相較傳統的循環神經網絡(GRU、SRNN),CGRU 網絡在增強后的語音可懂度(STOI)、語音感知質量(PESQ)評價指標上均有較大提升。在圖4 中,CGRU 網絡相較GRU、SRNN、SRU 等傳統網絡在增強后的語音平均分段信噪比評價指標上也得到了提升。GRU、SRNN 網絡僅融合上一時刻的輸出,很多情況下語音增強性能反而低于未融合上一時刻輸出的SRU 網絡。本文CGRU 網絡在當前時刻的輸入中融合上一時刻的輸入與輸出,同時采用線性門控機制控制信息傳輸,緩解了網絡過擬合問題,提升了網絡對帶噪語音的建模能力,使得增強后的語音評價指標結果均取得了較大提升。
表3 所示為不同網絡結構的參數量對比,從表3可以看出,相對于GRU 的雙門控機制,CGRU 由于采用了單門控機制,因此其參數量較少。

表3 不同網絡模型的參數量對比Table 3 Comparison of parameter quantity of different network models
傳統基于深度學習的語音增強方法采用非因果式的輸入,導致產生固定時延問題,難以滿足語音增強系統對實時性的需求。本文提出一種基于因果式門控循環神經網絡CGRU 的語音增強方法。實驗結果表明,在平均語音短時客觀可懂度、平均語音感知質量、分段信噪比等指標上,CGRU 網絡的表現均優于SRNN、GRU、SRU 等傳統網絡。下一步將以提高語音增強系統的實時性、降低網絡復雜度作為研究目標,此外,考慮到卷積神經網絡能夠提取頻譜結構特征,后續將融合卷積神經網絡同時建模音頻的時間相關性與空間相關性,從而提高網絡性能。