基于MATLAB的語(yǔ)音識(shí)別DTW算法設(shè)計(jì)_第1頁(yè)
基于MATLAB的語(yǔ)音識(shí)別DTW算法設(shè)計(jì)_第2頁(yè)
基于MATLAB的語(yǔ)音識(shí)別DTW算法設(shè)計(jì)_第3頁(yè)
基于MATLAB的語(yǔ)音識(shí)別DTW算法設(shè)計(jì)_第4頁(yè)
基于MATLAB的語(yǔ)音識(shí)別DTW算法設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目錄1概述21.1研究的目的和意義21.2國(guó)內(nèi)外發(fā)展?fàn)顩r2國(guó)外研究歷史及現(xiàn)狀3國(guó)內(nèi)研究歷史及現(xiàn)狀42語(yǔ)音識(shí)別系統(tǒng)的概述43 MATLAB中的語(yǔ)音信號(hào)的采集43.1 wavrecord函數(shù)43.2 wavplay函數(shù)64語(yǔ)音信號(hào)的端點(diǎn)檢測(cè)64.1語(yǔ)音信號(hào)端點(diǎn)檢測(cè)的流程6短時(shí)能量8過(guò)零率的計(jì)算9雙門(mén)限端點(diǎn)檢測(cè)115語(yǔ)音識(shí)別參數(shù)提取125.1 MFCC的基本原理126特定人語(yǔ)音識(shí)別算法-DTW算法136.1DTW算法原理146.2DTW算法流程及實(shí)驗(yàn)結(jié)果167 GUI界面的設(shè)計(jì)177.1圖形用戶(hù)界面設(shè)計(jì)工具的啟動(dòng)177.3測(cè)試與分析18總結(jié)20致謝21參考文獻(xiàn)22附件23基于MATLAB的特定人語(yǔ)音

2、識(shí)別算法設(shè)計(jì)摘要在高度發(fā)達(dá)的社會(huì),語(yǔ)言是一種人類(lèi)交流最方便的,最速度的信息,在高度發(fā)達(dá)的社會(huì)中,用數(shù)字化的方式舉行語(yǔ)音的保存、傳遞、判別、加強(qiáng)和合成等是全部數(shù)字化通信過(guò)程中最基礎(chǔ)、最重要的組成的一部分。由于人類(lèi)進(jìn)入信息社會(huì)節(jié)奏加快, 語(yǔ)音信號(hào)處理方面的知識(shí)被越來(lái)越多的地方需要。本設(shè)計(jì)主要在MATLAB平臺(tái)下先語(yǔ)音信號(hào)的端點(diǎn)檢測(cè)、預(yù)處理,然后提取特征參數(shù),建立兩個(gè)模塊,一個(gè)為參考模塊,一個(gè)為測(cè)試模塊,然后通過(guò)動(dòng)態(tài)時(shí)間歸整技術(shù)(DTW)算法進(jìn)行匹配,算出匹配結(jié)果。最后在用戶(hù)開(kāi)發(fā)界面(GUI界面)直觀地呈現(xiàn)出來(lái)。本次設(shè)計(jì)錄制010的數(shù)字做為參考庫(kù)(model),測(cè)試庫(kù)(test)中為需要測(cè)試及識(shí)別的

3、語(yǔ)音,0的序號(hào)為11,19的數(shù)字以相應(yīng)數(shù)字做為文件名的命名。關(guān)鍵詞:端點(diǎn)檢測(cè); MFCC特征提?。徽Z(yǔ)音識(shí)別;DTW算法1概述1.1研究的目的和意義隨著計(jì)算機(jī)技術(shù)和科技成果的的飛速發(fā)展,人們?cè)缫巡辉贊M(mǎn)足于讓計(jì)算機(jī)做一些簡(jiǎn)單的科學(xué)計(jì)算和運(yùn)算,而是向它提出了更高的要求,即要求我們的計(jì)算機(jī)向智能化方向發(fā)展,于是人們便開(kāi)始了第五代計(jì)算機(jī)(即智能計(jì)算機(jī))的研究。計(jì)算機(jī)人工智能方面的研究?jī)?nèi)容有很多,諸如計(jì)算機(jī)知識(shí)處理、專(zhuān)家系統(tǒng)、視覺(jué)、計(jì)算機(jī)語(yǔ)音等。其中人機(jī)自然語(yǔ)言的接口是一個(gè)非常重要的部分。它要求人工智能計(jì)算機(jī)能說(shuō)會(huì)聽(tīng),應(yīng)此要求出現(xiàn)了語(yǔ)音識(shí)別和語(yǔ)音合成兩門(mén)學(xué)科。語(yǔ)音識(shí)別是人機(jī)通信的關(guān)鍵技術(shù)之一,也是一種最為

4、理想的人機(jī)通信方式。 對(duì)于許多應(yīng)用來(lái)說(shuō),一個(gè)語(yǔ)音識(shí)別系統(tǒng)只要一組詞匯或命令就能為用戶(hù)提供一個(gè)有效的工具,因此簡(jiǎn)單有效的特定人語(yǔ)音識(shí)別系統(tǒng)就能滿(mǎn)足要求。同時(shí)特定人語(yǔ)音識(shí)別系統(tǒng)具有廣闊的應(yīng)用前景,比如工業(yè)命令控制、計(jì)算機(jī)控制、家庭電器服務(wù)、個(gè)人移動(dòng)通信呼叫等,尤其當(dāng)人手已被占用或無(wú)法使用的情況下必須進(jìn)行聲音控制時(shí),更可以起到不可替代的作用,這項(xiàng)技術(shù)將給人們的日常生活帶來(lái)極大的便利。1.2國(guó)內(nèi)外發(fā)展?fàn)顩r國(guó)外研究歷史及現(xiàn)狀國(guó)外的語(yǔ)音識(shí)別方面的研究工作可以追溯到20世紀(jì)50年代AT&T貝爾實(shí)驗(yàn)室的Audry系統(tǒng),它是第一個(gè)可以識(shí)別十個(gè)英文數(shù)字的語(yǔ)音識(shí)別系統(tǒng)。  但是真正取得實(shí)

5、質(zhì)性進(jìn)展,并將其作為一個(gè)重要的課題開(kāi)展研究則是在60年代末70年代初。這首先是因?yàn)橛?jì)算機(jī)技術(shù)的發(fā)展為語(yǔ)音識(shí)別的實(shí)現(xiàn)提供了硬件和軟件的可能,更重要的是語(yǔ)音信號(hào)線性預(yù)測(cè)編碼(LPC)技術(shù)和動(dòng)態(tài)時(shí)間規(guī)整(DTW)技術(shù)的提出,有效的解決了語(yǔ)音信號(hào)的特征提取和不等長(zhǎng)匹配問(wèn)題。實(shí)驗(yàn)室語(yǔ)音識(shí)別研究的巨大突破產(chǎn)生于20世紀(jì)80年代末:人們終于在實(shí)驗(yàn)室突破了大詞匯量、連續(xù)語(yǔ)音和非特定人這三大障礙,第一次把這三個(gè)特性都集成在一個(gè)系統(tǒng)中,比較典型的是卡耐基梅隆大學(xué)(CarnegieMellonUniversity)的Sphinx系統(tǒng),它是第一個(gè)高性能的非特定人、大詞匯量連續(xù)語(yǔ)音識(shí)別系統(tǒng)。  這一

