久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于嵌入式Linux的語音識別系統硬軟件設計

基于嵌入式Linux的語音識別系統硬軟件設計

作者: 時間:2015-08-01 來源:網絡 收藏

  別功能程序設計

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

  芯片LD3320的特色是兼有和MP3播放的兩項功能,在功能切換的時候,必須進行通用初始化,對芯片進行一系列的設置。

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

  4.2語音播放功能程序設計

  LD3320支持MP3數據播放,程序中操作順序為:通用初始化à播放模式初始化à音量調節à開始播放,并準備好中斷響應函數,打開中斷允許位。在程序中,首先將數字0~9、“十”、“百”、“點”的語音MP3數據分別轉換為標準C語言數組格式文件,將該文件添加到工程中進行統一編譯。然后把需要播放的距離數據進行拆分,并對每一位進行查表操作,得到相應的語音數據。例如,將距離數據12.5拆分為:“1”、“十”、“2”、“點”、“5”。最后將查表得到的語音數據按從左到右的順序組合,并存儲到LD3320的播放數據存儲器,在即將播放完畢時,芯片會發出中斷請求,在中斷響應函數中連續寫入播放數據,直到聲音數據播放完畢。

  4.3超聲波測距和云臺控制程序設計

  超聲波測距功能的驅動程序屬于字符型驅動,利用ioctl()函數對相應GPIO進行時序控制,完成超聲波的發射和接收。在接收端口輸出高電平脈沖信號時,觸發系統中斷并使用定時器計算得到高電平持續時間△T,根據公式(1)完成距離S的測量。式中V為超聲波的傳播速度,常溫下超聲波在空氣中的傳播速度是340米/秒。在應用程序中,可以通過read()函數讀取到所測量的距離值。

  S =V XΔT/ 2(1)

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

  5.結語

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

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

linux相關文章:linux教程



上一頁 1 2 下一頁

關鍵詞: Linux 語音識別

評論


相關推薦

技術專區

關閉