基于双门限法的端点检测
基于雙門限法的端點檢測
代碼+論文+PPT+仿真結果下載地址:下載地址
摘要
語音端點檢測是指從一段語音信號中準確的找出語音信號的起始點和結束點,它的目的是為了使有效的語音信號和無用的噪聲信號得以分離,因此在語音識別、語音增強、語音編碼、回聲抵消等系統中得到廣泛應用。
目前端點檢測方法大體上可以分成兩類,一類是基于閾值的方法,該方法根據語音信號和噪聲信號的不同特征,提取每一段語音信號的特征,然后把這些特征值與設定的閾值進行比較,從而達到語音端點檢測的目的,該方法原理簡單,運算方便。另一類方法是基于模式識別的方法,需要估計語音信號和噪聲信號的模型參數來進行檢測。但基于模式識別的方法自身復雜度高,運算量大,因此很難被人們應用到實時語音信號系統中去。本文采用基于閥值的方法,利用雙門限法對語音端點進行檢測,此方法是比較簡單的檢測方法,在信噪比較小的情況下效果不是很好。
端點檢測在語音識別中占有十分重要的地位,直接影響著系統的性能。本文首先對語音信號進行簡單的短時能量和短時過零率分析,其次利用雙門限算法進行語音端點檢測,并對這算法進行基于MATLAB的GUI仿真,并進行實驗分析。分析比較在不同信噪比下的基于雙門限法端點檢測結果。
關鍵詞:語音信號處理;語音端點檢測;雙門限;MATLAB;GUI仿真;
一、緒論
語音,即語言的聲音,是語言符號系統的載體。它由人的發音器官發出,負載著一定的語言意義,語言依靠語音實現它的社會功能。語音是人們交流思想和進行社會活動的最基本手段,因此我們要對語音信號進行處理分析,優化人類通信交流。語音信號處理包括語音通信、語音增強、語音合成、語音識別和說話人識別等方面。語音信號的好壞、語音識別率的高低,都取決于語音信號處理的好壞。因此,語音信號處理是一項非常有意義的研究課程,而語音端點檢測是語音語音信號處理中非常重要的一步。
語音端點檢測是語音分析、合成和識別中的一個重要環節,目的是從包含語音的一段信號中找出語音的起始點及結束點。有效的端點檢測不僅可以減少數據的存和處理時間,而且能排除無聲段的噪聲干擾。端點檢測的困難在于無聲段或者語音段前后人為呼吸等產生的雜音、語音開始處的弱摩擦音或弱爆破音以及終點處的鼻音,這些使得語音的端點比較模糊,需要綜合利用語音的各種信號特征,從而確保定位的精確性,避免包含噪音信號和丟失語音信號。近年來出現了很多種端點檢測的方法如短時能量、短時過零率、傳統的雙門限法、倒譜特征的檢測方法、譜熵的檢測方法法、分形法等。
盡管語音端點檢測技術在安靜的環境中已經擁有一定的準確率,但是在實際應用時由于聲的引入和環境的改變通常會使系統性能顯著下降。研究表明,即使在安靜的環境中,語音識別系統一半以上的識別錯誤來自端點檢測器。因此,作為語音識別系統的第一步,端點檢測的關鍵性不容忽視,尤其是噪聲環境下語音的端點檢測,實驗室的研究結果與復雜的實用環境下的語音端點檢測仍存在一定的差距,它的準確性很大程度上直接影響著后續的工作能否有效進行,如何準確地檢測出帶噪語音的端點至今仍是一個難題。
(一)研究背景和意義
語音是語言的聲學表現形式,語言是人類特有的功能,聲音是人類常用的信息交流工具,通過聲音傳遞信息是人類最重要、最有效、最準確、最方便、最自然的信息交換的方式。語音信號處理是一門涉及面很廣的交叉科學,包含計算機科學、語音學、語言學、聲學、生理學、心理學和數學等諸多領域的內容。隨著現代科學的蓬勃發展,人類社會越來越顯示出信息社會的特點,猶如衣、食、住、行對于人類是必要的一樣,通信和信息交換也成為了人類社會存在的必要條件,不但在人與人之間,而且在人與機器之間每時每刻都需要進行大量的信息交換。讓計算機聽懂人類的語言,是人類自計算機誕生以來夢寐以求的想法。計算機越來越向便攜化方向發展,計算環境的日趨復雜化,人們越來越迫切要求擺脫鍵盤的束縛。在電子計算機和人工智能機器的廣泛應用中,人們發現,人和機器之間最好的通訊方式是直接進行語言通訊,實現人機自由對話,賦予機器以聽覺,辨別話音的內容或者辨別說話人的身份,使機器能夠按照人的意志進行各種操作,把人類從繁重或危險的勞動中解脫出來。用現代手段研究語音處理技術,使人們能更加有效地產生、傳輸、存儲、獲取和應用語音信息,這對于促進社會的發展十分重要。
語音技術的應用己經成為一個具有競爭性的高新技術產業,它正在直接與辦公、交通、金融、公安、商業、旅游等行業的語音咨詢與管理,工業生產部門的語聲控制,電話、電信系統的自動撥號、輔助控制與查詢以及醫療衛生和福利事業的生活支援系統等各種實際應用領域相接軌,并且有望成為下一代操作系統和應用程序的用戶界面。語音處理內容涉及到計算機科學、模式識別、信號處理、生理學、語音學、心理學等學科,還涉及到信號和信息處理系統、通信和電子系統等具體應用領域。語音信號處理與信息科學中最活躍的前沿科學密切聯系,并且共同發展。例如,神經網絡理論、模糊集理論、小波理論是當前熱門的研究領域,這些領域的研究常常把語音處理任務作為一個應用實例,而語音處理研究者也從這些領域的研究進展中找到突破口,使語音處理技術研究取得進展。從技術角度講,語音信號處理是信息高速公路、多媒體技術、辦公自動化、現代通信及智能系統等新興領域應用的核心技術之一。
經過幾十年的努力,語音信號處理在語音識別、語音增強、語音編碼、說話人識別、說話人情感識別、語音合成等方面取得了巨大的進步,然而,一旦這些技術應用在實際環境中,由于環境噪聲、信道、說話人自身因素等方面的影響,性能急劇下降,因為在實際環境中沒有完全純凈的語音信號,一般都會伴有噪聲或其它干擾。語音端點檢測的任務就是判斷待處理信號是語音還是非語音,從輸入信號中找到語音部分的起止點。端點檢測是語音識別、語音增強以及語音編碼等中的一個重要環節。有效的端點檢測技術不僅能減少系統的處理時間、提高系統的處理實時性,而且能排除無聲段的噪聲干擾,從而使后續工作的性能得以較大提高。
語音端點檢測的準確性對于語音識別系統的性能有著較大的影響。在一個完整的語音識別系統中,許多相關因素影響著整個系統的識別精度和效率,由于在自然環境中,純凈的語音信號總伴隨著各種不同類型的噪聲,而語音識別系統處理的對象是有效的語音信號,因此,由于噪聲的干擾,往往使得整個系統的識別率下降。
另外在通信系統中,典型的會話信道大約有40%的時間真正用于傳輸語音,其余60%的時間傳輸的都是靜默和背景噪聲。由于可利用的頻譜資源隨著移動用戶的飛速發展而急劇下降。如何開發其余60%被浪費的信道資源就成為了提高系統容量的有效手段之一。如果在發送端設立一個語音端點檢測器來區分語音和靜默以及背景噪聲,在接收端用舒適噪聲發生器來重構背景噪聲,這樣就可以極大的提高信道的利用率,而且也能保證重構語音的可懂度和自然度,因此準確的語音端點檢測是非常重要的。
(二)當前研究狀況及問題
語音端點檢測的任務是判斷待處理信號是語音還是非語音。它作為一種語音信號預處理技術,在實際應用中起著非常重要的作用,有效地進行端點檢測不僅可以減少計算量和縮短處理時間,而且能排除無聲段的噪聲干擾、提高語音識別的正確率,因此它廣泛應用于語音識別、語音增強、語音編碼、回聲抵消等系統中。一般來說,理想的語音端點檢測算法應當能夠滿足以下幾點:
(1)門限值應該可以對背景噪聲的變化有一定的適應性。
(2)將短時沖擊噪聲和人的順嘴等瞬間超過門限的信號納入無聲段而不是有聲段。
(3)對于爆破音的寂靜段,應將其納入語音的范圍而不是無聲段。
(4)應該盡可能避免在檢測中丟失鼻韻和弱摩擦音等與噪聲特性相似、短時參數較少的語音。
(5)應該避免使用過零率作為判決標準而帶來的負面影響。
這幾點可以總結為:可靠性,魯棒性,精確性,自適應性,實時性和對噪聲特征無需先驗知識。在所有這些特征中,魯棒性是最難達到的。
傳統算法中大都根據語音信號的時域特征,如基于能量和短時過零率等,在較強噪聲環境下,人類語言中的清音和摩擦音往往和背景噪聲混合在一起,無法準確的分辨出語音和噪聲的端點,容易發生漏檢和虛檢的情況。另外由于漢語詞語的特殊性,音節的末尾大都是濁音,只用短時能量就能較好地判斷一個詞語的末點。而音節的起點—聲母大多都是清聲母,還有送氣與不送氣的塞音和塞差音,當背景噪聲較大時,清音電平與噪聲電平相差無幾,將它們與環境噪聲分辨是比較困難的。
現有的算法存在的主要問題有兩點:
一、在具有較強噪聲的環境下,語音端點檢測往往存在著大量的誤判,不利于后續的處理過程;
二、在高噪聲的環境下不能有效的檢測出語音信號段,造成了有效信息的丟失。
(三)本文主要介紹內容
本文先是介紹端點檢測的研究背景及意義,同時指出來端點檢測現實問題。第三章對語音的特點進行了說明,并對語音信號的預加重,短時能量,短時過零率進行了說明。最后本文采用基于閥值的方法,利用雙門限法對語音端點進行檢測,并利用MATLAB的GUI界面進行仿真實現,是端點檢測的結果更加顯而易見。通過比較不同信噪比下端點檢測的效果分析,得出結論基于雙門限是比較簡單的檢測方法,在信噪比較小的情況下效果不是很好。
二、語音信號的處理
1. 語音信號的特點
語音信號是隨時間變化的一維信號,由一連串的音組成,各個音的排列有一定的規則。語音具有聲學特征的物理性質,聲音質量與它的頻率范圍有關,語音信號的頻率一般是在200Hz3500Hz范圍內,隨著帶寬的增加,信號的自然度將逐步得到改善。語音信號本身的冗余度是較大的,少數輔音清晰度下降并不明顯影響語句的可懂度,比如通常的模擬電話帶寬只有3KHz4KHz。
語音信號的特性是隨時間變化的,所以是一種典型的非穩態信號。但是,從另一方面來看,由于語音的形成過程與發音器官的運動密切相關,這種物理運動比起聲音振動速度來講要緩慢得多,因此,語音信號常常可假定為短時平穩的。研究表明,在5ms-40ms的范圍內,語音信號的頻譜特性和一些物理特征參數基本保持不變。這樣,我們就可以將平穩過程的處理方法和理論引入到語音信號的短時處理中。因此,“短時分析技術”貫穿于語音分析的全過程。
2. 語音信號的預處理
為了消除因為人類發聲器官本身和因一些采集語音信號的設備等所引起的混疊、高次諧波失真現象,在對語音信號進行分析和處理之前,必須對其進行預處理。語音信號的預處理應盡可能地保證處理后得到的信號更均勻、平滑,且能提高語音的質量。
(1)預加重
在進行語音信號數字處理時,為了獲取一段語音信號的時域波形,首先要將語音信號轉換成電信號,再用A/D轉換器將其變換為離散的數字化采樣信號。由于語音信號的平均功率受聲門激勵和口鼻輻射影響,高頻端大約在800Hz以上按6dB/倍頻程跌落,所以求語音信號頻譜時,頻率越高相應的成分越小,高頻部分的頻譜比低頻部分的難求,為此要在預處理中進行預加重處理。目的是提升高頻部分,使信號變得平坦,保持在低頻到高頻的整個頻帶中,能用同樣的信噪比求頻譜,而且預加重零點與輻射零點將抵消聲門波的影響,使語音信號中只包含聲道部分。圖2.1表明了語音預處理的過程:
圖2.1 語音信號的預處理
預加重一般是在語音信號數字化之后,用具有6dB/倍頻程的提升高頻特性的預加重數字濾波器來實現,它一般是一階的數字濾波器:
(2-1)
式中 的取值接近于1。
有時要恢復原信號,需要從做過預加重的信號頻譜來求實際的頻譜時,要對測量值進行去加重處理,即加上6dB/倍頻程的下降的頻率特性來還原成原來的特性。
(2)加窗處理
語音端點檢測首先要進行分幀處理,然后依次判斷每一幀是否為語音的端點。在端點檢測時如果采用較大的窗長,則幀長長,幀數少,這樣計算量會小些,而且進行端點檢測時速度也會快些,但是這樣端點檢測的誤差容易增加。如果采用較小的窗長,則計算量增加,語音識別的速度會降低。我們可以在語音靜音段時,采用較長的窗 ;在語音和靜音的過渡段時采用較小的窗 ,可以確切判斷語音的起始點 ;一旦確定語音的起點,就改用常規窗長。在進行了預加重后,接下來就要對語音信號進行加窗分幀處理。將語音信號劃分為許多短時的語音段,每個短時的語音段稱為一個分析幀。幀和幀之間既可以連續,也可以重疊。
用得最多的三種窗函數是矩形窗、漢明窗(Hamming)和漢寧窗(Hanning),它們的定義如下:
矩形窗: (2-2)
漢明窗: (2-3)
漢寧窗: (2-4)
式中N為窗長,窗函數 的選取(形狀和長度)對于短時分析參數的特性影響很大,為此應該選擇合適的窗口,使其短時參數能更好地反映語音信號的特性變化。以上這些窗函數的幅度頻率響應都具有低通特性,它們的主瓣寬度和旁瓣高度如表2-1所示。
表2-1 1s長的各種窗的主瓣寬度和旁瓣高度
矩形 漢明 漢寧
主瓣寬度 0.81Hz 1.19Hz 1.87Hz
旁瓣寬度 -13dB -43dB -32dB
從表中可知:矩形窗的主瓣寬度最小,但其旁瓣高度最高;漢明窗的主瓣最寬,而旁瓣高度最低。矩形窗的旁瓣太高,會產生嚴重的泄漏現象(Gibbs),所以只有在某些特殊場合中采用。漢明窗旁瓣最低,可以有效地克服泄漏現象,具有更平滑的低通特性,因此,一般在語音信號預處理中,都選用漢明窗來進行語音分幀處理。
3. 語音信號分析
語音信號處理包括語音識別、語音合成、語音編碼、說話人識別等方面,但是其前提和基礎是對語音信號進行分析。只有將語音信號分析成表示其本質特性的參數,才有可能利用這些參數進行高效的語音通信,以及建立用于識別的模板或知識庫。而且,語音識別率的高低,語音合成的音質好壞,都取決于對語音信號分析的準確性和精度。
(1)短時能量
短時能量:設第n幀語音信號的短時能量用表示.則其計算公式為
能量是語音信號的一個重要特性。在語音信號中通常采用En來描述其幅度值改變情況,由于在計算過程中使用了信號的平方,因而它對高電平異常敏感。
語音和噪聲的主要區別在它們的能量上,所以能量是經常使用的音頻特征參數,是對語音信號最直觀的表示。語音信號一般可分為無聲段(靜音段)、清音段和濁音段。由于語音是不穩定的,所以我們采用“短時能量”。所謂短時能量,就是先對語音信號進行分幀處理,然后對每一幀分別求其能量。短時能量是隨機參數,在無聲段,清音段和濁音段,它們分別具有不同的概率密度函數,圖1給出了短時能量在清音、無聲和濁音三種情況下的條件概率密度函數。
圖3.1短時能量在清音無聲和濁音三種情況下條件概率密度函數示意圖
從圖3.1中可以看出,在三種情況中,濁音的短時能量最大,清音的短時能量次之,無聲的短時能量最小。
圖 3.2 短時能量圖像
從圖中可以看出“端點檢測”語音信號中語音部分的能量是最高的,而語音部分又分成靜音段、清音段、濁音段。短時能量函數可用來區分清音段和濁音段。 En大的對應于濁音段,而 En值小的對應于清音段。對于高信噪比的語音信號,無語音信號的噪聲能量很小,而有語音信號的能量 En顯著增大到某一數值,由此可以區分語音信號的起始點和結束點。
(2)短時過零率
短時過零率就是在較短時間內,信號過零的次數,即在一幀語音中語音波形通過零電平的總次數。對離散語音信號來講,若相鄰的兩個采樣點之間相互異號就稱之為過零。
式中,N是采樣點數,sgn[]是符號函數為
第一,用于粗略地描述信號的頻譜特性,就是用多帶濾波器將信號分為若干個通道,對各通道進行短時平均過零率和短時能量的計算,即可粗略地估計頻譜特性。
第二,用于判別清音和濁音、有話和無話。
第三,區分清音和濁音,對語音信號進行分析,發現發濁音時,盡管聲道有若干個共振峰,但由于聲門波引起譜的高頻跌落,所以其語音能量約集中在3kHz以下。而發清音時,多數能量出現在較高頻率上。高頻就意味著高的平均過零率,低頻就意味著低的平均過零率,所以可以認為濁音時具有較低的過零率,而清音時具有較高的過零率。當然,這種高低僅是相對而言的,并沒有精確的數值關系。
三、語音端點檢測算法原理
雙門限檢測法中,將平均過零率和短時能量結合起來,在開始進行端點檢測之前,需要對短時能量以及過零率分別設置兩個門限,即一個高門限(TH)和一個低門限(TL)。當語音信號的低門限TL被超過時,則表示語音信號有可能進入語音段,但必須等語音信號的高門限TH。也被超過時,才能肯定該語音信號進入語音段;同時,當語音信號低于高門限TL。時也不能表示語音信號結束,還必須等到語音信號低于低門限Tl時才能確定語音信號結束。
雙門限法是利用短時能量和過零率的乘積進行檢測的。在基于短時能量和過零率的雙門限端點檢測算法中首先為短時能量和過零率分別確定兩個門限,一個為較低的門限,對信號的變化比較敏感,另一個是較高的門限。當低門限被超過時,很有可能是由于很小的噪聲所引起的,未必是語音的開始,當高門限被超過并且在接下來的時間段內一直超過低門限時,則意味著語音信號的開始。
對上述兩種特征作一個統計估計,得到兩個門限值,利用短時能量檢測濁音,短時過零率檢測清音,兩者配合從而確定語音的端點。由于采集的聲音信號中最初的短時段多為無聲或背景噪聲,這樣就可以利用已知為“靜態”的最初幾幀(一般取10幀)信號計算其過零率閥值zcr及高、低能量閥值amp2(低能量閥)和amp1 (高能量閥)。
計算amp2和amp1時,首先計算最初10幀信號中每幀的短時平均能量或平均幅度 ,E最大值記為max,最小值記為min。
本文在計算短時能量之前,先經過一個濾波器,高通濾波器,此為預加重濾波器,目的在于濾除低頻干擾 ,尤其是50Hz或60Hz的工頻干擾,將對于語言識別更為有用的高頻部分的頻率進行提升,在計算短時能量之前應用該濾波器,還可以起到消除直流漂移、抑制隨機噪聲和提升清音部分能量的效果。其關鍵代碼為:amp=sum(abs(enframe(filter([10.98],1,x),FrameLen,FrameInc)),2)。
文中能量門限調整代碼為:
amp1=min(amp1,max(amp)/4);
amp2=min(amp2,max(amp)/8);
根據語音信號的實際情況對門限值進行調整,以便更好的對語音端點進行檢測。
四、基于MATLAB GUI的仿真分析
(一)端點檢測的步驟
1、預處理:包括濾波,預加重,分幀,加窗等,這里要考慮濾波器參數的選擇,分幀時幀長長度的選擇,加窗窗函數的選擇。
2、特征提取:在時域或者頻域提取能反映語音本質特征的聲學參數,如短時能量,短時過零率等。特征提取目的是將輸入信號轉化為特征參數,然后利用特征參數進行語音段與無聲段的區分。特征提取是語音端點檢測的關鍵問題,特征參數選擇的好壞直接影響到語音端點檢測的準確率的高低。
3、確定門限:語音段最開始的幾幀一般為無聲段,根據無聲段的特征值大小確定門限值,一般選擇較大和較小兩個門限值Tmax和Tmin,且Tmin< Tmax,Tmin很容易被超過,數值較小,對信號變化很敏感,Tmax數值較大,語音信號要一定的強度才能超過。
4、端點檢測:確定門限后就可以進行端點檢測,根據門限值來區分有語音段和噪聲段,得出檢測結果。1、預處理:包括濾波,預加重,分幀,加窗等,這里要考慮濾波器參數的選擇,分幀時幀長長度的選擇,加窗窗函數的選擇。
五、總結
語音信號端點檢測是語音信號處理中非常重要的一項預處理技術,因此是語音信號處理中不可缺少的一步。本文主要圍繞端點檢測的工作主要有以下幾個方面:
(1)介紹了語音信號處理中的一些基礎處理知識,例如短時分析技術、預加重、加窗和分幀等。
(2)對短時能量檢測法、過零率檢測法等進行了介紹,陳述了它們的優缺點。
(3)傳統的雙門限算法進行語音的端點檢測,并且利用MATLAB的GUI進行仿真實現,是的結果更加顯而易見。
(4)再通過對不同信噪比情況下端的點檢測結果進行實驗分析,實驗結果表明在基于雙門限法的語音端點檢測檢測在信噪比較小的時候存在較大誤差。
隨著語音相關學科的發展和新興技術的不斷出現必將使得未來的語音系統逐漸智能化,而作為關鍵技術之一的語音端點檢測也將隨之不斷提高。如何有效地結合多種抗噪性能好的特征參數,使其更簡潔、完善、精確、高效、魯棒性好等將是今后研究的一個重要方面。
參考文獻
[1] 何強,何英. MATLAB擴展編程[M].北京:清華大學出版社,2002
[2] 趙麗霞.噪聲環境下基于特征的語音端點檢測研[D].湖南大學,2010
[3] 孫海英.基于倒譜特征和濁音特性的語音端點檢測方法的研究[D]青島科技大學,2008
[4] 趙力.語音信號處理[M].北京:機械工業出版社,2003.04:36~40
[5] 劉波,文忠,曾涯.MATLAB信號處理[M] .北京:電子工業出版社
[6] 萬建偉,王玲.信號處理仿真技術[M].長沙:國防科技大學出版社,2008.
[7] 蔡蓮紅,黃德智,蔡銳.現代語音技術基礎與應用.北京:清華大學出版社
[8] 馮碩. 自適應的語音端點檢測技術研究[D]北京郵電大學, 2008
總結
以上是生活随笔為你收集整理的基于双门限法的端点检测的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通信系统未编码、卷积码与格雷码的仿真性能
- 下一篇: 我的公众号,写得好吗?