6、時(shí)期,語(yǔ)音識(shí)別研究進(jìn)一步走向深入,其顯著特征是隱馬爾可夫模型(HMM)模型和人工神經(jīng)元網(wǎng)絡(luò)(ANN)在語(yǔ)音識(shí)別中的成功應(yīng)用。HMM模型的廣泛應(yīng)用應(yīng)歸功于AT&TBell實(shí)驗(yàn)室Rabiner等科學(xué)家的努力,他們把原本艱澀的HMM純數(shù)學(xué)模型工程化,從而為更多研究者了解和認(rèn)識(shí),從而使統(tǒng)計(jì)方法成為了語(yǔ)音識(shí)別技術(shù)的主流。   20世紀(jì)90年代前期,許多著名的大公司如IBM、蘋(píng)果、AT&T和NTT都對(duì)語(yǔ)音識(shí)別系統(tǒng)的實(shí)用化研究投以巨資。語(yǔ)音識(shí)別技術(shù)有一個(gè)很好的評(píng)估機(jī)制,那就是識(shí)別的準(zhǔn)確率,而這項(xiàng)指標(biāo)在20世紀(jì)90年代中后期實(shí)驗(yàn)室研究中得到了不斷的提高。比較有代表

7、性的是:IBM公司推出的ViaVoice和DragonSystem公司的NaturallySpeaking,Nuance公司的NuanceVoicePlatform語(yǔ)音平臺(tái),Microsoft的Whisper,Sun的VoiceTone等。  其中IBM公司于1997年開(kāi)發(fā)出漢語(yǔ)ViaVoice語(yǔ)音識(shí)別系統(tǒng),次年又開(kāi)發(fā)出可以識(shí)別上海話、廣東話和四川話等地方口音的語(yǔ)音識(shí)別系統(tǒng)ViaVoice'98。它帶有一個(gè)32,000詞的基本詞匯表,可以擴(kuò)展到65,000詞,還包括辦公常用詞條,具有“糾錯(cuò)機(jī)制”,其平均識(shí)別率可以達(dá)到95%。該系統(tǒng)對(duì)新聞?wù)Z音識(shí)別具有較高的精度,是目前

8、具有代表性的漢語(yǔ)連續(xù)語(yǔ)音識(shí)別系統(tǒng)。 國(guó)內(nèi)研究歷史及現(xiàn)狀我國(guó)語(yǔ)音識(shí)別研究工作起步于五十年代,但近年來(lái)發(fā)展很快。研究水平也從實(shí)驗(yàn)室逐步走向?qū)嵱?。?987年開(kāi)始執(zhí)行國(guó)家863計(jì)劃后,國(guó)家863智能計(jì)算機(jī)專(zhuān)家組為語(yǔ)音識(shí)別技術(shù)研究專(zhuān)門(mén)立項(xiàng),每?jī)赡隄L動(dòng)一次。我國(guó)語(yǔ)音識(shí)別技術(shù)的研究水平已經(jīng)基本上與國(guó)外同步,在漢語(yǔ)語(yǔ)音識(shí)別技術(shù)上還有自己的特點(diǎn)與優(yōu)勢(shì),并達(dá)到國(guó)際先進(jìn)水平。  清華大學(xué)電子工程系語(yǔ)音技術(shù)與專(zhuān)用芯片設(shè)計(jì)課題組,研發(fā)的非特定人漢語(yǔ)數(shù)碼串連續(xù)語(yǔ)音識(shí)別系統(tǒng)的識(shí)別精度,達(dá)到94.8%(不定長(zhǎng)數(shù)字串)和96.8%(定長(zhǎng)數(shù)字串)。在有5%的拒識(shí)率情況下,系統(tǒng)識(shí)別率可以達(dá)到96.9

9、%(不定長(zhǎng)數(shù)字串)和98.7%(定長(zhǎng)數(shù)字串),這是目前國(guó)際最好的識(shí)別結(jié)果之一,其性能已經(jīng)接近實(shí)用水平。研發(fā)的5000詞郵包校核非特定人連續(xù)語(yǔ)音識(shí)別系統(tǒng)的識(shí)別率達(dá)到98.73%,前三選識(shí)別率達(dá)99.96%;并且可以識(shí)別普通話與四川話兩種語(yǔ)言,達(dá)到實(shí)用要求。 中科院自動(dòng)化所及其所屬模式科技(Pattek)公司2002年發(fā)布了他們共同推出的面向不同計(jì)算平臺(tái)和應(yīng)用的“天語(yǔ)”中文語(yǔ)音系列產(chǎn)品PattekASR,結(jié)束了中文語(yǔ)音識(shí)別產(chǎn)品自1998年以來(lái)一直由國(guó)外公司壟斷的歷史。 2語(yǔ)音識(shí)別系統(tǒng)的概述語(yǔ)音識(shí)別系統(tǒng)的總體結(jié)構(gòu)框圖如圖2-1所示。從圖中可以看出語(yǔ)音識(shí)別系統(tǒng)的本質(zhì)就是一種模式識(shí)別

10、系統(tǒng),它也包括特征提取、模式匹配、參考模式庫(kù)等基本單元。由于語(yǔ)音信號(hào)是一種典型的非平穩(wěn)信號(hào),加之呼吸氣流、外部噪音、電流干擾等使得語(yǔ)音信號(hào)不能直接用于提取特征,而要進(jìn)行前期的預(yù)處理。首先通過(guò)語(yǔ)音的錄制作為輸入信號(hào),輸入的模擬語(yǔ)音信號(hào)要進(jìn)行預(yù)處理,包括預(yù)濾波、采樣和量化、加窗、端點(diǎn)檢測(cè)、預(yù)加重等等。經(jīng)過(guò)預(yù)處理后,接下來(lái)就是重要的一環(huán):特征參數(shù)提取,在訓(xùn)練階段,將特征參數(shù)進(jìn)行一定的處理之后,為每個(gè)詞得到一個(gè)模型,保存為模板庫(kù)。在識(shí)別階段,語(yǔ)音信號(hào)經(jīng)過(guò)相同的通道得到語(yǔ)音參數(shù),生成測(cè)試模板,與參考模板進(jìn)行匹配,將匹配分?jǐn)?shù)最高的參考模板作為識(shí)別結(jié)果。訓(xùn)練識(shí)別參考 模塊識(shí)別結(jié)果語(yǔ)音輸入預(yù)處理特征提取測(cè)度估

11、計(jì)模板庫(kù)識(shí)別決策專(zhuān)家知識(shí)圖2.1 語(yǔ)音識(shí)別總體架構(gòu)3 MATLAB中的語(yǔ)音信號(hào)的采集語(yǔ)音信號(hào)的采集也可以使用Windows中的“錄音機(jī)”錄制成.wav格式。而在MATLAB環(huán)境中語(yǔ)音信號(hào)的采集可使用wavrecord函數(shù)錄制,然后使用wavread函數(shù)讀入,wavplay函數(shù)播放,uiputfile函數(shù)保存。3.1 wavrecord函數(shù)wavrecord的用法:y = wavrecord(n,Fs);y = wavrecord(n,Fs,ch);其中n為樣本個(gè)數(shù),F(xiàn)s為頻率,默認(rèn)值為11025,本設(shè)計(jì)采用16000,ch為通道數(shù),默認(rèn)為1,若為2,則表示采樣為雙聲道立體聲數(shù)據(jù),本設(shè)計(jì)ch為1

