論文翻譯:2021_A New Real-Time Noise Suppression Algorithm for Far-Field Speech Communication Based on Recurrent Neural Network
論文地址:一種新的基於循環神經網路的遠場語音通訊實時雜訊抑制演算法
引用格式:Chen B, Zhou Y, Ma Y, et al. A New Real-Time Noise Suppression Algorithm for Far-Field Speech Communication Based on Recurrent Neural Network[C]//2021 IEEE International Conference on Signal Processing, Communications and Computing (ICSPCC). IEEE, 2021: 01-05.
摘要
在遠程會議場景中,語音通常會受到背景雜訊的影響,從而降低語音的清晰度和品質。因此,在雜訊環境下對語音進行增強是十分必要的。本文研究了一種基於門控循環單元(GRU)的改進循環神經網路(RNN)的遠場實時語音增強方法。利用混響目標語音的理想幅度掩膜(IAM)作為RNN的訓練目標。我們還採用特徵歸一化和提出的子帶歸一化技術來減少特徵差異,進一步促進RNN學習長期模式。同時,為了進一步抑制子帶分割帶來的殘差間諧波偽平穩雜訊,我們將RNN與最優修正的對數譜幅值(optimally modified log-spectral amplitude,OMLSA)演算法相結合。實驗結果表明,該方法提高了語音品質,降低了失真,並且具有較低的實時計算複雜度。
關鍵字:語音增強;循環神經網路;理想振幅掩模;最優修正對數譜幅值(optimally modified log-spectral amplitude,OMLSA)
1 引用
在語音技術及其實際應用中,語音往往會受到背景雜訊和混響的影響而產生失真,導致語音通訊體驗下降,語音/說話人自動識別率[1]較差。語音增強已成為對抗雜訊和混響的關鍵手段。近年來,基於深度學習的語音增強方法[2]得到了廣泛的關注和成功,與傳統的訊號處理方法相比顯示出其優勢。一個主要的好處是相對容易地整合複雜的學習目標,這將促進增強語音的發展,朝著更好的品質和可理解[3]。然而,由於大多數神經網路的規模大,計算複雜度高,利用神經網路進行實時的雜訊抑制和去everberation仍然是一項具有挑戰性的任務。
在室內語音交流場景中,房間音響會產生一定的混響。在混響適中的環境中,講話不會有任何下降。因此,單獨去除雜訊就能至關重要地改善語音品質和清晰度。另一方面,一定程度的混響有助於提高聽力的舒適度和清晰度[4]。因此,在本文中,我們忽略了去everberation的問題,只是專註於開發一種具有低複雜度和實時處理能力的改進方法來消除遠場環境中的雜訊。
優化語音增強演算法的一個主要挑戰是在遠場環境中抑制雜訊,同時儘可能保持語音的感知品質。經典的語音增強方法有譜減法、維納濾波、基於統計模型的方法[5]等。然而,這些方法策略大多依賴於雜訊譜的估計和先驗資訊的假設。雖然它們在大多數有限的雜訊環境中都能很好地發揮作用,但在處理非平穩和擴散雜訊後卻不能達到預期的效果。因此,研究者更傾向於利用深度學習技術來研究更有效的解決方案。近年來,Valin提出了一種基於循環神經網路(RNN)的低計算複雜度方法,可以將深度學習和訊號處理技術相結合,對取樣在48kHz[6]的音頻進行實時處理。但是,該方法所獲得的語音清晰度和語音品質下降,阻礙了該方法的直接應用。
受[6]的啟發,本文提出了一種改進的低複雜度RNN方法,用於在有雜訊和中等混響環境下實時、高取樣率(48KHz)的語音增強系統。首先,分析了特徵和特徵/子帶歸一化技術。然後,提出了利用經典訊號處理演算法和RNN演算法分別計算增益的並行處理方法。目標是進一步消除語音諧波之間的殘留雜訊,因為無法在子帶劃分中對頻譜的精細結構建模。結果表明,該方法可以避免較大的計算複雜度,進一步提高語音品質和可懂度。
本文的其餘部分安排如下:第二節給出了本文提出的基於RNN的演算法。第三節給出了實驗設置和結果以及相應的評價。第四部分總結了本文的結論。
2 系統架構和方法
A 訊號模型
設$y(n)$、$x(n)$和$u(n)$分別表示時域雜訊、混響訊號和雜訊訊號
$$公式1:y(n)=x(n)+u(n)$$
分析和合成使用相同的窗,如下所示
$$公式2:w(n)=sin[\frac{\pi}{2}sin^2(\frac{\pi n}{N})]$$
其中N為窗口的長度。加窗後,再進行快速傅里葉變換(FFT),最後得到下面的頻域表達式為
$$公式3:Y(l,k)=X(l,k)+U(l,k)$$
其中$Y(l,k)$,X(l,k)和$U(l,k)$分別表示上述時域訊號模型在第$l$個時間幀和第$k$個頻率bin的FFT。
該系統的框圖如圖1所示。大部分的雜訊抑制是通過RNN在低解析度頻譜上計算增益來實現的,而不是在頻率點上進行處理。因此,語音諧波之間不可避免地會有雜訊殘留,如偽平穩雜訊。結合改進的OMLSA演算法計算的增益,採用更精細的抑制步驟進一步衰減語音諧波間的雜訊。
圖1 提出系統的框架圖
B 頻帶結構與特徵表示
在訓練神經網路的過程中,最重要的是尋找合適的特徵,這將極大地影響神經網路[7]的訓練效率和最終的演繹性能。然而,在[2]中引入的方法中,使用了許多神經網路來估計頻率bin的mask或幅度,這通常需要數百萬權值來處理在48kHz取樣的語音。這種類型的神經網路很難部署在需要低功耗和實時處理能力的系統中。考慮到[8]中描述的子帶訊號處理方法,我們選擇在Mel-scale上對頻譜進行劃分,Mel子帶的劃分在低頻密集,在高頻稀疏。在mel-scale上,頻率bin被劃分為48維頻帶。設$w_m(k)$為頻帶$m$在bin $k$處的振幅,定義頻帶$m$的傳遞函數為
$$公式4:w_{m}(k)=\left\{\begin{array}{cc}
0, & k<f(m-1) \\
\frac{k-f(m-1)}{f(m)-f(m-1)}, & f(m-1) \leq k \leq f(m) \\
\frac{f(m+1)-k}{f(m+1)-f(m)}, & f(m)<k \leq f(m+1) \\
0, & k>f(m+1)
\end{array}\right.$$
其中
$$公式5:f(m)=\left(\frac{N}{f_{s}}\right) F_{\text {mel }}^{-1}\left(F_{\text {mel }}\left(f_{1}\right)+m \frac{F_{\text {mel }}\left(f_{\mathrm{h}}\right)-F_{\text {mel }}\left(f_{1}\right)}{M+1}\right),$$
$$公式6:F_{mel}(f)=1125 log(1+\frac{f}{700})$$
$M=48$是頻帶數,音頻處理在48kHz取樣率,$f_h=24000$,$f_1=0$,$f_s=48000$,$F^{-1}_{mel}(f)$是$F_{mel}(f)$的逆函數。然後,將481維的特徵壓縮為48維。
在此,我們提出一種子帶歸一化( sub-band normalization,SN)技術來歸一化子帶振幅係數。其目的是減小子帶劃分不同所引起的子帶能量差異。因此,頻帶$m$的子帶歸一化方法描述為
$$公式7:w’_m(k)\frac{w_m(k)}{\sum_kw_m(k)},\ \sum_kw’_m(k)=1$$
對於變換後的訊號$Y(k)$,頻帶$m$的對數能量被計算為:
$$公式8:E_{Y}(m)=\log \left(\max \left(\sum_{k} w_{m}^{\prime}(k)|Y(k)|^{2}, \alpha\right)\right)$$
其中$\alpha=10^{-1}$和子帶能量最低為-60dB。因此,得到了48維mel-scale子帶能量。此外,我們還介紹了頻譜平坦度(spectral flatness,SF),以幫助語音檢測和輔助VAD估計。第$l$幀SF的值為:
$$公式9:S F(l)=10 \times \log _{10}\left(\frac{\exp \left(\frac{1}{K} \sum_{k} \ln (Y(l, k))\right)}{\frac{1}{K} \sum_{k} Y(l, k)}\right)$$
如下平滑光譜平坦度產生:
$$公式10:S F_{\text {smooth }}(l)=\gamma S F_{\text {smooth }}(l-1)+(1-\gamma) S F(l)$$
其中K = 400為總共所需的頻率bin,$\beta=10^{-3}$,$\gamma $為平滑參數。總共使用了49個輸入特性。
C 特徵歸一化
在提取Mel scale的頻帶能量特徵後,發現高頻子帶和低頻子帶之間的能量差異相對較大,統一歸一化這可能導致忽略具有較小能量尺度的特徵。因此,我們引入了在線歸一化技術,並將其與上述特性結合起來。該方法首先消除了特徵尺度差異的影響,然後進一步促進了RNN學習長期模式。在上述歸一化方法中,我們將利用以下衰減指數平滑運行均值和方差。
$$公式11:\mu_{E(Y)}(l, m)=\lambda \mu_{E(Y)}(l-1, m)+(1-\lambda) E_{Y}(l, m)$$
$$公式12:\sigma_{E(M)}^{2}(l, m)=\lambda \sigma_{E(Y)}^{2}(l-1, m)+(1-\lambda) E_{Y}^{2}(l, m)$$
$$公式13:E_{Y}^{\prime}(l, m)=\frac{E_{Y}(l, m)-\mu_{E(Y)}(l, m)}{\sqrt{\sigma_{E(Y)}^{2}(l, m)-\mu_{E(Y)}^{2}(l, m)}}$$
其中$\lambda=exp(-\bigtriangleup \frac{t}{\tau })$,$\bigtriangleup t$是以秒為單位的幀偏移,$\tau =1s$是可以控制自適應更新速度的時間常數。我們每2000幀用零重新初始化當前幀中的均值和方差,然後對後續幀執行相應的計算。該方法可以進一步提高網路的魯棒性。
D 學習機器和訓練設置
RNN在實時語音增強(SE)任務[7]中具有優異的性能。雖然LSTM和GRU都是根據門控單元更新序列資訊的主導技術,避免了指數權重衰減或爆炸問題,但由於GRU的計算效率和優異的性能[9]優於LSTM。因此,在提出的方法中,我們首先疊加三個GRU層,然後是一個全連接層,以估計48維子帶增益和VAD同時。定義理想比值掩碼(IRM)的訓練標籤為
$$公式14:g_{birm}(m)=max(\sqrt{\frac{E_x(m)}{E_Y(m)}},10^{-3})$$
式中$E_X(m)$、$E_Y(m)$分別為純凈混響語音、帶噪混響語音。此外,當某一頻段沒有語音和雜訊時,ground True增益被明確標記為未定義,因此在訓練過程中忽略相應幀的子帶增益,以避免惡化網路的訓練整體效果。此外,我們考慮利用一種結合均方誤差(MSE)和尺度不變信噪比(SI-SDR)[10]的損失函數,可以提供更好的性能。它可以寫成
$$公式15:L=\varsigma\left(\sqrt{\widehat{g}_{b i m n}(m)}-\sqrt{g_{b i m}(m)}\right)^2+(1-\varsigma)\left(-10 \log _{10}(\frac{||\frac{\hat{x}^{T} x}{||x||^{2}} x||^{2}}{||\frac{\hat{x}^{T} x}{||x||^{2}} x-\hat{x}||^{2}})\right)$$
其中x和x分別表示時域語音波的真實情況和預測結果。在一系列的實驗中,我們發現$\zeta = 0.4$可以很好地在雜訊抑制和語音失真之間進行權衡。
E RNN與改進的OMLSA相結合的策略
本文提出的基於RNN架構的輸出訊號基於Mel尺度準則,因為每一幀的頻譜被劃分為48維子帶,這會導致頻譜解析度的降低。它的主要缺點是不能在頻譜中模擬更精細的細節。同時還發現語音諧波之間存在一定的殘餘雜訊。因此,我們考慮引入一種優化的OMLSA演算法,並將其與RNN相結合,並行處理降噪和殘差雜訊抑制。
實際應用中,更準確的語音檢測有利於雜訊的更新,提高了演算法在語音訊號處理中的魯棒性。因此,我們考慮利用RNN逐幀預測的VAD值來有效替代傳統的OMLSA VAD決策方法,可以促進語音活動檢測,輔助雜訊更新,降低計算複雜度。由於篇幅限制,本文省略了改進的OMLSA中包括的其他功能模組的細節。用OMLSA計算的400個頻率點的增益標記為$g_{omlsa}$,而用RNN估計的增益為48維,我們需要利用參數插值矩陣(constant interpolate matrix,IM)將帶IRM $g_{birm}$從48維變換到400維,並標記插值增益為$g_{irm}$。因此,最終增益$g$由
$$公式16:g=min(g_{omlsa},g_{min})$$
可以發現,在兩種不同方法計算的增益之間取最小值的操作,不僅可以保留網路的優勢,還可以進一步消除子帶劃分帶來的語音諧波之間的殘留雜訊。
3 實驗和評估
A 實驗設置與性能評估
基於RNN的訓練和評估需要純凈混響語音和帶噪混響語音。通過對混響語音進行加噪處理,人工構建訓練數據。此外,我們通過將純凈語音與房間脈衝響應(RIR)卷積得到純凈混響語音。對於純凈語音數據和雜訊,我們使用了公開可用的DNS Challenge 3語音資料庫(中文、德語和西班牙語)、英國-愛爾蘭英語方言語音資料庫[11]和麥吉爾TSP語音資料庫[6]。利用各種雜訊源,包括電腦風扇、汽車、辦公室、街道、噪音和火車的噪音。採用RIR生成器,利用成像方法[12][13]生成RIR,模擬不同房間大小,隨機選擇接收機和說話人的位置。此外,接收機與揚聲器之間的距離保持在1m – 5m範圍內,隨機產生。此外,混響時間(T60)也在[0.1,0.6]秒範圍內隨機選取。
實驗使用CUDNN GRU實現,在Keras後端Nvidia GPU上進行。將所有訓練數據分成長度為2000的連續幀(RNNoise也是分為2000連續幀),依次輸入到網路中進行訓練。對網路進行60個epoch的訓練,選擇的batch size為64。同時,利用Adam演算法對網路進行優化,使損失函數最小。所有訊號取樣在48kHz。幀窗長為20毫秒,幀偏移為10毫秒。
將該方法與SpeexDSP庫中的RNNoise和基於MSE的雜訊抑制方法進行了比較。我們將採用STOI和PESQ 來評估通過不同方法增強的語音的可讀性和品質。正常情況下,分數越高,增強語音品質越好。
B 評價結果與討論
在實驗中,利用不同的純凈混響語音訊號和5種雜訊(汽車、辦公室、街道、babble和靜止雜訊),產生了總共8小時的不同信噪比的測試集語料。此外,在訓練階段,測試數據的雜訊和RIRs都沒有被利用。計算了五種雜訊類型下各方法判據的改進情況。表1和表2分別表示了在相同信噪比和相同混響時間條件下,不同雜訊類型測試集語料的平均STOI和PESQ得分。從表1和表2的評分結果來看,雖然實驗中使用的三種方法都表現出相同的語音增強趨勢,但本文方法明顯優於另外兩種基準線。此外,高信噪比下的性能優於低信噪比下的性能。
圖2給出了對真實房間場景記錄語料進行雜訊抑制的處理結果示例,紅色矩形表示本文方法對非語音段雜訊的抑制性能優於其他兩種基準線演算法。在語音部分,該方法可以顯著降低語音失真,進一步消除語音諧波間的殘留雜訊。此外,所提出的方法也存在一些問題。一是高頻存在一定的殘餘雜訊,二是沒有利用差分特徵和基音周期,導致演算法在抑制語音段中存在的瞬態雜訊時性能下降。我們可以考慮引入上述特性來進一步訓練網路。總體結果表明,該方法可以提高不同遠場場景下的語音品質和可讀性。
圖2 將真實房間場景中記錄的語料庫的語譜圖和基於mse、RNNoise和所提出方法的處理結果分別進行比較。
圖2給出了對真實房間場景記錄語料進行雜訊抑制的處理結果示例,紅色矩形表示本文方法對非語音段雜訊的抑制性能優於其他兩種基準線演算法。在語音部分,該方法可以顯著降低語音失真,進一步消除語音諧波間的殘留雜訊。此外,所提出的方法也存在一些問題。一是高頻存在一定的殘餘雜訊,二是沒有利用差分特徵和基音周期,導致演算法在抑制語音段中存在的瞬態雜訊時性能下降。我們可以考慮引入上述特性來進一步訓練網路。總體結果表明,該方法可以提高不同遠場場景下的語音品質和可讀性。
C 複雜度分析
計算複雜度是演算法實現實時性的一個重要問題。可執行文件總共保存了92109個權值(大約70KB),這些權值由神經網路的217個神經元學習。每一幀數據通過帶權值的乘法和加法運算實現實時語音增強。對於每一幀的處理,演算法的複雜度總共需要35M flops,分別用於FFT/IFFT變換、特徵提取和神經網路計算。此外,在Intel (R) Core (TM) i5-9300H CPU @ 2.40GHz的筆記型電腦電腦上,該方法處理每個語音幀的平均時間為0.5ms,而RNNoise的處理時間約為0.8ms。相比之下,每幀的處理速度提高了60%。
4 結論
本文提出了一種在遠場環境下將RNN和改進的OMLSA演算法相結合的實時雜訊抑制方法。該方法僅針對正常混響場景條件下的雜訊去除。在不同雜訊和T60條件下對系統進行了評估,實驗結果表明,該方法不僅提高了雜訊抑制能力,而且降低了語音失真。此外,由此產生的低複雜性和更快的處理速度使該方法適合於嵌入式設備和影片會議系統。
參考文獻
[1] Y . Zhao, D. L. Wang, I. Merks, and T. Zhang, DNN-based enhancement of noisy and reverberant speech, in IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2016, pp.6525 6529.
[2] Wang, DeLiang, and Jitong Chen, “Supervised speech separation based on deep learning: An overview,” IEEE/ACM Transactions on Audio, Speech, and Language Processing 26.10, 2018, pp. 1702-1726.
[3] Y. Xia, S. Braun, C. K. A. Reddy, H. Dubey, R. Cutler, and I. Tashev, Weighted speech distortion losses for neural-network-based real-time speech enhancement, in 2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2020, pp. 871 875.
[4] J. S. Bradley, H. Sato, and M. Picard, On the importance of early reflections for speech in rooms, Journal of the Acoustical Society of America, vol. 113, pp. 3233 3244, 2003.
[5] Y. Hu and P. Loizou, Evaluation of objective measures for speech enhancement, in Proc. Interspeech, 2006, pp. 1447 1450.
[6] J.-M. V alin, A hybrid DSP/deep learning approach to real-time fullband speech enhancement, in 2018 IEEE 20th International Workshop on Multimedia Signal Processing (MMSP), 2018, pp. 1 5.
[7] J. Chen, Y. Wang, and D. Wang, A feature study for classificationbased speech separation at very low signal-to-noise ratio, in Proc. ICASSP, 2014, pp. 7059 7063.
[8] S. Davis aud P. Mermelstein, “Comparison of parametric representations for monosyllabic word recognition in continuously spoken sentences,” Acoustics, Speech and Signal Processing, iEEE Transactions on, vol. 28, no. 4, pp. 357-366, 1980.
[9] C. K. Reddy, E. Beyrami, J. Pool, R. Cutler, S. Srinivasan, and J. Gehrke, A Scalable Noisy Speech Dataset and Online Subjective Test Framework, in ISCA INTERSPEECH 2019, 2019, pp.1816 1820.
[10] Jonathan Le Roux, Scott Wisdom, Hakan Erdogan, and John R. Hershey, SDR half-baked or well done? , in Acoustics, Speech and Signal Processing (ICASSP), 2019 IEEE International Conference on. IEEE, 2019, pp. 626 630.
[11] Isin Demirsahin, Oddur Kjartansson, Alexander Gutkin, and Clara Rivera, Open-source Multi-speaker Corpora of the English Accents in the British Isles, in Proceedings of The 12th Language Resources and Evaluation Conference (LREC), Marseille, France, May 2020, pp. 6532 6541, European Language Resources Association (ELRA).
[12] J. B. Allen and D. A. Berkley, Image method for efficiently simulating small-room acoustics, Journal of the Acoustical Society of America, vol. 65, pp. 943 950, 1979.
[13] Habets, Emanuel AP. “Room impulse response generator.” Technische Universiteit Eindhoven, Tech. Rep 2.2.4 (2006): 1.