短時能量 過零率_第1頁
短時能量 過零率_第2頁
短時能量 過零率_第3頁
短時能量 過零率_第4頁
短時能量 過零率_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、西南林學院2004屆本科畢業論文1 前言和開發背景1.1前言本課題為給語音識別系統提供語音信號端點檢測的功能,對語音信號端點檢測進行了探討和研究。語音信號處理部分包括:語音信號的電壓放大、反混疊濾波、自動增益控制、模數變換、去除聲門激勵及口唇輻射的影響等。本課題主要是側重語音區間的端點檢測,端點檢測的目的是從包含語音的一段信號中確定出語音的起點以及終點。為了實現可靠的端點檢測,在算法Vad中主要應用了短時能量和過零率兩者配合實現,并且在端點檢測的過程中采取四個階段標識語音信號的狀態來實現的。對大象聲音進行錄制和處理,利用MATLAB軟件進行端點檢測,MATLAB軟件是語音識別系統中有效,方便的

2、工具,提供了強大的科學運算、靈活的程序設計流程、高質量的圖形可視化與界面設計、便捷地與其他程序和語言接口的功能。結果表明,基于端點檢測算法Vad和應用MATLAB工具,可以有效確定語音的起點和終點,并能夠以圖像的形式直觀的表示出來,端點檢測使處理時間減到最小,排除無聲段的噪聲干擾,從而使識別系統具有良好的識別功能1。1.2開發背景本項目來源于云南省重點項目西雙版納自然保護區系統建設。綜合應用傳感器技術,數字仿真技術,數據編碼與數據壓縮技術,DSP技術,無線傳輸技術等,研究自然保護區視頻信號、聲音信號以及其他監測信號的采集、傳送、處理方案,設備選型方案,二次開發技術,為自然保護區信息系統建設。本

3、課題重點是語音識別系統的開發與研究,側重于語音識別系統的語音信號的端點檢測。本課題研究的目的在于為開發一個能夠識別野象聲音的語音識別系統提供語音信號的端點檢測功能,端點檢測在語音識別系統中有重要地位,是語音識別系統中不可缺少的一部分,也是預處理中很重要的一個環節,這個功能使處理時間減到最小,排除無聲段的噪聲干擾,從而使識別系統具有良好的識別功能,提高語音識別系統的識別效率和準確率。研究的內容是:首先錄制大象的聲音,并處理聲音文件達到MATLAB識別的擴展名為wav的聲音文件格式,在聲音時間上也要有控制。然后對端點檢測的核心算法vad進行探討和研究,主要運用了短時能量和過零率兩者配合實現可靠的端

4、點檢測,并對其中參數進行一步探討。2 語音信號端點檢測概述2.1語音識別系統簡介在做本課題的過程中,采用的是非實時的處理方法,在錄音時必須聲音進行聲音控制。在一個語音識別系統中,程序必須能夠判斷當前是靜音還是對象在說話,如果對象發出了語音信號,那么應該保存這段語音信號,將其頭部和尾部的靜音部分刪除掉。這一功能被稱為語音信號的端點檢測2。語音識別系統是建立在一定的硬件平臺和操作系統之上的一套應用軟件系統。其硬件平臺一般是一臺個人機或是一臺工作站;操作系統可以選擇UNIX或WINDOWS系列。語音識別一般分兩個步驟。第一步是系統“學習”或“訓練”階段。這一階段的任務是建立識別基本單元的聲學模型以及

5、進行文法分析的語言模型等。第二步是“識別”或“測試”階段。根據識別系統的類型選擇能夠滿足要求的一種識別方法,采用語音分析方法分析出這種識別方法所要求的語音特征參數,按照一定的準則和測度與系統模型進行比較,通過判決得出識別結果。語音識別A/D變換話筒語音信號輸入電話端點檢測參數分析動作應用(Application)Vad算法 圖1語音識別系統的組成框圖語音識別系統,除了包括核心的識別程序,還必須包括語音輸入手段、參數分析、標準聲學模型、詞典、文法語言模型等,以及制作這些東西所需的工具。根據識別結果在實際環境下實現一定的應用,還必須考慮耐環境技術,用戶接口輸入和輸出技術等。因此,語音識別技術加上各

