陳斌杰,陸志華,周 宇,葉慶衛
(寧波大學 信息科學與工程學院,浙江 寧波 315211)(*通信作者電子郵箱zhouyu@nbu.edu.cn)
基于雙麥克風的室內多聲源信息感知系統,相比基于麥克風陣列[1-3]或麥克風網絡[4-5]的系統,具有體積小、功耗少、成本低等特性[6],更適合智能產品小型化的發展趨勢。 然而,基于雙麥克風的系統采集的信號樣本維度比聲源數量小(欠定問題),空間信息相對較少,可利用的其他信息也相對較少,如何在欠定情況下融合有限的信息,成為了研究的重點。
在過去的研究中,基于雙通道的語音分離技術的研究已經取得了許多豐厚的成果。2004年,Yilmaz等[7]利用兩信道間信號的時延差和強度差來分離任意數量的源信號。2007年,Sawada等[8]通過高斯混合模型來擬合時頻點對混合信號進行了分離。2009年,Kim等[9]通過提取雙麥克風之間的相位差信息實現了語音的分離。2012年,Kim等[10]又通過信道加權角度分布的統計建模提高了分離性能。2017年,Zermini等[11]將深度神經網絡應用到雙通道的語音分離,提高了混響環境下的分離質量。然而,這些方法主要側重于從雙通道混合信號中分離出不同的聲源信號,幾乎不涉及聲源的位置信息。
另一方面,基于聲達時間差(Time Delay of Arrival, TDOA)的麥克風定位方法可以通過估計聲源到達兩麥克風的時間差來確定聲源的空間位置。2007年,Izumi等[12]在稀疏假設的前提下通過期望最大化(Expectation Maximization, EM)算法估計了每個源的方位角。2011年,Cobos等[13]利用拉普拉斯混合模型對時頻域中的方位角分布進行了建模。2014年,Escolano等[14]利用貝葉斯方法估計了聲源位置的概率分布。2016年,Wang等[15]利用兩個遠端的麥克風之間的相位差建模在混響環境中定位出了多個聲源。但是,這些技術大多只能估計出聲源的方向(一維定位),而不能確定聲源在二維平面中的具體位置,更不能重構出聲源信號。
本文通過推導衰減參數與信號能量比之間的關系,在同一個時延-衰減模型的基礎上,將DUET(Degenerate Unmixing Estimation Technique)算法和基于到達時間差(TDOA)的定位方法相結合,利用兩個麥克風實現語音分離的同時完成了聲源的定位。實驗利用兩個麥克風對多個聲源進行了分離和定位。實驗結果表明,該系統有效地降低了麥克風的數目,和傳統的麥克風陣列的定位系統相比較,在一定程度上減小了陣列尺寸,有助于手機、助聽器等小型通信設備的發展。
整個系統分為語音信號的采集及預處理、參數估計、語音信號分離和聲源定位四個階段。其中,信號的采集及預處理又包括信號的接收,信號的幅度歸一化、分幀及加窗處理。參數估計階段,通過兩個麥克風建立混合信號模型,應用DUET算法估計模型的時延-衰減參數,接著采用二值掩蔽的方法對信號進行分離,得到源信號,與此同時,將模型參數進行轉化并應用到聲源定位中,進行幾何計算,從而確定聲源在平面中的具體位置?;陔p麥克風的語音分離與聲源定位系統框圖如圖1所示。
圖1 基于雙麥克風的語音分離與聲源定位系統框圖Fig. 1 System block diagram of speech separation and sound source locating based on dual-microphone
DUET算法處理由一對麥克風采集多個聲源組成的混合信號,其基本模型[16]如式(1):
(1)
式中:t=1,2,…,T表示離散時刻;N為聲源信號的數量;x1(t)和x2(t)表示兩個麥克風接收到的信號;sj(t)表示第j個源信號;αj和δj分別表示第j個源信號到兩個麥克風的相對衰減和相對延遲,這兩個參數均與兩個麥克風與信號源之間的路徑之比相關。
信號從時域通過短時傅里葉變換(Short-Time Fourier Transform, STFT)到時頻域。式(1)在時頻域的表達式如式(2)所示:
(2)
假設語音信號具有短時不相關正交性,在時頻域中可表示為:
(3)
由語音信號的W-DO(W-Disjoint Orthogonality)特性可知,在每個時頻域點至多只有一個源占主導,式(2)可化簡為:
(4)
根據式(4),一個信號的相對衰減和相對時延可表示為:
(5)
式中:ln(·)為取對數;Im(·)為取虛部。
若將混合信號中的每個時頻點描繪在參數空間中,那么就能得到各個聲源信號在此空間中的分布直方圖。計算出混合參數后,由最大似然估計(Maximum-Likelihood estimation, ML)[7]算式得到每個時頻點的加權幅值:
(6)
其中:p和q為調整指數,一般情況下,取p=1,q=0。每個幅值都對應一個衰減和時延參數對。
為了方便繪圖,定義對稱衰減a(τ,ω)表示為:
a(τ,ω)=α(τ,ω)-1/α(τ,ω)
(7)
將具有相同對稱衰減和相對延時的參數對進行累加,即可得到二維直方圖的矩陣幅值:
(8)
實驗使用Roomsimove工具箱[17]對房間內麥克風接收的信號進行模擬,設定房間尺寸為4.25 m×3.55 m×2.5 m(長×寬×高),兩個麥克風的坐標分別設定為(2, 1.775,1.4)m和(2, 1.825,1.4)m。實驗使用聲源為SISEC2008[18]中“欠定的語音和音樂混合”數據庫中的時長為11 s的5個男語音信號(s1,s2,s3,s4,s5),采樣頻率fs=16 kHz。實驗共分為3組 ,分別設定各組實驗聲源在房間中的位置坐標,聲源與麥克風處于同于平面,設定Z軸坐標都為1.4 m,X軸、Y軸坐標如表1所示。設置無混響的環境下,將聲源信號進行混合得到兩個麥克風采集的混合信號。
表1 聲源個數及坐標位置Tab. 1 Number and coordinate positions of sound sources
然后對麥克風采集的信號進行歸一化、分幀和加窗處理,
采用1 024點的漢明窗,幀移512點,然后作1 024點的STFT。對每個時頻點的對稱衰減a(τ,ω)和相對時延δ(τ,ω)進行加權聚類并描繪二維直方圖。調整指數p=1、q=0,得到的參數估計直方圖如圖2所示,峰的個數代表著聲源的個數,峰值中心坐標即為參數估計的值。
參數直方圖的繪制是本系統的關鍵部分,直方圖的好壞程度決定了后續語音分離和聲源定位的精度。對于各個峰值坐標的提取,利用了自動搜索峰值最大點的方法。由圖2可知,本文在進行多聲源參數估計的過程中,能夠順利地估計各個聲源的參數對。
圖2 不同聲源混合信號參數分布直方圖Fig. 2 Parameter distribution histogram of different sound source mixed signals
將混合信號x1(t)變換到時頻域可得:
(9)
在假設條件下,各信號源滿足式(3),在任意時頻點(τi,ωk),至多存在一個聲源信號的頻率分量,即:
(10)
(11)
Mj(τ,ω)={mj(τi,ωk)|i=1,2,…,I;k=1,2,…,K}
(12)
式中:I和K分別表示混合信號所有的時間點和頻率點。稱Mj(τ,ω)為二進制時頻掩膜(Binary Time-Frequency Masking, BTFM),通過它能直接實現聲源信號的分離。
(13)
將時頻掩膜應用到參數直方圖中,以直方圖峰值中心坐標的歐氏距離作為相似度,對峰值附近的時頻域點進行聚類[7],使用BTFM將屬于一類的時頻點標記如下:
(14)
式中,aj和δj為第j個聲源的對稱衰減和相對延時。
利用式(14)將聲源信號的時頻單元提取出來,通過逆STFT(Inverse STFT, ISTFT)將提取的時頻域下的源信號恢復到時頻,從而達到語音分離的目的。
語音分離算法的具體步驟如下:
步驟1 構建時頻掩膜。構建N個聲源所對應的時頻掩膜。
步驟2 將屬于同一源信號的時頻單元提取出來,得到單一聲源的時頻域表示。
步驟3 時頻域反變換。將分離的單一聲源的時頻域經過短時傅里葉反變換到時域得到需要的源信號。
根據圖2所得到的參數直方圖,首先確定各個聲源峰值中心坐標,然后為每個峰值中心構建BTFM,得到信號的時頻域表達,再對其進行短時傅里葉逆變換,將信號變換回時域,最后得到估計的聲源信號。原始信號與其對應的估計信號如圖3所示。
源估計采用SISEC2008[18]中的評價標準,定義信號失真比率(Signal to Distortion Ratio, SDR),信號源與干擾成分比率(Source to Interference Ratio, SIR),信號源與人造成分比率(Sources to Artifacts Ratio, SAR)分別如下:
由表2可以看出,在無混響的條件下,本系統可以識別和分離出多個聲源,在三聲源和四聲源實驗中,分離效果較好。隨著聲源個數的增加,系統分離出的信號質量下降,主要原因在于在同一個時頻域點,假設一個源占主導的情況不一定成立。
圖3 原始的聲源信號與分離后的估計信號Fig. 3 Original sound source signals and separated estimated signals
表2 語音分離結果評價Tab. 2 Speech separation result evaluation
在單位時間內,兩個麥克風所獲得的同一聲源的能量的比值是固定的[19]。在一個時間點,僅存在單個源時,其能量的計算公式為:
(15)
其中,Ei(i=1,2)為第i個麥克風接受到的信號能量;xi(t)為第i個麥克風接受到的時域信號。
經過短時傅里葉變換后,信號在時頻域中的能量公式為:
(16)
式(1)變換到時頻域又可以表示為:
(17)
(18)
(19)
在時頻點(τi,ωk),到達兩麥克風之間的能量比為:
(20)
設(xi,yi)為第i(i=1,2)個麥克風的位置坐標,(xl,yl)為第l個聲源的位置坐標,根據麥克風接收到信號的能量與麥克風到聲源距離的關系[20]可得:
(21)
當估計出的第j個源到達兩個麥克風的相對時延δj后,可得方程:
cδj
(22)
其中c為聲速。
根據式(20)~(22),化簡可得:
(23)
由于到達兩麥克風的相對衰減αj和相對時延δj在語音分離階段已經估計出來,其余各個參數都是已知的,求解方程組式(23),最后通過進一步的變換便可以得到方程的閉合解,從而確定聲源在二維平面中的具體位置坐標。
根據圖2得到的信號參數分布直方圖,首先讀取各個峰的峰值坐標,然后根據式(7)將對稱衰減aj轉化為相對衰減αj,通過計算,得到參數對(δj,αj),再將參數分別代入到方程組式(20)中,根據實際情況舍去無關解,最終可以確定聲源位置坐標。
聲源定位結果和誤差如表3所示,對定位精度的衡量采用文獻[21]中的評價準則:
誤差率=(估計坐標-原始坐標)/原始坐標×100%
由表3可知,系統進行多聲源定位時,在X軸上的平均誤差的絕對值分別為15 mm(三聲源)、7.5 mm(四聲源)和13.6 mm(五聲源),在Y軸上的平均誤差的絕對值分別為10.9 mm(三聲源)、6.25 mm(四聲源)和10.2 mm(五聲源)。針對于三聲源、四聲源和五聲源的定位,所有情況下的定位誤差均在2%以下。由此可見,本文的模型可以在分離出多個聲源的同時獲得聲源在二維平面中的位置,該方法具有一定的有效性。
表3 聲源定位結果Tab. 3 Source localization results
本文利用兩個麥克風實現了多聲源目標的分離和定位,在一定程度上克服了利用雙麥克風進行分離定位時空間信息不足的缺陷,一定程度上能夠滿足系統對誤差的要求,具有一定的實用價值,例如會議記錄、助聽裝置、車載通信等。但是本文系統目前只考慮了二維平面中的定位,也僅適用于室內說話人數量較少的情況。在以后的研究中,為了更加接近實際的需要,除了考慮混響和環境噪聲的干擾外,還應該將此模型擴展到三維空間,增加房間內聲源的個數,進一步提高系統的性能。