12、Audiorecorder函數(shù)也可以用來(lái)錄制音頻,但在本次設(shè)計(jì)的操作上,通常采用的語(yǔ)音格式以wav格式為主,在保存語(yǔ)音上,uiputfile能更好的與wavrecord相結(jié)合,所以用wavrecord比較好。3.2 wavplay函數(shù)wavplay函數(shù)的用法:wavplay(y,Fs)其中y為輸入信號(hào),F(xiàn)s為頻率sound函數(shù)與soundsc函數(shù)也可以用來(lái)播放音頻,雖然它們可以在任何操作系統(tǒng)平臺(tái)上使用,而wavplay只支持Windows平臺(tái)。但因?yàn)樵谡Z(yǔ)音識(shí)別中,我們通常采用的語(yǔ)音格式為wav格式,而wavplay函數(shù)與wavrecord函數(shù)的配合能更好的操作運(yùn)行起來(lái),兩者結(jié)合共同使用。舉個(gè)例

13、子:Fs=16000;y=wavrecord(5*Fs,Fs,int16);wavplay(y,Fs);該段代碼意思為:通過(guò)Windows的錄音設(shè)備以16000Hz的采樣頻率錄制5秒的數(shù)據(jù),采樣精度為16位,存儲(chǔ)格式為int16;隨后通過(guò)Windows的音頻設(shè)備進(jìn)行播放, 如圖3-1所示為采集到的信號(hào)波形圖。圖3-1 語(yǔ)音信號(hào)波形 在MATLAB平臺(tái)處理語(yǔ)音信號(hào)時(shí),可以通過(guò)wavplay函數(shù)回放錄制好了的語(yǔ)音,次函數(shù)具有快速檢驗(yàn)數(shù)據(jù)和計(jì)算可靠性。但是在錄音的時(shí)候,wavrecord函數(shù)有很大的局限性,在錄制語(yǔ)音的時(shí)候必須事先制定語(yǔ)音的時(shí)間。如果在指定的時(shí)間內(nèi)用戶(hù)沒(méi)有說(shuō)話,就會(huì)漏掉全部或部分的語(yǔ)

14、音數(shù)據(jù),操作起來(lái)不方便。并且,在一個(gè)語(yǔ)音識(shí)別系統(tǒng)中,程序會(huì)自動(dòng)判斷當(dāng)前是用戶(hù)在說(shuō)話還是靜音,如果檢測(cè)用戶(hù)有發(fā)出語(yǔ)音,那么就會(huì)保存該段語(yǔ)音,然后將刪除掉頭部和尾部的靜音部分,這一功能被稱(chēng)為語(yǔ)音信號(hào)的端點(diǎn)檢測(cè)。4語(yǔ)音信號(hào)的端點(diǎn)檢測(cè)無(wú)論是測(cè)試和建立模板階段還是在識(shí)別階段,都先采用端點(diǎn)檢測(cè)算法確定語(yǔ)音的起點(diǎn)和終點(diǎn)。語(yǔ)音端點(diǎn)檢測(cè)是指用計(jì)算機(jī)數(shù)字處理技術(shù)從包含語(yǔ)音的一段信號(hào)中找出起始點(diǎn)及結(jié)束點(diǎn),從而只存儲(chǔ)和處理有效語(yǔ)音信號(hào)。語(yǔ)音端點(diǎn)檢測(cè)是語(yǔ)音分析和識(shí)別中的一個(gè)重要環(huán)節(jié),其算法的優(yōu)劣在某種程度上也直接決定了整個(gè)語(yǔ)音識(shí)別系統(tǒng)的優(yōu)劣。4.1語(yǔ)音信號(hào)端點(diǎn)檢測(cè)的流程語(yǔ)音信號(hào)輸入設(shè)置短時(shí)能量高、低門(mén)限設(shè)置短時(shí)過(guò)零率高

15、、低門(mén)限計(jì)算過(guò)零率計(jì)算短時(shí)能量進(jìn)入狀態(tài)status開(kāi)始檢測(cè)調(diào)整能量門(mén)限歸一化語(yǔ)音端點(diǎn)檢測(cè)流程如圖4-1所示。圖4-1端點(diǎn)檢測(cè)算法流程圖(1)歸一化:為了后面處理方便,通常將讀取的語(yǔ)音信號(hào)進(jìn)行歸一化到-1,1(2)短時(shí)能量的作用: 可以較好地區(qū)分出濁音和靜音。(3)短時(shí)過(guò)零的作用:檢測(cè)清音。由于其能量較小,在短時(shí)能量檢測(cè)中會(huì)因?yàn)榈陀谀芰块T(mén)限而被誤判為靜音;短時(shí)過(guò)零率則可以從語(yǔ)音中區(qū)分出靜音和清音(如“S”、“C”)(4)高低門(mén)限的作用:檢測(cè)之前,先為短時(shí)能量和過(guò)零率分別確定兩個(gè)門(mén)限。一個(gè)是比較低的門(mén)限,其數(shù)值比較小,對(duì)信號(hào)的變化能夠敏感,很容易就會(huì)被超過(guò);而另一個(gè)是比較高的門(mén)限,數(shù)值要求比較大,

16、信號(hào)要達(dá)到一定的強(qiáng)度,該門(mén)限才可能被超過(guò)。不過(guò),低門(mén)限被超過(guò)未必就是語(yǔ)音的開(kāi)始,有可能是時(shí)間很短的噪聲引起的。高門(mén)限被超過(guò)的話則可以基本確定是由于語(yǔ)音信號(hào)引起的。在了解語(yǔ)音信號(hào)的端點(diǎn)檢測(cè)之前,我們先來(lái)了解一下語(yǔ)音信號(hào)的特征,如圖4-2可以看到,信號(hào)在大致0.480.84之間的采樣點(diǎn)屬于發(fā)音狀態(tài),在頭部跟尾部的信號(hào)幅度很低,屬于靜音或噪音。圖4-2 語(yǔ)音信號(hào)波形圖4-1中的圖(II)和圖(III)是信號(hào)波形的頭部放大圖,可以看出,在0.48之前的信號(hào)幅度很低,明顯屬于靜音,而從0.48開(kāi)始,幅度開(kāi)始增強(qiáng),并且有明顯的周期性,兩個(gè)尖峰之間的距離就是所謂的基音周期,也就是人的聲帶振動(dòng)的周期。于是我們

