基于BP神經網絡的語音識別技術_第1頁
基于BP神經網絡的語音識別技術_第2頁
基于BP神經網絡的語音識別技術_第3頁
基于BP神經網絡的語音識別技術_第4頁
基于BP神經網絡的語音識別技術_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、上海海事大學神經網絡與語音識別院 系: 物流工程學院 課 程 名 稱: 制造與物流決策支持系統(tǒng) 學 生 姓 名: 學 號: 時 間: 目錄一 緒論31.1 研究背景及意義31.2 語音識別的國內外研究現狀31.3研究內容4二 語音識別技術52.1語音信號52.2語音信號的數學模型52.3 語音識別系統(tǒng)結構62.4 語音信號預處理72.4.1 語音信號的采樣82.4.2語音信號的分幀82.4.3語音信號的預加重92.4.4 基于短時能量和過零率的端點檢測92.5 特征參數提取12三 基于BP神經網絡語音識別算法實現143.1 BP神經網絡原理143.2 輸入層神經元個數的確定143.3網絡隱含層

2、數的確定153.4隱含層神經元個數的確定153.5 BP神經網絡構造153.6 BP神經網絡的訓練163.6.1訓練樣本集合和目標值集合163.6.2 網絡訓練163.7網絡訓練173.8 語音的識別結果18四總結19參考文獻20附錄21一 緒論計算機的飛速發(fā)展,使人們的生活方式發(fā)生了根本性的改變,鼠標、鍵盤,這些傳統(tǒng)的人機接口使人們體會到了生活的便利??茖W技術日新月異,假如讓“機器”能夠聽懂人的語言,并根據其信息去執(zhí)行人的意圖,那么這無疑是最理想的人機智能接口方式,因此語音識別作為一門極具吸引力的學科應運而生,很多專家都指出語音識別技術將是未來十年信息技術領域十大重要的科技發(fā)展技術之一。語音

3、識別(Speech Recognition)是指,計算機從人類獲取語音信息,對語音信息進行分析處理,準確地識別該語音信息的內容、含義,并對語音信息響應的過程。語音信號具有非穩(wěn)定隨機特性,這使得語音識別的難度大。目前人類甚至仍沒有完全理解自身聽覺神經系統(tǒng)的構造與原理,那么要求計算機能像人類一樣地識別語音信號很有挑戰(zhàn)性。1.1 研究背景及意義語言在人類的智能組成中充當著很重要的角色,人與人之間的交流和溝通大部分是通過語言的方式有效的完成。作為人與人之問交流最方便、自然、快捷的手段,人們自然希望它成為人與計算機交流的媒介。隨著數字信號處理及計算機科學的飛速發(fā)展,人們對實現人機對話產生越來越迫切的要求

4、,使得語音識別技術近年來得到了迅速的發(fā)展,語音識別技術的研究進入了一個比較成熟的時期。語音識別是一門交叉科學,它綜合了聲學、語言學、語音學、生理科學、數字信號處理、通信理論、電子技術、計算機科學、模式識別和人工智能等眾多學科。也是人機交互最重要的一步。1.2 語音識別的國內外研究現狀通過語音傳遞信息是人類最重要,最有效,和最方便的交換信息的形式,語音識別主要指讓機器轉達人說的話,即在各種情況下,準確的識別出語音的內容,從而根據其信息,執(zhí)行人的各種意圖。廣義的語音識別包括說話人的識別和內容的識別兩部分。這里所說的語音識別,是指內容識別方面。采用計算機進行語音識別到現在已經發(fā)展了50年。從特征參數

5、上改進,采用各種辦法進行語音增強是一個研究方向,但是到目前為止,還沒有一種辦法能把語音信號完美地從噪音環(huán)境提取出來。語音識別有廣泛的商業(yè)化運用前景,主要可以分為通用場合和專用場合兩個方面。1.3研究內容本文研究的主要內容是結合模式識別的基本理論,研究BP神經網絡孤立詞語音識別的問題,實現1-5共5個數字的識別。分析了語音信號的預處理,特征提取及BP神經網絡算法實現。二 語音識別技術2.1語音信號語音信號是隨時間變化的一維信號,由一連串的音素組成,各個音素的排列有一定的規(guī)則。語音具有聲學特征的物理性質,聲音質量與它的頻率范圍有關,語音信號的頻譜分量主要集中在2003400Hz的范圍內。語音信號的

