楊 熙
?
一種面向智能家居的語音端點檢測方法仿真
楊熙
(湖南科技學院 電子與信息工程學院,湖南 永州 425199)
為了人機之間的智能化溝通,實現家居的真正智能化,有必要在智能家居系統中引入語音識別技術,而端點檢測是語音識別前端處理中很重要的一環。文章針對傳統的雙門限端點檢測算法在實際運用中存在的一些漏檢和虛檢情況,做了一些修正,并對改進后的算法進行了仿真驗證。實驗結果表明改進后的算法具有一定的抗噪聲能力。
語音識別;智能家居;端點檢測
隨著社會的進步,人們對家居品質的需求越來越高,智能家居成為當今的熱點,但人機接口方面卻仍局限于按鍵、觸摸屏等手動操作,沒有實現人機之間基于自然語言的智能化溝通[1]。為了讓人與機器和人與人的交流方式一樣,實現家居的真正智能化,有必要引入語音識別技術。端點檢測是語音識別前端處理中很重要的一環,它的工作就是確定語音信號的開始位置和結束位置。精確的端點檢測,不僅有利于讓系統僅處理語音輸入,降低對系統存儲空間的要求,還能節省處理時間,提高識別率。
實際應用中,有效的語音端點檢測算法不僅要考慮檢測的精確性,還要求算法具有簡單性。鑒于智能家居語音識別控制系統中,需要識別的語音樣本來自室內,故采用雙門限端點檢測算法。為了有一定的抗噪聲性能,對傳統的雙門限檢測法進行了改進。
語音信號通常有濁音段、清音段和靜音段之分,傳統的雙門限是利用兩個有效參數:短時能量和過零率,來實現語音端點的檢測。從能量的角度來區分“靜音”還是“有聲”,但清音段的能量小,可也屬于語音段。那么怎么來處理?考慮到它的過零率比較大,因此用過零率來檢測。端點檢測時,必須先分幀,分幀后再求短時能量和過零率,然后逐幀跟閾值進行比較并判斷。

式(1)中,幀長為N,n取0,1T,2T,…,這里T代表幀移。

過零率指的是樣本改變符號的次數。對于語音信號,定義為一幀信號中波形通過零電平的次數[2]。第幀語音信號的短時過零率Z為:

式(3)中,sgn[ ]為符號函數。
濁音能量較大,用短時能量來檢測,清音的頻率較高,用過零率來找到它。經典的雙門限端點檢測算法如圖1所示。能量門限有兩個:一個較高的門限amp1,另外一個門限是amp2,門限amp2比門限amp1稍微要取得低些。若超過能量門限amp1,肯定是語音已開始,通過低門限amp1確定語音的開始N1和終止處N2,如果是清音的話,能量很弱,再用過零率進一步來精確端點。
傳統的雙門限端點檢測算法在實際應用時,如果處理不當,存在錯把干擾當語音的虛檢或錯把停頓當語音結束的漏檢問題,特別是當有較大干擾時[3]。

圖1.用能量和過零率進行端點檢測
為了克服傳統端點檢測算法的一些缺點,因此有必要對它做一些修正。下面對傳統的算法做了一些改進。
(1)采用多門限判定。除了設定短時能量的高低兩個門限amp1和amp2,過零率閾值zcr,還增設了字與字之間的最大靜音門限maxsilence;最小語音長度門限minlen。其中maxsilence是為了防止漏檢;minlen是為了排除一些突發性的噪聲,防止誤檢。
(2)動態設置閾值。利用語音前導無話段來估算噪聲的特性,即對前導無聲段,一般取200ms左右,估算背景噪聲的短時平均過零率和短時平均能量,再在這兩值的基礎上設置能量和過零率的閾值,這樣改進后的端點檢測算法會具有一定的抗噪聲性能。這里高低能量門限分別取的是前導無話段平均能量值的2倍和4倍;過零率門限取前導無話段平均過零率的2倍;最大靜音門限maxsilence和最小語音長度門限minlen分別取8和5,maxsilence和minlen參數還和說話人的語速有關系,所以以上這些參數的選取都應根據實際情況進行調整。
(3)修正過零率。實際中由于噪聲的存在,系統存在零漂移,這時用式(3)計算出的短時過零率來區分清音段和無聲段,將會影響端點檢測效果。為了保證過零率計算的穩定,需要對(3)式進行修正。修正后的過零率按式(4)進行計算。T為經驗值,這里取0.02。

算法思路是當某幀信號大于能量低門限amp2或者大于過零率閾值ZCR時,找到語音的起始點,當大于能量高門限amp1時,肯定是語音信號,如果它的持續時間還能不小于minlen,則就是我們所需的要檢測出來的語音信號。
整個端點檢測過程是基于狀態轉移的,有5個轉移狀態。其中status0表示包含噪聲的靜音態,status1表示語音的起始過渡態,status2表示真正的語音態,status3表示字與字間的停頓態,status4表示檢測完畢的結束態。設置標志位fag,當fag=1時,繼續往后掃描后續單字的端點,當flag=0時,表示已經找到語音的結束點,并返回。這5個狀態之間的轉換關系如圖2所示。

圖2.改進端點檢測的狀態轉移示意圖
圖3為女聲“關機”的端點檢測結果,從原語音波形可以看出來在50幀到100幀之間有明顯的突發性噪聲;圖4是女聲“打開空調”的語音樣本,疊加了40dB的高斯隨機噪聲。

圖3.女聲“關燈”的端點檢測結果
圖4.帶噪語音“打開空調”端點檢測結果
從圖3和圖4仿真結果可看出,用基于動態噪聲的改進端點檢測方法,對于突發性噪聲及信噪比不是太低時都有比較不錯的端點檢測效果。
[1] 劉萌,趙建平,等.基于語音識別的家庭智能監控系統設計[J].電聲技術,2016,(10):58-59.
[2]孫一鳴,吳楊揚,李平.基于改進雙門限法的語音端點檢測研究[J].長春理工大學學報(自然科學版),2016,(1):92-95.
[3] 薛勝堯.基于改進型雙門限語音端點檢測算法的研究[J].電子設計工程,2015,(4):78-81.
(責任編校:宮彥軍)
2016-02-16
湖南省教育廳科研項目(項目編號16C0683);永州市科技計劃項目(項目編號永科[2015]9號)。
楊熙(1982-),女,湖南永州人,講師,碩士研究生,研究方向為語音識別,嵌入式系統。
TP391
A
1673-2219(2017)10-0037-02