17、可以用信號(hào)的幅度作為特征來(lái)區(qū)分靜音和語(yǔ)音。這樣只要設(shè)定一個(gè)門(mén)限,當(dāng)語(yǔ)音信號(hào)幅度超過(guò)這個(gè)門(mén)限時(shí),就當(dāng)作語(yǔ)音開(kāi)始,當(dāng)幅度降低到門(mén)限以下時(shí)就認(rèn)為語(yǔ)音結(jié)束。于是,我們可以采用短時(shí)能量來(lái)描述語(yǔ)音信號(hào)的幅度。比如,對(duì)于一個(gè)讀取到的語(yǔ)音信號(hào)x(n),n為采樣點(diǎn),首先對(duì)其進(jìn)行分幀,將語(yǔ)音信號(hào)分為每20-30ms一段,相鄰兩幀起始點(diǎn)之間的間隔為10ms,也就是說(shuō)兩幀之間有10-20ms的交疊。由于采樣頻率的差異,幀長(zhǎng)和幀移所對(duì)應(yīng)的實(shí)際采樣點(diǎn)數(shù)都不一樣。比如:一個(gè)8kHz的采樣頻率,30ms的幀長(zhǎng)對(duì)應(yīng)240點(diǎn),記為N,而10ms的幀移對(duì)應(yīng)為80點(diǎn),記為M。 對(duì)應(yīng)第i幀,第n個(gè)樣本,與原始語(yǔ)音信號(hào)的關(guān)系為:xi(n

18、)=x(i-1)M+n第i幀的語(yǔ)音信號(hào)的短時(shí)能量就可以用下面幾種算法得到:分別為絕對(duì)值的累加、平方累加和平方的對(duì)數(shù)的累加,以上任意一種都可以。計(jì)算完每幀的短時(shí)能量,接著再設(shè)定一個(gè)門(mén)限,便實(shí)現(xiàn)一個(gè)簡(jiǎn)單的檢測(cè)算法了。但是這種算法并不可靠,因?yàn)槿说陌l(fā)音有濁音和清音之分,濁音為聲帶振動(dòng)發(fā)出,幅度高,周期性明顯,而清音則不會(huì)有聲帶的震動(dòng),只是靠空氣在口腔中的摩擦和沖擊,其短時(shí)能量一般比較小。如聲母“s”、“c”等的幅度就很低。所以基于短時(shí)能量的算法對(duì)這些語(yǔ)音信號(hào)幾乎無(wú)能為力。不過(guò)雖然不能用短時(shí)能量區(qū)分開(kāi),但是可以通過(guò)用一幀信號(hào)中波形穿越零電平的次數(shù)來(lái)描述這種變化的劇烈程度,稱(chēng)為過(guò)零率,公式為:實(shí)際上,為

19、了避免靜音段的隨機(jī)噪聲產(chǎn)生過(guò)高的過(guò)零率,通常都會(huì)先設(shè)定一個(gè)門(mén)限,當(dāng)前后兩個(gè)采樣的符號(hào)不同時(shí),而且差值大于該門(mén)限的時(shí)候,就將過(guò)零率的數(shù)值加1。短時(shí)能量語(yǔ)音和噪聲的主要區(qū)別在它們的能量上,如圖4-3所示。語(yǔ)音段的能量比噪聲段的大,語(yǔ)音段的能量是噪聲段能量疊加語(yǔ)音聲波能量的和。對(duì)第n幀語(yǔ)音信號(hào)的短時(shí)能量En的定義為:xn為原樣本序列在窗函數(shù)所切取出的第n段短時(shí)語(yǔ)音,N為幀長(zhǎng)。因?yàn)樵谟?jì)算時(shí)使用的是信號(hào)的平方,故將En作為一個(gè)度量語(yǔ)音幅度值變化的函數(shù)有一個(gè)缺陷,即對(duì)高電平非常敏感。因此在許多場(chǎng)合會(huì)將En用下式來(lái)代替:這樣就不會(huì)因?yàn)槿∑椒蕉斐尚盘?hào)的小取樣值的大取樣值出現(xiàn)較大差異。過(guò)零率的計(jì)算短時(shí)過(guò)零表示

20、一幀語(yǔ)音信號(hào)波形穿過(guò)橫軸(零電平)的次數(shù)。對(duì)于連續(xù)語(yǔ)音信號(hào),過(guò)零意味著時(shí)域波形通過(guò)時(shí)間軸;而對(duì)于離散信號(hào),如果相鄰的取樣值的改變符號(hào)則稱(chēng)為過(guò)零。過(guò)零率就是樣本改變符號(hào)次數(shù),定義語(yǔ)音信號(hào))的短時(shí)過(guò)零率Zn為: 1 (x0)-1 (x0)sgnx= 清音的平均過(guò)零率要高于濁音,它的能量多集中在較高的頻率上,故短時(shí)過(guò)零率可以用來(lái)區(qū)分清音、濁音以及無(wú)聲。圖4-3(II)和圖4-4(II)分別為數(shù)字6數(shù)字4的短時(shí)過(guò)零率。從圖中可以看到清音S的過(guò)零率明顯高于其后的L音,有聲段過(guò)零率明顯高于無(wú)聲段,但在鼻音階段過(guò)零率迅速滑落到無(wú)聲水平而能量值則是緩慢下滑。在實(shí)際應(yīng)用時(shí)并不能直接計(jì)算過(guò)零率,因?yàn)樵跓o(wú)聲段噪聲使

