新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ATMEGAl28的語(yǔ)音識(shí)別系統(tǒng)設(shè)計(jì)

基于ATMEGAl28的語(yǔ)音識(shí)別系統(tǒng)設(shè)計(jì)

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


3 軟件系統(tǒng)設(shè)計(jì)


軟件設(shè)計(jì)主要有兩部分,分別為移植LD3320官方代碼和編寫語(yǔ)音識(shí)別應(yīng)用程序。

3.1 移植LD3320源代碼

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

3.2 應(yīng)用程序?qū)崿F(xiàn)

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

3.2.1 MP3播放代碼

LD3320支持MP3數(shù)據(jù)播放,播放聲音的操作順序?yàn)椋?BR>
通用初始化→MP3播放用初始化→調(diào)節(jié)播放音量→開始播放。

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

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

3.2.2 語(yǔ)音識(shí)別程序

LD3320語(yǔ)音識(shí)別芯片完成的操作順序?yàn)椋和ㄓ贸跏蓟鶤SR初始化→添加關(guān)鍵詞→開啟語(yǔ)音識(shí)別。在源代碼中的RunASR()函數(shù)已經(jīng)實(shí)現(xiàn)了上面的過程,直接調(diào)用即可開啟語(yǔ)音識(shí)別功能。

RunASR()函數(shù)代碼如下:

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

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

4 結(jié)語(yǔ)

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


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

評(píng)論


相關(guān)推薦

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

關(guān)閉