6、另一個重要特點是它的短時性。語音信號的特征是隨時間變化而變化,只有在一段很短的時間間隔中,才保持相對穩(wěn)定的特性。研究表明,在5ms40ms的范圍內語音信號的頻譜特性和一些物理特征基本保持不變。語音信號短時特征和短時參數包括它的短時能量、短時過零率、短時相關函數、短時頻譜等。語音信號的最基本組成單位是音素。音素可分成濁音和清音兩大類。如果將只有背景噪聲的情況定義為“無聲”,那么音素可分成“無聲”、“濁音”和“清音”三類。在短時分析的基礎上可以判斷一小段語音屬于哪一類。如果是濁語音段,還可測定它的另一些重要參數,如基音頻率和共振峰等。2.2語音信號的數學模型建立語音信號的數學模型是語音信號處理的基

7、礎。從人的發(fā)音器官的機理來假設,將語音信號分為一些相繼的短段進行處理,在這些短段中可以認為語音信號特征是不隨著時間變化的平穩(wěn)隨機過程。這樣在這些短段時間內表示語音信號時可以采用線性時不變模型。通過上面的分析,將語音生成系統(tǒng)分成三個部分,喉的部分稱為聲門,在聲門(聲帶)以下,稱為“聲門子系統(tǒng)”,它負責產生激勵振動,是“激勵系統(tǒng)”。從聲門到嘴唇的呼氣通道是聲道,是“聲道系統(tǒng)”,聲道的形狀主要由嘴唇和舌頭的位置來決定。在說話的時候,聲門處氣流沖擊聲帶產生振動,然后通過聲道響應變成聲音,由于發(fā)不同音時,聲道的形狀不同,所以能夠聽到不同的語音。語音從嘴唇輻射出去,所以嘴唇以外是“輻射系統(tǒng)”。激勵的不同情

8、況發(fā)不同性質的音,激勵一般分為濁音激勵和清音激勵。發(fā)濁音時聲道受到聲帶振動的激勵引起共振,產生間歇的類斜三角形脈沖;發(fā)清音時聲道被阻礙形成湍流,可以把清音激勵模擬成隨機白噪聲。完整的語音信號的數學模型可以用三個子模型:激勵模型、聲道模型、輻射模型的串聯來表示。激勵模型一般分為濁音激勵和清音激勵。發(fā)濁音時,由于聲帶不斷張開和關閉將產生間歇的脈沖波,這個脈沖波類似于斜三角形的脈沖。發(fā)清音時,無論是發(fā)阻塞音或摩擦音,聲道都被阻礙形成湍流。所以,可把清音激勵模擬成隨機白噪聲。聲道模型有兩種最常見的建模方式。一是把聲道視為由多個等長的不同截面積的管子串聯而成的系統(tǒng),按此觀點推導出的叫“聲管模型”;另一個

9、是把聲道視為一個諧振腔,按此推倒出的叫“共振峰模型”。從聲道模型輸出的速度波與語音信號的聲壓波之倒比稱為輻射阻抗,它表征口唇的輻射效應。由輻射引起的能量損耗正比于輻射阻抗的實部,所以輻射模型是一階類高通濾波器。2.3 語音識別系統(tǒng)結構孤立詞語音識別是對特定的不連續(xù)的詞語作為處理單元。語音識別系統(tǒng)的基本組成一般可以分為預處理模塊、特征值提取模塊及模式匹配三個模塊。如圖2.1所示為語音識別系統(tǒng)結構框圖。圖2.1 語音識別系統(tǒng)結構框圖從圖2.1的系統(tǒng)整體架構可以看到,建立基于BP神經網絡的語音識別系統(tǒng)可分為兩個階段,即訓練階段和識別階段。首先由用戶通過麥克風輸入語音形成原始語音,然后系統(tǒng)對其進行預處

