張洪德,韓鑫怡,柳 林,柳 揚(yáng)
(1.陸軍工程大學(xué) 通信士官學(xué)校, 重慶 400035; 2.合肥訊飛數(shù)碼科技有限公司, 合肥 230088)
隨著人工智能技術(shù)的發(fā)展,語音信號處理技術(shù)的應(yīng)用越來越廣泛,語音端點(diǎn)檢測作為語音信號處理技術(shù)中的關(guān)鍵環(huán)節(jié),也是成為研究者們關(guān)注的重點(diǎn)。準(zhǔn)確的檢測,不但可以獲得較好的處理效果,更能夠極大地減少計(jì)算量,提升處理效率。常用的語音端點(diǎn)檢測方法主要分為兩大類:模式識別類和語音特征類。其中模式識別類主要以深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),由于需要進(jìn)行建模和數(shù)據(jù)訓(xùn)練,通常該類方法計(jì)算量大且復(fù)雜;語音特征類是基于語音特征參數(shù)的一類檢測方法,這類方法復(fù)雜度低、實(shí)時性高,因此在實(shí)際應(yīng)用中多使用特征參數(shù)法進(jìn)行檢測。常用的語音特征參數(shù)包括短時能量、短時過零率、Mel倒譜距離、能零比和能熵比等,這些參數(shù)在高信噪比環(huán)境下具有較高的準(zhǔn)確率,但隨著信噪比降低,檢測性能也相應(yīng)下降,特別是在5 dB甚至0 dB的極低信噪比環(huán)境下,常規(guī)的檢測方法難以準(zhǔn)確地進(jìn)行檢測。
針對上述問題,本文提出了一種由改進(jìn)的多窗譜估計(jì)譜減法與自適應(yīng)子帶對數(shù)能熵積法相結(jié)合的端點(diǎn)檢測算法,即首先使用改進(jìn)的多窗譜估計(jì)譜減法對信號進(jìn)行增強(qiáng)處理,再利用自適應(yīng)子帶對數(shù)能熵積這一新的語音特征參數(shù)進(jìn)行端點(diǎn)檢測。此算法在低信噪比環(huán)境下具有較好的準(zhǔn)確率和魯棒性。
譜減法是對純凈語音信號的幅度譜或功率譜進(jìn)行估計(jì)重構(gòu)的一種增強(qiáng)方法,因此譜估計(jì)的準(zhǔn)確程度將直接影響譜減效果。多窗譜估計(jì)是利用多個正交的數(shù)據(jù)窗對同一個數(shù)據(jù)序列分別求譜后進(jìn)行平均的一種誤差更小的譜估計(jì)。
多窗譜估計(jì)譜減法使用FFT變換,得到信號()的幅度譜|()|和相位譜(),以此計(jì)算信號()的相鄰幀的平均功率譜密度為:
(1)
式(1)中,和分別表示第幀和第條譜線。
通過平均功率譜密度計(jì)算得到譜減增益值,即:
(2)
(3)
通過實(shí)驗(yàn)發(fā)現(xiàn),過減因子的取值直接影響譜減的效果,且最優(yōu)過減因子的值隨信噪比變化而變化。但傳統(tǒng)多窗譜估計(jì)的譜減法的過減因子為固定值,導(dǎo)致通常不能得到最優(yōu)譜減效果。針對上述問題,本文提出基于自適應(yīng)過減因子的改進(jìn)多窗譜估計(jì)的譜減法,即過減因子的大小隨信噪比變化而變化,而不再是固定值。經(jīng)過大量實(shí)驗(yàn)測試,過減因子隨信噪比的最優(yōu)變化模型為:
(4)
式(4)中,表示原始信號信噪比。實(shí)驗(yàn)中將增益補(bǔ)償因子固定為1×10。
傳統(tǒng)的對數(shù)能量與譜熵的檢測方法在低信噪比噪聲環(huán)境下效果較差,文獻(xiàn)[12]將子帶技術(shù)應(yīng)用于語音端點(diǎn)檢測方法中,通過將每幀信號分成若干子帶,計(jì)算每個子帶的對數(shù)能量和譜熵,降低單一譜線幅值受到噪聲的影響,能夠提升在低信噪比環(huán)境下的檢測準(zhǔn)確率。
但常規(guī)子帶方法中每幀信號子帶數(shù)量的劃分是固定的,而實(shí)際每幀信號受到的噪聲干擾程度是不同的,且干擾的強(qiáng)弱直接影響信號有效子帶的數(shù)量。因此,Wu等提出自適應(yīng)的子帶劃分方法,將第幀的歸一化最小帶能參數(shù)Min和有效子帶劃分?jǐn)?shù)量定義為:
(5)
(6)
根據(jù)每幀信號歸一化最小帶能參數(shù)的取值估計(jì)噪聲干擾程度,進(jìn)而確定有效子帶劃分?jǐn)?shù)量,實(shí)現(xiàn)自適應(yīng)子帶劃分的效果。具體自適應(yīng)子帶對數(shù)能量和譜熵的計(jì)算如下:
將第幀的信號預(yù)劃分為個子帶,=,其中表示幀長,表示子帶的長度,則第幀第個子帶功率譜能量為:
(7)
由式(5)和式(6)求得有效子帶個數(shù),并以此計(jì)算有效子帶能量概率分布為:
(8)
第幀的自適應(yīng)子帶對數(shù)能量和自適應(yīng)子帶譜熵分別為:
(9)
通過大量的語音樣本計(jì)算,可發(fā)現(xiàn)自適應(yīng)子帶對數(shù)能量和自適應(yīng)子帶譜熵的曲線(見圖1)顯著特征,即在語音區(qū)間上自適應(yīng)子帶對數(shù)能量的圖像是向上凸起的,而自適應(yīng)子帶譜熵則剛好相反。
圖1 2個特征參數(shù)曲線
根據(jù)上述特點(diǎn),本文提出一種新的語音特征參數(shù):自適應(yīng)子帶對數(shù)能量熵積,具體定義如下:
(10)
式(10)中,和分別表示前導(dǎo)無話段的自適應(yīng)子帶對數(shù)能量和自適應(yīng)子帶譜熵的平均值。
以作為端點(diǎn)檢測的特征參數(shù),不僅可以放大有話段和噪聲段的數(shù)值差距,突出有話區(qū)間,增強(qiáng)彼此間的區(qū)分度,同時能夠避免類似能熵比特征參數(shù)中可能出現(xiàn)分母為0的錯誤。
傳統(tǒng)雙門限檢測法使用固定閾值進(jìn)行檢測,適應(yīng)噪聲變化能力差,本文將固定閾值改進(jìn)為基于特征參數(shù)的動態(tài)閾值,使其具備對噪聲變化環(huán)境下的語音自適應(yīng)檢測能力。設(shè)初始閾值、為:
(11)
式(11)中:為前導(dǎo)無話段的自適應(yīng)子帶對數(shù)能熵積的均值;表示自適應(yīng)子帶對數(shù)能熵積的最大值;為標(biāo)準(zhǔn)差;和分別為上下限系數(shù)。于是閾值的動態(tài)更新可以表示為:
(12)
式(12)中:為閾值更新系數(shù);為第幀信號的自適應(yīng)子帶對數(shù)能熵積。其中上下限系數(shù)決定檢測門限高低,閾值更新系數(shù)影響閾值隨樣本變化的更新率,兩者取值通常根據(jù)經(jīng)驗(yàn)值設(shè)定。
本文對測試樣本經(jīng)過反復(fù)實(shí)驗(yàn),測得最優(yōu)取值為:=005,=015,=092。且若值過高,則會出現(xiàn)漏檢,而值過低,則存在錯檢。
本算法首先通過譜減提升語音信號質(zhì)量,為后續(xù)端點(diǎn)檢測奠定基礎(chǔ),而后計(jì)算增強(qiáng)信號的自適應(yīng)子帶對數(shù)能熵積,最后使用動態(tài)閾值更新雙門限檢測法進(jìn)行端點(diǎn)檢測,實(shí)驗(yàn)流程如圖2所示。
圖2 本文方法的實(shí)驗(yàn)流程框圖
此外,本文對自適應(yīng)子帶對數(shù)能量和自適應(yīng)子帶譜熵特征值的提取進(jìn)行以下優(yōu)化:
1) 語音信號通常分布在3 500 Hz以下,且100 Hz以下存在交流頻率干擾,因此僅提取信號在100~3 500 Hz的部分進(jìn)行分析處理。
2) 根據(jù)文獻(xiàn)[14],在式(8)中引入常量=05,得到改進(jìn)的有效子帶能量概率分布為:
(13)
3) 加入中值平滑處理,保持平滑段之間數(shù)據(jù)的階躍性,減少個別野點(diǎn)對結(jié)果的影響。本文選取前后共5幀進(jìn)行中值平滑處理。
4) 設(shè)置最小有話段和最長靜音長度,防止跳變的高能噪聲被誤判為語音或字間間斷造成漏檢。本文將最小有話段設(shè)為5幀,最長靜音長度設(shè)為8幀。
5) 根據(jù)文獻(xiàn)[11]提出的新對數(shù)能量關(guān)系,本文將式(9)中的常數(shù)設(shè)置為2。
6) 通過大量實(shí)驗(yàn)測試,對文獻(xiàn)[13,15]中的有效子帶個數(shù)計(jì)算公式進(jìn)行改進(jìn),具體如下:
(14)
實(shí)驗(yàn)主要步驟為:
1利用改進(jìn)的多窗譜估計(jì)譜減法對語音信號進(jìn)行增強(qiáng)處理,得到增強(qiáng)語音信號,并提取頻率分布在100 Hz到3 500 Hz的部分進(jìn)行后續(xù)處理;
2將每幀信號預(yù)劃分成25個子帶,計(jì)算每個子帶功率譜能量。由式(5)和式(14)計(jì)算歸一化最小帶能參數(shù)Min和有效子帶個數(shù);
3由式(9)計(jì)算自適應(yīng)子帶對數(shù)能量和改進(jìn)的自適應(yīng)子帶譜熵,再由式(10)計(jì)算自適應(yīng)子帶對數(shù)能熵積,最后進(jìn)行中值平滑處理;
4由式(11)和式(12)設(shè)置動態(tài)閾值,利用單參數(shù)雙門限法進(jìn)行端點(diǎn)檢測。
本實(shí)驗(yàn)在Windows 10系統(tǒng)下,利用Python 3.7平臺進(jìn)行。實(shí)驗(yàn)音頻分別采用采樣頻率為8 000 Hz,采樣精度為16 bit純凈男聲,內(nèi)容為:“藍(lán)天,白云,碧綠的大?!保涣韽腡IMIT語音庫中隨機(jī)選取10條純凈語音。噪聲選自Noisex-92數(shù)據(jù)庫中的White、Pink、Babble、F16、Volvo和Factory噪聲。
為了驗(yàn)證本文方法的實(shí)際性能,分別對增強(qiáng)效果和檢測準(zhǔn)確率進(jìn)行評價,具體評價標(biāo)準(zhǔn)如下:
1) 增強(qiáng)效果:分別從信噪比提高和語音質(zhì)量感知評估測度(PESQ)2個方面綜合驗(yàn)證增強(qiáng)性能。
2) 檢測準(zhǔn)確率:語音端點(diǎn)檢測準(zhǔn)確率可以定義為:
=[-(+)]×100
(15)
式(15)中:為語音段的總幀數(shù),是將純凈語音信號端點(diǎn)檢測結(jié)果和人工校驗(yàn)結(jié)果綜合所得;為噪聲被誤檢成語音的幀數(shù);為語音被漏檢為噪聲的幀數(shù)。由于本文設(shè)置的最長靜音長度為8幀,因此定義檢測結(jié)果偏差值小于8幀均為檢測準(zhǔn)確。
使用常規(guī)多窗譜估計(jì)譜減法和本文改進(jìn)的方法對10條TIMIT語音庫純凈語音信號在不同信噪比環(huán)境下進(jìn)行增強(qiáng),結(jié)果取平均值如表1、表2所示。
對比表1和表2數(shù)據(jù)發(fā)現(xiàn),本文改進(jìn)的譜減法在各類噪聲環(huán)境下的平均信噪比和平均PESQ分?jǐn)?shù)都要好于傳統(tǒng)方法,因此可以證明本文改進(jìn)的多窗譜估計(jì)譜減法性能較好,能夠有效提升語音質(zhì)量。
表1 傳統(tǒng)多窗譜估計(jì)譜減的平均信噪比/PESQ分?jǐn)?shù)
表2 本文改進(jìn)譜減法的平均信噪比/PESQ分?jǐn)?shù)
為驗(yàn)證自適應(yīng)子帶對數(shù)能熵積法的準(zhǔn)確性和魯棒性,本文利用不同種類噪聲在不同信噪比環(huán)境下進(jìn)行仿真測試,同時使用傳統(tǒng)短時能量和過零率方法以及文獻(xiàn)[6]基于MFCC倒譜距離與對數(shù)的方法進(jìn)行對比分析。圖3~圖5為0 dB White噪聲環(huán)境中上述3種方法對“藍(lán)天,白云,碧綠的大?!闭Z音段的檢測結(jié)果。
圖3 0 dB White噪聲環(huán)境中短時能量和過零率檢測曲線
圖4 0 dB White噪聲環(huán)境中文獻(xiàn)[6]提出的MFCC距離檢測曲線
圖5 0 dB White噪聲環(huán)境中本文提出的自適應(yīng)子帶對數(shù)能熵積法檢測曲線
圖3中,短時能量和過零率檢測法漏檢掉了3.5 s左右的“大?!边@一部分內(nèi)容。雖然文獻(xiàn)[6]和本文提出方法均較為完整地檢測出所有的語音段,但如圖4所示,文獻(xiàn)[6]方法在2.1 s附近區(qū)域?qū)⒉糠衷肼曞e檢為語音。
圖6~圖8為0 dB Volvo噪聲環(huán)境中上述3種方法的檢測結(jié)果。如圖6所示,短時能量和過零率檢測法此時出現(xiàn)了大量的錯檢,將噪聲段檢測為語音段;圖7中,文獻(xiàn)[6]基于MFCC倒譜距離與對數(shù)的方法同樣在3.5 s左右出現(xiàn)部分錯檢,將部分噪音錯判斷為語音;圖8中,本文使用的自適應(yīng)子帶對數(shù)能熵積法能夠較為準(zhǔn)確的檢測出各語音段,沒有出現(xiàn)明顯的漏檢和錯檢。
圖6 0 dB Volvo噪聲環(huán)境中短時能量和過零率檢測曲線
圖7 0 dB Volvo噪聲環(huán)境中文獻(xiàn)[6]提出的MFCC距離檢測曲線
圖8 0 dB Volvo噪聲環(huán)境中本文提出的自適應(yīng)子帶對數(shù)能熵積法檢測曲線
為進(jìn)一步驗(yàn)證本文算法的穩(wěn)定性和魯棒性,將隨機(jī)提取的10組TIMIT語音庫純凈語音信號分別以-5、0、5和10dB的信噪比添加選取的6種不同噪聲,而后使用3種語音端點(diǎn)檢測方法進(jìn)行檢測,將所得檢測結(jié)果取平均值,得到各自檢測法的平均檢測準(zhǔn)確率如表3~表5所示。
表3 短時能量和過零率法的平均準(zhǔn)確率
表4 文獻(xiàn)[6]提出的MFCC距離法的平均準(zhǔn)確率
表5 本文方法的平均準(zhǔn)確率
對上述結(jié)果進(jìn)行分析,發(fā)現(xiàn)3種方法在White噪聲環(huán)境下表現(xiàn)都好于其他噪聲,而Babble噪聲對檢測結(jié)果影響最大。短時能量和過零率檢測法總體檢測效果最差;文獻(xiàn)[6]的算法在高信噪比環(huán)境下檢測效果較好,但在極低信噪比環(huán)境下的表現(xiàn)有待提高;本文采用的自適應(yīng)子帶對數(shù)能熵檢測法雖然在極低信噪比環(huán)境下也存在個別漏檢和錯檢,但整體表現(xiàn)明顯優(yōu)于另外2種檢測方法,在不同的噪聲環(huán)境下準(zhǔn)確率較其他方法也有提升。
提出一種新的語音端點(diǎn)檢測方法,通過改進(jìn)的多窗譜估計(jì)譜減法,提高語音信號的信噪比,改善語音質(zhì)量,并以自適應(yīng)子帶對數(shù)能熵積為閾值,基于動態(tài)閾值雙門限檢測方法進(jìn)行端點(diǎn)檢測。仿真實(shí)驗(yàn)結(jié)果表明,基于譜減與自適應(yīng)子帶能熵積檢測法在低信噪比環(huán)境下檢測性能得到有效提升,相比短時能量和過零率檢測法和基于MFCC倒譜距離與對數(shù)的語音端點(diǎn)檢測方法,能夠更為準(zhǔn)確的實(shí)現(xiàn)語音端點(diǎn)檢測,且具有更好的抗噪性和魯棒性。