6、種外圍技術的組合,才能構成一個完整的實際應用的語音識別系統。從語音識別系統的各個功能劃分的角度出發,語音識別系統可分為語音信號的預處理部分、語音識別系統的核心算法部分以及語音識別系統的基本數據庫等幾部分。圖1給出了一般語音識別系統的組成框圖5。圖1給出了一般語音識別系統的組成框圖。識別預處理的過程主要是對通過話筒或電話線路輸入的語音信號進行數字化采樣、在語音檢測部切出語音區間、經過語音分析部變換成特征向量,在語音識別部根據單詞字典和文法的約束進行語音特征向量時間序列和語音聲學模型的匹配輸出識別結果,然后或直接把識別出的單詞或由單詞列組成的句子輸出給應用部分(Application),或把識別結

7、果轉接成控制信號,控制應用部分的動作3。2.2語音信號的端點檢測在語音識別系統中的地位和作用端點檢測的目的是從包含語音的一段信號中確定出語音的起點以及終點。有效的端點檢測不僅能使處理時間減到最小,而且能排除無聲段的噪聲干擾,從而使識別系統具有良好的識別性能。有學者用一個多話者的數字識別系統做了如下一個實驗。首先對所有記錄的語音用手工找出準確的端點,得到它們的識別率;然后逐幀(幀長為15ms)加大端點檢測的誤差,在每次加大誤差的同時得到它們的識別率。結果表明在端點檢測準確時識別率為93%的系統,當端點檢測的誤差在+60ms(4幀)時,識別率降低了3%;在+90ms(6幀)時,降低了10%;而當誤

8、差在進一步加大時,識別率急劇下降。這說明端點檢測的成功與否甚至在某種程度上直接決定了整個語音識別系統的成敗4。在設計一個成功的端點檢測模塊時,會遇到下列一些實際困難: 信號取樣時,由于電平的變化,難于設置對各次試驗都適用的閥值。 在發音時,人的咂嘴聲或其他某些雜音會使語音波形產生一個很小的尖峰,并可能超過所設計的門限值。此外,人呼吸時的氣流也會產生電平較高的噪聲。 取樣數據中,有時存在突發性干擾,使短時參數變得很大,持續很短時間后又恢復為寂靜特性。應該將其計入寂靜段中。 弱摩擦音時或終點處是鼻音時,語音的特性與噪聲極為接近,其中鼻韻往往還拖得很長。 如果輸入信號中有50Hz工頻干擾或者A/D變

9、換點的工作點偏移時,用短時過零率區分無聲和清音就變的不可靠。一種解決方法是算出每一幀的直流分量予以減除,但是這無疑加大了運算量,不利于端點檢測算法的實時執行;另一種解決方法是采用一個修正短時參數,它是一幀語音波形穿越某個非零電平的次數,可以恰當地設置參數為一個接近于零的值,使得過零率對于清音仍具有很高的值,而對于無聲段值卻很低。但事實上,由于無聲段以及各種清音的電平分布情況變化很大,在有些情況下,二者的幅度甚至可以相比擬,這給這個參數的選取帶來了極大的困難5。由上可見,一個優秀的端點檢測算法應該能滿足: 門限值應該可以對背景噪聲的變化有一定的適應。 將短時沖擊噪聲和人的咂嘴等瞬間超過門限值的信

10、號納入無聲段而不是有聲段。 對于爆破音的寂靜段,應將其納入語音的范圍而不是無聲段。 應該盡可能避免在檢測中丟失鼻韻和弱摩擦音等與噪聲特性相似、短時參數較少的語音。 應該避免使用過零率作為判決標準而帶來的負面影響。在做本課題時,端點檢測方法是將語音信號的短時能量與過零率相結合加以判斷的。但這種端點檢測算法如果運用不好,將會發生漏檢或虛檢的情況。語音信號大致可以分為濁音和清音兩部分,在語音激活期的開始往往是電平較低的清音,當背景噪聲較大時,清音電平與噪聲電平相差無幾。采用傳統的語音端點檢測方法很容易造成語音激活的漏檢。而語音信號的清音段,對于語音的質量起著非常重要的作用。另一方面,較大的干擾信號,