10、理。預處理包括預加重,加窗分幀和端點檢測三個過程。系統(tǒng)的前端采用了端點檢測,目的是在一段語音信號中確定起點和終點。在特征提取部分,本系統(tǒng)采用了MFCC作為特征參數,用于有效地區(qū)分數字1-5.在訓練階段,通過說話人多次重復語音,本系統(tǒng)從原始語音樣本中去除冗余信息,提取說話人的特征參數并存儲為BP神經網絡的輸入樣本,在此基礎上建立輸入與輸出的BP神經網絡模型。在識別階段,待測語音經過預處理,使用已經訓練好的BP神經網絡進行識別得到結果。2.4 語音信號預處理圖2.2是語音信號的預處理的流程圖。從圖2.2可以看到預處理模塊包括預加重,加窗分幀和端點檢測。前級預加重、加窗分幀及端點檢測是語音識別的準備

11、工作,每一個環(huán)節(jié)對整個識別系統(tǒng)的性能有著重要的影響。前級預處理主要是對信號進行一定的濾波和分幀;加窗分幀就是將語音信號進行分段處理,使語音信號連續(xù)并保持一定的重疊率:端點檢測是確定語音有用信號的起始點與終止點,并通過一定的手段處理,將沒有意義的語音信號去除,從而減少語音匹配識別模塊的運算量,同時也可以提高系統(tǒng)的識別率。預處理不合理或語音起止點及終止點判別不夠準確都會使后續(xù)的特征矢量提取及模式匹配過程等工作受到很大的影響,甚至達不到語音識別的效果,因此預處理工作作為語音識別的第一步工作,必須達到所需的要求,為下一步的特征參數提取做好鋪墊。圖2.2 語音信號預處理流程圖2.4.1 語音信號的采樣M

12、atlab環(huán)境中語音信號的采集可使用wavrecord(n,fs,ch,dtype)函數錄制,也可使用Windows的“錄音機”程序錄制成.wav文件然后使用wavread(file) 函數讀入。在本實驗中,使用matlab的語音工具包錄取0-共10段語音。如圖2.3所示為數字0的訓練語音0a.wav的信號波形圖,第(I)幅圖為完整的語音波形,第(II)、(III)幅圖分別為語音的起始部分和結束部分的放大波形圖。2.4.2語音信號的分幀語音信號是一種典型的非平穩(wěn)信號,它的均值函數u(x)和自相關函數R(xl,x2)都隨時間而發(fā)生較大的變化。但研究發(fā)現,語音信號在短時間內頻譜特性保持平穩(wěn),即具有

13、短時平穩(wěn)特性。因此,在實際處理時可以將語音信號分成很小的時間段(約1030ms),稱之為“幀”,作為語音信號處理的最小單位,幀與幀的非重疊部分稱為幀移,而將語音信號分成若干幀的過程稱為分幀。分幀小能清楚地描繪語音信號的時變特征但計算量大;分幀大能減少計算量但相鄰幀間變化不大,容易丟失信號特征。一般取幀長20ms,幀移為幀長的1/31/2。在語音信號數字處理中常用的窗函數是矩形窗、漢明窗等,它們的表達式如下(其中N為幀長):矩形窗: (2-1)漢明窗: (2-2) 2.4.3語音信號的預加重預加重是指在AD轉換后加一個6dB倍頻程的高頻提升濾波器,語音信號的平均功率譜由于受聲門激勵和口鼻輻射的影

14、響,高頻端大約在800Hz以上按6dBOct(倍頻程)跌落。所以求語音信號頻譜時,頻率越高相應的成份越小,高頻部分的頻率比低頻部分的難求。因此,預加重的目的是加強語音中的高頻共振峰,使語音信號的短時頻譜變得更為平坦,還可以起到消除直流漂移、抑制隨機噪聲和提高清音部分能量的效果,便于進行頻譜分析和聲道參數分析。此外,通常的方法是使用一階零點數字濾波器實現預加重,其形式為: (2-3) 頻域相對應的形式為: (2-4) 其中,a為預加重系數。2.4.4 基于短時能量和過零率的端點檢測在語音信號的預處理中,端點檢測是關鍵的一步,語音信號的模型參數和噪聲模型參數以及自適應濾波器中的適應參數都得依賴對應

