基于BP神經(jīng)網(wǎng)絡(luò)的語(yǔ)音識(shí)別技術(shù).doc_第1頁(yè)
基于BP神經(jīng)網(wǎng)絡(luò)的語(yǔ)音識(shí)別技術(shù).doc_第2頁(yè)
基于BP神經(jīng)網(wǎng)絡(luò)的語(yǔ)音識(shí)別技術(shù).doc_第3頁(yè)
基于BP神經(jīng)網(wǎng)絡(luò)的語(yǔ)音識(shí)別技術(shù).doc_第4頁(yè)
基于BP神經(jīng)網(wǎng)絡(luò)的語(yǔ)音識(shí)別技術(shù).doc_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

上海海事大學(xué)神經(jīng)網(wǎng)絡(luò)與語(yǔ)音識(shí)別院 系: 物流工程學(xué)院 課 程 名 稱: 制造與物流決策支持系統(tǒng) 學(xué) 生 姓 名: 學(xué) 號(hào): 時(shí) 間: 目錄一 緒論31.1 研究背景及意義31.2 語(yǔ)音識(shí)別的國(guó)內(nèi)外研究現(xiàn)狀31.3研究?jī)?nèi)容4二 語(yǔ)音識(shí)別技術(shù)52.1語(yǔ)音信號(hào)52.2語(yǔ)音信號(hào)的數(shù)學(xué)模型52.3 語(yǔ)音識(shí)別系統(tǒng)結(jié)構(gòu)62.4 語(yǔ)音信號(hào)預(yù)處理72.4.1 語(yǔ)音信號(hào)的采樣82.4.2語(yǔ)音信號(hào)的分幀82.4.3語(yǔ)音信號(hào)的預(yù)加重92.4.4 基于短時(shí)能量和過(guò)零率的端點(diǎn)檢測(cè)92.5 特征參數(shù)提取12三 基于BP神經(jīng)網(wǎng)絡(luò)語(yǔ)音識(shí)別算法實(shí)現(xiàn)143.1 BP神經(jīng)網(wǎng)絡(luò)原理143.2 輸入層神經(jīng)元個(gè)數(shù)的確定143.3網(wǎng)絡(luò)隱含層數(shù)的確定153.4隱含層神經(jīng)元個(gè)數(shù)的確定153.5 BP神經(jīng)網(wǎng)絡(luò)構(gòu)造153.6 BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練163.6.1訓(xùn)練樣本集合和目標(biāo)值集合163.6.2 網(wǎng)絡(luò)訓(xùn)練163.7網(wǎng)絡(luò)訓(xùn)練173.8 語(yǔ)音的識(shí)別結(jié)果18四總結(jié)19參考文獻(xiàn)20附錄21一 緒論計(jì)算機(jī)的飛速發(fā)展,使人們的生活方式發(fā)生了根本性的改變,鼠標(biāo)、鍵盤,這些傳統(tǒng)的人機(jī)接口使人們體會(huì)到了生活的便利??茖W(xué)技術(shù)日新月異,假如讓“機(jī)器”能夠聽懂人的語(yǔ)言,并根據(jù)其信息去執(zhí)行人的意圖,那么這無(wú)疑是最理想的人機(jī)智能接口方式,因此語(yǔ)音識(shí)別作為一門極具吸引力的學(xué)科應(yīng)運(yùn)而生,很多專家都指出語(yǔ)音識(shí)別技術(shù)將是未來(lái)十年信息技術(shù)領(lǐng)域十大重要的科技發(fā)展技術(shù)之一。語(yǔ)音識(shí)別(Speech Recognition)是指,計(jì)算機(jī)從人類獲取語(yǔ)音信息,對(duì)語(yǔ)音信息進(jìn)行分析處理,準(zhǔn)確地識(shí)別該語(yǔ)音信息的內(nèi)容、含義,并對(duì)語(yǔ)音信息響應(yīng)的過(guò)程。語(yǔ)音信號(hào)具有非穩(wěn)定隨機(jī)特性,這使得語(yǔ)音識(shí)別的難度大。目前人類甚至仍沒有完全理解自身聽覺神經(jīng)系統(tǒng)的構(gòu)造與原理,那么要求計(jì)算機(jī)能像人類一樣地識(shí)別語(yǔ)音信號(hào)很有挑戰(zhàn)性。1.1 研究背景及意義語(yǔ)言在人類的智能組成中充當(dāng)著很重要的角色,人與人之間的交流和溝通大部分是通過(guò)語(yǔ)言的方式有效的完成。作為人與人之問(wèn)交流最方便、自然、快捷的手段,人們自然希望它成為人與計(jì)算機(jī)交流的媒介。隨著數(shù)字信號(hào)處理及計(jì)算機(jī)科學(xué)的飛速發(fā)展,人們對(duì)實(shí)現(xiàn)人機(jī)對(duì)話產(chǎn)生越來(lái)越迫切的要求,使得語(yǔ)音識(shí)別技術(shù)近年來(lái)得到了迅速的發(fā)展,語(yǔ)音識(shí)別技術(shù)的研究進(jìn)入了一個(gè)比較成熟的時(shí)期。語(yǔ)音識(shí)別是一門交叉科學(xué),它綜合了聲學(xué)、語(yǔ)言學(xué)、語(yǔ)音學(xué)、生理科學(xué)、數(shù)字信號(hào)處理、通信理論、電子技術(shù)、計(jì)算機(jī)科學(xué)、模式識(shí)別和人工智能等眾多學(xué)科。也是人機(jī)交互最重要的一步。1.2 語(yǔ)音識(shí)別的國(guó)內(nèi)外研究現(xiàn)狀通過(guò)語(yǔ)音傳遞信息是人類最重要,最有效,和最方便的交換信息的形式,語(yǔ)音識(shí)別主要指讓機(jī)器轉(zhuǎn)達(dá)人說(shuō)的話,即在各種情況下,準(zhǔn)確的識(shí)別出語(yǔ)音的內(nèi)容,從而根據(jù)其信息,執(zhí)行人的各種意圖。廣義的語(yǔ)音識(shí)別包括說(shuō)話人的識(shí)別和內(nèi)容的識(shí)別兩部分。這里所說(shuō)的語(yǔ)音識(shí)別,是指內(nèi)容識(shí)別方面。采用計(jì)算機(jī)進(jìn)行語(yǔ)音識(shí)別到現(xiàn)在已經(jīng)發(fā)展了50年。從特征參數(shù)上改進(jìn),采用各種辦法進(jìn)行語(yǔ)音增強(qiáng)是一個(gè)研究方向,但是到目前為止,還沒有一種辦法能把語(yǔ)音信號(hào)完美地從噪音環(huán)境提取出來(lái)。語(yǔ)音識(shí)別有廣泛的商業(yè)化運(yùn)用前景,主要可以分為通用場(chǎng)合和專用場(chǎng)合兩個(gè)方面。1.3研究?jī)?nèi)容本文研究的主要內(nèi)容是結(jié)合模式識(shí)別的基本理論,研究BP神經(jīng)網(wǎng)絡(luò)孤立詞語(yǔ)音識(shí)別的問(wèn)題,實(shí)現(xiàn)1-5共5個(gè)數(shù)字的識(shí)別。分析了語(yǔ)音信號(hào)的預(yù)處理,特征提取及BP神經(jīng)網(wǎng)絡(luò)算法實(shí)現(xiàn)。二 語(yǔ)音識(shí)別技術(shù)2.1語(yǔ)音信號(hào)語(yǔ)音信號(hào)是隨時(shí)間變化的一維信號(hào),由一連串的音素組成,各個(gè)音素的排列有一定的規(guī)則。語(yǔ)音具有聲學(xué)特征的物理性質(zhì),聲音質(zhì)量與它的頻率范圍有關(guān),語(yǔ)音信號(hào)的頻譜分量主要集中在2003400Hz的范圍內(nèi)。語(yǔ)音信號(hào)的另一個(gè)重要特點(diǎn)是它的短時(shí)性。語(yǔ)音信號(hào)的特征是隨時(shí)間變化而變化,只有在一段很短的時(shí)間間隔中,才保持相對(duì)穩(wěn)定的特性。研究表明,在5ms40ms的范圍內(nèi)語(yǔ)音信號(hào)的頻譜特性和一些物理特征基本保持不變。語(yǔ)音信號(hào)短時(shí)特征和短時(shí)參數(shù)包括它的短時(shí)能量、短時(shí)過(guò)零率、短時(shí)相關(guān)函數(shù)、短時(shí)頻譜等。語(yǔ)音信號(hào)的最基本組成單位是音素。音素可分成濁音和清音兩大類。如果將只有背景噪聲的情況定義為“無(wú)聲”,那么音素可分成“無(wú)聲”、“濁音”和“清音”三類。在短時(shí)分析的基礎(chǔ)上可以判斷一小段語(yǔ)音屬于哪一類。如果是濁語(yǔ)音段,還可測(cè)定它的另一些重要參數(shù),如基音頻率和共振峰等。2.2語(yǔ)音信號(hào)的數(shù)學(xué)模型建立語(yǔ)音信號(hào)的數(shù)學(xué)模型是語(yǔ)音信號(hào)處理的基礎(chǔ)。從人的發(fā)音器官的機(jī)理來(lái)假設(shè),將語(yǔ)音信號(hào)分為一些相繼的短段進(jìn)行處理,在這些短段中可以認(rèn)為語(yǔ)音信號(hào)特征是不隨著時(shí)間變化的平穩(wěn)隨機(jī)過(guò)程。這樣在這些短段時(shí)間內(nèi)表示語(yǔ)音信號(hào)時(shí)可以采用線性時(shí)不變模型。通過(guò)上面的分析,將語(yǔ)音生成系統(tǒng)分成三個(gè)部分,喉的部分稱為聲門,在聲門(聲帶)以下,稱為“聲門子系統(tǒng)”,它負(fù)責(zé)產(chǎn)生激勵(lì)振動(dòng),是“激勵(lì)系統(tǒng)”。從聲門到嘴唇的呼氣通道是聲道,是“聲道系統(tǒng)”,聲道的形狀主要由嘴唇和舌頭的位置來(lái)決定。在說(shuō)話的時(shí)候,聲門處氣流沖擊聲帶產(chǎn)生振動(dòng),然后通過(guò)聲道響應(yīng)變成聲音,由于發(fā)不同音時(shí),聲道的形狀不同,所以能夠聽到不同的語(yǔ)音。語(yǔ)音從嘴唇輻射出去,所以嘴唇以外是“輻射系統(tǒng)”。激勵(lì)的不同情況發(fā)不同性質(zhì)的音,激勵(lì)一般分為濁音激勵(lì)和清音激勵(lì)。發(fā)濁音時(shí)聲道受到聲帶振動(dòng)的激勵(lì)引起共振,產(chǎn)生間歇的類斜三角形脈沖;發(fā)清音時(shí)聲道被阻礙形成湍流,可以把清音激勵(lì)模擬成隨機(jī)白噪聲。完整的語(yǔ)音信號(hào)的數(shù)學(xué)模型可以用三個(gè)子模型:激勵(lì)模型、聲道模型、輻射模型的串聯(lián)來(lái)表示。激勵(lì)模型一般分為濁音激勵(lì)和清音激勵(lì)。發(fā)濁音時(shí),由于聲帶不斷張開和關(guān)閉將產(chǎn)生間歇的脈沖波,這個(gè)脈沖波類似于斜三角形的脈沖。發(fā)清音時(shí),無(wú)論是發(fā)阻塞音或摩擦音,聲道都被阻礙形成湍流。所以,可把清音激勵(lì)模擬成隨機(jī)白噪聲。聲道模型有兩種最常見的建模方式。一是把聲道視為由多個(gè)等長(zhǎng)的不同截面積的管子串聯(lián)而成的系統(tǒng),按此觀點(diǎn)推導(dǎo)出的叫“聲管模型”;另一個(gè)是把聲道視為一個(gè)諧振腔,按此推倒出的叫“共振峰模型”。從聲道模型輸出的速度波與語(yǔ)音信號(hào)的聲壓波之倒比稱為輻射阻抗,它表征口唇的輻射效應(yīng)。由輻射引起的能量損耗正比于輻射阻抗的實(shí)部,所以輻射模型是一階類高通濾波器。2.3 語(yǔ)音識(shí)別系統(tǒng)結(jié)構(gòu)孤立詞語(yǔ)音識(shí)別是對(duì)特定的不連續(xù)的詞語(yǔ)作為處理單元。語(yǔ)音識(shí)別系統(tǒng)的基本組成一般可以分為預(yù)處理模塊、特征值提取模塊及模式匹配三個(gè)模塊。如圖2.1所示為語(yǔ)音識(shí)別系統(tǒng)結(jié)構(gòu)框圖。圖2.1 語(yǔ)音識(shí)別系統(tǒng)結(jié)構(gòu)框圖從圖2.1的系統(tǒng)整體架構(gòu)可以看到,建立基于BP神經(jīng)網(wǎng)絡(luò)的語(yǔ)音識(shí)別系統(tǒng)可分為兩個(gè)階段,即訓(xùn)練階段和識(shí)別階段。首先由用戶通過(guò)麥克風(fēng)輸入語(yǔ)音形成原始語(yǔ)音,然后系統(tǒng)對(duì)其進(jìn)行預(yù)處理。預(yù)處理包括預(yù)加重,加窗分幀和端點(diǎn)檢測(cè)三個(gè)過(guò)程。系統(tǒng)的前端采用了端點(diǎn)檢測(cè),目的是在一段語(yǔ)音信號(hào)中確定起點(diǎn)和終點(diǎn)。在特征提取部分,本系統(tǒng)采用了MFCC作為特征參數(shù),用于有效地區(qū)分?jǐn)?shù)字1-5.在訓(xùn)練階段,通過(guò)說(shuō)話人多次重復(fù)語(yǔ)音,本系統(tǒng)從原始語(yǔ)音樣本中去除冗余信息,提取說(shuō)話人的特征參數(shù)并存儲(chǔ)為BP神經(jīng)網(wǎng)絡(luò)的輸入樣本,在此基礎(chǔ)上建立輸入與輸出的BP神經(jīng)網(wǎng)絡(luò)模型。在識(shí)別階段,待測(cè)語(yǔ)音經(jīng)過(guò)預(yù)處理,使用已經(jīng)訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行識(shí)別得到結(jié)果。2.4 語(yǔ)音信號(hào)預(yù)處理圖2.2是語(yǔ)音信號(hào)的預(yù)處理的流程圖。從圖2.2可以看到預(yù)處理模塊包括預(yù)加重,加窗分幀和端點(diǎn)檢測(cè)。前級(jí)預(yù)加重、加窗分幀及端點(diǎn)檢測(cè)是語(yǔ)音識(shí)別的準(zhǔn)備工作,每一個(gè)環(huán)節(jié)對(duì)整個(gè)識(shí)別系統(tǒng)的性能有著重要的影響。前級(jí)預(yù)處理主要是對(duì)信號(hào)進(jìn)行一定的濾波和分幀;加窗分幀就是將語(yǔ)音信號(hào)進(jìn)行分段處理,使語(yǔ)音信號(hào)連續(xù)并保持一定的重疊率:端點(diǎn)檢測(cè)是確定語(yǔ)音有用信號(hào)的起始點(diǎn)與終止點(diǎn),并通過(guò)一定的手段處理,將沒有意義的語(yǔ)音信號(hào)去除,從而減少語(yǔ)音匹配識(shí)別模塊的運(yùn)算量,同時(shí)也可以提高系統(tǒng)的識(shí)別率。預(yù)處理不合理或語(yǔ)音起止點(diǎn)及終止點(diǎn)判別不夠準(zhǔn)確都會(huì)使后續(xù)的特征矢量提取及模式匹配過(guò)程等工作受到很大的影響,甚至達(dá)不到語(yǔ)音識(shí)別的效果,因此預(yù)處理工作作為語(yǔ)音識(shí)別的第一步工作,必須達(dá)到所需的要求,為下一步的特征參數(shù)提取做好鋪墊。圖2.2 語(yǔ)音信號(hào)預(yù)處理流程圖2.4.1 語(yǔ)音信號(hào)的采樣Matlab環(huán)境中語(yǔ)音信號(hào)的采集可使用wavrecord(n,fs,ch,dtype)函數(shù)錄制,也可使用Windows的“錄音機(jī)”程序錄制成.wav文件然后使用wavread(file) 函數(shù)讀入。在本實(shí)驗(yàn)中,使用matlab的語(yǔ)音工具包錄取0-共10段語(yǔ)音。如圖2.3所示為數(shù)字0的訓(xùn)練語(yǔ)音0a.wav的信號(hào)波形圖,第(I)幅圖為完整的語(yǔ)音波形,第(II)、(III)幅圖分別為語(yǔ)音的起始部分和結(jié)束部分的放大波形圖。2.4.2語(yǔ)音信號(hào)的分幀語(yǔ)音信號(hào)是一種典型的非平穩(wěn)信號(hào),它的均值函數(shù)u(x)和自相關(guān)函數(shù)R(xl,x2)都隨時(shí)間而發(fā)生較大的變化。但研究發(fā)現(xiàn),語(yǔ)音信號(hào)在短時(shí)間內(nèi)頻譜特性保持平穩(wěn),即具有短時(shí)平穩(wěn)特性。因此,在實(shí)際處理時(shí)可以將語(yǔ)音信號(hào)分成很小的時(shí)間段(約1030ms),稱之為“幀”,作為語(yǔ)音信號(hào)處理的最小單位,幀與幀的非重疊部分稱為幀移,而將語(yǔ)音信號(hào)分成若干幀的過(guò)程稱為分幀。分幀小能清楚地描繪語(yǔ)音信號(hào)的時(shí)變特征但計(jì)算量大;分幀大能減少計(jì)算量但相鄰幀間變化不大,容易丟失信號(hào)特征。一般取幀長(zhǎng)20ms,幀移為幀長(zhǎng)的1/31/2。在語(yǔ)音信號(hào)數(shù)字處理中常用的窗函數(shù)是矩形窗、漢明窗等,它們的表達(dá)式如下(其中N為幀長(zhǎng)):矩形窗: (2-1)漢明窗: (2-2) 2.4.3語(yǔ)音信號(hào)的預(yù)加重預(yù)加重是指在AD轉(zhuǎn)換后加一個(gè)6dB倍頻程的高頻提升濾波器,語(yǔ)音信號(hào)的平均功率譜由于受聲門激勵(lì)和口鼻輻射的影響,高頻端大約在800Hz以上按6dBOct(倍頻程)跌落。所以求語(yǔ)音信號(hào)頻譜時(shí),頻率越高相應(yīng)的成份越小,高頻部分的頻率比低頻部分的難求。因此,預(yù)加重的目的是加強(qiáng)語(yǔ)音中的高頻共振峰,使語(yǔ)音信號(hào)的短時(shí)頻譜變得更為平坦,還可以起到消除直流漂移、抑制隨機(jī)噪聲和提高清音部分能量的效果,便于進(jìn)行頻譜分析和聲道參數(shù)分析。此外,通常的方法是使用一階零點(diǎn)數(shù)字濾波器實(shí)現(xiàn)預(yù)加重,其形式為: (2-3) 頻域相對(duì)應(yīng)的形式為: (2-4) 其中,a為預(yù)加重系數(shù)。2.4.4 基于短時(shí)能量和過(guò)零率的端點(diǎn)檢測(cè)在語(yǔ)音信號(hào)的預(yù)處理中,端點(diǎn)檢測(cè)是關(guān)鍵的一步,語(yǔ)音信號(hào)的模型參數(shù)和噪聲模型參數(shù)以及自適應(yīng)濾波器中的適應(yīng)參數(shù)都得依賴對(duì)應(yīng)的信號(hào)段(語(yǔ)音段或噪聲段)來(lái)計(jì)算確定。因此,只有準(zhǔn)確地判定語(yǔ)音信號(hào)的端點(diǎn),才能正確地進(jìn)行語(yǔ)音處理。端點(diǎn)檢測(cè)的目的是從包含語(yǔ)音的一般信號(hào)中確定出語(yǔ)音的起點(diǎn)以及終點(diǎn),一般采用平均能量或平均幅度值與過(guò)零率相乘的方法來(lái)判斷。這種利用短時(shí)能量和短時(shí)平均過(guò)零率兩種特征共同參與檢測(cè),也被稱為雙門限法。(1)短時(shí)能量 設(shè)S(n)為加窗語(yǔ)音信號(hào),第t幀語(yǔ)音的短時(shí)平均能量為: (2-5) (2-6)其中N為分析窗寬度,St(n)為第t幀語(yǔ)音信號(hào)中的第n個(gè)點(diǎn)的信號(hào)取樣值。上面兩式原理是相同的,但后式有利于區(qū)別小取樣值和大取樣值,不會(huì)因?yàn)槿∑椒蕉斐珊艽蟮牟町悺6虝r(shí)平均能量是時(shí)域特征參數(shù),把它用于模型參數(shù)時(shí),應(yīng)進(jìn)行歸一化處理。短時(shí)能量主要用途有:(1)可以區(qū)分濁音段和清音段,因?yàn)闈嵋舻腅n比清音時(shí)大得多。(2)可以用來(lái)區(qū)分聲母與韻母的分界,有聲與無(wú)聲的分界,連字的分界等。(3)作為一種超音段信息,用于語(yǔ)音識(shí)別中。(2)短時(shí)過(guò)零率短時(shí)過(guò)零表示一幀語(yǔ)音信號(hào)波形穿過(guò)橫軸(零電平)的次數(shù)。對(duì)于連續(xù)語(yǔ)音信號(hào),過(guò)零意味著時(shí)域波形通過(guò)時(shí)間軸;而對(duì)于離散信號(hào),如果相鄰的取樣值的改變符號(hào)則稱為過(guò)零。過(guò)零率就是樣本改變符號(hào)次數(shù),定義語(yǔ)音信號(hào)壽(m)的短時(shí)過(guò)零率Zn為: (2-7)式中sgn 是符號(hào)函數(shù),即: (2-8)短時(shí)過(guò)零率的主要用途為區(qū)分濁音和清音,濁音具有較低的過(guò)零率,而清音則具有較高的過(guò)零率。(3)雙門限檢測(cè)的方法在開始進(jìn)行端點(diǎn)檢測(cè)之前,首先為短時(shí)能量和過(guò)零率分別確定兩個(gè)門限。一個(gè)是比較低的門限,其數(shù)值比較小,對(duì)信號(hào)的變化比較敏感,很容易就會(huì)被超過(guò)。另一個(gè)是比較高的門限,數(shù)值比較大,信號(hào)必須達(dá)到一定的強(qiáng)度,該門限才可能被超過(guò)。低門限被超過(guò)未必就是語(yǔ)音的開始,有可能是時(shí)間很短的噪聲引起的。高門限被超過(guò)則可以基本確信是由于語(yǔ)音信號(hào)引起的。雙門限端點(diǎn)檢測(cè)程序見附錄,雙門限法仿真流程圖如下:NY開始Status=2語(yǔ)音狀態(tài)Status=0,1靜音,可能語(yǔ)音狀態(tài)Status=3端點(diǎn)找到,得到結(jié)束那幀的序號(hào),獲得結(jié)束點(diǎn)amp2orzcr2Silence+1Count+1Count+1CountminlenSilenceamp2orzcr2amp1Stasus=0靜音狀態(tài)Count=0Status=1可能語(yǔ)音狀態(tài)Count+1認(rèn)為是噪聲,重新開始判斷Status=0Silence=0Count=0YNYNNNYY圖3-4 雙門限法仿真程序流程圖整個(gè)語(yǔ)音信號(hào)的端點(diǎn)檢測(cè)可以分成四段:靜音、過(guò)渡段、語(yǔ)音段、結(jié)束。在靜音段,如果能量或過(guò)零率超越了低門限,就應(yīng)該開始標(biāo)記起始點(diǎn),進(jìn)入過(guò)渡段。在過(guò)波段中,由于參數(shù)的數(shù)值比較小,不能確信是否處于真?zhèn)蔚恼Z(yǔ)音段,因此只要兩個(gè)參數(shù)的數(shù)值回落到低l、J限以下,就將當(dāng)前狀態(tài)恢復(fù)到靜音狀態(tài)。而如果在過(guò)渡段中兩個(gè)參數(shù)中的任一個(gè)超過(guò)了高門限,就可以確信進(jìn)入語(yǔ)音段了。當(dāng)前狀態(tài)處于語(yǔ)音段時(shí),如果兩個(gè)參數(shù)的數(shù)值降低到低門限以下,而且總的計(jì)時(shí)長(zhǎng)度小于最短時(shí)間門限,則認(rèn)為這是段噪音,繼續(xù)掃描以后的語(yǔ)音數(shù)據(jù)。否則就標(biāo)記好結(jié)束端點(diǎn),并返回。從而達(dá)到抗干擾的目的、提高識(shí)別率。如下圖所示。2.5 特征參數(shù)提取特征值的提取是對(duì)原始的語(yǔ)音信號(hào)運(yùn)用一定的數(shù)字信號(hào)處理技術(shù)進(jìn)行適當(dāng)?shù)奶幚?,從而得到一個(gè)矢量序列,這個(gè)矢量序列可以代表原始的語(yǔ)音信號(hào)所攜帶的信息,初步實(shí)現(xiàn)數(shù)據(jù)壓縮。特征參數(shù)主要有:能量、幅度、過(guò)零率、頻譜、倒譜和功率譜等??紤]到其他因素的影響,還有許多基于基本參數(shù)的參數(shù),本文選用了MEL頻率倒譜系數(shù)(MFCC)進(jìn)行提取特征參數(shù)。MFCC系數(shù)的計(jì)算是以“bark”為其頻率基準(zhǔn)的,它和線性頻率的轉(zhuǎn)換關(guān)系是: (2-9)MFCC系數(shù)也是按幀計(jì)算的,首先要通過(guò)FFT得到該幀信號(hào)的功率譜S(n),轉(zhuǎn)換為Mel頻率下的功率譜。這需要在計(jì)算之前先在語(yǔ)音的頻譜范圍內(nèi)設(shè)置若干個(gè)帶通濾波器: NHm(n) m=0,1,M-1; n=0,1,N/2-1 (2-10)M為濾波器的個(gè)數(shù),通常取24,與臨界帶的個(gè)數(shù)一樣;N為一幀語(yǔ)音信號(hào)的點(diǎn)數(shù),為了計(jì)算FFT的方便,通常取256。濾波器在頻域上為簡(jiǎn)單的三角形,其中心頻率fm在Mel頻率軸上是均勻分布的。從圖2.5就可以看到MFCC系數(shù)的計(jì)算過(guò)程如下:(1) 預(yù)處理:確定每一幀語(yǔ)音采樣序列的長(zhǎng)度(如N=256),并對(duì)每幀序列s(n)進(jìn)行預(yù)加重、分幀和加窗處理;(2) 計(jì)算離散功率譜:對(duì)預(yù)處理的每幀進(jìn)行離散FFT變換得到其頻譜,再取模的平方作為離散功率譜S(n);(3) 將功率譜通過(guò)濾波器組:計(jì)算S(n)通過(guò)M個(gè)Hm(n)后所得的功率值,即計(jì)算S(n)和Hm(n)在各離散頻率點(diǎn)上的乘積之和,得到M個(gè)參數(shù)Pm,m=0,1,M-1;(4) 取對(duì)數(shù):計(jì)算Pm的自然對(duì)數(shù),得到Lm,m=0,1,M-1;(5) 離散余弦變換:對(duì)Lm計(jì)算其離散余弦變換,得到D m,m=0,1,M-1,舍去代表直流成份的D0,取D1,D2,Dk作為MFCC參數(shù)。圖2.4 語(yǔ)音信號(hào)MFCC系數(shù)的算法流程圖三 基于BP神經(jīng)網(wǎng)絡(luò)語(yǔ)音識(shí)別算法實(shí)現(xiàn)3.1 BP神經(jīng)網(wǎng)絡(luò)原理BP神經(jīng)網(wǎng)絡(luò)又稱誤差反向傳遞神經(jīng)網(wǎng)絡(luò)。它是一種依靠反饋值來(lái)不斷調(diào)整節(jié)點(diǎn)之間的連接權(quán)值而構(gòu)建的一種網(wǎng)絡(luò)模型。它的整個(gè)體系結(jié)構(gòu)如圖1所示,分為輸入層、隱藏層和輸出層,其中隱藏層根據(jù)具體情況的需要,可以是一層結(jié)構(gòu)也可為多層結(jié)構(gòu)。BP算法的基本思想是:學(xué)習(xí)過(guò)程由信號(hào)的正向傳播與誤差的反向傳播兩個(gè)過(guò)程組成。正向傳播時(shí),輸入樣本從輸人層傳人,經(jīng)各隱藏層逐層處理后,傳向輸出層。若輸出層的實(shí)際輸出與期望的輸出(教師信號(hào))不符,則轉(zhuǎn)入誤差的反向傳播階段。誤差反傳是將輸出誤差以某種形式通過(guò)隱藏層向輸入層反傳,并將誤差分?jǐn)偨o各層的所有單元,從而獲得各層單元的誤差信號(hào),此誤差信號(hào)即作為修正各單元權(quán)值的依據(jù)。這種信號(hào)正向傳播與誤差反向傳播的各層權(quán)值調(diào)整過(guò)程,是周而復(fù)始的進(jìn)行的。權(quán)值不斷調(diào)整的過(guò)程,也就是網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練過(guò)程,此過(guò)程一直進(jìn)行到網(wǎng)絡(luò)輸出的誤差減少到可以接受的程度,或進(jìn)行到預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為止。圖3.1 BP神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)3.2 輸入層神經(jīng)元個(gè)數(shù)的確定將數(shù)字圖像的特征向量作為神經(jīng)網(wǎng)絡(luò)的輸入,所以神經(jīng)網(wǎng)絡(luò)的輸入層神經(jīng)元個(gè)數(shù)等于特征向量的維數(shù),數(shù)字語(yǔ)音識(shí)別提取的MFCC特征是一個(gè)行數(shù)row不確定,列數(shù)為24的二位向量,用此row20=all個(gè)元素組成一個(gè)數(shù)字字符的列矩陣,即數(shù)字字符的特征向量,由于row都不一樣,所以根據(jù)經(jīng)驗(yàn)使all=600,不夠600的直接用零補(bǔ)充。即600個(gè)輸入神經(jīng)元。輸出層神經(jīng)元個(gè)數(shù)的確定因?yàn)橐R(shí)別5個(gè)數(shù)字,因此輸出選擇為51的矩陣,即輸出節(jié)點(diǎn)數(shù)為5。當(dāng)數(shù)字圖像15輸入神經(jīng)網(wǎng)絡(luò)后在輸出神經(jīng)元對(duì)應(yīng)的位置上為1,其他的位置為0。輸人數(shù)字0,第1個(gè)輸出神經(jīng)元為1,其他為0;輸入數(shù)字1,第2個(gè)輸出神經(jīng)元為1,其他為0;以此類推。3.3網(wǎng)絡(luò)隱含層數(shù)的確定隱含層數(shù)越多,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)速度就越慢,根據(jù)Kosmogorov定理,在合理的結(jié)構(gòu)和恰當(dāng)?shù)臋?quán)值條件下,3層BP網(wǎng)絡(luò)可以逼近任意的連續(xù)函數(shù),因此,我們選取結(jié)構(gòu)相對(duì)簡(jiǎn)單的3層BP網(wǎng)絡(luò)。3.4隱含層神經(jīng)元個(gè)數(shù)的確定一般情況下,隱含層神經(jīng)元個(gè)數(shù)是根據(jù)網(wǎng)絡(luò)收斂性能的好壞來(lái)確定的,在總結(jié)大量網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,得出經(jīng)驗(yàn)公式:s=sqr(043nm+0.12m +2.54n+0.77m+0.35+0.51)其中n為輸人層神經(jīng)元個(gè)數(shù),m為輸出層神經(jīng)元個(gè)數(shù),根據(jù)以上公式,可以得出隱含層神經(jīng)元個(gè)數(shù)為53。3.5 BP神經(jīng)網(wǎng)絡(luò)構(gòu)造建立一個(gè)前向BP神經(jīng)網(wǎng)絡(luò)函數(shù)newff: net=newff(minmax(P),600,53,5,logsig,logsig,logsig,traincgb);其中minmax(P)為神經(jīng)網(wǎng)絡(luò)的對(duì)它的600個(gè)輸入元素的最大值和最小值的限制。P為訓(xùn)練樣本集合。600,53,5為該神經(jīng)網(wǎng)絡(luò)的層結(jié)構(gòu)。logsig,logsig,logsig為神經(jīng)網(wǎng)絡(luò)的各層的轉(zhuǎn)移函數(shù),均設(shè)置為對(duì)數(shù)S型激活函數(shù)。訓(xùn)練函數(shù)采用 traincgb ,即采用Powel1-Beale共軛梯度法訓(xùn)練。3.6 BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練3.6.1訓(xùn)練樣本集合和目標(biāo)值集合數(shù)字語(yǔ)音識(shí)別提取的MFCC特征,由15這10個(gè)數(shù)字的特征列向量組成一個(gè)6005的輸入矢量,記為:sample_group=1,2, ,5 ;式中的1,2, ,5代表數(shù)字的特征列向量。與輸入矢量對(duì)應(yīng)的目標(biāo)矢量是希望每一個(gè)數(shù)字輸入神經(jīng)網(wǎng)絡(luò)后在輸出神經(jīng)元對(duì)應(yīng)的位置上為1,其他的位置為0。為此取目標(biāo)矢量為對(duì)角線上為1的55的單位陣,用matlab命令實(shí)現(xiàn)為:targets=eye(5);本文中15共5類數(shù)據(jù),每類取4個(gè)做訓(xùn)練樣本,即4組輸入矢量構(gòu)成訓(xùn)練樣本集合訓(xùn)練神經(jīng)網(wǎng)絡(luò),訓(xùn)練樣本集合如下:P=samples_groupl,samples_group2, ,samples_group5;P=double(P);與訓(xùn)練樣本集合相對(duì)應(yīng)的目標(biāo)值集合由20組目標(biāo)矢量構(gòu)成,目標(biāo)值集合如下:T=targets,targets, ,targets,targets3.6.2 網(wǎng)絡(luò)訓(xùn)練本文神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差性能目標(biāo)值設(shè)置為00001,當(dāng)神經(jīng)網(wǎng)絡(luò)訓(xùn)練次數(shù)達(dá)到最大值1 000或者神經(jīng)網(wǎng)絡(luò)的誤差平方降到00001以下,終止訓(xùn)練。程序代碼如下 :nettrainParamepochs=1000;最大訓(xùn)練次數(shù)nettrainParamshow=20;顯示的間隔次數(shù)nettrainParammin_grad=le-10;最小執(zhí)行梯度nettrainParamgoal=00001;性能目標(biāo)值net1ayers1initFcn=initwb; 網(wǎng)絡(luò)層的初始化函數(shù)選為initwb,使下面的輸入層初始化語(yǔ)句randnr有效netinputWeights1,1initFcn=randnr;輸入層權(quán)值向量初始化net1ayerWeights2,1initFcn=randnr;第1網(wǎng)絡(luò)層到第2網(wǎng)絡(luò)層的權(quán)值向量初始化net=init(net); 初始化網(wǎng)絡(luò)net,tr=train(net,P,T); 網(wǎng)絡(luò)訓(xùn)練其中net,tr中的net為更新了權(quán)值的神經(jīng)網(wǎng)絡(luò),tr為訓(xùn)練記錄(次數(shù)和每次訓(xùn)練的誤差)。從相關(guān)的神經(jīng)網(wǎng)絡(luò)訓(xùn)練中可以看出,當(dāng)神經(jīng)網(wǎng)絡(luò)的誤差平方00000718時(shí),小于性能目標(biāo)值00001,神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)束,開始進(jìn)行系統(tǒng)的性能測(cè)試。圖3為學(xué)習(xí)誤差曲線圖。圖3.2 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)誤差曲線3.7網(wǎng)絡(luò)訓(xùn)練測(cè)試函數(shù)為神經(jīng)網(wǎng)絡(luò)仿真函數(shù),testout=sim(net,test_sample)其中net為訓(xùn)練完成了的網(wǎng)絡(luò),test_sample為測(cè)試樣本的特征向量,testout為神經(jīng)網(wǎng)絡(luò)的輸出。部分程序代碼如下:testout=sim(net,test_sample);神經(jīng)網(wǎng)絡(luò)的仿真max_value=max(testout);輸出神經(jīng)元最大值if(max_value0.7) %輸出神經(jīng)元的最大值大于07才進(jìn)行數(shù)字識(shí)別,小于07時(shí)拒絕識(shí)別testout=compet(testout);number=find(testout= =1);數(shù)字識(shí)別結(jié)果end3.8 語(yǔ)音的識(shí)別結(jié)果本系統(tǒng)測(cè)試時(shí),通過(guò)話筒直接輸入測(cè)試語(yǔ)音1,2,3,4,5,系統(tǒng)會(huì)先提取的語(yǔ)音特征,然后根據(jù)事前存好的輸入樣本自動(dòng)訓(xùn)練網(wǎng)絡(luò),最后測(cè)試樣本,得到輸出結(jié)果。表3.1 BP神經(jīng)網(wǎng)絡(luò)算法識(shí)別率語(yǔ)音內(nèi)容識(shí)別次數(shù)(個(gè))正確次數(shù)(個(gè))錯(cuò)誤次數(shù)(個(gè))拒絕識(shí)別(個(gè))識(shí)別率15500100%2540180%35500100%4540180%55500100%1-525230292%其中可以看出1,3,5這三個(gè)語(yǔ)音的識(shí)別率都是為100%。完全識(shí)別正確。2,4這兩個(gè)語(yǔ)音段的識(shí)別率都為80%,識(shí)別正確了4次,錯(cuò)誤了1次。造成這種情況的原因可能是:(1) 外界環(huán)境的干擾,噪聲的干擾。(2) 每次說(shuō)話的語(yǔ)調(diào),語(yǔ)音的不同。本課題的主程序包括五個(gè)調(diào)用子程序,分別為分裂信號(hào)成重疊框架的enframe;實(shí)現(xiàn)特征提取的mfcc;判斷矩陣的一個(gè)濾波器組melbankm;將多組mfcc系數(shù)取平均的MfccProcess.m。將取所有音頻的mfcc系數(shù)處理成神經(jīng)網(wǎng)絡(luò)函數(shù)所需的輸入格式的SampleCreate.m。四總結(jié)通過(guò)對(duì)孤立詞語(yǔ)音識(shí)別系統(tǒng)中各個(gè)模塊的MATLAB仿真,可知每個(gè)模塊都能滿足系統(tǒng)的識(shí)別要求;從語(yǔ)音信號(hào)的端點(diǎn)檢測(cè)看出,對(duì)不同人和不同的孤立詞,該方法能準(zhǔn)確的檢測(cè)出起始點(diǎn)和終止點(diǎn),為信號(hào)的特征參數(shù)提取做準(zhǔn)備工作;而特征參數(shù)的提取通過(guò)MFCC算法也能很好的提取對(duì)信號(hào)識(shí)別的參數(shù)值;應(yīng)用BP神經(jīng)網(wǎng)絡(luò)算法對(duì)語(yǔ)音進(jìn)行模式匹配,從仿真的結(jié)果和數(shù)據(jù)分析,可以清楚的看到各個(gè)語(yǔ)音的識(shí)別率。最后通過(guò)對(duì)一些孤立詞語(yǔ)音進(jìn)行識(shí)別的驗(yàn)證,得出整個(gè)系統(tǒng)在實(shí)際應(yīng)用當(dāng)中的可行性。參考文獻(xiàn)1趙力. 語(yǔ)音信號(hào)處理M . 北京: 機(jī)械工業(yè)出版社, 20032蔡蓮紅, 黃德智, 蔡銳. 現(xiàn)代語(yǔ)音技術(shù)基礎(chǔ)與應(yīng)用M . 北京: 清華3張雄偉,陳亮,楊吉斌. 現(xiàn)代語(yǔ)音處理技術(shù)及應(yīng)用M. 北京:機(jī)械工業(yè)出版社, 2003.4朱淑琴,裘雪紅一種精確檢測(cè)語(yǔ)音端點(diǎn)的方法計(jì)算機(jī)仿真,2004,22(3):214-2165王讓定,柴佩琪.語(yǔ)音倒譜特征的研究J.計(jì)算機(jī)工程,2003,29(13):31 - 33.6MATLAB中文論壇.MATLAB神經(jīng)網(wǎng)絡(luò)30個(gè)案例分析M.北京:北京航空航天大學(xué)出版社,20107譚保華,熊健民,劉幺和.語(yǔ)音識(shí)別技術(shù)概述J.鄖陽(yáng)師范高等??茖W(xué)校學(xué)報(bào),2004.8詹新明,楊燦等.基于MATLAB和BP網(wǎng)絡(luò)的語(yǔ)音識(shí)別系統(tǒng)J.微計(jì)算機(jī)信息.2009,9(1):176-1789萬(wàn)春基于DTW的孤立詞語(yǔ)音識(shí)別研究和算法改進(jìn)集美人學(xué)學(xué)報(bào)(自然科學(xué)版),2002(6):104108.10劉長(zhǎng)明,任一峰語(yǔ)音識(shí)別中DTW特征匹配的改進(jìn)算法研究中北大學(xué)學(xué)報(bào)(自然科學(xué)舨),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 Hongzhi 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馬莉,黨幼云特定人孤立詞語(yǔ)音識(shí)別系統(tǒng)的仿真與分析西安工程科技學(xué)院學(xué)報(bào)2007,21(03):10-12附錄仿真實(shí)驗(yàn)所用程序1.語(yǔ)音預(yù)處理端點(diǎn)檢測(cè)程序:x,fs,nbits=wavread(tqwxs.wav);x = x / max(abs(x);%幅度歸一化到-1,1x = double(x);x = x / max(abs(x);%常數(shù)設(shè)置FrameLen = 240;%指定幀長(zhǎng)FrameInc = 80;%指定幀移amp1 = 20;amp2 = 10;zcr1 = 10;zcr2 = 5;maxsilence = 8; % 6*10ms = 30msminlen = 15; % 15*10ms = 150msstatus = 0;count = 0;silence = 0;%計(jì)算過(guò)零率tmp1 = enframe(x(1:end-1), FrameLen, FrameInc);%分幀處理,tmp1和tmp2為分幀后形成的二維數(shù)組tmp2 = enframe(x(2:end) , FrameLen, FrameInc);signs = (tmp1.*tmp2)0.02;zcr = sum(signs.*diffs, 2);%計(jì)算短時(shí)能量amp = sum(abs(enframe(filter(1 -0.9375, 1, x), FrameLen, FrameInc), 2);%調(diào)整能量門限amp1 = min(amp1, max(amp)/4);amp2 = min(amp2, max(amp)/8);%開始端點(diǎn)檢測(cè)x1 = ;x2 = ;for n=1:length(zcr)goto = 0;switch statuscase 0,1 % 0 = 靜音, 1 = 可能開始if amp(n) amp1 % 確信進(jìn)入語(yǔ)音段x1(end+1) = max(n-count-1,1);status = 2;silence = 0;count = count + 1;elseif amp(n) amp2 | . % 可能處于語(yǔ)音段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 = 語(yǔ)音段if amp(n) amp2 | . % 保持在語(yǔ)音段zcr(n) zcr2count = count + 1;else % 語(yǔ)音將結(jié)束silence = silence+1;if silence maxsilence % 靜音還不夠長(zhǎng),尚未結(jié)束count = count + 1;elseif count minlen % 語(yǔ)音長(zhǎng)度太短,認(rèn)為是噪聲status = 0;silence = 0;count = 0;else % 語(yǔ)音結(jié)束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_silence(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% line(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);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);

溫馨提示

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

評(píng)論

0/150

提交評(píng)論