21、語(yǔ)音波形在0值附近來(lái)回?cái)[動(dòng),導(dǎo)致計(jì)算出的過(guò)零率和有聲段的區(qū)別并不十分明顯。比較簡(jiǎn)單的解決方法是設(shè)定一個(gè)差的閾值,使不僅xn(m)*xn(m-1)<0,還要|xn(m) - xn(m-1)| > 。在本系統(tǒng)中經(jīng)多次試驗(yàn)取定=0.01。圖4-3 數(shù)字“6”的過(guò)零率波形圖圖4-4 數(shù)字“4”的過(guò)零率波形圖完成計(jì)算短時(shí)能量及過(guò)零率后,并調(diào)整好能量門(mén)限,接下里進(jìn)入到最關(guān)鍵的一步,即變量status分析,status可以分為四種狀態(tài):(1)在靜音段,如果能量或過(guò)零率超越了低門(mén)限,就應(yīng)該開(kāi)始標(biāo)記起始點(diǎn),進(jìn)入過(guò)渡段。(2)在過(guò)渡段,由于參數(shù)的數(shù)值小,不能確定是否處于真正的語(yǔ)音段,所以只要當(dāng)兩個(gè)參數(shù)

22、的數(shù)值都回落到低門(mén)限以下,就要將當(dāng)前狀態(tài)恢復(fù)到靜音狀態(tài),但是如果在過(guò)渡段中兩個(gè)參數(shù)中的任何一個(gè)超過(guò)了高門(mén)限,那么就可以確定進(jìn)入語(yǔ)音段了。(3)結(jié)束段。但是一些突發(fā)性的噪聲當(dāng)然也會(huì)引起過(guò)零率或者短時(shí)能量的數(shù)值變高,但是都不能維持足夠長(zhǎng)的時(shí)間,比如開(kāi)關(guān)門(mén)窗、物體的碰撞等等引起的噪聲。這些都可以通過(guò)設(shè)置最短時(shí)間門(mén)限來(lái)判定。若當(dāng)前狀態(tài)假如處于語(yǔ)音段時(shí),若兩個(gè)參數(shù)的數(shù)值降低到最低門(mén)限以下,并且總的記時(shí)長(zhǎng)度小于最短的時(shí)間門(mén)限,那么我們認(rèn)為這一段為噪聲,然后繼續(xù)掃描接下來(lái)的語(yǔ)音數(shù)據(jù)。圖4-5為語(yǔ)音信號(hào)的端點(diǎn)檢測(cè)結(jié)果,豎線之間的部分為檢測(cè)出的語(yǔ)音有聲段。圖4-5 端點(diǎn)檢測(cè)結(jié)果雙門(mén)限端點(diǎn)檢測(cè)雙門(mén)限端點(diǎn)檢測(cè)顧名思

23、義需要兩級(jí)檢測(cè),即短時(shí)能量檢測(cè)和短時(shí)過(guò)零率檢測(cè)。在開(kāi)始檢測(cè)之前需要設(shè)定4個(gè)門(mén)限,即分別為短時(shí)能量和短時(shí)過(guò)零率各設(shè)置一個(gè)高門(mén)限和一個(gè)低門(mén)限:EHigh、ELow和ZHigh、ZLow。整個(gè)語(yǔ)音端點(diǎn)檢測(cè)分為四部分:靜音段、過(guò)度段、語(yǔ)音段、結(jié)束段。在靜音段中如果能量或過(guò)零率有一個(gè)超過(guò)了其低門(mén)限,則認(rèn)為進(jìn)入了過(guò)度段。在過(guò)度段中,由于參數(shù)數(shù)值較小,還不能確定是否真的進(jìn)入語(yǔ)音段,只有兩個(gè)參數(shù)的其中一個(gè)超越了高門(mén)限才被認(rèn)為是進(jìn)入語(yǔ)音段。當(dāng)參數(shù)降至低門(mén)限則認(rèn)為進(jìn)入結(jié)束。此外,還有兩種可能會(huì)引起端點(diǎn)檢測(cè)的誤判:一是短時(shí)噪音引起的誤判,此時(shí)則需要引入最小語(yǔ)音長(zhǎng)度門(mén)限進(jìn)行噪聲判定,即語(yǔ)音段時(shí)間小于一定數(shù)值則認(rèn)定為是

24、噪聲,重新回到靜音段,本系統(tǒng)設(shè)為20ms;二是語(yǔ)音中字與字的時(shí)間空隙引起的誤判,此時(shí)需要設(shè)定最大靜音長(zhǎng)度門(mén)限來(lái)降低識(shí)別的錯(cuò)誤率,本系統(tǒng)所訓(xùn)練和識(shí)別的都為單字,故無(wú)需設(shè)置此門(mén)限。在雙門(mén)限端點(diǎn)檢測(cè)中4個(gè)門(mén)限的設(shè)定至關(guān)重要,門(mén)限設(shè)定的好壞將直接影響端點(diǎn)檢測(cè)的結(jié)果。門(mén)限值的設(shè)置還沒(méi)有一個(gè)通用可靠的方法,需要根據(jù)經(jīng)驗(yàn)和特定環(huán)境進(jìn)行調(diào)整。常見(jiàn)的方法有最大值乘上某個(gè)比率、中位值乘上某個(gè)比率、最小值乘上某個(gè)常數(shù)、前三幀平均值乘上某個(gè)常數(shù)等。本系統(tǒng)中EHigh,ELow,ZHigh,ZLow的算法分別為:5語(yǔ)音識(shí)別參數(shù)提取語(yǔ)音信號(hào)進(jìn)行端點(diǎn)檢測(cè)及預(yù)處理后便會(huì)進(jìn)行MFCC(特征參數(shù)提?。?,特征參數(shù)提取的好壞對(duì)系統(tǒng)的

25、性能和準(zhǔn)確率的影響非常大,對(duì)MFCC參數(shù)的要求如下:(1)提取具有很好區(qū)分性及能夠有效地代表語(yǔ)音特征的參數(shù)特;(2)各個(gè)參數(shù)之間有良好的獨(dú)立性;(3)為了確保語(yǔ)音識(shí)別的實(shí)時(shí)實(shí)現(xiàn),計(jì)算特征參數(shù)方便,最好是有效的計(jì)算方法。5.1 MFCC的基本原理近年來(lái),以一種能充分利用人耳的感知性能系數(shù)有這被大量而廣泛應(yīng)用,這個(gè)系數(shù)就是Mel尺度倒譜系數(shù)(MFCC)。在整個(gè)語(yǔ)音識(shí)別的過(guò)程中,MFCC參數(shù)為了方便建模及計(jì)算,是按照幀計(jì)算的。其特征提取的過(guò)程如圖5-1所示。x(n)預(yù)加重、分幀、加窗端點(diǎn)檢測(cè)DFT/FFTMel頻率濾波器組log對(duì)數(shù)能量DCT求倒譜圖5-1 MFCC特征提取及計(jì)算流程Mel頻率可以用

26、如下公式表示:MFCC系數(shù)按每個(gè)幀計(jì)算后,我們必須通過(guò)FFT得到對(duì)應(yīng)幀信號(hào)的功率譜S(n),轉(zhuǎn)換為Mel頻率下的功率譜。這必須在計(jì)算先前在語(yǔ)音頻譜范圍之內(nèi)設(shè)置的幾個(gè)帶通濾波器:Hm(n) m=0,1,M-1; n=0,1,N/2-1 M是濾波器的數(shù)目,通常取24;一幀語(yǔ)音信號(hào)的點(diǎn)數(shù)為N,通常取256,這樣計(jì)算FFT的方便。濾波器是一個(gè)簡(jiǎn)單的三角形的頻域?yàn)V波器的中心頻率,F(xiàn)M是均勻地分布在頻率軸。語(yǔ)音信號(hào)幀長(zhǎng)取為256個(gè)點(diǎn),包含了24個(gè)濾波器,本設(shè)計(jì)語(yǔ)音信號(hào)的采樣頻率設(shè)為8KHz。事先計(jì)算好帶通濾波器的系數(shù),再計(jì)算MFCC系數(shù)。MFCC特征系數(shù)的計(jì)算過(guò)程如下:(1)預(yù)處理:首先確定N為每一幀語(yǔ)音

27、采樣點(diǎn),如:N=256,并對(duì)每一幀序列s(n)進(jìn)行分幀、預(yù)加重和加窗處理;(2)離散功率譜的計(jì)算:先對(duì)預(yù)處理的每一幀進(jìn)行離散傅里葉變換得到其頻譜,再通過(guò)模的平方計(jì)算離散功率譜S(n),功率譜如圖5-2所示。圖5-2 DTW功率譜圖(3)將離散功率譜經(jīng)過(guò)濾波器組:將S(n)通過(guò)M個(gè)濾波組后得到功率值,也就是在各離散頻率點(diǎn)上將S(n)和Hm(n)的乘積并相加,得到M個(gè)參數(shù)Pm,m=0,1,M-1;(4)對(duì)數(shù)的計(jì)算:得到Lm,m=0,1,M-1;6特定人語(yǔ)音識(shí)別算法-DTW算法語(yǔ)音識(shí)別中較為經(jīng)典的一種算法是DTW算法(動(dòng)態(tài)時(shí)間規(guī)整)。在詞,音節(jié)識(shí)別系統(tǒng),識(shí)別率和HMM算法的識(shí)別率幾乎是一樣的。但是相

28、比之下HMM算法相當(dāng)?shù)膹?fù)雜,在識(shí)別階段需要進(jìn)行大量的反復(fù)計(jì)算語(yǔ)音數(shù)據(jù)才能得到模型參數(shù),但是DTW算法不需要反復(fù)計(jì)算,因此本設(shè)計(jì)采用DTW算法。6.1DTW算法原理不管是在測(cè)試和建立參考模塊還是在識(shí)別階段,語(yǔ)音的起點(diǎn)和終點(diǎn)都必須用端點(diǎn)檢測(cè)來(lái)確定。已存入模板庫(kù)的各個(gè)詞條稱(chēng)為參考模板,一個(gè)參考模板可以表示為,m為訓(xùn)練語(yǔ)音幀的時(shí)序標(biāo)號(hào),m=1為起點(diǎn)語(yǔ)音幀,m=M為終點(diǎn)語(yǔ)音幀,因此M為該模板所包含的語(yǔ)音幀總數(shù),R(m)為第m幀語(yǔ)音特征矢量。所要識(shí)別的一個(gè)輸入詞條語(yǔ)音稱(chēng)為測(cè)試模板,可表示為,n為測(cè)試語(yǔ)音幀的時(shí)序標(biāo)號(hào),n=1為起點(diǎn)語(yǔ)音幀,n=N為終點(diǎn)語(yǔ)音幀,因此N為該模板所包含的語(yǔ)音幀總數(shù),T(n)為第n幀

