[論文]機器人的語音識別技術.doc_第1頁
[論文]機器人的語音識別技術.doc_第2頁
[論文]機器人的語音識別技術.doc_第3頁
[論文]機器人的語音識別技術.doc_第4頁
[論文]機器人的語音識別技術.doc_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

機器人的語音識別技術摘要1897年,mg馬可尼所完成的無線通信試驗就是在固定站與一艘拖船之間進行的,距離為18海里。標志著通信進入了一個新的時代,隨著社會的進步,科技發(fā)展也日益興盛起來。電子技術和智能自動化的發(fā)展更是為人們的日常生活和工業(yè)生產(chǎn)提供了極大的方便。人們可以通過一系列的信息傳遞來直接或間接的控制機械的運轉(zhuǎn)。讓機器能夠聽懂人類的語言并且能夠按照人的口頭命令行動,從而實現(xiàn)人際交流一直以來都是人類的一個夢想。本文所研究的機器人語音識別和控制,對于服務于機器人的應用領域具有重要的現(xiàn)實意義。通過單片機可以很方便的實現(xiàn)語音控制技術,本次設計是利用凌陽單片機spce061a的語音識別控制特性, 根據(jù)語音識別的基本原理,對智能機器人進行語音控制,使其根據(jù)人的指令做出左轉(zhuǎn)、右轉(zhuǎn)、前進、后退、跳舞、發(fā)射飛碟等相應的動作。由于材料等各方面的限制,只能以理論的形式出現(xiàn)。關鍵詞:語音識別,語音控制(嵌入式語音的識別技術),智能機器人,語音壓縮算法目錄1 緒論.31.1 本次課題的由來1.2 設計目的及任務及設計理念1.3 聲控機器人的發(fā)展前景 1.4 整體方案的規(guī)劃2 嵌入式語音的識別技術11 2.1 模式匹配原理的引入 2.2 語音識別技術總括3 軟件設計.20 3.1 主程序的設計 3.2 語音壓縮算法的研究 3.3 關鍵模塊的設計4 功能的實現(xiàn).29 4.1 機器人預想功能的總體實現(xiàn)5 設計總結.301 緒論1.1 設計課題由來單片機在現(xiàn)實生活中越來越多的被應用于工業(yè)生產(chǎn)和生活娛樂當中。自從人類能夠使用機器以來,就有一個夢想,那就是能夠與機器人進行語言交流,讓機器人按照人的指令去完成相應的操作。語音識別技術就是讓機器人通過語音識別把語音信號轉(zhuǎn)變?yōu)橄鄳奈谋净蛎畹母咝录夹g。語音識別技術所涉及的領域包括:信號處理、模式識別、概率論和信息論、發(fā)聲機理和人工智能等等。都屬于電子信息專業(yè)的基本課程。隨著社會的進步和日益發(fā)展,智能自動化系統(tǒng)逐漸被應用到服務行業(yè)。于是“機器人”也就應運而生了,但是現(xiàn)在機器人的發(fā)展還處在一個不成熟的階段,它還不能象人們想象的那樣做出各種各樣的動作來服務于人類。隨著社會的發(fā)展,人們的物質(zhì)文化生活水平也有了較大的提高,為了滿足人們愈來愈高的要求,機器人的深入和普及也越來越受到人們的關注。人有五官,機器人的視覺電子攝象已經(jīng)隨著安全防護的發(fā)展有了一定的發(fā)展,平常我們在樓宇監(jiān)控系統(tǒng)可以看到簡單的機器人視覺系統(tǒng)(電子攝象及處理),數(shù)碼相機等。聲音的控制除了我們平常所遇到的聲控燈,我們很難再找到別的。語音這種人類最簡單、最自然、最方便和最有效的交換信息的方式,在機器人上的應用還較少。基于單片機和外圍接口技術,我們可以大致畫出語音控制的基本框圖。中央處理系統(tǒng)機器人控制顯示器語音處理系統(tǒng)圖1.1 最原始的機器人語音控制用語音控制來操作機器人代替煩瑣的鍵盤輸入。和機器通話實現(xiàn)人機對話是十分誘人的,具有廣闊的發(fā)展前景,是機器人人工智能的重要標志。圖1.2 改進的機器人語音識別框圖1.2 設計的目的及任務我們想象中的理想機器人應該是能夠象人類一樣聽懂自然語言,可以在燥聲情況下,一定的頻率范圍內(nèi)。語言是由不同的人的聲帶所發(fā)出的,人們辨別它主要是通過聲波的變換來判斷的,這就是我們平常所說的音變。這樣就使基本模型的音界變的不甚明確,于是在明確的電腦語言處理下就變的比較困難。在人們普通的對話中,有時候人類自己也很難辨別對方模糊的語音,不同的詞語聽起來會非常相似,這就是我們平常所說的語音的模糊性。在語音的控制方面,首先要對燥聲環(huán)境,非特定人,語音模糊和音變等一系列事實的困難進行過濾和處理,這就需要大量的數(shù)據(jù)處理,這樣分配給聽覺的時間就非常有限。于是普通的單片機就不能很好的滿足這樣一系列復雜的要求,這就需要在已有語音識別技術的研究基礎上,配合功能強大的凌陽16位單片機spce061a,對機器人的語音識別和特定命令對應行為能力的結合進行實現(xiàn),是一個實踐性和操作性要求較強的實用性課題。機器人語音識別是語音識別在機器人領域的應用,它的最終目的是讓機器人聽懂人們口述的語言,進而對口述語言中包含的要求或詢問做出正確的動作反應或語言反應,從而形成一個良好的,自然的“人機通信系統(tǒng)”。以進一步推動服務機器人的發(fā)展和應用。因此,研究機器人的語音識別,對于服務機器人的普及與應用意義重大。未來科技的發(fā)展趨勢是在以人為本的前提下,更多地實現(xiàn)機器設備的自動化和智能化,讓機器為人服務,代替人們進行繁重的體力勞動和高危險工程。借助機器之力進行社會建設已經(jīng)成為了一個必然的選擇。隨之而來的發(fā)展與和諧生活的命題必然會將人機交流的重要性提到一個新的高度,成為服務型機器人投入社會的關鍵所在。設計理念:在整個設計過程中,我們本著一切向能實現(xiàn)理想機器人的方向靠攏。但是本次設計還缺乏一定的實踐。1.3 聲控機器人的發(fā)展前景機器人是多學科交叉的產(chǎn)物,集成了運動學與動力學、機械設計與制造、計算機硬件與軟件、控制與傳感器、模式識別與人工智能等學科領域的先進理論與技術。同時,它又是一類典型的自動化機器,是專用自動機器、數(shù)控機器的延伸與發(fā)展。當前,社會需求和技術進步都對機器人向智能化發(fā)展提出了新的要求。語音信號處理技術就是使用數(shù)字信號處理技術對于因信號進行處理,處理的目的使用得到的某些參數(shù)進行高效傳輸、存儲、語音增強、語音合成和語音識別。我國的語音識別系統(tǒng)的研究起步比較晚,但是也取得了很好的成績,研究水平也從實驗室逐步走向?qū)嵱茫瑥?987年開始執(zhí)行國家863計劃后,國家863智能計算機專家組為語音識別技術研究專門理想,每兩年滾動一次。我國pc機語音識別技術的研究水平已經(jīng)基本上與國外同步,在漢語語音識別技術上還有自己的特點和優(yōu)勢,但是獨立開發(fā)的專用漢語語音識別芯片還是較少,多數(shù)都是與國外研究機構合作開發(fā)研制的??梢哉f,語音識別的研究已經(jīng)得到了全世界范圍的重視,是引領未來科學發(fā)展方向的關鍵技術之一。因此,研究機器人的語音識別,開發(fā)實用的機器人語音識別系統(tǒng),對于服務機器人的普及與應用意義重大。1.4 整體方案的規(guī)劃本課題是基于spce061a的智能機器人語音識別的實現(xiàn),最終目的是形成一個較好的人機交流環(huán)境,使機器人能夠聽懂經(jīng)過訓練的人的口頭命令,并能夠按照命令進行相應的動作。由多帶通濾波器及現(xiàn)行匹配電路構成的專用ic。專用ic是以8位或16位單片機為計算核心,外加a/d轉(zhuǎn)換,d/a轉(zhuǎn)換及存儲器。由dsp組成的語音識別系統(tǒng),一般由定點16位dsp,外加a/d轉(zhuǎn)換,d/a轉(zhuǎn)換,以及rom、ram、falsh等存儲器組成。由人工神經(jīng)網(wǎng)絡構成的語音識別專用芯片。soc是將mcu或dsp、a/d、d/a、ram、rom以及預放、功放等電路集成在一個芯片上,只要加上極少的電源供電等外圍電路,就可以實現(xiàn)語音識別、語音合成及語音回放等功能。spce061a是一種集成度很高的單片機,它將mcu、a/d、d/a、ram、rom集成在一塊芯片上,同時具有16*16位的乘法運算和內(nèi)積運算功能,cpu最高時鐘頻率可達到49mhz。本課題的主要實現(xiàn)過程是:外部語音命令通過轉(zhuǎn)換裝置輸入到系統(tǒng)內(nèi)部,經(jīng)過語音識別程序的處理轉(zhuǎn)化為機器人可識別的觸發(fā)命令然后觸發(fā)相應子程序進行相關動作。動作的實現(xiàn)方法是:凌陽61板向控制不同端口送高低電平以控制置于機器人內(nèi)部不同位置的電機的運轉(zhuǎn),調(diào)用延時,根據(jù)需要使各個部分電機相互配合,完成要求的動作,從而實現(xiàn)機器人的語音控制。本設計綜合考慮spce061a單片機的特性以及機器人行動模式來進行設計,具體模塊如圖2.1所示。整個設計分為主控模塊、語音模塊、電機模塊等,各個模塊分別完成,然后進行結合,實現(xiàn)機器人的語音識別。具體過程是:首先進行機器人的語音訓練,我們這次設計采用的是特定人語音識別,每一個命令發(fā)布者都必須在發(fā)布命令之前對機器人進行命令的語音訓練。這樣做有一個好處,非特定人不能命令機器人進行動作。整個硬件設計部分以保持機器人外部靈活性為前提,在機器人各個部分內(nèi)置電機,利用三極管的通斷特性來設計電路,完成硬件電路的設計和組裝。具體電路如下:左右腿、脖子電機驅(qū)動模塊(摘抄)加速及發(fā)射電機輸入/輸出接口嵌入式語音的識別技術2.1 模式匹配原理的引入嵌入式語音識別系統(tǒng)都采用了模式匹配的原理,語音識別一般分為兩個步驟。第一步是系統(tǒng)“學習”或“訓練”階段。這一階段的任務是建立識別基本單元的聲學模型以及進行文法分析的語言模型,即構建參考模式庫。第二是“識別”或“測試”階段。根據(jù)識別系統(tǒng)的類型選擇能夠滿足要求的一種識別方法,采用語音分析方法分析出這種識別方法所需求的語音特征參數(shù),按照一定的準則和測度與參考模式的模型進行比較,通過判決得出結果。 特征提取經(jīng)過預處理后的語音信號,要對其進行特征提取,即特征參數(shù)分析。該過程就是從原始語音信號中抽取能夠反映語音本質(zhì)的特征參數(shù),形成特征矢量序列。目前語音識別所用的特征參數(shù)主要有兩種類型:線性預測倒譜系數(shù)(lpcc)和美爾頻標倒譜系數(shù)(mfcc)。lpcc系數(shù)主要模擬人的發(fā)聲模型,為考慮人耳的聽覺特性。它對元音有較好的描述能力,而對輔音描述能力差。其優(yōu)點是計算量小,比較徹底地去掉了語音產(chǎn)生過程中的激勵信息,易于實現(xiàn)。mfcc系數(shù)考慮到了人聽覺特性,并具有很高的抗噪聲能力,但因為提取mfcc參數(shù)要在頻域處理,計算傅立葉變換將耗費大量寶貴的計算資源。因此,嵌入式語音識別系統(tǒng)中一般都選用lpcc系數(shù)。語音特征提取是分幀提取的,每幀特征參數(shù)一般構成一個矢量,因此,語音特征是一個矢量序列。該序列的數(shù)據(jù)率一般可能過高,不便于其后的進一步處理,為此,有必要采用很有效的數(shù)據(jù)壓縮技術方法對數(shù)據(jù)進行壓縮。矢量量化就是一種很好的數(shù)據(jù)壓縮技術。參考模式庫參考模式庫是將一個或多個說話者的多次重復的語音參數(shù)經(jīng)過訓練得到的。它是聲學參數(shù)模板。建立參考模式庫是在系統(tǒng)使用前獲得并存儲起來的。參考模式庫的建立過程稱為訓練過程。模式匹配模式匹配是將輸入的待識別的語音特征參數(shù)同訓練得到的參考語音模式進行逐一比較分析,獲得最優(yōu)匹配的參考模式便是識別結果。目前常用的語音識別算法主要有:動態(tài)時間規(guī)整(dtw)、隱馬爾可夫(hmm)理論、矢量量化(vq)技術。2.2 語音信號識別技術語音識別的過程就是將用麥克風或電話捕捉到的聲波信號轉(zhuǎn)化成一組詞語的過程。被準確識別的詞語the recognized words can be the final results, as for applications such as commands & control , data entry , and document preparation .可以得出最后的結果,進入響應,如指揮與控制系統(tǒng),數(shù)據(jù)輸入和文件的準備工作。they can also serve as the input to further linguistic processing in order to achieve speech understanding, a subject covered in section也可以作為輸入,為進一步的語言加工服務,以達到講話被理解的目的。矢量量化的基本原理將若干個標量數(shù)據(jù)組成一個矢量(或者是從一幀語音數(shù)據(jù)中提取的特征矢量)在多維空間給與整體量化,從而可以在信息量損失較小的情況下壓縮數(shù)據(jù)量。矢量量化有效地應用了矢量中各元素之間的相關性,因此可以比標量量化有更好的壓縮效果。當給矢量量化器輸入一個任意矢量進行矢量量化時,矢量量化器首先判斷它屬于哪個子空間的代表矢量。也就是說,矢量量化過程就是用代表的過程,或者說把量化成了y。 式中,量化器函數(shù)。矢量量化器和碼書的設計矢量量化器和碼書設計方法是采用遞推算法,這個算法就是lbg算法。整個算法實際上就是最佳設計和最佳碼書兩個條件的反復迭代過程,即由初始碼書尋找最佳碼書的迭代過程。它從對初始碼書進行迭代優(yōu)化開始,一直到系統(tǒng)性能滿足要求或不再有明顯的改進為止。隱馬爾可夫模型隱馬爾可夫模型(hidden markov models,簡稱為 hmm),作為語音信號的一種統(tǒng)計模型,今天正在語音處理的各個領域中獲得廣泛的應用。大約 100 年前,數(shù)學家和工程師們就已經(jīng)知道馬爾可夫鏈了。但是,只是在近三十幾年里,它才被用到語音信號處理中來,其主要原因在于當時缺乏一種能使該模型參數(shù)與語音信號處理達到最佳匹配的有效方法。直到 20 世紀 60 年代后期,才有人提出了這種匹配方法,而有關它的理論基礎,是在 1970 年前后由 baum 等人建立起來的,隨后由 cmu 的 baker 和 ibm 的 jelinek 等人將其應用到語音識別之中。由于 bell實驗室 rabiner 等人在 20 世紀 80 年代中期對 hmm 的深入淺出的介紹,才逐漸使hmm 為世界各國從事語音信號處理的研究人員所了解和熟悉,進而成為公認的一個研究熱點。近幾十年來,隱馬爾可夫模型技術無論是在理論上或是實踐上都有許多進展。其基本理論和各種實用算法是現(xiàn)代語音識別等的重要基礎之一。hmm的基本參數(shù) 對于語音識別,hmm 可以用下面六個模型參數(shù)來定義,即:ms,o,a,b,fs:模型中狀態(tài)的有限集合,即模型由幾個狀態(tài)組成。設有 n 個狀態(tài),s |i = 1, 2,n。記 t 時刻模型所處狀態(tài)為 ,顯然 (, , )。o:輸出的觀測值符號的集合,即每個狀態(tài)對應的可能的觀察值數(shù)目。記 m個觀察值為 ,,記 t 時刻觀察到的觀察值為 ,其中 (, )。a:狀態(tài)轉(zhuǎn)移概率的集合。所有轉(zhuǎn)移概率可以構成一個轉(zhuǎn)移概率矩陣,即:a= 其中 是從狀態(tài) 到狀態(tài) 轉(zhuǎn)移時的轉(zhuǎn)移概率,1i,jn且有 01, 。b:輸出觀測值概率的集合。b(k),其中(k)是從狀態(tài) 到狀態(tài)轉(zhuǎn)移時觀測值符號 k 的輸出概率。根據(jù) b 可將 hmm 分為連續(xù)型hmm和離散型 hmm 等。(離散型 hmm)(連續(xù)型 hmm):系統(tǒng)初始狀態(tài)概率的集合,表示初始狀態(tài)是的概率,即: f:系統(tǒng)終了狀態(tài)的集合。這里需要說明的是,嚴格地說 markov 模型是沒有終了狀態(tài)的,只是在語音識別里用的 markov 模型要設定終了狀態(tài)。這樣,可以記一個 hmm 為 m=s,o,a,b,f,為了便于表示,常用下面的形式表示一個 hmm,即簡寫為 m=a,b,。所以形象地說,hmm 可以分為兩部分,一個是 markov 鏈,由、a 描述,產(chǎn)生的輸出為狀態(tài)序列。另一個是一個隨機過程,由 b 描述,產(chǎn)生的輸出為觀察值序列,t 為觀察值時間長度。隱馬爾可夫模型的基本算法欲使所建立的 hmm 對于實際應用有效,下面三個問題必須加以解決:(1) 識別問題:給定觀察符號序列 0=o1,o2, ,ot和模型 m=a,b,如何快速有效地計算觀察符號序列的輸出概率 p(o|m);(2) 尋找與給定觀察字符序列對應的最佳的狀態(tài)序列:給定觀察字符號序列和輸出該符號序列的模型 m= a,b,如何有效地確定與之對應的最佳的狀態(tài)序列。即估計出模型產(chǎn)生觀察字符號序列時最有可能經(jīng)過的路徑。它可以被認為是所有可能的路徑中,概率最大的路徑。這種算法的指導思想就是概率最大的路徑是最有可能經(jīng)過的路徑,即最佳的狀態(tài)序列路徑;(3) 模型訓練問題:實際上是一個模型參數(shù)估計問題,即對于初始模型和給定用于訓練的觀察符號序列 0=o1,o2, ,ot 如何調(diào)整模型 m= a,b,的參數(shù),使得輸出概率 p (o m)最大18。下面結合討論這三個問題的解法,介紹 hmm 的基本算法。前向-后向算法前向-后向算法(forward-backward,簡稱為 f-b 算法)是用來計算給定一個觀察值序列 0=o1,o2, ,ot 以及一個模型 m= a,b,時,由模型 m 產(chǎn)生出 o 的概率 p (o|m)的。設 s1 是初始狀態(tài),sn 是終了狀態(tài),則前向-后向算法可以介紹如下:1前向算法前向算法即按輸出觀察值序列的時間,從前向后遞推計算輸出概率。首先說明下列符號的定義:0=o1,o2, ,ot輸出的觀察符號序列p(o|m)給定模型 m 時,輸出符號序列 o 的概率從狀態(tài)到狀態(tài)的轉(zhuǎn)移概率從狀態(tài)到狀態(tài)發(fā)生轉(zhuǎn)移時輸出的概率輸出部分符號序列 o1,o2, ,ot并且到達狀態(tài) 的概率,即前向概率 由上面符號的定義,則可由下面的遞推公式計算得到:(1)初始化 (2)遞推公式 (t=1,2,t;i,j=1,2,n)(3)最后結果 p( o|m)= t 時刻的等于 t-1 時刻的所有狀態(tài)的之和,當然如果當狀態(tài) 到狀態(tài)沒有轉(zhuǎn)移時 =0。這樣在 t 時刻對所有狀態(tài) (j=1,2, n)的都計算一次,則每個狀態(tài)的前向概率都更新了一次,然后進入 t+1 時刻的遞推過程。2.后向算法與前向算法類似,后向算法即按輸出觀察值序列的時間,從后向前遞推計算出概率的方法。首先說明下列符號的定義:0=o1,o2, ,ot輸出的觀察符號序列p(o|m)給定模型 m 時,輸出符號序列 o 的概率從狀態(tài) 到狀態(tài) 的轉(zhuǎn)移概率從狀態(tài) 到狀態(tài) 發(fā)生轉(zhuǎn)移時輸出ot的概率從狀態(tài) 開始到狀態(tài) 結束輸出部分符號序列ot+1,ot+2,ot 的概率,即后向概率。可由下面的遞推公式計算得到:(1)初始化 (2)遞推公式(t=t,t+1,,1;i,j=1,2, ,n)(3)最后結果 p(o|m)= 根據(jù)定義的前向和后向概率,有如下關系成立:維特比(viterbi)算法如何有效地確定與之對應的最佳的狀態(tài)序列。這可以由另一個 hmm 的基本算法 viterbi算法來解決。viterbi 算法解決了給定一個觀察值序列和一個模型 m=a,b,時,在最佳意義上確定一個狀態(tài)序列的問題。這里討論的最佳意義上的狀態(tài)序列,是指使 p(s,o/m)最大時確定的狀態(tài)序列。即 hmm 輸出一個觀察值序列 時,可能通過的狀態(tài)序列路徑有多種,這里面使輸出概率最大的狀態(tài)序列就是我們的所求。viterbi 算法可以敘述如下:(1)初始化 (j1) (2)遞推公式 (t=1,2,,t;i,j=1,2,,n) (3)最后結果 在這個遞推公式中,每一次使 最大的狀態(tài) i 組成的狀態(tài)就是所求的最佳狀態(tài)序列。所以利用 viterbi 算法求取最佳狀態(tài)序列的步驟如下: (1) 給每個狀態(tài)準備一個數(shù)組變量,初始化時令初始狀態(tài) s1 的數(shù)組變量為 1,其他狀態(tài)的數(shù)組為 0;(2)根據(jù) t 時刻輸出的觀察符號 ot 計算 (j=1,2,,n) 當狀態(tài) 到狀態(tài)沒有轉(zhuǎn)移時;設計一個符號數(shù)組變量,稱為最佳狀態(tài)序列寄存器,利用這個最佳狀態(tài)序列寄存器把每一次使最大的狀態(tài) i 保存下來;(3)tt 時轉(zhuǎn)移到 (2),否則執(zhí)行(4);(4)把這時的終了狀態(tài)寄存器內(nèi)的值取出,則: 輸出最佳狀態(tài)序列寄存器的值,即為所求的最佳狀態(tài)序列。軟件設計3.1 主程序的設計語音識別系統(tǒng)功能的實現(xiàn)大部分是由軟件來完成的。因此,語音識別系統(tǒng)的軟件設計是十分復雜的。本次程序的設計是依靠c語言和匯編語言共同完成的主程序流程圖。在主程序中開始是對ram存儲器進行清除,這為存放提取的語音信號的特征矢量和模板庫做準備。播放第一條提示音是為了提醒用戶系統(tǒng)的語音訓練己啟動,現(xiàn)在可以進行訓練。訓練首先是此系統(tǒng)的觸發(fā)名稱,即系統(tǒng)的名字。接下來就是依次對各條命令進行訓練。在訓練過程中,如訓練成功,則有語音提示進行下一條的訓練:如出現(xiàn)訓練失敗也會提示用戶繼續(xù)訓練此條語音。直到全部命令訓練完畢后,系統(tǒng)將準備進行語音識別。識別初始化是確定語音輸入來源于a/d轉(zhuǎn)換器的mic通道。播放開始識別的提示音是為了讓用戶明確現(xiàn)在可以向系統(tǒng)下達命令了。系統(tǒng)接到命令后就開始進行識別,如識別成功,則系統(tǒng)會按命令執(zhí)行,如識別失敗,系統(tǒng)也會通過語音提示用戶。系統(tǒng)的主程序是依靠調(diào)用各子程序來完成的,而系統(tǒng)的子程序主要有語音訓練程序、語音識別程序、語音播放程序及機器人運動程序。其中語音部分主要依靠語音壓縮程序來完成。3.2 語音壓縮算法的研究壓縮編碼的目的是通過對資料的壓縮,達到高效率存儲和轉(zhuǎn)換資料的結果,即在保證一定聲音質(zhì)量的條件下,以最小的資料率來表達和傳送聲音信息。壓縮編碼是必要的,實際應用中,未經(jīng)壓縮編碼的音頻資料量很大,直接進行傳播或存儲是不現(xiàn)實的,所以要通過對信號趨勢的預測和冗余信息處理,進行資料的壓縮,這樣就可以使用較少的資源建立更多的信息。常用的壓縮編碼有波形編碼、參數(shù)編碼和混合編碼 。 用于spce系列芯片語音功能的語音壓縮與解壓縮算法有sacm_a2000, sacm_s480, 和sacm_s240,其對應的語音壓縮編碼率類型分別為16 kb/s,20 kb/s,24 kb/s;418 kb/s,712 kb/s;214 kb/s。本設計用到的壓縮算法有sacm_a2000和sacm_s480。sacm_a2000算法sacm_a2000屬于波形編碼,該壓縮算法壓縮比較?。?:1),所以具有高質(zhì)量、高碼率的特點,適用于高保真音樂和語音。sacm_s480算法sacm_s480屬于混合編碼,該壓縮算法壓縮比較大,為80:3,其存儲容量大,音質(zhì)介于a2000和s240之間,適用于語音播放。此算法具體實現(xiàn)過程如下:在pc 機上錄好提示語音,經(jīng)壓縮工具壓縮處理后存儲到單片機rom里, spce061a 將提示語音解壓縮后送d/a 還原語音,提示操作結果。采用sacm(sunplus audio coding method ,音頻編碼算法) 將pc 機上已錄制的8 k,16 位音頻文件壓縮為二進制文件,再加入用戶程序,存儲在程序存儲器中,播放時將其解壓縮,并以8 k的頻率送d/a 還原出聲音。語音播放程序包括播放程序和中斷服務程序。播放程序初始化a/d ,定時器timera 和音量,從rom 里取出預先壓縮好的語音數(shù)據(jù),解壓縮后存在播放隊列里。中斷服務程序定時地從播放序列中讀數(shù)據(jù),送d/a 轉(zhuǎn)換后驅(qū)動喇叭發(fā)音。播放程序如下:sacm_s480_initial (init_index); 初始化a/d ,timer,sacm_s480_volume (volumn_index); 初始化音量sacm_s480_play(speech_index,channel,ramp_set);播放一條語音while(sacm_s480_status()&0x0001)=1)sacm_s480_serviceloop(); 播放服務函數(shù)sacm_s480_stop();停止播放主播放函數(shù)sacm_s480_play( int speech_index ,int channel ,int ramp_set) 有3 個參數(shù): speech_index 表示播放索引號;channel 表示播放通道(1通過dac1 通道播放,2通過dac2 通道播放,3通過dac1和dac2通道播放);ramp set 表示消除開始放音時的“啵”聲。3.3 關鍵模塊的設計在進行語音識別之前,首先要進行特定人的語音訓練,讓機器人能夠聽懂人的命令,也就是語音模板的建立。子程序中重要的語句是訓練函數(shù)bsr_teain(int commandid,int trainmode),其中commandid是命令序號, trainmode代表訓練次數(shù)。訓練結果出現(xiàn)不同情況就會出現(xiàn)不同的返回值,然后程序會針對相應值進行相應的處理。整個程序的工作原理是這樣的:當被調(diào)用的時候,首先通過語音播放程序播放一條提示音,提示用戶開始進行語音訓練。然后等待用戶說出命令,當接收到語音的時候, 通過bsr_teain程序,系統(tǒng)會生成一個res值,不同的res的值代表不同的訓練結果,當訓練不成功,系統(tǒng)提示用戶繼續(xù)訓練,成功則返回。主程序只用到了整個子程序的返回值以判斷是否繼續(xù)進行。每條程序訓練兩遍。語音識別程序語音訓練完成后,要想使機器人能夠聽懂人發(fā)出的命令,還應該對語音命令進行語音識別,將語音信號轉(zhuǎn)化成單片機可識別的代碼,這一步也是整個設計的關鍵之所在。子程序中最重要的函數(shù)是bsr_getresult(),它的作用是從辨識器中獲取數(shù)據(jù)。根據(jù)識別情況返回不同數(shù)值。當?shù)玫秸Z音數(shù)據(jù)的時候,經(jīng)過機器判斷會產(chǎn)生一個res值,當沒有命令被識別出來的時候,res=0;識別器停止未初始化或識別未激活時,res=-1;識別不合格的時候,res=-2;識別出來時返回命令的序號。在進入語音識別階段,首先要對辨識器進行初始化,并且啟動實時監(jiān)控,以隨時接收用戶指令。然后播放語音識別提示音提示用戶開始發(fā)布命令。若識別不出來,則經(jīng)過一個定時程序判斷是否超時。超時就直接退出子程序,否則繼續(xù)識別。若識別成功則將識別出來的命令序號返給主程序。語音播放程序 本次設計采用了sacm_a2000和sacm_s480兩種語音壓縮算法進行語音壓縮和播放,但是由于兩種語音算法僅僅是語音質(zhì)量和壓縮大小等方面有所不同,基本思想還是相同的,所以它們可以“共享”一個流程圖(如圖4.5)。當收到播放信號的時候,子程序首先停止主程序的辨識,并對語音播放系統(tǒng)進行初始化。然后提取一個壓縮語音數(shù)據(jù)進行播放。判斷是否播放結束,如果沒有,就繼續(xù)讀取壓縮數(shù)據(jù),解壓縮并添加到播放序列。整個語音播放結束后,開啟辨識器和實時監(jiān)控并退出子程序返回到調(diào)用點。機器人運動程序機器人的運動主要依靠內(nèi)置電機的正反運轉(zhuǎn),所以機器人的運動程序雖然比較繁瑣,但是仍然可以說是相對簡單。起初,我們設想利用方波生成符合運動規(guī)律的交替信號來實現(xiàn)機器人的走動。但是后期實現(xiàn)的時候我們舍棄了這一方案,因為機器人的運動是模仿人的運動而制作的,人的運動十分復雜,僅僅想要利用方波來實現(xiàn)雖然是可行的,但是對整個設計卻沒有很大的必要,費時費力。我們決定還是采用最原始也是相對來說比較容易想到的方法:改變端口電壓調(diào)用延時改變端口電壓調(diào)用延時。這樣做有一個好處,那就是靈活。雖然程序顯得龐大一些,但是具體設定運動方式時卻十分易于調(diào)整,可以在任意動作之后隨意添加其他動作。功能的實現(xiàn)4.1 機器人預想功能的總體實現(xiàn)首先在軟件ide上進行程序編譯,然后將程序代碼下載到機器人的61板上。打開機器人的電源,進行語音訓練。如果訓練成功則進入語音識別狀態(tài),如果訓練沒有成功則重復訓練。聲音訓練的時候可以使用不同的命令,但是由于程序是設定好的,所以盡量按照設定好的命令進行訓練,這樣不容易混淆。進行訓練的時候盡量在安靜的環(huán)境進行。發(fā)布命令的時候注意命令的順序問題。由于程序采用模塊化設計,需要機器人完成其它動作只需要適當更改相應子程序,改動方法簡單易實現(xiàn),可操作性強。設計總結鑒于電子通信行業(yè)的飛速發(fā)展,機器智能自動化的進一步完美實現(xiàn)。智能機器人越來越受到人們的關注,或許美國電影(機械公敵)就是個很好的例子雖說是反面的。本次設計基于智能機器人,利用凌陽單片機spce061a在語音方面的強大功能,進行人的口語語言識別。整體設計采用特定說話人語音識別,在進行識別之前需要說話人進行語音訓練,非特定人不能命令機器人進行動作,這就排除了現(xiàn)場環(huán)境中有可能出現(xiàn)的包含命令關鍵字的相似語音的影響。最終完成的系統(tǒng)能夠準確辨識經(jīng)過訓練的說話人的語音,辨識效果好,準確率高,語音播放聲音效果好,機器人動作連貫流暢,很好的達到了課題的目的。畢業(yè)設計是大學生活的最后一站也是至關重要的一個環(huán)節(jié),學生們在本科學習階段所學的知識和掌握的能力都將在為期半年的畢業(yè)設計中完整地體現(xiàn)出來。可以說,畢業(yè)設計是大學生離開學校走上社會之前的一次練兵。通過畢業(yè)設計工作,同學的動手能力和分析問題、解決問題的能力都得到了大幅度的提升,為以后更進一步的學習和工作打下了堅實的基礎。畢業(yè)設計收獲很多,比如學會了查找相關資料相關標準,分析數(shù)據(jù),提高了自己的繪圖能力,懂得了許多經(jīng)驗公式的獲得是前人不懈努力的結果。同時,仍有很多課題需要后輩去努力去完善。但是畢業(yè)設計也暴露出自己專業(yè)基礎的很多不足之處。比如缺乏綜合應用專業(yè)知識的能力,對材料的不了解,等等。這次實踐是對自己大學四年所學的一次大檢閱,使我明白自己知識還很淺薄,雖然馬上要畢業(yè)了,但是自己的求學之路還很長,以后更應該在工作中學習,努力使自己 成為一個對社會有所貢獻的人。ut2apodfxxc02gybkskcww97mrqqwhoj5tl15zt6jipyytycummtarp3v1n5luizi3xh3bhwyreko8d9g7nmzqowpjetldrw08gvs8dsdqqygc3ce7moo2tlf0jf1gk74iuxybmtivr97ckrfvqult5fn2t6mpjr6rbzvpsortzvij5nb5ndvvsr4iwr1twlfkglspzuhrjq3cmzu98euouijdlszqpmvrw9zkupxf8wfug9l2g9277g2rtipa1ypczeuqxpkbhtvdcooqozxuz3vjrzmocijym62zchmeootyes8ebmm932tbz2yo09rtszeys8zrd2yktj8l6jeazvajnfbtrylvsm6ofbftoxvrffn7owiygjlamkunxjybz5rrb7r4vsur9zpfzfmfsjhcfca37lnw2vvlrkn7r8psz1bn6oric5hu5z6hcxayqynpog8duybawqsl20csg06dh2sm8hltgpkicskrgopdpuhbj1lmpk7lydvc6nnmwl3fwhzftfvyaary7lhssxj10v3ph3y19bxyr77ib7cpzsu2tijqe3hkqkkau9kskcphkxuikvvyjzpg2yijrkqfbggovyqkuxnwi9omnjtt6qilzxtyrf7d20fbmabcfiixrqk

溫馨提示

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

評論

0/150

提交評論