15、的信號段(語音段或噪聲段)來計算確定。因此,只有準確地判定語音信號的端點,才能正確地進行語音處理。端點檢測的目的是從包含語音的一般信號中確定出語音的起點以及終點,一般采用平均能量或平均幅度值與過零率相乘的方法來判斷。這種利用短時能量和短時平均過零率兩種特征共同參與檢測,也被稱為雙門限法。(1)短時能量 設S(n)為加窗語音信號,第t幀語音的短時平均能量為: (2-5) (2-6)其中N為分析窗寬度,St(n)為第t幀語音信號中的第n個點的信號取樣值。上面兩式原理是相同的,但后式有利于區(qū)別小取樣值和大取樣值,不會因為取平方而造成很大的差異。短時平均能量是時域特征參數,把它用于模型參數時,應進行歸

16、一化處理。短時能量主要用途有:(1)可以區(qū)分濁音段和清音段,因為濁音的En比清音時大得多。(2)可以用來區(qū)分聲母與韻母的分界,有聲與無聲的分界,連字的分界等。(3)作為一種超音段信息,用于語音識別中。(2)短時過零率短時過零表示一幀語音信號波形穿過橫軸(零電平)的次數。對于連續(xù)語音信號,過零意味著時域波形通過時間軸;而對于離散信號,如果相鄰的取樣值的改變符號則稱為過零。過零率就是樣本改變符號次數,定義語音信號壽(m)的短時過零率Zn為: (2-7)式中sgn 是符號函數,即: (2-8)短時過零率的主要用途為區(qū)分濁音和清音,濁音具有較低的過零率,而清音則具有較高的過零率。(3)雙門限檢測的方法

17、在開始進行端點檢測之前,首先為短時能量和過零率分別確定兩個門限。一個是比較低的門限,其數值比較小,對信號的變化比較敏感,很容易就會被超過。另一個是比較高的門限,數值比較大,信號必須達到一定的強度,該門限才可能被超過。低門限被超過未必就是語音的開始,有可能是時間很短的噪聲引起的。高門限被超過則可以基本確信是由于語音信號引起的。雙門限端點檢測程序見附錄,雙門限法仿真流程圖如下:NY開始Status=2語音狀態(tài)Status=0,1靜音,可能語音狀態(tài)Status=3端點找到,得到結束那幀的序號,獲得結束點>amp2or>zcr2Silence+1Count+1Count+1Count<

18、;minlenSilence<minsilence整個信號各種幀判斷,比較結束判斷幀所處階段,即status的值>amp2or>zcr2>amp1Stasus=0靜音狀態(tài)Count=0Status=1可能語音狀態(tài)Count+1認為是噪聲,重新開始判斷Status=0Silence=0Count=0YNYNNNYY圖3-4 雙門限法仿真程序流程圖整個語音信號的端點檢測可以分成四段:靜音、過渡段、語音段、結束。在靜音段,如果能量或過零率超越了低門限,就應該開始標記起始點,進入過渡段。在過波段中,由于參數的數值比較小,不能確信是否處于真?zhèn)蔚恼Z音段,因此只要兩個參數的數值回落到

19、低l、J限以下,就將當前狀態(tài)恢復到靜音狀態(tài)。而如果在過渡段中兩個參數中的任一個超過了高門限,就可以確信進入語音段了。當前狀態(tài)處于語音段時,如果兩個參數的數值降低到低門限以下,而且總的計時長度小于最短時間門限,則認為這是段噪音,繼續(xù)掃描以后的語音數據。否則就標記好結束端點,并返回。從而達到抗干擾的目的、提高識別率。如下圖所示。2.5 特征參數提取特征值的提取是對原始的語音信號運用一定的數字信號處理技術進行適當的處理,從而得到一個矢量序列,這個矢量序列可以代表原始的語音信號所攜帶的信息,初步實現數據壓縮。特征參數主要有:能量、幅度、過零率、頻譜、倒譜和功率譜等。考慮到其他因素的影響,還有許多基于基