29、語(yǔ)音特征矢量。參考模板與測(cè)試模板一般采用相同類(lèi)型的特征矢量(如MFCC系數(shù))、相同的幀長(zhǎng)、相同的窗函數(shù)和相同的幀移。假設(shè)測(cè)試和參考模板分別用T和R表示,為了比較它們之間的相似度,可以計(jì)算它們之間的距離DT,R,距離越小則相似度越高。為了計(jì)算這一失真距離,應(yīng)從T和R中各個(gè)對(duì)應(yīng)幀之間的距離算起。設(shè)n和m分別是T和R中任意選擇的幀號(hào),dT(n),R(m)表示這兩種特征矢量之間的距離。距離函數(shù)取決于實(shí)際采用的距離度量,在DTW算法中通常采用歐氏距離。若N=M則可以直接計(jì)算,否則要考慮將T(n)和R(m)對(duì)齊。對(duì)齊可以采用線性擴(kuò)張的方法,如果N<M可以將T線性映射為一個(gè)M幀的序列,再計(jì)算它與之間的

30、距離。但是這樣的計(jì)算沒(méi)有考慮到語(yǔ)音中各個(gè)段在不同的情況下的持續(xù)時(shí)間會(huì)產(chǎn)生或長(zhǎng)或短的變化,因此識(shí)別效果不可能最佳。因而更多地是采用動(dòng)態(tài)規(guī)劃(DP)的方法。通常,規(guī)整函數(shù)被限制在一個(gè)平行四邊形的網(wǎng)格內(nèi),如圖6-1所示。它的一條邊斜率為2,另一條邊斜率為1/2。規(guī)整函數(shù)的起點(diǎn)是(1, 1),終點(diǎn)為(N,M)。DTW算法的目的是在此平行四邊形內(nèi)由起點(diǎn)到終點(diǎn)尋找一個(gè)規(guī)整函數(shù),使其具有最小的代價(jià)函數(shù),保證了測(cè)試模板與參考模板之間具有最大的聲學(xué)相似特性。圖6-1 DTW原理圖由于在模板匹配過(guò)程中限定了彎折的斜率,因此平行四邊形之外的格點(diǎn)對(duì)應(yīng)的幀匹配距離是不需要計(jì)算的。另外,因?yàn)槊恳涣懈鞲顸c(diǎn)上的匹配計(jì)算只用到

31、了前一列的3個(gè)網(wǎng)格,所以沒(méi)有必要保存所有的幀匹配距離矩陣和累積距離矩陣。充分利用這兩個(gè)特點(diǎn)可以減少計(jì)算量和存儲(chǔ)空間的需求,形成一種高效的DTW算法,如圖所示。圖中,把實(shí)際的動(dòng)態(tài)彎折分為三段,(1,xa),(xa+1,xb),(xb+1,N),其中:xa= (2M-N)/3,xb=2(2N-M)/3xa和xb都取最相近的整數(shù),由此可得出對(duì)M和N長(zhǎng)度的限制條件:2M-N3,2N-M2當(dāng)不滿(mǎn)足以上條件時(shí),認(rèn)為兩者差別太大,則無(wú)法進(jìn)行動(dòng)態(tài)彎折匹配。在x軸上的每一幀不再需要與y軸上的每一幀進(jìn)行比較,而只是與y軸上ymin,ymax間的幀進(jìn)行比較,ymin和ymax的計(jì)算公式為:ymin=x/2,0xxb

32、,2x+(M-2N),xb< xNymax=2x,0xxa,x/2+(M-N/2),xa< xN如果出現(xiàn)xa> xb的情況,則彎折匹配的三段為(1,xb),(xb+1,xa),(xa+1,N)。對(duì)于x軸上每前進(jìn)一幀,雖然所要比較的y軸上的幀數(shù)不同,但彎折特性是一樣的,累積距離的更新都是用下式實(shí)現(xiàn)的:D(x,y) = d(x,y)+minD(x-1,y),D(x-1,y-1),D(x-1,y-2)6.2DTW算法流程及實(shí)驗(yàn)結(jié)果通過(guò)DTW算法原理,得出DTW算法的流程如圖6-2所示信號(hào)輸入幀匹配距離矩陣?yán)鄯e距離矩陣動(dòng)態(tài)規(guī)劃信號(hào)輸出圖6-2 DTW算法流程首先申請(qǐng)兩個(gè)n*m的矩陣D

33、和d,分別為累計(jì)距離和幀匹配距離。這里n和m為測(cè)試模板與參考模板的幀數(shù)。然后通過(guò)一個(gè)循環(huán)計(jì)算兩個(gè)模板的幀匹配距離矩陣d。接下來(lái)進(jìn)行動(dòng)態(tài)規(guī)劃,為每個(gè)格點(diǎn)(i,j)都計(jì)算其三個(gè)可能的前續(xù)格點(diǎn)的累積距離1D,2D和3D??紤]到邊界問(wèn)題,有些前續(xù)格點(diǎn)可能不存在,因此要加用一些判斷條件。最后利用最小值函數(shù)min,找到三個(gè)前續(xù)格點(diǎn)的累積距離的最小值作為累積距離,與當(dāng)前幀的匹配距離d(i,j)相加,作為當(dāng)前格點(diǎn)的累積距離。該計(jì)算過(guò)程一直達(dá)到格點(diǎn)(n,m),并將D(n,m)輸出,作為模板匹配的結(jié)果。通過(guò)點(diǎn)擊語(yǔ)音識(shí)別組件,MATLAB將會(huì)自動(dòng)讀取對(duì)應(yīng)文件夾中的wav格式的語(yǔ)音,然后進(jìn)行前期的端點(diǎn)檢測(cè)和預(yù)處理,通

34、過(guò)計(jì)算非線性預(yù)測(cè)系數(shù)(MFCC),并保留為參考庫(kù)及測(cè)試庫(kù)。接著通過(guò)DTW算法進(jìn)行匹配并計(jì)算它們的dist距離。最終得出結(jié)果,其運(yùn)行結(jié)果窗口如圖6-3所示。圖6.3 運(yùn)行結(jié)果窗口圖7 GUI界面的設(shè)計(jì)光標(biāo)、按鍵、窗口、菜單、圖標(biāo)、對(duì)話框和文本等各種圖形對(duì)象組成的用戶(hù)界面組成了圖形用戶(hù)界面(GUI)。它讓我們用戶(hù)自己定制MATLAB與用戶(hù)的交互方法,使命令窗口不是唯一與MATLAB的交互方式。其能夠使使用者的學(xué)習(xí)和使用更為方便、簡(jiǎn)單。用戶(hù)不需要了解應(yīng)用程序到底怎么樣執(zhí)行各種命令的,而只需要知道GUI的使用方法;用戶(hù)也不必要了解命令是怎么樣執(zhí)行的,用戶(hù)只需通過(guò)與界面交互就可以使指定行為可以正確執(zhí)行。

