本文是由哥倫比亞大學博士生羅藝主講的『端到端聲源分離研究進展』整理而來。內容主要覆蓋了單通道和多通道上端到端音源分離的現狀和進展以及未來的研究方向。
-本文約5580字,閱讀約需20min-
端到端音源分離定義與進展什麼是端到端音源分離呢?羅藝老師首先介紹了端到端音源分離的定義。從名稱來看,端到端的含義是模型輸入源波形後直接輸出目標波形,不需要進行傅立葉變換將時域信號轉換至頻域;音源分離的含義是將混合語音中的兩個或多個聲源分離出來。
目前,端到端音源分離已經有了一些在時域和頻域上的研究,羅藝老師以「WSJ0-2mix」數據集為例,並以在語音分離任務中使用十分廣泛的SI-SDR為指標,為我們展示了目前端到端音源分離研究的進展。從圖2中也可以直觀地看到時域方法相較頻域方法能夠帶來非常明顯的提升,時域方法也因此成為了端到端音源分離的熱門研究方向。
單通道端到端音源分離研究
頻域方法中廣泛使用神經網絡估計TF- Masking,並作用於混合語音從而得到分離語音。但該方法存在相位信息缺失、性能上限受制於oracle mask以及STFT特徵不一定是分離模型最優特徵等問題或挑戰。
因此時域模型提出可以通過使用實數特徵提取器以替代STFT特徵以及直接建立wav2wav映射的方法來解決上述問題。
最先被提出的方法為TasNet模型,該模型使用Encoder提取語音二維特徵,隨後通過Separation估計說話人mask,最後通過Decoder實現二維特徵到語音波形的轉換從而得到分離語音。
由於Decoder存在無法完美重構的問題,因此對於TasNet的深入探究和修改也得到了很多新的研究結果。在下述Two-step separation中,首先單獨訓練Encoder以及Decoder以期其能引入更少的失真。隨後固定Encoder和Decoder只訓練Separation,該訓練方法可提升分離上限。
此外我們希望Encoder能夠更關注低中頻部分,因此提出了Multi-phase Gammatone filterbank,相較於隨機初始化學習,該方法可得到更好的頻率響應分布。
此外還有對訓練目標和訓練任務上的一些探索。Wavesplit引入說話人特徵進行分離。該模型首先在一個固定時間窗內計算說話人向量,然後通過聚類計算出全局向量。之後將說話人信息送入分離網絡得到分離結果。
MulCat DPRNN通過同時優化分離和說話人識別兩個目標實現更好的說話人分離,此外該網絡能夠實現5-6人的分離,因此該網絡是一個很好的設計。
以上介紹的網絡目標均為將所有源分離出來,但在一些情況下一些源不具備很明顯的被分離的意義,如智能音箱場景,因此說話人提取也具有十分重要的研究意義。
SpEx/SpEx+聯合TasNet和說話人提取網絡,從而只輸出一個說話人的mask,實現聲源提取的工作。
時域分離模型亦可作用到音樂分離任務上。音樂分離與語音分離的不同之處在於不存在置換問題。但由於音樂採樣率普遍高於語音,因此會存在建模長序列及不同頻帶信息捕捉的問題。
Music separation採用progressive learning方法,從低至高分採樣率處理,並通過元學習(meta-learning)的方法,對不同聲源類型進行網絡參數調整。
語音分離的最終目標為Universal separation,即廣義語音分離。Universal sound separation通過聲學事件檢測,提取聲學事件特徵,從而輔助廣義聲源分離。
如果跳出音頻,多模態信息亦可輔助語音分離。例如視頻會議場景下,我們可以通過視頻信息檢測說話人特徵,並分離該說話人語音。Audio-visual separation通過圖像分析網絡對嘴唇運動特徵提取,送入TasNet模塊,從而輔助音頻分離任務。
如果跳出Encoder-Separation-Decoder框架,可以進行waveform-to-waveform直接映射。Wave-U-Net通過設計相同層數的廣義編解碼器並實現編解碼器間向量拼接操作,通過一維卷積實現波形-波形映射。
基於WaveNet設計的模型結構在最後一層的輸出上將所有聲源分離開來。
多通道端到端音源分離研究
相較於單通道,多通道語音可得到更多的空間信息,從而進一步輔助語音分離。目前多通道端到端語音分離研究主要集中在兩個方向:神經網絡波束形成以及單通道模型向多通道擴展。基於輸出的神經網絡波束形成方法主要有DeepBeam和Beam-TasNet方法。
DeepBeam使用時域多通道維納濾波,先選擇一個參考麥克風,通過訓練單通道增強網絡對該麥克風信號進行預增強得到更加乾淨語音的信息,並利用該信息作為維納濾波的目標,對其他麥克風解最優維納濾波解得到最優濾波器參數。
Beam-TasNet方法通過時域頻域結合的方法。首先通過多通道TasNet分離得到預分離語音,隨後通過分離語音估計頻域上的MVDR權重,並作用於混合語音中得到分離語音。該方法通過時域方法隱式地進行了相位估計,並利用了空間特徵得到分離語音。此外時域方法loss函數存在靜音段消除過於激進的問題從而導致聽感上的不友好。
而MVDR方法可對整句話進行濾波,對某一聲源消除能力略低但失真較少,因此Beam-TasNet 中也考慮了如何將二者的長處在後處理步驟中進行結合,以得到更好的性能。
此外基於神經網絡的波束形成主要工作有Neural network adaptive beamforming(NAB),Filter-and-sum Network(FaSNet)。
NAB方法通過將多通道信號拼接送入神經網絡估計得到每個通道的濾波器係數,並作用於每個通道的原始信號可得到增強信號。該方法類似於Filter-and-Sum Beamformer。
FaSNet則側重於多通道間信息共享以聯合優化多通道時域濾波器。(該方法也是筆者目前嘗試的所有時域分離模型中效果最好的方法)
而對於單通道向多通道擴展的方向,目前主要的方法是對單通道信號加入多通道信息作為模型輸入以及直接將多通道信號作為模型輸入。Multi-channel TasNet通過將單通道信息拼入IPD進行聯合訓練,或直接使用二維卷積估計通道間特徵插值進行聯合訓練。
Multi-channel Wave-U-Net則是將多通道信號拼接送入Wave-U-Net,因此只需將模型的輸入通道數改為信號的通道數即可。
一些問題和未來展望
如何得知混合音頻中有多少說話人?在會議或討論場景中兩人同時說話的佔比一般最高只為30%左右,大多數時間為一個人甚至沒有人說話。
因此如何使用一個分離模型保證在不同說話人數量情況下都能保持較穩定性能是一個比較挑戰的問題。目前在嘗試的方法有多說話人活動檢測以及說話人識別等,還可設計不同的訓練目標以匹配不同的說話人個數。
長時間語音分離。如何保證在1-10min甚至1h的語音能夠一致保證分離的穩定性?目前已有LibriCSS數據集面向此應用場景。此外還有JHU JSALT 2020 workshop面向長時間多人說話的說話人數量、語音識別、語音分離和說話人識別。(https://www.clsp.jhu.edu/speech-recognition-anddiarization-for-unsegmented-multi-talker-recordings-with-speaker-overlaps/)
未來一些挑戰包括廣泛的語音分離、前後端聯合優化及真實場景(包括遠場、噪聲、混響和域不匹配)下的應用。
Q&A
1. 單通道與多通道語音分離的各自應用場景有什麼不同,多通道有什麼具體優勢嗎?
對於應用場景,主要是設備上的區分,有些設備只有一個麥克風因此就只能做單通道語音分離。多通道由於有多路麥克風數據因此可以獲得更多的信息,輸入的信息越多我們能提取的信息也就越多,比如多通道中IPD等信息是可以直接幫助性能提升的。
另外從傳統上,多通道可以實現beamforming,它的泛化能力和魯棒性非常強,因此相比於單通道有比較大的優勢。2. 多通道的評估指標該怎麼計算,因為源文件和混合音頻文件有多個通道,分離結果該怎樣像單通道一樣進行比對呢?
由於多通道大部分還是用於語音識別,所以可以使用語音識別的指標詞錯誤率(Word Error Rate, WER)進行對比;另外還可以從主觀聽覺上進行比較,使用平均主觀意見分(Mean Opinion Score, MOS)。
端到端則相對更容易一點,可以直接計算網絡的輸出和目標聲源之間的指標,包括頻域指標和時域指標。整體上來講,目前對於可以廣泛應用到端到端和非端到端的指標仍需研究。3. 目前的語音分離還有哪些不足還需完善才能落地商用,現在有online(實時的)語音分離的研究嗎?
目前智能家居、耳機和麥克風等都用到了很多分離降噪的研究。Online主要取決於模型設計,目前,可以在實時性和性能上進行研究。
4. 這些方法可以用來單通道語音降噪嗎,如果可以的話實時性上和rnnoise算法相比怎麼樣,模型大小和速度和效果上如何?
分離模型都可以用來做降噪,模型的大小和速度上需要進行權衡,和rnnoise進行對比的話還需要確定模型的參數大小,單看模型的話是無法分析這件事的。
5. Audio-Visual Speech Separation的研究進展如何?圍欄研究熱點集中在哪?
我們舉一個Audio-Visual研究的例子,我們對於Audio和Visual各有一個處理模塊,之後會有一個將Audio和Visual處理結果融合起來的模塊,然後再去做一個分離,這是Audio-Visual整體的框架。未來的研究方向主要是前文提到的一些挑戰。
6. 基於深度學習的降噪,什麼樣的代價函數效果最好?
這個問題分兩個方面,首先看你的任務目標是什麼,如果目標任務是識別的話,si-snr和具體詞錯誤率不一定是線性的,所以我們不能說某個loss在任務上絕對比另一個更好,但如果我們評價指標和訓練指標相同,那我們使用評價指標作為loss肯定是最好的。irm對相位沒有建模,因此irm在某些情況下不是很好,但是對於Perceptual evaluation of speech quality(PESQ)指標表現較好,可以減少語音的失真。
7. 近期的研究大多偏向時域分離,那時域分離效果為什麼優於頻域效果呢?以後的發展方向
主要是相位信息的建模、頻域oracle mask的性能上限另外是使用的特徵上來回優化出一個較好的特徵。以後的發展方向是其他各種模型的一些設計,多模態、多通道以及其他前文提到的挑戰。
8. Source separation和speaker-diarization在技術實現上有什麼聯繫嗎,我在做speaker-diarization任務,能借鑑source separation的什麼思路?
傳統的speaker-diarization一個假設是說話人之間獨立無重疊。但如果我們說話人之間有重疊,那麼不可避免的會用到分離,今年開始的做端到端的speaker-diarization的工作,speaker-diarization可以當作是一個粗粒度的source separation,因此很多source separation的框架都可以用到speaker-diarization中。這是一個比較重要的task。
9. 當輸入音頻存在混響時,對於Si-SNR loss是否需要修正?
是需要修正的,對於輸入音頻存在混響的情況如何修正目前沒有特別好的方法。有很多工作都在關注修改Si-SNR loss使其更好的反應分離的性能,並讓其包含有用的信息。
10. 單通道語音分離由於沒有IPD/ISD等空間信息,智能做譜分析,那麼說話人的聲紋特徵是否是重要的分離依據?訓練集中不同說話人樣本太少是否是跨數據集表現答覆下降的主要原因?如果把speaker-diarization任務中的一些pre-train模塊放到分離網絡前輔助encode是否會有提升?
近期的一些模型,會在分離的時候直接加一個說話人識別的損失函數。或者是將說話人信息當作輸入提供給網絡,但是對於它是否是主要的分離依據,還需要更多的實驗進行對比。
對於最後一個問題把diarization中pre-train的模塊放到分離網絡前輔助encode是一定會有提升的。speaker-diarization和source separation是互幫互助的關係。但是對於end2end模型由於處在較為早期的研究狀態,具體的性能提升結果還需要更多研究。
11. 幹擾人聲,混響和噪聲,遠場能不能一起處理?不同重疊率的泛化能力怎麼提升?
直觀講可以,端到端的話可以將這些進行融合,但是一般這麼做的效果並不會很好。這裡包括三個問題——分離、降噪、去混響。一般來說端到端的程度越高泛化能力越差因此泛化能力也是一個比較大的問題。不同重疊率的泛化能力提升最簡單的是通過不同比例的不同重疊率的數據,也可以加入speaker count(說話人數量檢測),某些部分只有一個說話人,可以在這個部分不做分離,做一個動態的處理。
參考文獻
[1] Le Roux, Jonathan, et al. "SDR–half-baked or well done?." ICASSP 2019-2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2019.
[2] Luo, Yi, and Nima Mesgarani. "TasNet: time-domain audio separation network for real-time, single-channel speech separation." 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2018.
[3] Luo, Yi, and Nima Mesgarani. "Conv-TasNet: Surpassing ideal time–frequency magnitude masking for speech separation." IEEE/ACM transactions on audio, speech, and language processing 27.8 (2019): 1256-1266.
[4] Luo, Yi, Zhuo Chen, and Takuya Yoshioka. "Dual-path RNN: efficient long sequence modeling for time-domain single-channel speech separation." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
[5] Tzinis, Efthymios, et al. "Two-Step Sound Source Separation: Training On Learned Latent Targets." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
[6] Ditter, David, and Timo Gerkmann. "A multi-phase gammatone filterbank for speech separation via tasnet." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
[7] Zeghidour, Neil, and David Grangier. "Wavesplit: End-to-end speech separation by speaker clustering." arXiv preprint arXiv:2002.08933 (2020).
[8] Nachmani, Eliya, Yossi Adi, and Lior Wolf. "Voice Separation with an Unknown Number of Multiple Speakers." arXiv preprint arXiv:2003.01531 (2020)
[9] Xu, Chenglin, et al. "SpEx: Multi-Scale Time Domain Speaker Extraction Network." arXiv preprint arXiv:2004.08326 (2020).
[10] Ge, Meng, et al. "SpEx+: A Complete Time Domain Speaker Extraction Network." arXiv preprint arXiv:2005.04686 (2020).
[11] Samuel, David, Aditya Ganeshan, and Jason Naradowsky. "Meta-learning Extractors for Music Source Separation." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
[12] Kavalerov, Ilya, et al. "Universal sound separation." 2019 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA). IEEE, 2019.
[13] Tzinis, Efthymios, et al. "Improving universal sound separation using sound classification." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
[14] Wu, Jian, et al. "Time domain audio visual speech separation." arXiv preprint arXiv:1904.03760 (2019).
[15] Stoller, Daniel, Sebastian Ewert, and Simon Dixon. "Wave-U-Net: A multi-scale neural network for end-to-end audio source separation." arXiv preprint arXiv:1806.03185 (2018).
[16] Lluís, Francesc, Jordi Pons, and Xavier Serra. "End-to-end music source separation: is it possible in the waveform domain?." arXiv preprint arXiv:1810.12187 (2018).
[17] Qian, Kaizhi, et al. "Deep learning based speech beamforming." 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2018.
[18] Ochiai, Tsubasa, et al. "Beam-TasNet: Time-domain audio separation network meets frequency-domain beamformer." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
[19] Li, Bo, et al. "Neural network adaptive beamforming for robust multichannel speech recognition." (2016).
[20] Luo, Yi, et al. "FaSNet: Low-latency adaptive beamforming for multi-microphone audio processing." 2019 IEEE Automatic Speech Recognition and Understanding Workshop (ASRU). IEEE, 2019.
[21] Luo, Yi, et al. "End-to-end microphone permutation and number invariant multi-channel speech separation." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
[22] Gu, Rongzhi, et al. "End-to-end multi-channel speech separation." arXiv preprint arXiv:1905.06286 (2019).
[23] Gu, Rongzhi, et al. "Enhancing End-to-End Multi-Channel Speech Separation Via Spatial Feature Learning." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
[24] Medennikov, Ivan, et al. "Target-Speaker Voice Activity Detection: a Novel Approach for Multi-Speaker Diarization in a Dinner Party Scenario." arXiv preprint arXiv:2005.07272 (2020)
[25] Horiguchi, Shota, et al. "End-to-End Speaker Diarization for an Unknown Number of Speakers with Encoder-Decoder Based Attractors." arXiv preprint arXiv:2005.09921 (2020).
[26] Takahashi, Naoya, et al. "Recursive speech separation for unknown number of speakers." arXiv preprint arXiv:1904.03065 (2019).
[27] Luo, Yi, and Nima Mesgarani. "Separating varying numbers of sources with auxiliary autoencoding loss." arXiv preprint arXiv:2003.12326 (2020).
[28] Chen, Zhuo, et al. "Continuous speech separation: Dataset and analysis." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
[29] von Neumann, Thilo, et al. "End-to-end training of time domain audio separation and recognition." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
[30] von Neumann, Thilo, et al. "Multi-talker ASR for an unknown number of sources: Joint training of source counting, separation and ASR." arXiv preprint arXiv:2006.02786 (2020).
[31] Maciejewski, Matthew, et al. "WHAMR!: Noisy and reverberant single-channel speech separation." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
本文原創作者:付藝輝,姚卓遠