新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于嵌入式Linux的語音識別系統(tǒng)硬軟件設(shè)計

基于嵌入式Linux的語音識別系統(tǒng)硬軟件設(shè)計

作者: 時間:2015-08-01 來源:網(wǎng)絡(luò) 收藏

  別功能程序設(shè)計

本文引用地址:http://2s4d.com/article/278135.htm

  芯片LD3320的特色是兼有和MP3播放的兩項(xiàng)功能,在功能切換的時候,必須進(jìn)行通用初始化,對芯片進(jìn)行一系列的設(shè)置。

  功能的驅(qū)動程序工作流程為通用初始化à語音識別用初始化→寫入識別列表→開始識別→響應(yīng)識別中斷。為了提高識別成功率,在識別列表中增加了“垃圾關(guān)鍵詞”以吸收錯誤的識別。上層應(yīng)用程序?yàn)檎Z音識別功能分配了單獨(dú)的進(jìn)程,通過ioctl()函數(shù)控制LD3320的工作狀態(tài),read()函數(shù)可以讀取識別結(jié)果。程序中使用select機(jī)制實(shí)現(xiàn)read()函數(shù)的非阻塞訪問。同時,設(shè)定select監(jiān)控超時時間,在超時后,重新初始化語音識別芯片LD3320,為下一次語音識別做準(zhǔn)備,如圖6所示。

  4.2語音播放功能程序設(shè)計

  LD3320支持MP3數(shù)據(jù)播放,程序中操作順序?yàn)椋和ㄓ贸跏蓟?agrave;播放模式初始化à音量調(diào)節(jié)à開始播放,并準(zhǔn)備好中斷響應(yīng)函數(shù),打開中斷允許位。在程序中,首先將數(shù)字0~9、“十”、“百”、“點(diǎn)”的語音MP3數(shù)據(jù)分別轉(zhuǎn)換為標(biāo)準(zhǔn)C語言數(shù)組格式文件,將該文件添加到工程中進(jìn)行統(tǒng)一編譯。然后把需要播放的距離數(shù)據(jù)進(jìn)行拆分,并對每一位進(jìn)行查表操作,得到相應(yīng)的語音數(shù)據(jù)。例如,將距離數(shù)據(jù)12.5拆分為:“1”、“十”、“2”、“點(diǎn)”、“5”。最后將查表得到的語音數(shù)據(jù)按從左到右的順序組合,并存儲到LD3320的播放數(shù)據(jù)存儲器,在即將播放完畢時,芯片會發(fā)出中斷請求,在中斷響應(yīng)函數(shù)中連續(xù)寫入播放數(shù)據(jù),直到聲音數(shù)據(jù)播放完畢。

  4.3超聲波測距和云臺控制程序設(shè)計

  超聲波測距功能的驅(qū)動程序?qū)儆?a class="contentlabel" href="http://2s4d.com/news/listbylabel/label/Linux">Linux字符型驅(qū)動,利用ioctl()函數(shù)對相應(yīng)GPIO進(jìn)行時序控制,完成超聲波的發(fā)射和接收。在接收端口輸出高電平脈沖信號時,觸發(fā)系統(tǒng)中斷并使用定時器計算得到高電平持續(xù)時間△T,根據(jù)公式(1)完成距離S的測量。式中V為超聲波的傳播速度,常溫下超聲波在空氣中的傳播速度是340米/秒。在應(yīng)用程序中,可以通過read()函數(shù)讀取到所測量的距離值。

  S =V XΔT/ 2(1)

  兩自由度云臺由兩個舵機(jī)組成,分別控制云臺水平和垂直方向的旋轉(zhuǎn)角度。在驅(qū)動程序中,首先打開定時器PWM功能并設(shè)置定時周期,然后映射定時器中斷函數(shù),最后使能定時器,使定時器開始運(yùn)行。程序中根據(jù)實(shí)驗(yàn)者發(fā)出的語音指令,利用ioctl()函數(shù)控制定時器輸出兩路PWM信號,分別控制兩個舵機(jī)的旋轉(zhuǎn)角度,最后將運(yùn)動合成為云臺的位姿。

  5.結(jié)語

  本文介紹了嵌入式語音識別技術(shù)在超聲波測距系統(tǒng)中的一種應(yīng)用以及實(shí)現(xiàn)方式,實(shí)驗(yàn)人員可以通過預(yù)先定義好的語音指令(例如:“開始測量”、“左上方”、“前方”)實(shí)現(xiàn)對系統(tǒng)的控制,并利用超聲波進(jìn)行距離測量。測量完成后,系統(tǒng)通過語音播放的方式將測量結(jié)果反饋給實(shí)驗(yàn)人員,完成人機(jī)交互,提高了用戶體驗(yàn)度。本系統(tǒng)具有易擴(kuò)展的優(yōu)點(diǎn),可以將其應(yīng)用到其它嵌入式控制系統(tǒng)中。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

linux相關(guān)文章:linux教程



上一頁 1 2 下一頁

關(guān)鍵詞: Linux 語音識別

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