35、7.1圖形用戶(hù)界面設(shè)計(jì)工具的啟動(dòng)單擊如圖7-1所示的紅色框,有三個(gè)設(shè)計(jì)模式,選擇一個(gè)GUI設(shè)計(jì)模板,選擇自己的存儲(chǔ)路徑,然后點(diǎn)擊OK按鈕后,MATLAB就會(huì)跳出如圖7-2所示GUI設(shè)計(jì)窗口,當(dāng)然選擇不同的GUI設(shè)計(jì)模式時(shí),在進(jìn)入GUI設(shè)計(jì)窗口后顯示的結(jié)果當(dāng)然也是不一樣的。圖7-1 GUI打開(kāi)方式(1)組件面板在GUI界面中放置組件, GUI組件布置完成后,可以單擊菜單欄中最后一個(gè)三角形按鈕選項(xiàng)來(lái)觀察GUIDE的設(shè)計(jì)結(jié)果。這時(shí)會(huì)自動(dòng)生成一個(gè)FIG文件和一個(gè)M文件,F(xiàn)IG文件會(huì)提示保存路徑。雙擊界面區(qū)域內(nèi)的按鈕就會(huì)彈出屬性窗口,可以修改自己需要的屬性。(2)編程回調(diào)函數(shù)布置完GUI組件后,接下來(lái)最

36、重要的一步就是編程每個(gè)按鈕的回調(diào)函數(shù),實(shí)現(xiàn)自己需要的功能,其編程過(guò)程為: 選擇右鍵單擊按鈕,彈出窗口,選擇最后一項(xiàng)views callbacks; 鼠標(biāo)放在views callbacks后就會(huì)彈出子選擇窗口,根據(jù)自己的按鈕屬性選擇相應(yīng)的函數(shù)回調(diào);選擇完函數(shù)后,則會(huì)自動(dòng)跳到M文件中該按鈕所對(duì)應(yīng)的回調(diào)函數(shù),在該段函數(shù)中,可以編寫(xiě)自己需要實(shí)現(xiàn)該按鈕的功能的代碼。待所有按鈕的功能的回調(diào)函數(shù)都編寫(xiě)完畢后,點(diǎn)擊保存,然后點(diǎn)擊菜單欄中的三角形按鈕,則會(huì)彈出用戶(hù)開(kāi)發(fā)界面,在該用戶(hù)開(kāi)發(fā)界面中,用戶(hù)可以單擊按鈕以實(shí)現(xiàn)該按鈕所擁有的功能。7.3測(cè)試與分析在MATLAB窗口中選擇自己弄好的GUI的路徑,打開(kāi)GUI。然

37、后單擊菜單欄中的三角形按鈕則彈出如圖7-2 的用戶(hù)開(kāi)發(fā)界面。在我的這次設(shè)計(jì)中,組建了三個(gè)模塊,即參考模塊、測(cè)試模塊、分析模塊,參考模塊和測(cè)試模塊均有相同的功能,即錄音、暫停、播放、保存及讀取,分析模塊包含語(yǔ)音識(shí)別和退出。用戶(hù)可以在點(diǎn)擊錄音后,錄制字、詞,錄制完畢后,可以點(diǎn)擊播放進(jìn)行回放自己所錄制的語(yǔ)音,通過(guò)保存(uiputfile函數(shù)),用戶(hù)就可以保存數(shù)個(gè)錄制的語(yǔ)音。通過(guò)讀?。╱igetfile函數(shù)),用戶(hù)可以打開(kāi)文件并讀取語(yǔ)音信號(hào)波形。圖7-2運(yùn)行界面錄制完成后,點(diǎn)擊分析模塊中的語(yǔ)音識(shí)別控件,系統(tǒng)就會(huì)將之前錄制好的參考模板庫(kù)與測(cè)試模板庫(kù)中的語(yǔ)音自動(dòng)進(jìn)行匹配。并將結(jié)果在MATLAB命令窗口中顯

38、示出來(lái),可以看到,顯示結(jié)果如圖7-3。圖7-3運(yùn)行結(jié)果圖本設(shè)計(jì)采用端點(diǎn)檢測(cè)算法,再經(jīng)過(guò)特征提取,最后運(yùn)用DTW算法來(lái)實(shí)現(xiàn)語(yǔ)音的識(shí)別。采樣頻率為8kHz語(yǔ)音,語(yǔ)音幀長(zhǎng)20ms,一幀分為256點(diǎn),幀移為80,采用漢明窗的窗函數(shù)。錄制數(shù)字010的語(yǔ)音作為model(參考庫(kù)),test(測(cè)試庫(kù))中有若干個(gè)需要識(shí)別語(yǔ)音,0的序號(hào)設(shè)置為11,且110的數(shù)字文件名的命名都依次從110命名。試驗(yàn)數(shù)據(jù)如表1-1。由以上數(shù)據(jù)分析可知識(shí)別率為86%。數(shù)字1234567891000-10正確數(shù)8910710879981095錯(cuò)誤數(shù)2103023112015正確率80%90%100%70%100%80%70%90%90

39、%80%100%86%表1-1 結(jié)果分析總結(jié)通過(guò)這次設(shè)計(jì),了解了語(yǔ)音識(shí)別的發(fā)展歷史以及在語(yǔ)音識(shí)別中每個(gè)算法的原理。在本設(shè)計(jì)中,通過(guò)MATLAB進(jìn)行錄制語(yǔ)音、播放語(yǔ)音、保存語(yǔ)音、讀取語(yǔ)音及打開(kāi)語(yǔ)音,先對(duì)語(yǔ)音信號(hào)進(jìn)行預(yù)處理,其次進(jìn)行端點(diǎn)檢測(cè),提取特征參數(shù),然后建立一個(gè)參考庫(kù)及一個(gè)測(cè)試庫(kù)。最后通過(guò)DTW算法進(jìn)行匹配,最終將結(jié)果在MATLAB命令窗口顯示出來(lái)。在本次設(shè)計(jì)中遇到的難題有很多。比如:端點(diǎn)檢測(cè)算法的運(yùn)行DTW算法等等,最終通過(guò)論導(dǎo)師以及同學(xué)的解答,均解決了。在本次設(shè)計(jì)也存在著許多需要改進(jìn)的地方,比如:GUI界面功能比較單一,GUI界面美化不夠,算法不夠精準(zhǔn),有待進(jìn)行算法改進(jìn);本次設(shè)計(jì)只局限于

40、孤立詞的識(shí)別,機(jī)器只能識(shí)別一個(gè)孤立的詞、音節(jié)等,而不能進(jìn)行少量詞匯的語(yǔ)音識(shí)別;DTW算法只針對(duì)于特定人語(yǔ)音識(shí)別。 致謝俗話說(shuō),“磨刀不誤砍柴工”,每當(dāng)我遇到不懂的問(wèn)題,我都將記錄在本子上,虛心請(qǐng)教指導(dǎo)老師,老師給我耐心地回答,從來(lái)都沒(méi)有因?yàn)槲业膯?wèn)題有些簡(jiǎn)單加以責(zé)備,選定題目設(shè)計(jì)到完成設(shè)計(jì),老師總是給我們細(xì)心引導(dǎo)和耐心講解。從選課題題目到設(shè)計(jì)的順利完成,陳杰老師都一直給予我耐心的指導(dǎo)。 第一,我要感謝我的良師益友陳潔老師是她精細(xì),苛刻,扎實(shí)細(xì)致的工作作風(fēng)一直在我實(shí)例給我起指明燈的作用;其次,還要感謝方剛同學(xué)對(duì)我的幫助,沒(méi)有他們的幫助和耐心解釋、鼓勵(lì),這次課程設(shè)計(jì)也不會(huì)完成的如此的順利。參考文獻(xiàn)1

