周妙琪,方福海,李婷,李軍成
(湖南人文科技學(xué)院 數(shù)學(xué)與金融學(xué)院,湖南 婁底 417000)
在聲源定位研究中,為了提高聲源定位的準(zhǔn)確性,通常需要研究聲源的端點(diǎn)以幫助確定聲源的位置,因此語音端點(diǎn)檢測是聲源定位研究中一個很重要的課題,它在人工智能、語音處理、通信系統(tǒng)、公安偵查等方面都有重要應(yīng)用。
語音端點(diǎn)檢測又被稱為語音活動檢測(Voice Activity Detection,VAD),是一種通過判定語音的起止點(diǎn)區(qū)分語音和非語音信號的檢測技術(shù)。語音端點(diǎn)檢測的方法有很多,如能零比法、頻帶方差法、譜熵法、雙門限法、人工神經(jīng)網(wǎng)絡(luò)法等。在真實(shí)環(huán)境的聲源定位中,噪聲不可避免,為了提高目標(biāo)聲音采集與運(yùn)用的效率,可首先利用降噪算法對語音進(jìn)行降噪處理。目前,聲源定位中的語音降噪的方法有很多,較為典型的有譜減法、維納濾波法、子空間法等。
在語音端點(diǎn)檢測方法中,雙門限法較為常見,該算法在語音不含噪聲時效果比較理想,但當(dāng)語音含有噪聲時容易失效。而在語音降噪算法中,子空間法是一種有效的方法,它能將噪聲部分減弱,凸顯語音部分,從而改進(jìn)語音質(zhì)量,使之更符合人耳的聽覺感受。為了使雙門限法在噪聲環(huán)境中也能取得較好的端點(diǎn)檢測結(jié)果,本文首先利用子空間法對帶噪語音進(jìn)行降噪處理,然后再采用雙門限法進(jìn)行語音端點(diǎn)檢測,為聲源定位中的含噪語音端點(diǎn)檢測提供一種手段。
子空間法[11-12]首先將語音信號的向量空間分解為信號子空間和噪聲子空間,然后將帶噪語音進(jìn)行KLT(Karhunen-Loeve Transform)變換,消除其噪聲子空間并保留信號子空間,從而估計(jì)出干凈語音,最后通過逆KLT變換得到降噪后的語音。子空間法的步驟可描述為:
Step.1將語音信號的向量空間分解為信號子空間x和噪聲子空間v,語音信號可以表示為y=x+v。
Step.2對干凈語音x的線性估計(jì)為x=Hy,根據(jù)有約束的優(yōu)化問題求得最優(yōu)線性濾波器Hopt。
Step.3將含噪的觀測語音變換到KLT域,得到KLT系數(shù)。
Step.4根據(jù)干凈語音在KLT域的稀疏性對KLT系數(shù)進(jìn)行加權(quán)處理,得到稀疏化的干凈語音的KLT系數(shù)估計(jì)值。
Step.5最后通過逆KLT變換得到降噪后的語音Hopty。
雙門限法[1-2]最初是基于短時平均能量和短時平均過零率這兩個參數(shù)提出的,其原理是漢語的韻母中元音的能量較大,所以可以由短時能量找到音節(jié)中的韻母,而聲母是輔音,頻率較高,相對應(yīng)的平均過零率較大,所以可以用平均過零率找到聲母,于是利用這兩個特征就能找出完整的漢字音節(jié)[3-7]。
雙門限法利用二級判決判定聲音的起止點(diǎn),第一級判決:在輸入語音信號的短時能量包絡(luò)線上選取一個較高的閾值(門限值)T2進(jìn)行一次粗判,能量高于T2的肯定是聲音信號,語音的起止點(diǎn)位置應(yīng)在該門限值與短時能量包絡(luò)交點(diǎn)的時間點(diǎn)以外。再在短時平均能量上確定一個較低的閾值(門限值)T1,并從兩端往外搜索,分別找到短時能量包絡(luò)與T1相交的兩個點(diǎn),于是這兩個點(diǎn)就是用雙門限法根據(jù)短時能量所判定的語音段的起止點(diǎn);第二級判決:再以短時平均過零率為準(zhǔn),從一級判決的兩點(diǎn)的兩端往外搜索,找到短時平均過零率低于某個閾值(門限值)T3的兩個點(diǎn),這便是輸入語音段的起止點(diǎn)。
整個語音端點(diǎn)檢測可以分為4段:靜音、過渡段、語音段、結(jié)束。在靜音段,如果短時能量或過零率超越了低門限,就開始標(biāo)記起點(diǎn),進(jìn)入過渡段。在過渡段中,由于參數(shù)的數(shù)值比較小,不能確信是否處于真正的語音段,因此只要兩個參數(shù)的數(shù)值回落到低門限以下,就將當(dāng)前狀態(tài)恢復(fù)到靜音狀態(tài),而如果過渡段中兩個參數(shù)都超過了高門限,則確定進(jìn)入了語音段,即檢測到語音起點(diǎn)。雙門限法端點(diǎn)檢測的步驟為:
Step.1 語音輸入,采集輸入語音信號序列x,得出語音信號時域波形,設(shè)n=0。
Step.2 設(shè)置合適的幀長和幀移對語音信號進(jìn)行分幀處理,計(jì)算出幀數(shù)。根據(jù)時域波形圖估算前導(dǎo)無話段時長,計(jì)算出前導(dǎo)無語段幀數(shù)。
Step.3 求取短時平均能量和短時平均過零率,再計(jì)算前導(dǎo)無話段的短時能量和短時過零率的平均值。
Step.4 依據(jù)前導(dǎo)無話段的短時能量和短時過零率的倍數(shù)來設(shè)置短時能量和短時過零率的閾值(即門限值)T1、T2、T3進(jìn)行端點(diǎn)檢測。
Step.5 測量短時平均能量CN大于T1且短時平均過零率大于T3時則則標(biāo)記為有效語音,否則為無效語音。
Step.6 當(dāng)檢測為有效語音時n=n+1,判斷當(dāng)n≥3時,則標(biāo)記為有效語音和無效語音的起點(diǎn)或者終點(diǎn)[8-10]。
當(dāng)語音不含噪聲時,雙門限法能取得較好的端點(diǎn)檢測效果,但當(dāng)語音含有噪聲時其端點(diǎn)檢測效果較差。為了對含噪語音的端點(diǎn)進(jìn)行有效檢測,本文首先利用子空間法對含噪語音進(jìn)行降噪處理,再利用雙門限法進(jìn)行端點(diǎn)檢測,這樣使得雙門限法在語音含有噪聲的情形下仍能較好地使用。本文的算法步驟如圖1所示。
圖1 本文算法步驟
本文的仿真實(shí)驗(yàn)利用MATLAB進(jìn)行,首先分別在純凈語音中添加white噪聲、volvo噪聲、pink噪聲,然后分別利用雙門限法和本文算法對含噪語言進(jìn)行端點(diǎn)檢測,并對結(jié)果進(jìn)行對比分析。
第1組實(shí)驗(yàn)將時長為2s的純凈男聲語音“上海開放港口”分別添加信噪比為0dB的white噪聲、volvo噪聲、pink噪聲,分別利用雙門限法和本文算法對含噪語言進(jìn)行端點(diǎn)檢測的結(jié)果如圖2所示,其中實(shí)線表示語音字節(jié)的起始點(diǎn),虛線表示語音字節(jié)的終止點(diǎn)[11-12]。
圖2 第1組實(shí)驗(yàn)的結(jié)果對比
由圖2可知,本文算法的語言端點(diǎn)檢測效果明顯要好于雙門限法。為了定量比較雙門限法與本文算法,本文利用準(zhǔn)確率或查準(zhǔn)率(PRC)、查全率(RCL)和綜合性能測度(F-measure)對兩種算法的語言端點(diǎn)檢測效果進(jìn)行評價,三個參數(shù)的定義為[13]
其中,M表示檢測出的正確語音分割點(diǎn)數(shù),A表示檢測出的總分割點(diǎn)數(shù),N表示實(shí)際語音分割點(diǎn)數(shù)。一般地,PRC、RCL、F值越大,表明算法的效果越好。分別利用雙門限法和本文算法對含噪語言進(jìn)行端點(diǎn)檢測的效果評價結(jié)果如表1所示。
表1 第1組實(shí)驗(yàn)的檢測效果評估結(jié)果
由表1可知,在第1組實(shí)驗(yàn)中,對于添加三種不同噪聲的語音,本文算法的PRC、RCL、F值都要明顯大于雙門限法,這表明本文算法的語音端點(diǎn)檢測效果明顯優(yōu)于雙門限法。
第2組實(shí)驗(yàn)將時長為4s的純凈男聲語音“我國的地勢,西北高,東南低”分別添加信噪比為0dB的white噪聲、volvo噪聲、pink噪聲,分別利用雙門限法和本文算法對含噪語言進(jìn)行端點(diǎn)檢測的結(jié)果如圖3所示,其中實(shí)線表示語音字節(jié)的起始點(diǎn),虛線表示語音字節(jié)的終止點(diǎn)。
圖3 第2組實(shí)驗(yàn)的結(jié)果對比
由圖3可知,本文算法的語言端點(diǎn)檢測效果也要明顯好于雙門限法。為了定量比較雙門限法與本文算法,分別利用PRC、RCL和F值對兩種算法進(jìn)行效果評價,結(jié)果如表2所示。
表2 第2組實(shí)驗(yàn)的檢測效果評估結(jié)果
由表2也可知,在第2組實(shí)驗(yàn)中,對于添加三種不同噪聲的語音,本文算法的語音端點(diǎn)檢測效果優(yōu)于雙門限法[13]。
本文將子空間降噪算法與雙門限法結(jié)合起來,使得雙門限端點(diǎn)檢測算法在含有噪聲的環(huán)境下也能正常檢測,該算法從語音降噪和特征提取兩方面很好的解決了不同環(huán)境噪聲的語音端點(diǎn)檢測問題。實(shí)驗(yàn)結(jié)果表明,本文算法提高了聲源定位中語音端點(diǎn)檢測的準(zhǔn)確率和查全率,相較于雙門限端點(diǎn)檢測算法,其準(zhǔn)確性更高。