目前主流的音訊採集方式主要包括兩種場景:近場拾音和遠場拾音。那麼什麼是語音分離?實際上,我們經常所講的降噪、去混響、多人聲分離等等的過程都屬於語音分離的過程。
下面以降噪為例,來講述語音分離。
圖為計算聽覺場景公式,我們先拋開公式,看下面的四張語音的圖。
如圖所示,可以看出與影象訊號不同的是語音訊號是一維的訊號,而影象訊號是二維的訊號。對於語音訊號利用一維的資訊直接處理的難度是非常大的,因此我們將原始語音訊號經過時頻變換,如:短時傅立葉變換(STFT),就會得到左上的這張圖——原始訊號的幅度譜。幅度譜的顏色越深代表著能量越大,其中左上圖中的紅色部分就是語音的部分,看起來有一道一道的梳狀條紋,是語音的諧波結構,這就是語音的母音成分。左上圖是純淨語音對應的幅度譜,而右上圖則是對應帶噪語音的幅度譜,看起來有一些雜亂,語音成分被破話。右下圖就是我剛才提到的IBM,IBM的含義是理想二值掩膜。右下圖對應的是將IBM(左下圖)覆蓋到帶噪語音譜(右上圖),形成了降噪後的語音譜。而從圖中可以看出,降噪後的語音譜(右下圖)比噪聲語音譜乾淨(右上圖)了許多,但與純淨語音譜相比,存在部分過壓的現象,聽起來實際效果就是噪音基本消除,但是會有些許失真。
接下來,我們再來看IBM的計算公式,公式裡面的IBM其實就是深度學習最終預測的目標,IBM計算所得的值為0和1,即可認為把最終結果分類成0和1,那麼如何去界定0和1呢?界定條件如下:如果語音的能量s減去噪音的能量n大於一個θ值,θ一般取值為0,此時IBM的值為1,即我們認為語音比噪音大的地方,IBM是1;同樣地,我們認為語音比噪音小的地方,IBM是0,即認為是噪音。這解釋了為何將在之前圖中第二層從左到右的第一張圖譜覆蓋到第一層從左到右的第二張圖譜上所得的訊號與純淨語音是有差距的。而這樣做的好處就是成功將一個迴歸問題改變為分類問題,只需要預測它是0或者1就可以了,這就使得學習難度變小,更容易預測。但不好的地方就是聽上去語音會有些許失真。但在2013年,當時這個方法所取得的效果已經算是非常好的。在此之後,陸續又有人提出了其他的一些計算目標,如TBM、IRM等,而這些目標其實都與IBM是相似的,只是進行了一些修正改進,例如IRM的值不僅僅只是0和1了,當我們認為它有一半的部分是語音,那麼我們的目標值就是0.5。當前我們所採用的計算目標大多數是IRM。
目前主流的音訊採集方式主要包括兩種場景:近場拾音和遠場拾音。那麼什麼是語音分離?實際上,我們經常所講的降噪、去混響、多人聲分離等等的過程都屬於語音分離的過程。
下面以降噪為例,來講述語音分離。
圖為計算聽覺場景公式,我們先拋開公式,看下面的四張語音的圖。
如圖所示,可以看出與影象訊號不同的是語音訊號是一維的訊號,而影象訊號是二維的訊號。對於語音訊號利用一維的資訊直接處理的難度是非常大的,因此我們將原始語音訊號經過時頻變換,如:短時傅立葉變換(STFT),就會得到左上的這張圖——原始訊號的幅度譜。幅度譜的顏色越深代表著能量越大,其中左上圖中的紅色部分就是語音的部分,看起來有一道一道的梳狀條紋,是語音的諧波結構,這就是語音的母音成分。左上圖是純淨語音對應的幅度譜,而右上圖則是對應帶噪語音的幅度譜,看起來有一些雜亂,語音成分被破話。右下圖就是我剛才提到的IBM,IBM的含義是理想二值掩膜。右下圖對應的是將IBM(左下圖)覆蓋到帶噪語音譜(右上圖),形成了降噪後的語音譜。而從圖中可以看出,降噪後的語音譜(右下圖)比噪聲語音譜乾淨(右上圖)了許多,但與純淨語音譜相比,存在部分過壓的現象,聽起來實際效果就是噪音基本消除,但是會有些許失真。
接下來,我們再來看IBM的計算公式,公式裡面的IBM其實就是深度學習最終預測的目標,IBM計算所得的值為0和1,即可認為把最終結果分類成0和1,那麼如何去界定0和1呢?界定條件如下:如果語音的能量s減去噪音的能量n大於一個θ值,θ一般取值為0,此時IBM的值為1,即我們認為語音比噪音大的地方,IBM是1;同樣地,我們認為語音比噪音小的地方,IBM是0,即認為是噪音。這解釋了為何將在之前圖中第二層從左到右的第一張圖譜覆蓋到第一層從左到右的第二張圖譜上所得的訊號與純淨語音是有差距的。而這樣做的好處就是成功將一個迴歸問題改變為分類問題,只需要預測它是0或者1就可以了,這就使得學習難度變小,更容易預測。但不好的地方就是聽上去語音會有些許失真。但在2013年,當時這個方法所取得的效果已經算是非常好的。在此之後,陸續又有人提出了其他的一些計算目標,如TBM、IRM等,而這些目標其實都與IBM是相似的,只是進行了一些修正改進,例如IRM的值不僅僅只是0和1了,當我們認為它有一半的部分是語音,那麼我們的目標值就是0.5。當前我們所採用的計算目標大多數是IRM。