<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)TMEGAl28的語(yǔ)音識別系統設計

基于A(yíng)TMEGAl28的語(yǔ)音識別系統設計

作者: 時(shí)間:2013-09-13 來(lái)源:網(wǎng)絡(luò ) 收藏


3 軟件系統設計


軟件設計主要有兩部分,分別為移植LD3320官方代碼和編寫(xiě)語(yǔ)音識別應用程序。

3.1 移植LD3320源代碼

LD3320源代碼是基于51單片機實(shí)現的,SPI部分采用的是軟件模擬方式,但在播放MP3數據時(shí)會(huì )有停頓現象,原因是51單片機主頻較低,導致SPI速率很慢,不能及時(shí)更新MP3數據。移植到ATMEGA128需要修改底層寄存器讀寫(xiě)函數、中斷函數等。底層驅動(dòng)在Reg_RW.c文件中,首先在Reg_RW.h使用HARD_PARA_PORT宏定義,以支持硬件SPI。然后在Reg_RW.c文件中找到HARD_PARA_PORT對應條件宏的代碼段,保留AVR的SPI接口代碼。

3.2 應用程序實(shí)現

在代碼中預先設定幾個(gè)單詞:“你好”,“播放音樂(lè )”,“打開(kāi)”。當用戶(hù)說(shuō)“播放音樂(lè )”時(shí),MCU控制LD3320播放一段音樂(lè ),如果是其他詞語(yǔ),則在串口中打印識別結果,然后再次轉換到語(yǔ)音識別狀態(tài)。

3.2.1 MP3播放代碼

LD3320支持MP3數據播放,播放聲音的操作順序為:

通用初始化→MP3播放用初始化→調節播放音量→開(kāi)始播放。

將MP3數據順序放入數據寄存器,芯片播放完一定數量的數據時(shí)會(huì )發(fā)出中斷請求,在中斷函數中連續送入聲音數據,直到聲音數據結束。MP3播放函數實(shí)現代碼如下:

由于MCU容量限制,選取測試的MP3文件不能太大。首先在計算機上將MP3文件的二進(jìn)制數據轉為標準C數組格式文件,然后將該文件加入工程中。源代碼中MP3文件存儲在外擴的SPI FLASH中,工程中需要注釋和移除全部相關(guān)代碼。MP3數據讀取函數是LD_ReloadMp3Data(),只需將讀取的SPI FLASH數據部分改成以數組數據讀取的方式即可。

3.2.2 語(yǔ)音識別程序

LD3320語(yǔ)音識別芯片完成的操作順序為:通用初始化→ASR初始化→添加關(guān)鍵詞→開(kāi)啟語(yǔ)音識別。在源代碼中的RunASR()函數已經(jīng)實(shí)現了上面的過(guò)程,直接調用即可開(kāi)啟語(yǔ)音識別功能。

RunASR()函數代碼如下:

用戶(hù)說(shuō)完話(huà)后,LD3320通過(guò)打分的方式,將關(guān)鍵詞列表中特征最相似的一個(gè)作為輸出。然后LD3320會(huì )產(chǎn)生一個(gè)中斷信號,此時(shí)MCU跳入中斷函數讀取C5寄存器的值,該值即為識別結果,得到結果后,用戶(hù)可以根據數值來(lái)實(shí)現一些功能,比如讀取到1,說(shuō)明是“播放音樂(lè )”,那么可以調用前面的PlaySound()函數來(lái)播放音樂(lè )。

語(yǔ)音識別控制的關(guān)鍵點(diǎn)在于語(yǔ)音識別的。表1給出了測試結果,當然也可以在識別列表中加入更多的關(guān)鍵詞來(lái)做測試。通過(guò)測試結果可以看出,LD3320的識別率在95%上,能夠滿(mǎn)足用戶(hù)需求。

4 結語(yǔ)

本文討論了基于A(yíng)VR單片機的設計的可行性,并給出了設計方案。通過(guò)多次測試結果表明,本系統具有電路運行穩定,語(yǔ)音識別率高,成本低等優(yōu)點(diǎn)。同時(shí)借助于LD3320的MP3播放功能,該系統具有一定的交互性和娛樂(lè )性。移植性方面,系統通過(guò)簡(jiǎn)單的修改,可以很方便地將LD3320驅動(dòng)程序移植到各種嵌入式系統中。隨著(zhù)人們對人工智能功能的需求,語(yǔ)音識別技術(shù)將越來(lái)越受到人們的關(guān)注,相信不久的將來(lái),語(yǔ)音識別將會(huì )擁有更廣闊的應用。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>