20、本參數的參數,本文選用了MEL頻率倒譜系數(MFCC)進行提取特征參數。MFCC系數的計算是以“bark”為其頻率基準的,它和線性頻率的轉換關系是: (2-9)MFCC系數也是按幀計算的,首先要通過FFT得到該幀信號的功率譜S(n),轉換為Mel頻率下的功率譜。這需要在計算之前先在語音的頻譜范圍內設置若干個帶通濾波器: NHm(n) m=0,1,M-1; n=0,1,N/2-1 (2-10)M為濾波器的個數,通常取24,與臨界帶的個數一樣;N為一幀語音信號的點數,為了計算FFT的方便,通常取256。濾波器在頻域上為簡單的三角形,其中心頻率fm在Mel頻率軸上是均勻分布的。從圖2.5就可以看到M

21、FCC系數的計算過程如下:(1) 預處理:確定每一幀語音采樣序列的長度(如N=256),并對每幀序列s(n)進行預加重、分幀和加窗處理;(2) 計算離散功率譜:對預處理的每幀進行離散FFT變換得到其頻譜,再取模的平方作為離散功率譜S(n);(3) 將功率譜通過濾波器組:計算S(n)通過M個Hm(n)后所得的功率值,即計算S(n)和Hm(n)在各離散頻率點上的乘積之和,得到M個參數Pm,m=0,1,M-1;(4) 取對數:計算Pm的自然對數,得到Lm,m=0,1,M-1;(5) 離散余弦變換:對Lm計算其離散余弦變換,得到D m,m=0,1,M-1,舍去代表直流成份的D0,取D1,D2,Dk作為

22、MFCC參數。圖2.4 語音信號MFCC系數的算法流程圖三 基于BP神經網絡語音識別算法實現3.1 BP神經網絡原理BP神經網絡又稱誤差反向傳遞神經網絡。它是一種依靠反饋值來不斷調整節(jié)點之間的連接權值而構建的一種網絡模型。它的整個體系結構如圖1所示,分為輸入層、隱藏層和輸出層,其中隱藏層根據具體情況的需要,可以是一層結構也可為多層結構。BP算法的基本思想是:學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。正向傳播時,輸入樣本從輸人層傳人,經各隱藏層逐層處理后,傳向輸出層。若輸出層的實際輸出與期望的輸出(教師信號)不符,則轉入誤差的反向傳播階段。誤差反傳是將輸出誤差以某種形式通過隱藏層向輸

23、入層反傳,并將誤差分攤給各層的所有單元,從而獲得各層單元的誤差信號,此誤差信號即作為修正各單元權值的依據。這種信號正向傳播與誤差反向傳播的各層權值調整過程,是周而復始的進行的。權值不斷調整的過程,也就是網絡的學習訓練過程,此過程一直進行到網絡輸出的誤差減少到可以接受的程度,或進行到預先設定的學習次數為止。圖3.1 BP神經網絡體系結構3.2 輸入層神經元個數的確定將數字圖像的特征向量作為神經網絡的輸入,所以神經網絡的輸入層神經元個數等于特征向量的維數,數字語音識別提取的MFCC特征是一個行數row不確定,列數為24的二位向量,用此row×20=all個元素組成一個數字字符的列矩陣,即

24、數字字符的特征向量,由于row都不一樣,所以根據經驗使all=600,不夠600的直接用零補充。即600個輸入神經元。輸出層神經元個數的確定因為要識別5個數字,因此輸出選擇為5×1的矩陣,即輸出節(jié)點數為5。當數字圖像15輸入神經網絡后在輸出神經元對應的位置上為1,其他的位置為0。輸人數字0,第1個輸出神經元為1,其他為0;輸入數字1,第2個輸出神經元為1,其他為0;以此類推。3.3網絡隱含層數的確定隱含層數越多,神經網絡學習速度就越慢,根據Kosmogorov定理,在合理的結構和恰當的權值條件下,3層BP網絡可以逼近任意的連續(xù)函數,因此,我們選取結構相對簡單的3層BP網絡。3.4隱含

