摘 要:本文分析了同聲道語音檢測的典型算法SAPVR算法,介紹了算法的基本思想和流程,并用MATLAB工具進行了驗證。
關鍵詞:同聲道語音 頻譜自相關峰谷率算法
引言
同聲道語音是指目標說話人語音混雜著另一個干擾者的說話語音。同聲道語音檢測屬于語音增強技術,是目前國際上的一個研究熱點和難點,國內少有涉及者。
要實現目標語音的提取,首先要能正確地檢測出同聲道語音幀。同聲道語音和單個說話人語音不同之處在于:單個說話人語音波形具有諧波性,而同聲道語音波形不具有諧波性,這是區分它們的關鍵特征。
1 同聲道語音檢測的基本概念和典型算法
1.1同聲道語音檢測的基本概念
實際生活中經常遇到多人同時說話的情況,此時不需要的語音就形成了同聲道干擾,通信系統中鄰近信道的串話也是同聲道干擾。人類的聽覺系統擅長分辨在多人說話時某一人的聲音,然而,利用數學方法模仿人類的聽覺系統只取得了有限的進展。由于語音是寬帶信號,目標語音和干擾語音在時域和頻域都發生混迭,不能按照常規的通過濾波器的方法來分離,所以同聲道語音分離是語音增強的一個難點。要實現目標語音的提取,首先要能正確地檢測出同聲道語音幀。同聲道語音和單個說話人語音不同之處在于:單個說話人語音波形具有諧波性,而同聲道語音波形不具有諧波性,這是區分它們的關鍵特征。
同聲道語音檢測問題可以解釋如下:給出一個混合的語音信號,該語音信號混合了兩人或者更多人,我們要做的就是檢測當前的語音幀是否是兩人或以上的語音幀。

在圖1中,我們有目標語音(speaker 1)和干擾語音(speaker 2)。混合語音信號含有speaker1的幀,含有speaker 2的幀,也含有speaker 1和speaker 2同時存在的幀。研究的目標就是開發一個系統,該系統要區分只含有目標語音幀和目標語音和干擾語音同時存在的幀,也就是區分單個人的語音幀和同聲道語音幀。
目前,同聲道語音檢測技術典型方法是頻譜自相關峰谷率法SAPVR(Spectral Auto Correlation Peak Valley Ratio)算法和基于小波的檢測算法。下面具體介紹SAPVR算法并驗證之。
1.2頻譜自相關峰谷率法SAPVR(Spectral Auto Correlation Peak Valley
Ratio)
1.2.1 SAPVR算法
SAPVR(頻譜自相關峰谷率)算法是在頻域的基礎上對語音信號作處理,繼而對某一點的前后關系進行分析比較,從而在理論上可以得出語音信號是否具有諧波性。SAPVR算法框圖如圖2所示:

先將語音信號加窗,然后進行傅里葉變換,求出頻譜,再自相關化,選定峰谷比計算算法算出比值,最后與設定的閾值比較,大于該值的就是單個人語音幀,小于閾值的就是同聲道語音。需要注意的是,前面已經提到過,這里的語音樣本都經過了語音預處理,即已經做好端點檢測、去除了靜音段、清音段和噪聲。
1.2.2 加窗
在本算法中,加窗的方法采用漢明窗(Hamming)。
采用的Hamming窗函數為:
w(n)=|0.54-0.46cos(2πn/(N-1),(0≤n≤N-1)
|0,(其他) (3-1)
其中“N”為窗寬,表示一個音框內取樣點的數目,窗寬選擇必須適中。將連續信號分割成數個音框,再從音框中提取特征值,將整個語音簡單化,以進行辨識。
1.2.3 進行FFT計算
前面論述過,同聲道語音檢測的根據是單個人的語音(實際上是濁音)在時域上具有準周期性,這種時域上的準周期性在頻域則表現為具有諧波結構;而同聲道語音由于兩個人的語音在頻域和時域疊加,破壞了這種諧波性。
傅里葉變換將信號分解為各個不同頻率分量的組合,使信號的時域特征與頻域特征聯系起來。因此,通過語音的短時傅里葉分析就可以研究語音的短時頻譜隨時間的變化關系,從而研究語音信號的諧波性。
1.2.4 進行自相關計算
自相關函數用于測定一個信號自身在時域內的相似性,如果信號的兩個部分波形相同,則在超前、滯后處出現峰值,由此可以求出信號自身的相似程度。這里利用自相關函數來處理語音信號經過傅里葉變換以后的數據,可以有效地對數據諧波性做出判定。
1.2.5 設定閾值并比較
設定閾值,將所求自相關值與閾值進行比較。若峰谷率大于該閾值,則為“同聲道語音”;若峰谷率小于閾值,則為“單個人說話的語音”。
通常閾值采用經驗值。
1.3 SAPVR算法的驗證及結果分析
1.3.1幾個概念
檢出率:算法正確檢測出該語音幀是同聲道語音的幀數占全部同聲道語音幀的比例;
漏判率:該幀是同聲道語音卻未被檢出,該語音幀占全部同聲道語音幀的比例;
虛警率(誤判率):單個人語音幀被判為同聲道語音幀,該語音幀占全部單個人語音幀的比例。
1.3.2 對SAPVR算法的驗證及結果分析
本文采用漢明窗,無重疊,窗函數從150到500數據點,每次增加50;閾值從1到12,增量為1。先檢測100幀同聲道語音,檢出幀數就是檢出率;再檢測100幀單個人語音,檢出的同聲道語音數就是虛警率。檢測圖和檢測數據結果如圖3所示:

左邊三個圖是SAPVR對單個人語音的處理,上面第一個圖是原始語音,中間的圖是對原始語音做了fft運算以后的系數圖,下面第三個圖是對中間系數圖的波形做諧波計算的結果。右邊類似是SAPVR對同聲道語音的處理。對比可以看出,SAPVR算法對單個人語音和同聲道語音的分辨結果并不是很強,因為最后的計算結果差異并不是很大,但通過設置恰當的閾值,還是可以較好地分辨出單個人語音和同聲道語音幀。
表1是本文給出的SAPVR算法基于實驗語音樣本庫的實驗結果:

可以看出SAPVR算法對于男性和女性的不同組合,其檢出率變化不大;同時檢出率越大,虛警率也隨之增大。
2 閾值變化對檢出率的影響
本文給出了閾值變換對檢出率及虛警率的影響如圖4所示:

從上圖可以清楚地看出,算法的檢出率與虛警率都與閾值變化成正比。同聲道語音與單個人的語音閾值的分界不是清楚的線,而是模糊的帶狀;將一些“邊緣地帶”的同聲道語音包括進來的時候,也必然誤判了一些單個人的語音。
結束語
同聲道語音檢測是國際上的語音處理研究最近幾年興起的研究熱點和難點,但國內少有研究者。本文首先介紹了同聲道語音檢測的概念,詳細分析并實驗驗證了目前該領域中典型的SAPVR算法。
參考文獻:
[1] Arvind Ram an Kizhanatham. DETECTION OF COCHANNEL SPEECHANDUSABLE SPEECH[D]. the Temple University Graduate Board.
[2] Nishant Chandra. DETECTION OF USABLE SPEECH UNDER CO-CHANNEL SPEECH CONDITIONS[D]. Department of Electrical And Computer Engineering Temple University.
[3] StuartN.Wrigley,GuyJ.Brown.SPEECH AND CROSSTALK DETECTION IN MULTI-CHANNELAUDIO[C]. IEEE TRANSACTIONS ON SPEECH AND AUDIO PROCESSING, VOL. X, NO. Y, SEPTEMBER 2004.