論文地址:THLNet: 用於單耳語音增強的兩級異構輕量級網路
程式碼:https://github.com/dangf15/THLNet
參照格式:Dang F, Hu Q, Zhang P. THLNet: two-stage heterogeneous lightweight network for monaural speech enhancement[J]. arXiv preprint arXiv:2301.07939, 2023.
部落格作者:凌逆戰 (參照請註明出處)
本文提出了一種用於單聲道語音增強的兩階段異構輕量級網路。具體地,本文設計了一個兩階段的框架,包括粗粒度的全頻帶掩碼估計階段和細粒度的低頻細化階段。本文使用一種新的可學習複數矩形頻寬(learnable complex-valued rectangular bandwidth,LCRB)濾波器組作為緊湊特徵提取器,而不是使用手工設計的實值濾波器。此外,考慮到兩階段任務各自的特點,我們使用了異構結構,即U型子網路作為CoarseNet的主幹,單尺度子網路作為FineNet的主幹。在VoiceBank + DEMAND和DNS資料集上進行了實驗。實驗結果表明,所提方法在保持相對較小的模型尺寸和較低的計算複雜度的同時,效能優於當前最先進的方法。
索引項:語音增強,兩階段異構結構,輕量化模型,可學習複數矩形頻寬濾波器組
語音增強(Speech enhancement, SE)是一種旨在通過去除噪聲[1]來提高帶噪語音質量和可懂度的語音處理方法。它通常用作自動語音識別、助聽器和電信的前端任務。近年來,深度神經網路(deep neural networks, DNNs)在社會工程研究中的應用受到越來越多的關注。
許多基於DNN的方法[2,3,4,5]在SE任務中取得了令人印象深刻的效能,但它們的效能提高伴隨著模型開銷的增加。因此,最先進的(SOTA)模型通常太大,無法部署在具有實際應用程式的裝置上。最近提出了幾種方法,通過使用緊湊的特徵來解決這個問題。在RNNoise[6]和PercepNet[7]中,分別使用bark濾波器組和三角濾波器組對頻譜進行壓縮。這些濾波器組保留了對人類感知更重要的頻域資訊,有效降低了輸入特徵的維度,從而降低了神經網路模型的複雜性。基於PercepNet的DeepFilterNet[8]演演算法首先利用ERB尺度增益增強頻譜包絡,然後利用DeepFilter[9]進一步增強初步增強頻譜的週期部分。然而,基於緊湊特徵的工作通常使用專家手工設計的濾波器來匯出緊湊的實值特徵,沒有利用相位資訊。
多階段學習(multi-stage learning, MSL)遵循"分而治之"的思想,將一項困難的任務分解為多個簡單的子問題,以增量方式獲得更好的解,在許多領域表現出比單階段方法更好的效能,如影象修復[10]和影象去噪[11]。最近,MSL也被應用於語音前端任務,取得了很好的結果[4,12,13]。雖然這些方法也將任務劃分為更容易建模的子任務,並取得了良好的效能,但這些模型的每個階段本質上都是在高維STFT特徵上工作的,導致了大量的引數和計算工作量。
在此背景下,本文研究對設計有效的輕量級SE框架有以下貢獻:
我們提出的系統示意圖如圖1所示。它由一個LCRB濾波器組和兩個子網路組成。
圖1:擬議系統概述
在第一階段,CoarseNet將LCRB尺度下的緊湊特徵作為輸入,預測一個LCRB尺度下的複數掩碼$\tilde{M} ^{LCRB}$。然後,將$\tilde{M} ^{LCRB}$通過LCBR濾波器組的band splitting module得到與原始頻譜特徵(記為$\tilde{M} ^{c}$)相同尺寸的Mask;
在第二階段,我們使用FineNet進一步細化頻譜的低頻部分,將原始語音複數譜的低頻部分和第一階段的增強複數頻譜的低頻部分提供給FineNet。FineNet 輸出的是低頻部分的補償複數掩碼$\tilde{M} ^{f}$。最終的估計$\tilde{S} ^{f}$是通過將預測補償與CoarseNet輸出$\tilde{S} ^{c}$相加得到的。
採用一種新型的LCRB濾波器組提取壓縮特徵。LCRB濾波器組 是 壓縮FFT頻譜以獲取緊湊高效特徵 的 band merging module 和用於將壓縮後的特徵恢復為FFT頻譜 的band splitting module組成。
在頻帶合併模組(BM,band merging module)中,首先將FFT頻譜$X\in R^{2*F*T}$劃分為P個子頻帶,其中每個子頻帶$X_p$包含G = F/P個頻點,通過頻帶合併操作將每個子頻帶中的頻點數量壓縮為1:
$$公式1:\begin{gathered}
X_p=X[:, G *(p-1)+1: G * p,:], p=1 \cdots P \\
X_p^{\prime}=L C R B_{\text {merge }}\left(X_p\right), p=1 \cdots P
\end{gathered}$$
其中$X_p\in R^{2*G*T}$和$X'_p\in R^{2*1*T}$。將$P$個壓縮子帶特徵$X'_p$連線在一起後,得到一個緊湊特徵$X_{LCRB}\in R^{2*P*T}$,作為CoarseNet編碼器的輸入。
頻帶分隔模組(BS,band splitting module)是 band merging module的逆運算。band splitting module 將粗糙網路解碼器預測的$\tilde{M} ^{LCRB}$ scale mask 恢復為傅立葉頻譜掩碼$\tilde{M} ^{c}$。將每個子帶掩碼的頻點數擴充套件為G:
$$公式2:\begin{gathered}
\widetilde{M}_p^{L C R B}=\widetilde{M}^{L C R B}[:, p,:], p=1 \cdots P \\
\widetilde{M}_p^c=L C R B_{s p l i t}\left(\widetilde{M}_p^{L C R B}\right), p=1 \cdots P
\end{gathered}$$
其中$\tilde{M} ^{LCRB}\in R^{2*P*T}$,$\tilde{M}_p ^{LCRB}\in R^{2*1*T}$和$\tilde{M}_p ^c\in R^{2*G*T}$。將P子帶掩模$\tilde{M}_p ^c$級聯後,得到最終的傅立葉頻譜掩模$\tilde{M} ^c$。
我們利用PyTorch[14]來實現我們的模組。使用複數分組Conv1d來實現LCRB濾波器組。LCRB濾波器組的band merging模組如圖2所示。由於LCRB濾波器組的band splitting module和band merging module具有相同的結構,只需要修改group real (imag) Conv1d的輸入輸出通道數。
圖2:LCRB濾波器組帶合併模組示意圖
現有的多階段語音增強方法通常在每個階段使用相同的結構,大致可以分為兩類:1)U型結構和 2) Single-scale 結構。U型網路[4,15,16]首先逐步將輸入對映到低解析度表示,然後逐步應用逆對映來恢復原始解析度。儘管這些模型有效地編碼了多尺度資訊,但由於反覆使用下取樣操作,它們往往會犧牲空間細節。相比之下,在單尺度特徵管道上操作的方法在生成具有精細諧波結構的譜方面是可靠的[5,17]。然而,由於有限的感受野或難以對長序列進行建模,它們的輸出在語意上不太魯棒。這表明了上述架構設計選擇的內在侷限性,它們只能生成空間準確或上下文可靠的輸出,而不能同時生成兩者。受上述問題的啟發,本文采用互補特徵處理的思想,並考慮了所提出的兩階段任務各自的特點,U型子網路用於CoarseNet,單尺度子網路用於FineNet。
圖3(a)和(b)分別是我們使用的U型子網路和單尺度子網路。對於U型子網路,我們將由U型編解碼器和多個兩路LSTM塊組成的DPCRN[15]修改為輕量級版本作為backbone網路。對於單尺度子網路,將DPT-FSNet[5](簡稱DFNet)修改為輕量級版本作為backbone,該網路由一個單尺度擴張折積編解碼器和多個雙路徑transformer塊組成。
圖3 (a) U型子網示意圖。(b)單尺度子網路
我們聯合訓練CoarseNet和FineNet,總損失如下:
$$公式3:L=L_c+\lambda L_f$$
其中λ為兩種損失之間的加權係數,定義CoarseNet和FineNet的損失函數Lc、Lf為:
$$公式4:\begin{matrix}
L_c=\alpha L_c^{RI}+(1-\alpha)L_c^{Mag}\\
L_f=\alpha L_f^{RI}+(1-\alpha)L_f^{Mag}
\end{matrix}$$
其中$k$取$\{c, f\}$的值(即階段標籤)。根據經驗,我們發現$\alpha= 0.5$和$\lambda= 1$足以滿足我們的評估。
使用小規模和大規模資料集來評估所提出的模型。對於小規模資料集,我們使用了在SE研究中廣泛使用的VoiceBank+ DEMAND資料集[18]。該資料集包含預混合的帶噪語音和配對的純淨語音。純淨語音資料集是從VoiceBank語料庫[19]中選擇的,其中訓練集包含來自28個說話人的11572條話語,測試集包含來自2個說話人的872條話語。對於噪聲集,訓練集包含40種不同的噪聲條件,10種型別的噪聲(8種來自需求[20],2種人為生成),訊雜比分別為0、5、10和15 dB。測試集包含20種不同的噪聲條件,其中5種型別的未見噪聲來自DEMAND資料庫,訊雜比分別為2.5,7.5,12.5,17.5 dB。
對於大規模資料集,我們使用DNS資料集[21]。DNS資料集包含來自2150個說話人的500多個小時的純淨剪輯和來自150個類的180多個小時的噪音剪輯。在訓練階段,通過動態混合來模擬噪聲-純淨對。具體來說,在每個訓練週期開始之前,將50%的純淨語音與[22]提供的隨機選擇的房間脈衝響應(RIR)混合。通過將純淨的語音(其中50%是混響)和訊雜比在-5到20 dB之間的隨機噪聲混合,我們生成了語音-噪聲混合物。為了進行評估,我們使用了第3次DNS挑戰的盲測試集,包括有和沒有混響的600段音訊錄音。
所有話語都以16khz取樣,並分塊到4秒以保持訓練穩定性。該演演算法採用32 ms的Hanning窗,相鄰幀重疊率為50%,並採用512點FFT(快速傅立葉變換)。我們移除了頻譜中的直流分量,得到了256-D(維數)的譜特徵用於模型輸入。輸入CoarseNet的緊湊特徵的箱子數P和輸入FineNet的低頻特徵的箱子數Q分別設定為32和128。
DPCRN:我們使用[15]中的設定來重新實現DPCRN,作為單階段Ushaped網路的基線,稱為DPCRN(base)。對於改進的輕量級版本(記為DPCRN),編碼器中折積層的通道數為64,64,64,在頻率和時間維度上分別設定核大小和步長為(5,2)、(3,2)、(3,2)和(2,1)、(2,1)、(1,1),雙路徑LSTM的隱藏大小為64。
DFNet:我們使用[5]中的設定重新實現DFNet,並進行一些修改以滿足因果設定,作為單階段、單尺度網路的基線,稱為DFNet(base)。使用了因果折積、GRU和注意力。此外,在inter transformer模組(建模子帶時間資訊)中,刪除了注意力,只保留了GRU。對於修改後的輕量級版本(記為DFNet),與DFNet(base)的區別在於T-F頻譜的特徵圖C的數量被設定為48,並刪除了編解碼器中的密集連線。
在訓練階段,對所提出的模型進行100個epoch的訓練。我們使用Adam[23]作為優化器,並使用最大l2範數為5的梯度裁剪來避免梯度爆炸。初始學習率(LR)設定為0.0004,然後每兩個週期衰減0.98倍。本文的目標是設計輕量級的實時線上模型,其中模型中的所有操作(如折積和LSTM)都是因果關係。
對於VoiceBank+DEMAND資料集,使用寬頻PESQ(記為WB-PESQ)、STOI、CSIG、CBAK和COVL作為評估指標。對於DNS資料集,採用DNSMOS P. 835[24]預測的主觀結果。將3個預測得分分別記為nOVL、nSIG、nBAK,分別預測語音失真的總體主觀得分、語音失真的質量得分和去噪的質量得分。
表1:VoiceBank+DEMAND資料集上的消融分析結果
表2:DNS資料集的消融分析結果
表1和表2分別給出了在VoiceBank+DEMAND資料集和DNS資料集上的消融實驗結果。將這些模型分為3類:1)單階段模型,即DFNet(base)和DPCRN(base);2)兩階段同質模型,即2DFNet和2DPCRN;3)兩階段異構模型,即DFNet+DPCRN和DPCRN+DFNet。每個階段的子模型進一步分為單尺度子網路和U型子網路,簡稱S和U,如表2所示。從表1和表2可以得到以下觀察結果。
表現最好的兩階段模型是DPCRN+DFNet,這可能是因為第一階段模型建模的是粗粒度的全頻帶資訊,即主要需要建模整個頻譜的上下文資訊,這使得DPCRN更適合UNet結構的多尺度特性。第二階段主要發揮細粒度低頻頻譜恢復的作用,使用不涉及下取樣(即不失真諧波資訊)的單尺度子網路DFNet更為合適。與DFNet(base)相比,DPCRN+DFNet在客觀指標WB-PESQ、STOI、SI-SDR和主觀指標nSIG、nBAK、nOVL上均取得了相當的分數,而引數數量(Params)和mac分別是DFNet(base)的75.3%和19.3%。
表3顯示了我們提出的模型與其他SOTA因果系統在VoiceBank+DEMAND資料集上的比較。從表中可以看出,在這些先進的因果系統中,THLNet在WB-PESQ、STOI、CSIG、CBAK和COVL中得分最高,引數和mac相對較小。
表3:VoiceBank+DEMAND資料集上與其他最先進的因果系統的比較
圖4:使用所提出模型的增強結果的說明。
(a)乾淨的發音的語譜圖。(b)嘈雜的聲音
(c) CoarseNet的增強表達。(d) THLNet增強的話語
從圖4可以看出,CoarseNet可以有效地抑制噪聲成分,並恢復數頻譜高頻部分的主要幾何結構。例如,CoarseNet在背景噪聲條件下取得了良好的效能,如圖4 (b)和(c)中紅色標記區域所示,並恢復了頻譜高頻部分的主要幾何結構,如圖4 (a)和(c)中黃色標記區域所示。但是,CoarseNet在處理頻譜低頻部分諧波結構細節方面表現較差。幸運的是,FineNet可以有效地恢復低頻諧波結構,如圖4 (c)和(d)中的綠色標記區域所示。通過使用CoarseNet和FineNet兩階段處理,得到了質量相當好的語音。
本文提出THLNet,一種用於單聲道語音增強的兩階段異構輕量級網路。該網路由一個LCRB濾波器組和兩個基於掩碼的子網路CoarseNet和FineNet組成,分別負責粗粒度的全頻帶掩碼估計和細粒度的低頻細化。我們使用一種新穎的LCRB濾波器組作為緊湊特徵提取器。進一步,考慮到所提兩階段任務的不同特點,使用異構結構,即Ushaped子網路(DPCRN)作為CoarseNet的主幹,使用單尺度子網路(DFNet)作為FineNet的主幹,進一步提升了所提演演算法的效能。在VoiceBank + DEMAND資料集上的實驗結果表明,該方法優於當前SOTA方法,同時保持了相對較小的模型大小和較低的計算複雜度。
[1] Philipos C Loizou, Speech enhancement: theory and practice, CRC press, 2013.
[2] Ke Tan and DeLiang Wang, 「Learning complex spectral mapping with gated convolutional recurrent networks for monaural speech enhancement,」 IEEE/ACM Transactions on Audio, Speech, and Language Processing, vol. 28, pp. 380–390, 2019.
[3] Alexandre D´efossez, Gabriel Synnaeve, and Yossi Adi, 「Real Time Speech Enhancement in the Waveform Domain,」 in Proc. Interspeech 2020, 2020, pp. 3291–3295.
[4] Andong Li, Wenzhe Liu, Chengshi Zheng, Cunhang Fan, and Xiaodong Li, 「Two heads are better than one: A two-stage complex spectral mapping approach for monaural speech enhancement,」 IEEE/ACM Transactions on Audio, Speech, and Language Processing, vol. 29, pp. 1829–1843, 2021.
[5] Feng Dang, Hangting Chen, and Pengyuan Zhang, 「Dpt-fsnet: Dual-path transformer based full-band and sub-band fusion network for speech enhancement,」 in ICASSP 2022-2022 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2022, pp. 6857–6861.
[6] Jean-Marc Valin, 「A hybrid dsp/deep learning approach to realtime full-band speech enhancement,」 in 2018 IEEE 20th international workshop on multimedia signal processing (MMSP). IEEE, 2018, pp. 1–5.
[7] Jean-Marc Valin, Umut Isik, Neerad Phansalkar, Ritwik Giri, Karim Helwani, and Arvindh Krishnaswamy, 「A PerceptuallyMotivated Approach for Low-Complexity, Real-Time Enhancement of Fullband Speech,」 in Proc. Interspeech 2020, 2020, pp. 2482–2486.
[8] Hendrik Schroter, Alberto N Escalante-B, Tobias Rosenkranz, and Andreas Maier, 「Deepfilternet: A low complexity speech enhancement framework for full-band audio based on deep filtering,」 in ICASSP 2022-2022 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2022, pp. 7407–7411.
[9] Wolfgang Mack and Emanuel AP Habets, 「Deep filtering: Signal extraction and reconstruction using complex timefrequency filters,」 IEEE Signal Processing Letters, vol. 27, pp. 61–65, 2019.
[10] Mohamed Abbas Hedjazi and Yakup Genc, 「Efficient textureaware multi-gan for image inpainting,」 Knowledge-Based Systems, vol. 217, pp. 106789, 2021.
[11] Xia Li, Jianlong Wu, Zhouchen Lin, Hong Liu, and Hongbin Zha, 「Recurrent squeeze-and-excitation context aggregation net for single image deraining,」 in Proceedings of the European Conference on Computer Vision (ECCV), 2018, pp. 254– 269.
[12] Tian Gao, Jun Du, Li-Rong Dai, and Chin-Hui Lee, 「SNRBased Progressive Learning of Deep Neural Network for Speech Enhancement,」 in Proc. Interspeech 2016, 2016, pp. 3713–3717.
[13] Xiang Hao, Xiangdong Su, Shixue Wen, Zhiyu Wang, Yiqian Pan, Feilong Bao, and Wei Chen, 「Masking and inpainting: A two-stage speech enhancement approach for low snr and non-stationary noise,」 in ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020, pp. 6959–6963.
[14] Adam Paszke, Sam Gross, Soumith Chintala, Gregory Chanan, Edward Yang, Zachary DeVito, Zeming Lin, Alban Desmaison, Luca Antiga, and Adam Lerer, 「Automatic differentiation in pytorch,」 2017.
[15] Xiaohuai Le, Hongsheng Chen, Kai Chen, and Jing Lu, 「Dpcrn: Dual-path convolution recurrent network for single channel speech enhancement,」 arXiv preprint arXiv:2107.05429, 2021.
[16] Shubo Lv, Yihui Fu, Mengtao Xing, Jiayao Sun, Lei Xie, Jun Huang, Yannan Wang, and Tao Yu, 「S-dccrn: Super wide band dccrn with learnable complex feature for speech enhancement,」 in ICASSP 2022-2022 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2022, pp. 7767–7771.
[17] Xiang Hao, Xiangdong Su, Radu Horaud, and Xiaofei Li, 「Fullsubnet: A full-band and sub-band fusion model for realtime single-channel speech enhancement,」 in ICASSP 2021- 2021 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2021, pp. 6633–6637.
[18] Cassia Valentini-Botinhao, Xin Wang, Shinji Takaki, and Junichi Yamagishi, 「Investigating rnn-based speech enhancement methods for noise-robust text-to-speech.,」 in SSW, 2016, pp. 146–152.
[19] Christophe Veaux, Junichi Yamagishi, and Simon King, 「The voice bank corpus: Design, collection and data analysis of a large regional accent speech database,」 in 2013 international conference oriental COCOSDA held jointly with 2013 conference on Asian spoken language research and evaluation (OCOCOSDA/CASLRE). IEEE, 2013, pp. 1–4.
[20] Joachim Thiemann, Nobutaka Ito, and Emmanuel Vincent, 「The diverse environments multi-channel acoustic noise database (demand): A database of multichannel environmental noise recordings,」 in Proceedings of Meetings on Acoustics ICA2013. Acoustical Society of America, 2013, vol. 19, p. 035081.
[21] Chandan K.A. Reddy, Vishak Gopal, Ross Cutler, et al., 「The INTERSPEECH 2020 Deep Noise Suppression Challenge: Datasets, Subjective Testing Framework, and Challenge Results,」 in Proc. Interspeech 2020, 2020, pp. 2492–2496.
[22] Chandan KA Reddy, Dubey, et al., 「Icassp 2021 deep noise suppression challenge,」 in ICASSP 2021-2021 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2021, pp. 6623–6627.
[23] Diederik P Kingma and Jimmy Ba, 「Adam: A method for stochastic optimization,」 arXiv preprint arXiv:1412.6980, 2014.
[24] Chandan KA Reddy, Vishak Gopal, and Ross Cutler, 「Dnsmos p. 835: A non-intrusive perceptual objective speech quality metric to evaluate noise suppressors,」 in ICASSP 2022- 2022 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2022, pp. 886–890.
[25] Yanxin Hu, Yun Liu, Shubo Lv, Mengtao Xing, Shimin Zhang, Yihui Fu, Jian Wu, Bihong Zhang, and Lei Xie, 「DCCRN: Deep Complex Convolution Recurrent Network for PhaseAware Speech Enhancement,」 in Proc. Interspeech 2020, 2020, pp. 2472–2476.
[26] Jun Chen, Zilin Wang, Deyi Tuo, Zhiyong Wu, Shiyin Kang, and Helen Meng, 「Fullsubnet+: Channel attention fullsubnet with complex spectrograms for speech enhancement,」 in ICASSP 2022-2022 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2022, pp. 7857–7861.