25、層神經元個數的確定一般情況下,隱含層神經元個數是根據網絡收斂性能的好壞來確定的,在總結大量網絡結構的基礎上,得出經驗公式:s=sqr(043nm+0.12m +2.54n+0.77m+0.35+0.51)其中n為輸人層神經元個數,m為輸出層神經元個數,根據以上公式,可以得出隱含層神經元個數為53。3.5 BP神經網絡構造建立一個前向BP神經網絡函數newff: net=newff(minmax(P),600,53,5,logsig,logsig,logsig,traincgb);其中minmax(P)為神經網絡的對它的600個輸入元素的最大值和最小值的限制。P為訓練樣本集合。600,53,5為

26、該神經網絡的層結構。logsig,logsig,logsig為神經網絡的各層的轉移函數,均設置為對數S型激活函數。訓練函數采用 traincgb ,即采用Powel1-Beale共軛梯度法訓練。3.6 BP神經網絡的訓練3.6.1訓練樣本集合和目標值集合數字語音識別提取的MFCC特征,由15這10個數字的特征列向量組成一個600×5的輸入矢量,記為:sample_group=1,2, ,5 ;式中的1,2, ,5代表數字的特征列向量。與輸入矢量對應的目標矢量是希望每一個數字輸入神經網絡后在輸出神經元對應的位置上為1,其他的位置為0。為此取目標矢量為對角線上為1的5×5的單位

27、陣,用matlab命令實現為:targets=eye(5);本文中15共5類數據,每類取4個做訓練樣本,即4組輸入矢量構成訓練樣本集合訓練神經網絡,訓練樣本集合如下:P=samples_groupl,samples_group2, ,samples_group5;P=double(P);與訓練樣本集合相對應的目標值集合由20組目標矢量構成,目標值集合如下:T=targets,targets, ,targets,targets3.6.2 網絡訓練本文神經網絡訓練誤差性能目標值設置為00001,當神經網絡訓練次數達到最大值1 000或者神經網絡的誤差平方降到00001以下,終止訓練。程序代碼如下

28、:nettrainParamepochs=1000;最大訓練次數nettrainParamshow=20;顯示的間隔次數nettrainParammin_grad=le-10;最小執(zhí)行梯度nettrainParamgoal=00001;性能目標值net1ayers1initFcn=initwb; 網絡層的初始化函數選為initwb,使下面的輸入層初始化語句randnr有效netinputWeights1,1initFcn=randnr;輸入層權值向量初始化net1ayerWeights2,1initFcn=randnr;第1網絡層到第2網絡層的權值向量初始化net=init(net); 初始化

29、網絡net,tr=train(net,P,T); 網絡訓練其中net,tr中的net為更新了權值的神經網絡,tr為訓練記錄(次數和每次訓練的誤差)。從相關的神經網絡訓練中可以看出,當神經網絡的誤差平方00000718時,小于性能目標值00001,神經網絡訓練結束,開始進行系統(tǒng)的性能測試。圖3為學習誤差曲線圖。圖3.2 神經網絡學習誤差曲線3.7網絡訓練測試函數為神經網絡仿真函數,testout=sim(net,test_sample)其中net為訓練完成了的網絡,test_sample為測試樣本的特征向量,testout為神經網絡的輸出。部分程序代碼如下:testout=sim(net,tes

30、t_sample);神經網絡的仿真max_value=max(testout);輸出神經元最大值if(max_value>0.7) %輸出神經元的最大值大于07才進行數字識別,小于07時拒絕識別testout=compet(testout);number=find(testout= =1);數字識別結果end3.8 語音的識別結果本系統(tǒng)測試時,通過話筒直接輸入測試語音1,2,3,4,5,系統(tǒng)會先提取的語音特征,然后根據事前存好的輸入樣本自動訓練網絡,最后測試樣本,得到輸出結果。表3.1 BP神經網絡算法識別率語音內容識別次數(個)正確次數(個)錯誤次數(個)拒絕識別(個)識別率15500

