• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于MatlabGUI語音識別推箱子的設計

      2016-11-22 01:57:44易圓皓
      電子設計工程 2016年15期
      關鍵詞:圖塊數(shù)組特征向量

      易圓皓

      (西南交通大學(峨眉校區(qū))計算機與通信工程學院,四川 峨眉山 614200)

      基于MatlabGUI語音識別推箱子的設計

      易圓皓

      (西南交通大學(峨眉校區(qū))計算機與通信工程學院,四川 峨眉山 614200)

      Matlab,是國際上使用最為廣泛的科學與工程計算軟件工具。其具有強大、豐富的內(nèi)置函數(shù)和工具箱。在簡要介紹推箱子游戲核心算法的基礎上,給出一種基于Matlab GUI的能進行實時語音識別的推箱子游戲設計與實現(xiàn)方法,目的是用更多的方式實現(xiàn)與計算機的交流,屬語音信號處理的范疇。主要解決的問題有語音的錄入、濾波、特征值提取、信號與模版的匹配等。語音錄入和端點檢測依賴于能量和過零率的檢測,可使采用的數(shù)據(jù)真正是語音信號數(shù)據(jù),從而減少數(shù)據(jù)量和運算量并減少處理時間。后將語音信號的MFCC特征參數(shù)提取,再用DTW算法與數(shù)據(jù)庫中模版對比,可最大化提高識別效率。本文能成功識別語音輸入信號,并在游戲中實時反饋。在非特定人聲識別時,需建立的語音數(shù)據(jù)庫足夠大,才能有很高的識別率。基于本文,語音識別可與現(xiàn)實生活中更多的事物相結(jié)合,不局限于游戲。

      M atlabGUI;游戲開發(fā);語音識別;端點檢測;MFCC;DTW

      推箱子游戲是目前比較流行的游戲之一,很多操作系統(tǒng)或者流行軟件都會帶這種游戲。它既能鍛煉思維的嚴密性,又有很多樂趣。本設計將用MATLAB在實現(xiàn)一個簡單的推箱子游戲的基礎上語音識別控制推箱子游戲的實現(xiàn)方法。本文旨在研究其基本編程技巧,其中涉及軟中斷、三維維數(shù)組、鍵盤操作及圖形化函數(shù)等方面的知識。通過本文,開發(fā)者能基本掌握顯示器中斷寄存器的設置、三維維數(shù)組、鍵盤上鍵值的獲取、圖形方式下光標的顯示和定位,以及部分圖形函數(shù)的使用。

      1 初始化模塊

      將進行初始化游戲屏幕和每個關卡,屏幕被初始化為8× 8個方塊。每個方塊為一圖塊,每個圖塊的大小為64×64像素圖片。利用imread函數(shù)將制作好的圖塊轉(zhuǎn)換為數(shù)組并存入變量中,把整個游戲區(qū)域看成一個二位數(shù)組。根據(jù)關卡,載入人物、箱子及需要推入目標的坐標及其數(shù)量。載入完成后,轉(zhuǎn)換成界面狀態(tài)數(shù)組。根據(jù)狀態(tài)數(shù)組畫到GUI界面。

      k=imread('空白.png');q=imread('墻.png');ren=imread(人.png');x=imread('箱子.png');m=imread('目標.png');map=zeros(8,8);kcharacter=0;renzb=[5,5];mbn=4;qiangn= 28;boxzb =[4,4;5,4;4,6;6,5];mbzb =[2,4;5,2;4,7;7,5];qiangzb=[1,3;1,4;1,5;2,5;3,5;3,6;3,7;3,8;4,8;5,8;5,7;5,6;6,6;7,6;8,6;8,5;8,4;7,4;6,4;6,3;6,2;6,1;5,1;4,1;4,2;4,3;3,3;2,3];界面初始化如圖1所示。

      2 畫圖模塊

      按鍵處理必須包括移動小人和移動箱子,通過移動上下左右鍵來控制小人的移動,從而推動箱子,把箱子推到制定的目的地為過關。要實現(xiàn)界面8×8中的小人的移動,就必須對這些圖塊進行移動再重新畫圖。matlab中的imread函數(shù)將圖塊中的彩色RGB圖片利用三維數(shù)組存儲,對應為:R:1 G:2B:3如圖2所示。

      圖1 游戲界面

      圖2 三維圖層

      為實現(xiàn)在8×8中的任意圖塊中畫圖,本文采取植入任一圖塊的三維數(shù)組來實現(xiàn),并計算好每個圖塊起始和終止的坐標,確保每個圖塊都能完整有序地被畫入。具體代碼如下:

      3 對按鍵處理及游戲規(guī)則的實現(xiàn)

      按鍵處理必須包括移動小人和移動箱子,通過移動上下左右鍵來控制小人的移動,從而推動箱子,不能越過墻壁,把箱子推到制定的目的地為過關。由于在按鍵函數(shù)中,上下左右的觸發(fā)均會返回不同的數(shù)值,此處對應分別為:上(30)、下(31)、左(28)、右(29)我們可以通過對返回數(shù)值的檢測在滿足規(guī)則的條件下對小人和箱子圖塊所在的數(shù)組進行移動,再重新繪圖,從而達到圖塊移動的功能。

      4 語音識別模塊

      語音識別必須包括對聲音的門限判斷同時進行錄音和處理,進一步控制小人的移動,從而推動箱子,把箱子推到制定的目的地為過關。在整個語音識別模塊前,提前錄制好5個不同類型的人的不同指令,計算出每個人的每個指令的MFCC特征向量,并儲存,即訓練集。在整個語音識別模塊中,需要提示用戶在適當?shù)臅r間錄入聲音,錄音時間為2秒,對于在錄音期間沒有聲音的情況,采取設置門限電壓來跳過語音處理階段,并返回重新錄入聲音。由于真正需要處理的聲音只占整個錄入聲音的一部分,為提高識別率和識別速度,需要將處理的聲音截取出來,利用MFCC算法計算出這段聲音的MFCC特征向量,再利用DTW算法計算出這段聲音的MFCC特征向量與訓練集中每個元素的MFCC特征向量的匹配度。選取最優(yōu)的匹配結(jié)果并執(zhí)行操作[1]。語音模塊的操作流程如圖3所示。

      圖3 語音識別過程

      在語音錄入之前,為使用戶在適當?shù)臅r間錄入聲音,通過右下角的狀態(tài)提示框,提示用戶錄入的時間。①準備錄音②開始錄音③錄音結(jié)束④識別(⑤未檢測到聲音)。

      用matlab自帶函數(shù)wavrecord選擇16 000 Hz的頻率對2秒鐘錄入的聲音進行的采樣,保證采樣點遠大于Nyquist頻率,提高識別的精準度。

      myRecording=wavrecord(2*fs,fs);

      基于聲音的大小會直接影響最后myRecording中值的大小,我們利用二倍值減去均值的處理方式將myRecording中的數(shù)值縮小。

      由于真正需要處理的聲音只占整個錄入聲音的一部分,為提高識別率和識別速度,需要將處理的聲音截取出來[2],過程如圖4所示。

      圖4 語音截取

      使用audiocut函數(shù)將錄入聲音的有效部分截取出來,可使識別的速度大大提高。實際情況中,可能遇到?jīng)]有說話,但噪聲仍然被記錄,然后被計算機處理,最終發(fā)出偽指令,為避免這種情況,我們進一步對算法進行優(yōu)化,可設置一個閾值來排除無聲的情況。

      if mean(abs(myRecording))>0.095

      人的聽覺系統(tǒng)是一個特殊的非線性系統(tǒng),它響應不同頻率信號的靈敏度是不同的。在語音特征的提取上,人類聽覺系統(tǒng)做得非常好,它不僅能提取出語義信息,而且能提取出說話人的個人特征,這些都是現(xiàn)有的語音識別系統(tǒng)所望塵莫及的。如果在語音識別系統(tǒng)中能模擬人類聽覺感知處理特點,就有可能提高語音的識別率。梅爾頻率倒譜系數(shù)(Mel Frequency Cepstrum Coefficient,MFCC)考慮到了人類的聽覺特征,先將線性頻譜映射到基于聽覺感知的Mel非線性頻譜中,然后轉(zhuǎn)換到倒譜上[3-4]。提取MFCC特征的過程:

      1)先對語音進行預加重、分幀和加窗;

      2)對每一個短時分析窗,通過FFT得到對應的頻譜;

      3)將上面的頻譜通過Mel濾波器組得到Mel頻譜

      4)在Mel頻譜上面進行倒譜分析(取對數(shù),做逆變換,實際逆變換一般是通過DCT離散余弦變換來實現(xiàn),取DCT后的第2個到第13個系數(shù)作為MFCC系數(shù)),獲得Mel頻率倒譜系數(shù)MFCC,這個MFCC就是這幀語音的特征;具體流程圖如圖5所示。

      圖5 MFCC特征向量提取流程

      將mfcc特征向量存入rMatrix1中,再將其歸一化,得到最終mfcc特征向量并存入rMatrix數(shù)組中:

      rMatrix1=mfcc(ncoeff,myRecording,fs);rMatrix=CMN(rMatrix1);DTW(Dynamic Time Warping)對MFCC特征向量與訓練集匹配的過程:

      為匹配之前錄制好的5種不同類型的訓練集的MFCC特征向量,我們采用DTW算法進行匹配,它能夠解決在歐式距離的聚類方法中的發(fā)音長短不一的模板匹配問題。DTW通過把時間序列進行延伸和縮短,來計算兩個時間序列性之間的相似性:如下圖所示,上下兩條實線代表兩個時間序列,時間序列之間的虛線代表兩個時間序列之間的相似的點。DTW使用所有這些相似點之間的距離的和,稱之為歸整路徑距離(Warp Path Distance)來衡量兩個時間序列之間的相似性。DTW算法的訓練中幾乎不需要額外的計算。所以在孤立詞語音識別中,DTW算法仍然得到廣泛的應用[5]。

      利用DTW算法與訓練集中的每個元素的MFCC特征向量進行匹配,得到每個元素中每個指令對錄入聲音的歸整路徑距離,即匹配度(數(shù)值越小,匹配度越高)[6-7]。錄入一段聲音并進行測試,將錄入語音的MFCC特征向量與訓練集中的元素的特征向量分別匹配測試結(jié)果如下表所示。

      表1 訓練集匹配測試結(jié)果

      所得的最小歸整路徑距離及其對應指令如下表所示:

      表2 訓練集最優(yōu)測試結(jié)果

      取對應指令出現(xiàn)最多的指令,若有若干個指令出現(xiàn)次數(shù)最多且相同,則取相加歸整路徑距離和最小的指令,如上取指令:上。本文只取5個元素作為訓練集,當訓練集元素更多,識別度更高。

      5 結(jié)論

      該語音識別推箱子游戲在 Matlab R2013b和 windows 7,8操作系統(tǒng)上成功實現(xiàn),能夠?qū)崿F(xiàn)人物的移動,并且語音識別的能力非常好,界面美觀,各項功能達到所需的要求,實現(xiàn)該語音識別控制對于其他基于Matkab的游戲和對語音的處理起到拋磚引玉的作用,三維數(shù)組畫圖模塊、語音剪切、MFCC算法與DTW算法結(jié)合進行語音識別的實現(xiàn)可用于其他Matlab的編程,同時對各專業(yè)人員借助Matlab語言快速開發(fā)并具備各種強大功能的專業(yè)應用軟件具有重要的意義。

      [1]楊行峻,遲惠生.語音信號數(shù)字處理[M].北京:電子工業(yè)出版社,1998.

      [2]朗朗;王靜;基于基音頻能值的端點檢測算法[J].安徽工程科技學院學報:自然科學版,2008(3):1-3.

      [3]找一片天空散步.語音特征參數(shù)MFCC提取過程詳解[EB/ OL][2014-01-15].http://my.oschina.net/jamesju/blog/193343.

      [4]王偉,鄧輝文.基于MFCC參數(shù)和VQ的說話人識別系統(tǒng)[J].儀器儀表學報,2006(S3):2253-2255.

      [5]安鎮(zhèn)宙,楊鑒,王紅,余映中,等.一種新的基于并行分段裁剪的DTW算法[J].計算機工程與應用,2007(15):1-2.

      [6]IEEE Internal Conf.S.Das,R.Bakis,A.Nadas,M.Pichney.Influence ofbackground noise andmicrophone on the performance ofthe mM TANGORA speech recognition system.Proc [R].Acoust Speech Signal Procing,1993.

      [7]suo110;MATLAB中文論壇 [EB/OL].[2009-02-01]http:// www.ilovematlab.cn/thread-22231-1-1.html.

      Design a game of speech recognition sokoban based on MatlabGUI

      YI Yuan-hao
      (College of computer and Communication Engineering,Southwest Jiaotong University-E’mei Campus,Emeishan 614200,China)

      Based on the brief introduction of the core algorithm of the game,the paper presents a new method for the design and implementation of a real time speech recognition based on Matlab GUI.The purpose is to realize the communication between the computer and the computer in more ways.The main problem of the problem of speech input,filtering,feature extraction,signal and template matching,etc..Speech input and endpoint detection rely on energy and zero crossing rate detection,can make use of data is real voice signal data,thereby reducing the amount of data and computing and reduce processing time.After the MFCC feature extraction of speech signal,and then DTW algorithm and the database template comparison,can maximize the efficiency of recognition.

      MatlabGUI;game developing;speech recognition;point detection;MFCC;DTW

      TN911

      A

      1674-6236(2016)15-0060-04

      2015-09-09 稿件編號:201509073

      易圓皓(1994—),男,四川成都人。研究方向:信號與信息處理、計算機通信。

      猜你喜歡
      圖塊數(shù)組特征向量
      二年制職教本科線性代數(shù)課程的幾何化教學設計——以特征值和特征向量為例
      JAVA稀疏矩陣算法
      電腦報(2022年13期)2022-04-12 00:32:38
      克羅內(nèi)克積的特征向量
      JAVA玩轉(zhuǎn)數(shù)學之二維數(shù)組排序
      電腦報(2020年24期)2020-07-15 06:12:41
      一類特殊矩陣特征向量的求法
      EXCEL表格計算判斷矩陣近似特征向量在AHP法檢驗上的應用
      中華建設(2017年1期)2017-06-07 02:56:14
      AutoCAD中圖塊命令的應用分析
      優(yōu)化A算法搜索連連看圖塊配對和消除次序
      尋找勾股數(shù)組的歷程
      茶壺難題
      林周县| 汕尾市| 镶黄旗| 加查县| 林甸县| 忻城县| 永平县| 辽中县| 赫章县| 锡林浩特市| 吉林省| 高淳县| 新和县| 玛曲县| 石家庄市| 宁远县| 内黄县| 屏南县| 英山县| 安陆市| 沾化县| 荆州市| 丰都县| 合水县| 德令哈市| 武山县| 和静县| 伊通| 鄯善县| 安西县| 虞城县| 库伦旗| 梨树县| 镇巴县| 如东县| 沙湾县| 黄山市| 芒康县| 衡阳市| 克东县| 富阳市|