本發(fā)明涉及語(yǔ)音信號(hào)處理領(lǐng)域,提出一種基于譜熵改進(jìn)的語(yǔ)音端點(diǎn)檢測(cè)方法。
背景技術(shù):
語(yǔ)音端點(diǎn)檢測(cè)是說話人識(shí)別中一個(gè)重要的步驟,有效的端點(diǎn)檢測(cè)是說話人識(shí)別處理中首先要解決的問題。傳統(tǒng)的端點(diǎn)檢測(cè)算法如利用過零率、短時(shí)能量和自相關(guān)參數(shù),在高信噪比環(huán)境下可以獲得較好的檢測(cè)效果,但在低信噪比環(huán)境下其檢測(cè)性能卻急劇下降。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在解決以上現(xiàn)有技術(shù)的問題。提出了一種提出了準(zhǔn)確率更高的基于譜熵改進(jìn)的端點(diǎn)檢測(cè)方法。本發(fā)明的技術(shù)方案如下:
一種低信噪比環(huán)境下基于譜熵改進(jìn)的語(yǔ)音端點(diǎn)檢測(cè)方法,其包括以下步驟:
步驟1:獲取低信噪比環(huán)境下的語(yǔ)音信號(hào),根據(jù)語(yǔ)音信號(hào)的高頻信號(hào)在語(yǔ)音頻譜中所占比重較小,及語(yǔ)音信號(hào)具有短時(shí)平穩(wěn)性等特點(diǎn),通常對(duì)其進(jìn)行預(yù)處理,主要包括預(yù)加重、加窗分幀;
步驟2:對(duì)經(jīng)過預(yù)處理的語(yǔ)音信號(hào)進(jìn)行快速傅里葉變換,語(yǔ)音信號(hào)從時(shí)域數(shù)據(jù)變換到頻域,變換得到線性頻譜;
步驟3:根據(jù)語(yǔ)音信號(hào)每幀頻帶的劃分,計(jì)算各子帶頻譜和子帶能量,最終得到各子帶能熵比;
步驟4:設(shè)置合適門限值,結(jié)合中值濾波處理得到最終的門限值,從而得到語(yǔ)音信號(hào)起止點(diǎn)。
進(jìn)一步的,所述步驟1根據(jù)語(yǔ)音信號(hào)的高頻信號(hào)在語(yǔ)音頻譜中所占比重較小,及語(yǔ)音信號(hào)具有短時(shí)平穩(wěn)性等特點(diǎn),通常對(duì)其進(jìn)行預(yù)加重、加窗分幀的具體步驟如下:
步驟A1:采用一階高通濾波器即預(yù)加重濾波器,其傳遞函數(shù)為H(z)=1-az-1,a取值0.95;z表示在z域下的變換,H(z)表示濾波器傳遞函數(shù),(H(z)=1-az-1這個(gè)函數(shù)是一階高通濾波器,。
步驟A2:對(duì)含噪語(yǔ)音信號(hào)進(jìn)行漢明窗加窗分幀處理后得到第i幀語(yǔ)音信號(hào)為xi(m),w(n)是窗函數(shù)。
進(jìn)一步的,所述步驟2對(duì)經(jīng)過預(yù)處理的語(yǔ)音信號(hào)進(jìn)行快速傅里葉變換,語(yǔ)音信號(hào)從時(shí)域數(shù)據(jù)變換到頻域,變換得到線性頻譜具體包括:
通過FFT變換從時(shí)域變換到頻域公式為它表示第i幀的第k個(gè)頻域點(diǎn)的譜幅度值,N是每幀的采樣點(diǎn);
進(jìn)一步的,所述步驟3根據(jù)語(yǔ)音信號(hào)每幀頻帶的劃分,計(jì)算各子帶頻譜和子帶能量,最終得到各子帶能熵比的具體步驟如下:
步驟B1:根據(jù)步驟2得到的頻譜幅度Xi(k),然后把每幀頻帶均勻地分成Nb個(gè)子帶;
步驟B2:計(jì)算各個(gè)子帶的頻域能量SE(m,i),各子帶譜熵Hb(i),將子帶譜熵Hb(i)和子帶的頻域能量SE(m,i)相結(jié)合,對(duì)其進(jìn)行改進(jìn)結(jié)合成一個(gè)新的特征參數(shù),即子帶能熵比SEH(i),,即子帶能熵比
進(jìn)一步的,所述步驟B2中,計(jì)算各個(gè)子帶的頻域能量m表示第i幀的第m個(gè)子帶能量要想得出各子帶譜熵Hb(i),首先求出子帶能量的概率b只是為了不與前面的N混淆而定義的Nb,繼而子帶譜熵為
進(jìn)一步的,所述步驟4設(shè)置合適門限值,結(jié)合中值濾波平滑處理得到最終的門限值,從而得到語(yǔ)音信號(hào)起止點(diǎn)具體包括步驟:
設(shè)x(n)為輸入信號(hào),y(n)為中值濾波器的輸出,采用一滑動(dòng)窗,x(n)在n0處的輸出值為y(n0),就是滑動(dòng)窗的中心移動(dòng)到n0處,y(n0)是取窗內(nèi)輸入樣點(diǎn)的中值,,在n0點(diǎn)的左右各取L個(gè)樣點(diǎn)連同在n0處的樣點(diǎn),共有(2L+1)個(gè)樣值,把這(2L+1)個(gè)樣值按大小次序排列,取此序列中的中間值作為平滑器的輸出;根據(jù)優(yōu)化后的參數(shù)設(shè)置合適的門限值T1和T2,當(dāng)參數(shù)SEH(i)高于T2閾值時(shí)便肯定是語(yǔ)音,再根據(jù)SEH(i)從何時(shí)起高于T2來判決語(yǔ)音信號(hào)的端點(diǎn),其中閾值T1、T2取經(jīng)過平滑處理后的數(shù)值。
本發(fā)明的優(yōu)點(diǎn)及有益效果如下:
針對(duì)低信噪比環(huán)境下的說話人識(shí)別率低的問題,本發(fā)明在譜熵算法的基礎(chǔ)上進(jìn)行了改進(jìn),主要方法是根據(jù)子帶譜熵和子帶能量的各自優(yōu)缺點(diǎn)進(jìn)行結(jié)合改進(jìn)對(duì)語(yǔ)音的端點(diǎn)檢測(cè),方法簡(jiǎn)便,檢測(cè)的準(zhǔn)確率高。具體思想是:(1)利用子帶譜熵在非穩(wěn)定的噪聲環(huán)境下的高識(shí)別率和子帶能量的加性性質(zhì),進(jìn)行結(jié)合更好的檢測(cè)語(yǔ)音的起止點(diǎn);(2)在設(shè)置門限值時(shí)進(jìn)行中值濾波,以更好的優(yōu)化整個(gè)檢測(cè)過程,去除不穩(wěn)定因素造成的影響。
附圖說明
圖1是本發(fā)明提供優(yōu)選實(shí)施例語(yǔ)音信號(hào)的子帶譜熵特征圖;
圖2:語(yǔ)音信號(hào)的子帶能量特征圖;
圖3:基于譜熵改進(jìn)的語(yǔ)音端點(diǎn)檢測(cè)算法流程圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、詳細(xì)地描述。所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例。
本發(fā)明解決上述技術(shù)問題的技術(shù)方案是,
設(shè)含有噪聲的語(yǔ)音信號(hào)的時(shí)域波形是x(n)。
步驟1:采用一階高通濾波器即預(yù)加重濾波器,其傳遞函數(shù)為H(z)=1-az-1,由多次實(shí)驗(yàn)得出a取值0.95。然后對(duì)含噪語(yǔ)音信號(hào)進(jìn)行加窗分幀處理后得到的語(yǔ)音信號(hào)為sw(n)=x(n)×w(n)。
步驟2:經(jīng)過預(yù)處理之后,對(duì)每一幀語(yǔ)音信號(hào)進(jìn)行快速傅里葉變換,語(yǔ)音信號(hào)從時(shí)域數(shù)據(jù)變換到頻域,得到語(yǔ)音線性頻譜它表示第i幀的第k個(gè)頻域點(diǎn)的譜幅度值,N是每幀的采樣點(diǎn);
步驟3:把每幀頻帶均勻地分成Nb個(gè)子帶,計(jì)算各個(gè)子帶的頻域能量要想得出各子帶譜熵Hb(i),首先求出子帶能量的概率繼而子帶譜熵為子帶譜熵在低噪聲環(huán)境下能很好的檢測(cè)語(yǔ)音的起止點(diǎn),但是在高噪聲環(huán)境下就會(huì)出現(xiàn)漏音、誤判等現(xiàn)象,從而使識(shí)別結(jié)果不準(zhǔn)確。子帶能量在非穩(wěn)定的噪聲環(huán)境下,很難區(qū)分語(yǔ)音和不可預(yù)測(cè)的背景噪聲,而子帶譜熵卻可以做到,且子帶能量有一個(gè)很好的加性性質(zhì),即語(yǔ)音加噪聲的能量要大于噪聲的能量,因此可以解決子帶譜熵的這種不穩(wěn)定。為了克服子帶譜熵算法在低信噪比環(huán)境下檢測(cè)效果較差的缺陷,在此將子帶譜熵和子帶能量相結(jié)合,對(duì)其進(jìn)行改進(jìn)結(jié)合成一個(gè)新的特征參數(shù),即子帶能熵比
步驟4:為得到更好的特征參數(shù),有效地去除噪聲影響下產(chǎn)生的少量的雜點(diǎn),進(jìn)行中值濾波處理。設(shè)x(n)為輸入信號(hào),y(n)為中值濾波器的輸出。采用一滑動(dòng)窗,x(n)在n0處的輸出值為y(n0),就是滑動(dòng)窗的中心移動(dòng)到n0處,y(n0)是取窗內(nèi)輸入樣點(diǎn)的中值。詳細(xì)說,在n0點(diǎn)的左右各取L個(gè)樣點(diǎn)連同在n0處的樣點(diǎn),共有(2L+1)個(gè)樣值,把這(2L+1)個(gè)樣值按大小次序排列,取此序列中的中間值作為平滑器的輸出。中值平滑的優(yōu)點(diǎn)是既可以有效地去除少量的野點(diǎn),又不會(huì)破壞數(shù)據(jù)在兩個(gè)平滑段之間的階躍變化。
步驟5:根據(jù)優(yōu)化后的參數(shù)設(shè)置合適的門限值T1和T2,當(dāng)參數(shù)max SEH(i)高于T2閾值時(shí)便肯定進(jìn)入語(yǔ)音段,當(dāng)參數(shù)max SEH(i)小于T1則為結(jié)束點(diǎn),其中閾值T1、T2取經(jīng)過平滑處理后的數(shù)值。
從附圖1、圖2中可以看出,在語(yǔ)音中的有話區(qū)間能量是向上凸起的,而子帶譜熵正相反,在有話區(qū)間向下凹陷。這表明,有話區(qū)間子帶能量的數(shù)值大,而子帶譜熵?cái)?shù)值??;在噪聲區(qū)間子帶能量的數(shù)值小,而子帶譜熵?cái)?shù)值大,所以本發(fā)明中把子帶能量除以子帶譜熵,則可以更突出有話區(qū)間的數(shù)值,噪聲區(qū)間的數(shù)值變得更小,拉開了有話區(qū)間和噪聲區(qū)間的數(shù)值差距,更容易檢測(cè)出語(yǔ)音的端點(diǎn)。
以上這些實(shí)施例應(yīng)理解為僅用于說明本發(fā)明而不用于限制本發(fā)明的保護(hù)范圍。在閱讀了本發(fā)明的記載的內(nèi)容之后,技術(shù)人員可以對(duì)本發(fā)明作各種改動(dòng)或修改,這些等效變化和修飾同樣落入本發(fā)明權(quán)利要求所限定的范圍。