31、100%2540180%35500100%4540180%55500100%1-525230292%其中可以看出1,3,5這三個語音的識別率都是為100%。完全識別正確。2,4這兩個語音段的識別率都為80%,識別正確了4次,錯誤了1次。造成這種情況的原因可能是:(1) 外界環(huán)境的干擾,噪聲的干擾。(2) 每次說話的語調,語音的不同。本課題的主程序包括五個調用子程序,分別為分裂信號成重疊框架的enframe;實現特征提取的mfcc;判斷矩陣的一個濾波器組melbankm;將多組mfcc系數取平均的MfccProcess.m。將取所有音頻的mfcc系數處理成神經網絡函數所需的輸入格式的Sample

32、Create.m。四總結通過對孤立詞語音識別系統(tǒng)中各個模塊的MATLAB仿真,可知每個模塊都能滿足系統(tǒng)的識別要求;從語音信號的端點檢測看出,對不同人和不同的孤立詞,該方法能準確的檢測出起始點和終止點,為信號的特征參數提取做準備工作;而特征參數的提取通過MFCC算法也能很好的提取對信號識別的參數值;應用BP神經網絡算法對語音進行模式匹配,從仿真的結果和數據分析,可以清楚的看到各個語音的識別率。最后通過對一些孤立詞語音進行識別的驗證,得出整個系統(tǒng)在實際應用當中的可行性。參考文獻1趙力. 語音信號處理M . 北京: 機械工業(yè)出版社, 20032蔡蓮紅, 黃德智, 蔡銳. 現代語音技術基礎與應用M .

33、 北京: 清華3張雄偉,陳亮,楊吉斌. 現代語音處理技術及應用M. 北京:機械工業(yè)出版社, 2003.4朱淑琴,裘雪紅一種精確檢測語音端點的方法計算機仿真,2004,22(3):214-2165王讓定,柴佩琪.語音倒譜特征的研究J.計算機工程,2003,29(13):31 - 33.6MATLAB中文論壇.MATLAB神經網絡30個案例分析M.北京:北京航空航天大學出版社,2010 7譚保華,熊健民,劉幺和.語音識別技術概述J.鄖陽師范高等專科學校學報,2004.8詹新明,楊燦等.基于MATLAB和BP網絡的語音識別系統(tǒng)J.微計算機信息.2009,9(1):176-1789萬春基于D

34、TW的孤立詞語音識別研究和算法改進集美人學學報(自然科學版),2002(6):104108.10劉長明,任一峰語音識別中DTW特征匹配的改進算法研究中北大學學報(自然科學舨),2006,27(1):37-4011We iH an, Cheong- Fat Chan, Ch iu- S ing Choy, et a.l A n effic ientMFCC extraction method inspeech recogn ition C . IEEE Internat iona l Symposium on C ircu its and Systems, 2006: 145.12Yu Hong

35、zhi A research on recognit ion of T ibetan speakers based on MFCC and Delta features. International Forum on Computer Sc ience- Techno logy and App lications, 2009: 234.13H Hermansky, HMorgan. RASTA p rocessing of speechJ. IEEETrans on Speech and Audio Processing, 1994, 2(4) : 578 - 589.14馬莉,黨幼云特定人孤