41、 張雪英.數(shù)字語(yǔ)音處理及MATLAB仿真J.北京:電子工業(yè)出版社,2010.72韋麗興,張淼,鐘映春,韓光.采用PCNN的有噪特定人語(yǔ)音識(shí)別系統(tǒng)J.2012.13張瑤.基于量子神經(jīng)網(wǎng)絡(luò)的特定人語(yǔ)音識(shí)別研究D.天津師范大學(xué).2013.44 何強(qiáng),何英.MATLAB擴(kuò)展編程M.北京:清華大學(xué)出版社,20025 劉保柱,蘇彥華,張宏林.MATLAB 7.0從入門(mén)到精通(修訂版).北京:人民郵電出版社,2010.56陳立萬(wàn).基于語(yǔ)音識(shí)別系統(tǒng)中DTW算法改進(jìn)技術(shù)研究J.微機(jī)計(jì)算機(jī)信息.2006.27胡金平,陳若珠,李戰(zhàn)明.基于語(yǔ)音識(shí)別中DTW改進(jìn)算法的研究J.蘭州.2011.118吳曉平,崔光照,路康.

42、基于DTW算法的語(yǔ)音識(shí)別系統(tǒng)實(shí)現(xiàn)J.2004.79惠博.語(yǔ)音識(shí)別特征提取算法的研究與實(shí)現(xiàn)D.西北大學(xué).2008.610詹新明,黃南山,楊燦. 語(yǔ)音識(shí)別技術(shù)研究進(jìn)展J. 現(xiàn)代計(jì)算機(jī)(專(zhuān)業(yè)版).2008.911沈宏余,李英. 語(yǔ)音端點(diǎn)檢測(cè)方法的研究J. 科學(xué)技術(shù)與工程.2008.812譚保華,熊健民,劉幺和. 語(yǔ)音識(shí)別技術(shù)概述J. 鄖陽(yáng)師范高等專(zhuān)科學(xué)校學(xué)報(bào).2004.613 趙力語(yǔ)音信號(hào)處理M北京:機(jī)械工業(yè)出版社2003.714 熊偉,羅云貴.語(yǔ)音識(shí)別的MFCC 算法研究.武漢:2010年第三期15 蔡妍. 語(yǔ)音信號(hào)端點(diǎn)檢測(cè)方法的研究碩士學(xué)位論文D. 江南大學(xué), 2008.616 朱淑琴. 語(yǔ)音識(shí)

43、別系統(tǒng)關(guān)鍵技術(shù)研究碩士學(xué)位論文 D. 西安電子科技大學(xué), 200417 劉金偉,黃樟欽,侯義斌 基于片上系統(tǒng)的孤立詞語(yǔ)音識(shí)別算法設(shè)計(jì)J計(jì)算機(jī)工程2007,318 胡金平,陳若珠,李戰(zhàn)明.基于語(yǔ)音識(shí)別中DTW改進(jìn)算法的研究.蘭州:TP391.4219 李景川,董慧穎. 一種改進(jìn)的基于短時(shí)能量的端點(diǎn)檢測(cè)算法J. 沈陽(yáng)理工大學(xué)學(xué)報(bào),2008.6 20 王嘉梅.基于MATLAB的數(shù)字信號(hào)處理與時(shí)間開(kāi)發(fā).西安:西安電子科技大學(xué)出版社, 2007.1221 熊偉,羅云貴.語(yǔ)音識(shí)別的MFCC 算法研究.武漢:2010年第三期22 吳亞棟. 語(yǔ)音識(shí)別基礎(chǔ)R. 上海交通大學(xué)計(jì)算機(jī)系, 2007.0123 雷靜.

44、語(yǔ)音識(shí)別技術(shù)的研究及基本實(shí)現(xiàn)D.武漢:武漢理工大學(xué),2002 24 張雄偉,陳亮,楊吉斌.現(xiàn)代語(yǔ)音處理技術(shù)及應(yīng)用M.北京:機(jī)械工業(yè)版社,200325 張志敏,郭英,王博一種基于倒譜特征的語(yǔ)音端點(diǎn)檢測(cè)改進(jìn)算法J電聲技術(shù),2006.426 劉羽語(yǔ)音端點(diǎn)檢測(cè)及其在MATLAB中的實(shí)現(xiàn)J計(jì)算機(jī)時(shí)代,2005.827 徐剮,徐華中語(yǔ)音信號(hào)端點(diǎn)檢測(cè)的實(shí)驗(yàn)研究J福建電腦,2006.128 胡光銳,韋曉東基于倒譜特征的帶噪語(yǔ)音端點(diǎn)檢測(cè)J電子學(xué)報(bào),2000.1029 于迎霞,史家茂一種改進(jìn)的基于倒譜特征的帶噪端點(diǎn)檢測(cè)方法J計(jì)算機(jī)工程,2004.630 相征,朗朗,王靜. 基于基音頻能值的端點(diǎn)檢測(cè)算法J. 安徽工

45、程科技學(xué)院學(xué)報(bào), 2008.9附件附錄語(yǔ)音識(shí)別主函數(shù)function varargout = GUI(varargin)% GUI M-file for GUI.fig% GUI, by itself, creates a new GUI or raises the existing% singleton*.% H = GUI returns the handle to a new GUI or the handle to% the existing singleton*.% GUI('CALLBACK',hObject,eventData,handles,.) calls t

46、he local% function named CALLBACK in GUI.M with the given input arguments.% GUI('Property','Value',.) creates a new GUI or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before GUI_OpeningFunction gets called. An% unrecognized pr

47、operty name or invalid value makes property application% stop. All inputs are passed to GUI_OpeningFcn via varargin.% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".% See also: GUIDE, GUIDATA, GUIHANDLES% Copyright 2002-2003 The MathWo

48、rks, Inc.% Edit the above text to modify the response to help GUI% Last Modified by GUIDE v2.5 30-Apr-2015 22:25:50% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, . 'gui_Singleton', gui_Singleton, . 'gui_OpeningFcn', GUI_Op

49、eningFcn, . 'gui_OutputFcn', GUI_OutputFcn, . 'gui_LayoutFcn', , . 'gui_Callback', );if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:)

50、;end% End initialization code - DO NOT EDIT% - Executes just before GUI is made visible.function GUI_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handle

51、s structure with handles and user data (see GUIDATA)% varargin command line arguments to GUI (see VARARGIN)% Choose default command line output for GUIhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes GUI wait for user response (see UIRESUME)% uiwait(handles

52、.figure1);% - Outputs from this function are returned to the command line.function varargout = GUI_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% han

53、dles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout1 = handles.output;% - Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reser

54、ved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global a;fs=16000;t=2; a=wavrecord(t*fs,fs);handles.a=a;guidata(hObject, handles);% - Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObje

55、ct handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global a;pause(handles.a);guidata(hObject, handles);% - Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global a;wavplay(a

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論