11、又有可能被當成是語音信號,造成語音激活的虛檢。如可能出現弱摩擦音和鼻韻被切除、誤將爆破音的寂靜段或字與字的間隔認為是語音的結束、誤將沖擊噪聲判決為語音等情況,因而實際運用中,如果處理的不好,則效果欠佳。為了克服傳統端點檢測算法的缺點,已有很多改進方法被提出來。例如,可以考慮采用基于相關性的語音端點檢測算法。這種方法依據的理論是:語音信號具有相關性,而背景噪聲則無相關性。因而利用相關性的不同,可以檢測出語音,尤其是可以將清音從噪聲中檢測出來。為此,可以定義一種有效的相關函數,并且通過實驗可以找到判別門限設定方法以及防止漏檢和虛檢的方法6。3語音信號端點檢測vad算法的探討和實現本課題的端點檢測算

12、法,該算法采用的是非實時運行的,并且在實現端點檢測時,是在MATLAB下運行實現的,在MATLAB中,聲音文件是擴展名為wav文件中獲取語音采樣,所以在進行端點檢測之前要將聲音文件先處理和轉換為wav文件格式的聲音文件,再將其分幀并計算短時能量和過零率參數,然后進行端點檢測。這種工作方式被稱為離線(off-line)處理方法,而實時的處理方法則是在線(on-line)的。以下將對語音信號的分幀,短時能量,過零率以及端點檢測進行探討和實現。3.1語音信號的分幀對語音信號進行分幀,本課題采用了voice box工具箱中的函數enframe。其函數主要功能是將待端點檢測的聲音文件進行分幀,進行語音信

13、號的采樣,以便計算短時能量和過零率,為端點檢測做基本的準備,在進行分幀時,根據實際的要求定義幀的屬性,比如幀長和幀移。在使用這個函數時,非常方便,只用將其加入到MATLAB的搜索路徑,就可以直接使用該函數了。Enframe函數的語法為:f=enframe(x,len,inc);這里x為輸入語音信號,len指定了幀長,inc指定幀移。函數返回為n*len的一個矩陣,每行都是一幀數據。例如對大象聲音的采樣序列進行分幀的過程為以下所示,以下命令在MATLAB中的command window里直接就可以看到變量的屬性8。>> y=enframe(x,240,80);>> who

14、s y xName Size Bytes Class x 66156x1 529248 double array y 824x240 1582080 double arrayGrand total is 263916 elements using 2111328 bytes可以看到包含語音采樣的一維數組x經過enframe處理后得到二維數組y,有824行,表示總的幀數為有824幀,每行都是240個采樣,為一幀,幀移是80,在進行采樣時,當一幀采樣完時,采樣第二幀,那么就有80幀與第一次采樣是一樣的,這就是幀移的用法。還可以看到屬性,比如x是66156*1的矩陣,有529248bytes,y是8

15、24*240的矩陣,有1582020bytes。如果改變幀長為120和幀移為40,輸出結果如下,同樣可以看到采樣后變量x和y的屬性如下:>> y=enframe(x,120,40);>> whos y x Name Size Bytes Class x 66156x1 529248 double array y 1651x120 1584960 double arrayGrand total is 264276 elements using 2114208 bytes3.2短時能量的計算圖2是數字“0”的波形圖,可以看到,在7500之前的部分信號幅度很低,明顯是屬于靜音