36、立詞語音識別系統(tǒng)的仿真與分析西安工程科技學院學報2007,21(03):10-12附錄仿真實驗所用程序1.語音預處理端點檢測程序:x,fs,nbits=wavread('tqwxs.wav');x = x / max(abs(x);%幅度歸一化到-1,1x = double(x);x = x / max(abs(x);%常數設置FrameLen = 240;%指定幀長FrameInc = 80;%指定幀移amp1 = 20;amp2 = 10;zcr1 = 10;zcr2 = 5;maxsilence = 8; % 6*10ms = 30msminlen = 15; % 15*

37、10ms = 150msstatus = 0;count = 0;silence = 0;%計算過零率tmp1 = enframe(x(1:end-1), FrameLen, FrameInc);%分幀處理,tmp1和tmp2為分幀后形成的二維數組tmp2 = enframe(x(2:end) , FrameLen, FrameInc);signs = (tmp1.*tmp2)<0;diffs = (tmp1 -tmp2)>0.02;zcr = sum(signs.*diffs, 2);%計算短時能量amp = sum(abs(enframe(filter(1 -0.9375, 1

38、, x), FrameLen, FrameInc), 2);%調整能量門限amp1 = min(amp1, max(amp)/4);amp2 = min(amp2, max(amp)/8);%開始端點檢測x1 = ; x2 = ;for n=1:length(zcr)goto = 0;switch statuscase 0,1 % 0 = 靜音, 1 = 可能開始if amp(n) > amp1 % 確信進入語音段x1(end+1) = max(n-count-1,1);status = 2;silence = 0;count = count + 1;elseif amp(n)

39、 > amp2 | . % 可能處于語音段zcr(n) > zcr2status = 1;count = count + 1;else % 靜音狀態(tài)status = 0;count = 0;if length(x1)=length(x2)x2(end+1)=x1(end)+count-silence/2-1;endendcase 2, % 2 = 語音段if amp(n) > amp2 | . % 保持在語音段zcr(n) > zcr2count = count + 1;else % 語音將結束silence = silence+1;if silence < ma

40、xsilence % 靜音還不夠長,尚未結束count = count + 1;elseif count < minlen % 語音長度太短,認為是噪聲status = 0;silence = 0;count = 0;else % 語音結束status = 3;endendcase 3,status=0;x2(end+1)=x1(end)+count-silence/2-1;endend % count = count-silence/2;% v_count(i)=v_count(i)+v_count(i-1);% v_silence(i)=v_count(i)+v_silen

41、ce(i);if length(x2)<length(x1)x2(end+1)=length(zcr);endsubplot(311)plot(x)axis(1 length(x) -1 1)ylabel('Speech');for i=1:length(x2);line(x1(i)*FrameInc x1(i)*FrameInc, -1 1, 'Color', 'red');line(x2(i)*FrameInc x2(i)*FrameInc, -1 1, 'Color', 'green');end% li

42、ne(x1*FrameInc x1*FrameInc, -1 1, 'Color', 'red');% line(x2*FrameInc x2*FrameInc, -1 1, 'Color', 'red');subplot(312)plot(amp);axis(1 length(amp) 0 max(amp)ylabel('Energy');for i=1:length(x2);line(x1(i) x1(i), min(amp),max(amp), 'Color', 'red');

43、line(x2(i) x2(i), min(amp),max(amp), 'Color', 'green');endsubplot(313)plot(zcr);axis(1 length(zcr) 0 max(zcr)ylabel('ZCR');for i=1:length(x2);line(x1(i) x1(i), min(zcr),max(zcr), 'Color', 'red');line(x2(i) x2(i), min(zcr),max(zcr), 'Color', 'green&

44、#39;);end2.神經網絡訓練程序N = 5; M = 3; TestMW = 1 2 3; T1 = 1 0 0' T3 = 0 1 0' T5 = 0 0 1' Ttemp = T1 T3 T5 T = Ttemp;for i=1:N-1 T = T Ttemp;end PS = SampleCreate('S',N,UnitLength); PR1 = min(PS');PR1 = PR1'PR2 = max(PS');PR2 = PR2'PR = PR1 PR2; if size(T,2)=size(PS,2) netBP = newff(PR,30,10,3,'tansig','tansig','tansig','trainbfg'); netBP.trainParam.epochs = 100; net tr = train(netBP,PS,T); plotperf(tr); Test = SampleCreate('T',M,UnitLength); Y = sim(net,Test) 'OK' else '

溫馨提示

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

評論

0/150

提交評論