??? 摘 要: 提出了一種基于時域解相關的卷積混合" title="卷積混合">卷積混合語音盲分離時域算法。該算法利用相關系數對語音信號" title="語音信號">語音信號進行時域去相關處理,同時基于二階統計量完成雙通道語音分離" title="語音分離">語音分離。該算法充分考慮了語音信號本身的相關性及不平穩性,收斂速度快,穩定性好,為減小計算量提出了該算法的遞推改進算法。仿真實驗表明,在對卷積混合雙通道語音信號進行盲分離時,該算法是非常有效的。
??? 關鍵詞: 語音分離; 卷積混合; 去相關
?
人耳具有很強的分離聲音的能力,即所謂的“雞尾酒會效應”。如何讓機器也具備這種自動分離語音的能力是目前的一個熱點研究問題。瞬時混合語音信號的盲分離研究已比較成熟并且產生了很好的分離效果[1],但在實際場合,對多個麥克風接收到的混合語音信號進行盲分離時,因語音信號本身的相關性及不平穩性,尤其是延遲和反射造成的卷積,使卷積混合語音信號的盲分離變得十分困難。
盲分離算法" title="盲分離算法">盲分離算法有時域和頻域算法之分,時域算法能獲得獨立性一致的分離信號,但有計算量大、對于語音信號算法收斂性差等缺點。頻域算法是把時域的卷積混合變換到頻域用瞬時混合盲分離算法對其進行分離,由于信號順序倒轉、功率歸一化等問題,這些算法的復雜程序大大增加,分離效果也不是太好,而且其為分幀處理,有延遲效應。
本文研究卷積混合語音信號的盲分離方法。綜合考慮了語音信號既是非平穩信號又是有色信號(強相關信號)的特點,提出了基于時域解相關和空域解相關同時進行的語音盲分離時域算法,仿真實驗證明此算法收斂快,穩定性好,在對卷積混合語音信號進行盲分離時,獲得了非常好的效果。
1 雙通道語音卷積混合分離簡化模型
設麥克風1收到的信號為x1(t),令其中來自聲源1的部分記做s1(t),麥克風2收到的信號為x2(t),令其中來自聲源2的部分記做s2(t), 則在一定條件下,得到簡化的卷積混合及分離模型[2]。
在簡化模型中,分別用兩個嚴格因果的FIR濾波器來逼近混合濾波器h12和h21。所謂嚴格因果的濾波器是指濾波器的零延遲項系數為零。當源信號位于麥克風陣列法線兩側時,基本可認為h12和h21為嚴格因果系統。若此時的分離模型采用圖1所示結構,且規定w12和w21也為嚴格因果的,則可分析出只有當h12=w12,h21=w21,這種情況才能成功分離出混合語音。這種混合分離模型情況下,分離工作本質是一個系統盲辯識的過程,h12和w12以及h21和w21的接近程度決定了分離效果的好壞,他們越接近,分離效果越好。當源信號處于麥克風陣列同側時,在相應分離濾波器引入延遲,以上方法也適用,當然延遲的多少須由源信號的方位確定。
?
2 算法提出
非嚴格的理論分析顯示二階統計量可以用于非平穩的語音分離。實踐證明采用二階統計量比采用高階統計量在實際中能得到更好的語音分離效果和更小的計算量。
Kawamoto針對非平穩信號提出了基于二階統計量的卷積混合盲分離算法[3]。
Pi代表輸出信號yi在不同時段的能量。該算法實現簡單,已在TMS320C6701 EVM板上實時實現了語音分離,有不錯的效果[4]。但研究發現對于語音信號該算法收斂還是較慢,且收斂穩定性差。
在仔細分析了實驗結果后,筆者認為收斂慢的根本原因是由于語音信號時間上的強相關性導致學習的權向量相互影響而收斂慢,收斂不穩定是由語音信號的非平穩性造成的。傳統基于二階統計量的盲分離算法進行的是空域去相關處理,考慮到語音信號時間上的強相關性,對于分離濾波器的盲辨識還應同時考慮對信號進行時域解相關處理。
Doherty 與Porayath于1997年提出解相關的LMS算法(簡稱DLMS算法)[5],對于強相關性的語音信號該算法收斂速度大大加快。其基本思想是用信號解相關的結果作為更新方向向量:
定義輸入信號向量x(n)和x(n-1)的相關系數為:
令v(n)=x(n)-ρ(n)x(n-1),為x(n)解相關的結果, DLMS算法權的調整則利用e(n)v(n)來代替LMS算法中的e(n)x(n)完成,即:
???
??? 根據上述思想,本文提出時域解相關的語音盲分離算法:將Kawamoto算法中權的調整由yj(n-k)改變為
。
新算法(D_BSS1)迭代步驟如下:
(1) 初始化:wij(0)=0?????? i≠j∈{1,2}
(2) 更新:n=1,2,3…
???
新算法中由于采用解相關的結果v(n)作為更新方向向量,盲辨識h12時不僅對y1(n)(相當于系統激勵信號)作了時間解相關處理,加快算法收斂速度,而且對y2(n)(相當于自適應系統辯識中參考信號中的噪聲)經解相關處理幅度大大降低,算法收斂的穩定性大大提高,盲辨識h21同樣。
為了減小上述算法中的計算量,做如下改進:相關系數的計算采用迭代算法,其中β取0~1的數,向量vi(n)每次只計算更新最新的一個元素vi(n), 具體算法如下:
改進算法(D_BSS2)如下:
???
??? 從上面迭代公式看,與Kawamoto算法比較, D_BSS2僅增加了一次相關系數的迭代和元素vi(n)的計算量,所增加的計算量相對于幾百甚至幾千階的分離系統" title="分離系統">分離系統來說幾乎可以忽略。
3 仿真結果
3.1 算法收斂性能及語音分離情況
以上面簡化模型為基礎完成如下仿真,兩聲源信號各為一段長60 000點的中文朗讀的女聲和男聲,采樣率為11.025kHz。h12和h21采用如圖2所示的實測房間聲通道特性,濾波器長度取500點。
?
另在x1,x2處加入信噪比為-30dB的白噪聲,算法調整步長?滋取0.000 05。輸入語音波形、Kawamoto算法和新算法D_BSS1失配曲線如圖3所示。
?
??? 失配越小,說明wij和hij越接近。圖3中虛線為Kawamoto算法的失配變化曲線,實線為新算法的失配變化曲線。可見,新算法在迭代過程中的失配曲線收斂比Kawamoto算法快,且穩定性好得多,具有良好的跟蹤性能。按照現在語音盲分離常采取的辦法,讓盲分離算法運行一段時間,收斂后停止迭代,用權進行語音分離,采用提高信號干擾比SIR來反映算法性能,信干比定義如下:
???
??? 其中s′i(n)表示麥克風接收信號xi(n)或分離輸出端yi(n)中與源信號si(n)相關的部分。當運行60 000點停止迭代時,測得新算法信干比為: SIR_x1=4.2dB,SIR_y1=12.4dB, SIR_x2=0.3dB,SIR_y2=12.6dB, 平均提高了10dB。同樣條件下,Kawamoto算法平均提高了5dB,由于Kawamoto算法失配曲線收斂的不穩定性不能保證停止迭代時兩路權都最佳,所以Kawamoto算法有分離效果不穩定的現象。
3.2 改進算法D_BSS2的性能
??? 在上面相同的實驗條件下,進行了D_BSS1和D_BSS2算法性能的對比實驗,得到兩種算法失配曲線如圖4所示。
可見,改進算法D_BSS2收斂性能比D_BSS1稍微差一點,但計算量卻大大降低,D_BSS2和Kawamoto算法的計算量相差不多。
?
3.3 實際混迭語音分離實驗
??? 仿真實驗在一虛擬聲學實驗室進行,房間長、寬、高為(5,4,3)(m),房間混響時間為0.2s,兩聲源位于(1.5,2,1)和(3.5,2,1)處,兩麥克風分別位于(2,1,1)和(3,1,1)處。信號采樣率為11.025kHz,分離濾波器階數取500階,由于無法得到對應簡化模型中的h12和h21(其本質為聲源到兩麥克風的差異沖擊響應),所以不能用失配來反映分離性能,采用D_BSS2,測得信干比平均提高11dB,算法一直迭代情況下,試聽分離系統的兩路輸出,算法收斂很快,明顯聽到每通道聲音由兩個聲音很快變為一個聲音,語音得到成功分離。
本文提出針對非平穩強相關語音信號的雙通道語音分離時域算法,該算法基于二階統計量進行混合語音的分離,采用時域解相關處理來降低語音的時間相關性,從而具有計算量小,收斂速度快,穩定性好的優點,能較好完成卷積混合語音的實時分離工作。
參考文獻
[1] ?BELL A J, SEJNOWSKI T J. An information-maximization?approach to blind separation and blind deconvolution [J].Neural Computation, 1995,(7):1129-1159.
[2] ?何培宇,殷斌.一種有效的語音盲信號分離簡化混合模型[J].電子學報, 2002,30(10):1438-1440.
[3]?KAWAMOTO M, BARROS A K, MANSOUR A, et al.?Real world blind separation of convolved non-stationary?signals. ICA 1999:347-352.
[4]?張玲,何培宇.一種時域盲信號分離系統的DSP實現 [C].全國第二屆DSP應用技術會議,2004,8(23):222-224.
[5] ?DOHERTY J, PORAYATH R.? A robust echo canceler for ?acoustic environments[J]. IEEE Trans, Circuits and Sys??temsⅡ1997,(44):389-398.
?