16、,而在7500以后,信號幅度開始增強,并呈現比較明顯的周期性。在波形下半部分可以觀察到有規律的尖峰,兩個尖峰之間的距離就是所謂的基音周期,實際上也就是說話人的聲帶振動的周期9。圖2 數字“0”的語音波形由圖可以很直觀地想到,可以用信號的幅度作為特征,區分靜音和語音。只要設定一個門限,當信號的幅度超過該門限的時候,就認為語音開始,當幅度降低到門限以下就認為語音結束。實際上,一般是用短時能量的概念來描述語音信號的幅度的。對于輸入的語音信號X(N),其中N為采樣點,首先進行幀的操作,將語音信號分成每2030毫秒一段,相鄰兩幀起始點之間的間隔為10毫秒,也就是說兩幀之間有1020毫秒的交疊。由于采樣頻

17、率的差異,幀長和幀移所對應的實際采樣點數也是不同的。對于8KHZ采樣頻率,30毫的幀長對應240點,記為N,而10毫秒的幀移對應80點,記為M11。對于第i幀,第n個樣本,它與原始語音信號的關系為: xi(n)=x(i-1)M+n第i幀語音信號的短時能量可以用下面幾種算法得到: e(i)=|xi(n)| e(i)=x²n(n) e(i)=logx²n(n)三種定義的短時能量分別用下面三行MATLAB命令實現:amp1 = sum(abs(y),2);amp2 = sum(y.*y,2);amp3 = sum(log(y.*y+eps),2);其中amp3中之所以加上小的浮點

18、數eps,是為了防止log運算中可能出現的溢出。以下利用語音信號分幀的幀長和幀移的不同取值,對三種短時能量的圖形進行分析。圖3為當幀長len=240,幀移inc=80時,大象聲音的三種短時能量的圖形:圖3 len=240,inc=80大象三種短時能量圖圖4為當幀長len=120,幀移inc=40時,大象聲音的三種短時能量的圖形:圖4 len=120,inc=40大象三種短時能量圖由以上兩圖可以看出,三種能量的輸出要由語音信號的分幀函數enframe決定,當分幀的幀長和幀移比較大的時候,那么輸出的短時能量值就比較大,當語音信號的分幀的幀長和幀移比較小的時候,那么輸出的短時能量值就比較小。而且由以

