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

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

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

左邊三個圖是SAPVR對單個人語音的處理,上面第一個圖是原始語音,中間的圖是對原始語音做了fft運(yùn)算以后的系數(shù)圖,下面第三個圖是對中間系數(shù)圖的波形做諧波計算的結(jié)果。右邊類似是SAPVR對同聲道語音的處理。對比可以看出,SAPVR算法對單個人語音和同聲道語音的分辨結(jié)果并不是很強(qiáng),因?yàn)樽詈蟮挠嬎憬Y(jié)果差異并不是很大,但通過設(shè)置恰當(dāng)?shù)拈撝担€是可以較好地分辨出單個人語音和同聲道語音幀。
表1是本文給出的SAPVR算法基于實(shí)驗(yàn)語音樣本庫的實(shí)驗(yàn)結(jié)果:

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

從上圖可以清楚地看出,算法的檢出率與虛警率都與閾值變化成正比。同聲道語音與單個人的語音閾值的分界不是清楚的線,而是模糊的帶狀;將一些“邊緣地帶”的同聲道語音包括進(jìn)來的時候,也必然誤判了一些單個人的語音。
結(jié)束語
同聲道語音檢測是國際上的語音處理研究最近幾年興起的研究熱點(diǎn)和難點(diǎn),但國內(nèi)少有研究者。本文首先介紹了同聲道語音檢測的概念,詳細(xì)分析并實(shí)驗(yàn)驗(yàn)證了目前該領(lǐng)域中典型的SAPVR算法。
參考文獻(xiàn):
[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.