19、上兩圖可以看出,圖3相對應的值幾乎是圖4的兩倍,這主要是圖3的幀長和幀移的取值是圖4的兩倍,并且短時能量的主要是對矩陣y求和的過程,所以從圖形中可以直觀地看到,不同的幀長和幀移對短時能量輸出的影響7。能量之前應用該濾波器,還可以起到消除直流漂移、抑制隨機噪聲和提升清音部分能量的效果。將這些寫在MATLAB語句是12: amp= sum(abs(enframe(filter(1-0.9375,1,x),framelen,frameinc),2);在這里采用的是絕對值能量,實際上就是平均幅度。3.3過零率的計算將語音信號分幀后計算每幀的短時能量,再設定一個門限,就可以實現一個簡單的端點檢測算法。但

20、是這樣的算法是很不可靠的,因為人的語音分清音和濁音兩種,濁音為聲帶振動發出,對應的語音信號有幅度高,周期性明顯的特點,而清音則不會有聲帶的振動,只是靠空氣在口腔中的摩擦,沖擊或爆破而發聲,其短時能量一般比較小,如聲母“s”,“ c”等的幅度很低,往往會基于能量的算法漏過去。圖5顯示的是數字“7”的波形,可見聲母“q”的范圍約為6500-7500,其幅度明顯比后面的幅度低,而比前面的靜音部分高。聲母“s”和“c”的幅度往往更低,以至于有時用肉眼都難以與靜音部分相辨別,因此基于能量的算法對這些清音信號幾乎無能為力9。圖5 數字“7”的波形對于圖5的靜音段聲母開始段,可以發現靜音和聲母的區分點大致在

21、6550左右。盡管此時不能用短時能量可靠地區分,但是可以發現在靜音段信號的波形變化相對比較緩慢,而在清音段,由于口腔空氣摩擦的效果,所造成的波形在幅度上的變化比較劇烈,通常可以用一幀信號中波形穿越零電平的次數來描述這種變化的劇烈程度,稱為過零率。實際應用中,為了避免靜音段的隨機噪聲產生過高的過零率,通常都先設定一個門限,當前后兩個采樣的符號不同,而且差值大于該門限的時候,就將過零率的數值加1。在MATLAB中,用以下核心代碼實現過零率:zcr=zeros(size(y,1),1);delta=0.02;for i=1:size(y,1)x = y(i,:);for j = 1:length(x

22、)-1 if x(j) *x(j+1)<0 & abs(x(j)-x(j+1)>delta zcr(i) = zcr(i)+1;end endend其核心思想是:判斷相鄰兩幀的符號是否小于零,并且兩幀的差值是否大于設定的一個門限值delta,如果滿足以上兩個條件,那么過零率加1。其中設置了門限delta=0.02,這是個經驗值,可以進行細微的調整。在此條件下,可以得到大象的過零率波形,如圖6所示:圖6 大象聲音的過零率為了進一步探討過零率對語音信號的判斷作用,分別對數字“7”和“5”進行過零率輸出圖形進行比較,圖7為數字“7”的過零率圖形,圖8為數字“5”的過零率圖形:圖7

23、 數字“7”的過零率圖8 數字“5”的過零率從圖可以看到,數字“7”語音信號部分的幅度比較低,但是其過零率的數值卻很高,峰值將近50,而在后面的韻母部分過零率則比較低,在20左右。而數字“5”語音信號部分一開始的幅度就比較高,而過零率也比較高,隨著幅度的升高,過零率也升高。由此可見,過零率能夠敏感得表示清音。在實際應用中,通常是利用過零率來檢測清音,用短時能量來檢測濁音,兩者配合實現可靠的端點檢測。3.4端點檢測的流程和算法實現3.4.1 端點檢測的流程在開始進行端點檢測之前,首先為短時能量和過零率分別確定兩個門限。一個是比較低的門限,其數值比較小,對信號的變化比較敏感,很容易就會被超過。另一

24、個是比較高的門限,數值比較大,信號必須達到一定的強度,該門限才可能被超過。低門限被超過未必就是語音的開始,有可能是時間很短的噪聲引起的。高門限被超過則可以基本確信是由于語音信號引起的。整個語音信號的端點檢測可以分為四段:靜音,過渡段,語音段,結束。程序中使用一個變量status來表示當前所處的狀態。在靜音段,如果能量或過零率超過了低門限,就應該開始標記起始點,進入過度段。在過度段中,由于參數的數值比較小,不能確信是否處于真正的語音段,因此只要兩個參數的數值都回落到低門限以下,就將當前狀態恢復到靜音狀態。而如果在過度段中兩個參數中的任一個超過了高門限,就可以確信進入語音段了。一些突發性的噪聲也可

25、以引起短時能量或過零率的數值很高,但是往往不能維持足夠長的時間,如門窗的開關、物體的碰撞等引起的噪聲,這些都可以通過設定最短時間門限來判別。當前狀態處于語音段時,如果兩個參數的數值降低到低門限以下,而且總的記時長度小于最短時間門限,則認為這是一段噪音,繼續掃描以后的語音數據。否則就標記好結束端點,并返回。3.4.2 端點檢測算法的實現在實現端點檢測的算法中,對語音信號的分幀,設幀長len=240,幀移inc=80。在進行端點檢測之前,首先將語音信號進行幅度歸一化處理到-1,1,為了避免幅度太大,不便于分析。在MATLAB中,用以下語句實現:x=double(x);x=x/max(abs(x);

26、在端點檢測時,設置最大靜音長度maxsilence=3,也就是為3*10ms=30ms,并且設置一個符號標記靜音,用silence表示,在實際設置時,可以根據實際情況進行微調,不同的對象發出的聲音的特點不同,比如音頻,音調以及發音的連續性,比如大象發出的聲音一般都是連續性的吼叫,而人發出聲音,一般都是字詞句,所以二者有者的最大靜音長度的設置有著很大的不同,大象的最大靜音長度可以設置相對小一些。在端點檢測的過程中,處于語音段的時候,那么就要對語音段中出現的靜音進行判斷,如果出現靜音(silence)的長度小于maxsilence,那么認為靜音還不夠長,語音段還尚未結束,語音還在進行,將繼續判斷語

27、音信號。與此同時,還要設置一個最小噪聲長度minlen=15,也就是為15*10ms=150ms,并且設置一個標記語音信號的長度,用count來表示,此參數主要是用于判斷一些突發性和偶然性的噪聲,比如關門聲和關窗聲,這些突發性的聲音的能量都很大,甚至于可以達到所設定的能量的高門限,但是這些聲音屬于噪聲,并不是我們所需要的有效語音信號部分,所以必須能夠判斷出來并且過濾。在實際應用時,也可以對此參數根據實際情況進行調整。在語音段的過程中,要對已經滿足短時能量和過零率的語音信號進行進一步的判斷,如果語音信號長度標記count小于最小噪聲長度minlen,那么認為語音長度太短,判斷為噪聲13。在前面的

28、過零率計算方法用到了兩重循環,其速度比較慢,為了提高算法的效率,在端點檢測中采用一種矢量化的計算方法在,MATLAB中是用以下核心代碼實現的:tmp1 = enframe(x(1:end-1), FrameLen, FrameInc); tmp2 = enframe(x(2:end) , FrameLen, FrameInc);signs = (tmp1.*tmp2)<0; diffs = (tmp1 -tmp2)>0.02; zcr = sum(signs.*diffs, 2); temp1和temp2都是由X得到,但是相互之間相差一個采樣點,即相鄰的兩幀。signs為符號數組,

29、用于存儲相鄰兩個采樣點的符號是否相同,即是否穿越零電頻,如果為負,則表明穿越零電頻,反之則沒有穿越。設置了門限0.02,這是個經驗值,diffs用來度量相鄰兩個采樣點之間的距離,要為相鄰兩個采樣點定義一個距離門限,如果信號只是簡單地穿越零電頻,也不能說明是語音信號,因為一些噪聲也是有可能穿越零電頻,但是其幅度很小,所以就為其設置一個門限,可以有效地防止噪聲。如果距離大于門限0.02,則為1,否則為0。然后將兩個矩陣點相乘就可以得到同時滿足兩個基本點條件的采樣點矩陣。然后將其按幀求和,就可以得到過零率。在計算短時能量時,主要用的時取絕對值的短時能量。計算短時能量之前,首先將語音信號通過一個一階高

30、通濾波器1-0.9375z-1,可以有效濾除低頻干擾,尤其是50Hz或60Hz的工頻干擾,將對于語音識別更為有用的高頻部分的頻譜進行提升。在計算短時能量之前應用該濾波器,還可以起到消除直流漂移、抑制隨機噪聲和提升清音部分能量的效果。將這些寫在MATLAB語句是:amp = sum(abs(enframe(filter(1-0.9375,1,x), framelen, frameinc),2);在這里采用的是絕對值能量,實際上就是平均幅度。以上進行了常數設置,以及短時能量和過零率的計算,然后分別為短時能量和過零率計算和定義兩個門限,一個高門限和一個低門限。以下將對端點檢測的四個階段進行討論。四個

31、階段:靜音,過渡段,語音段,結束,分別用0123來表示。在靜音段和過渡段(0,1),如果語音信號的短時能量amp(n)大于短時能量的高門限amp1,那么可以確信進入語音段,status=2;靜音silence=0;語音長度標識count加1。如果短時能量amp(n)只大于短時能量的低門限amp2或者過零率zcr(n)大于低門限zcr2,那么只能判斷可能處于語音段,status=1。在語音段(2),如果短時能量amp(n)大于短時能量低門限amp2或者過零率zcr(n)大于過零率的低門限zcr2,那么就可以判斷保持在語音段,語音長度count加1。在語音段中,還要判斷靜音長度silence是否小

32、于最大靜音長度,如果小于,那么認為靜音還不夠長,語音還沒有結束,語音還在進行,語音長度count加1。同時也要判斷語音的長度count,如果count小于最小噪聲長度minlen,那么認為語音長度count太短,不是語音信號,是噪聲,status=0;count=0。最后一個階段,結束(3)10。程序在最后還將原始語音信號、短時能量和過零率繪制出來,同時在各自圖形上用紅線標出了開始端點和結束端點。該函數vad返回兩個變量x1和x2分別為起始端點和結束端點的幀數。以下為數字“7”和數字“4”的端點檢測圖:圖9 數字“7”的端點檢測圖圖10 數字“4”的端點檢測圖由圖10可以看到,聲母s的短時能量

33、明顯比較低,即便是用手工標注也很容易將其誤認為是噪聲而切除,但是該段的過零率很高,可以很準確地區分靜音和聲母,這就保證了端點檢測的準確性2。4課題過程中遇到的困難及解決4.1遇到的主要困難本課題主要是為語音識別系統提供一個語音信號的端點檢測功能,端點檢測就是要能夠確定語音信號的起點和終點,使語音識別系統處理時間減到最小,排除無聲段的噪聲干擾,從而使識別系統具有良好的識別功能。所以在設計端點檢測算法時,就要使端點檢測具有這些功能。在實際中主要遇到以下一些困難:本課題設計的端點檢測,不僅可以檢測大象的聲音信號的端點,也可以檢測人的聲音信號的端點,在信號取樣時,由于大象和人的聲音特征有很大的不同,所

34、以對一些參數的設置存在困難。在發音時,人的咂嘴聲或其他某些雜音會使語音波形產生一個很小的尖峰,并可能超過所設計的門限值,所以對門限值的設定也是一個困難。在取樣數據中,錄音的時候有時存在突發性干擾,使短時參數變得很大,持續很短的時間后又恢復為寂靜特性。應該將其計如寂靜段中。弱摩擦聲或終點處是鼻音時,語音的特性與噪聲極為接近,有些字的鼻韻往往還拖的很長。由于是第一次接觸語音識別方面的知識,剛入手做有很多困難,比如錄音設備的限制,因為在端點檢測主要是在MATLAB上實現的,在MATLAB里只能識別WAV格式的文件,并且第一次使用MATLAB這個軟件,與其他軟件存在許多不同的地方,也是一個從頭開始學習

35、的過程1。4.2困難解決基于以上的困難,在實踐中解決方法如下:對于不同的對象,比如大象和人的聲音,根據各自聲音的特征和通過前人的經驗數據,以及自己的多次實驗,對端點檢測里的參數進行不同的設置,以達到更準確地確定語音信號的起點和終點。對于人的咂嘴聲或其他某些雜音會使語音波形產生一個很小的尖峰,在設置門限值時,根據經驗值再做細微的調整。現在對語音識別方面的知識,尤其是對語音信號的端點檢測有了比較深的了解,并且運用MATLAB這個軟件能夠對語音信號進行端點檢測,MATLAB這個軟件在語音信號處理方面具有很大的優勢,提供了強大的計算、紡真、矩陣處理和繪圖功能,很多專家因此在自己擅長的領域用它編寫了許多專門的MATLAB工具包(toolbox),比如在使用分幀時,就直接采用enframe函數,不用再編寫代碼。5 結論與展望5.1 結論通過對本課題的研究,了解了一個語音識別系統包括語音信號的預處理部分、語音識別系統的核心算法部分以及語音識別系統的基本數據庫等幾部分。而語音信號的預處理部分是整個語音識別系統的前提條件,端點檢測是語音信號的預處理部分最基本的一個功能,做好端點檢測,能使語音識別系統處理時間減到最小,排除無聲段的噪聲干擾,從而使識別系統具有良好的識別功能。已經可以應用MATLAB實現對語音信號三種短時能量形式圖形的輸出,過零率圖形的輸出,并且可以進行語音信

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論