進(jìn)博會(huì)調(diào)休,在家閑(約)來(lái)(不)無(wú)(到)事(妹子),調(diào)一調(diào)手里的LD3320語(yǔ)音識(shí)別模塊,為語(yǔ)音控制的mini Kindle做準(zhǔn)備纹蝴。
LD3320 芯片是一款“語(yǔ)音識(shí)別” 專用芯片庄萎,由 ICRoute 公司設(shè)計(jì)生產(chǎn)。該芯片集成了語(yǔ)音識(shí)別處理器和一些外部電路塘安,包括 AD糠涛、 DA 轉(zhuǎn)換器、麥克風(fēng)接口兼犯、聲音輸出接口等忍捡。本芯片在設(shè)計(jì)上注重節(jié)能與高效,不需要外接任何的輔助芯片
如 Flash免都、 RAM 等锉罐,直接集成在現(xiàn)有的產(chǎn)品中即可以實(shí)現(xiàn)語(yǔ)音識(shí)別/聲控/人機(jī)對(duì)話功能。并且绕娘,識(shí)別的關(guān)鍵詞語(yǔ)列表是可以任意動(dòng)態(tài)編輯的脓规。每次識(shí)別最多可以設(shè)置 50 項(xiàng)候選識(shí)別句。
先定義一下管腳:
驅(qū)動(dòng)部分代碼一共好幾百行险领,就不單獨(dú)放在這里了侨舆。所有資料已經(jīng)打包放在網(wǎng)盤里。
鏈接:https://pan.baidu.com/s/18u5U12kLr4iSq32I7ChUdw 密碼:x40p
這里就放一下測(cè)試文件的代碼:
from machine import Pin
import time
import LD
def demo1():
LD3320_IRQ_pin = Pin(12,Pin.IN)
time.sleep_ms(1000)
LD.StartARS()
while 1 :
if LD3320_IRQ_pin.value() == 0:
nAsrRes = LD.GetResult()
print ('Get command ', nAsrRes)
time.sleep_ms(500)
LD.StartARS()
time.sleep_ms(500)
每次檢測(cè)到驅(qū)動(dòng)代碼里面設(shè)置的語(yǔ)音指令绢陌,LD3320會(huì)在IRQ引腳上產(chǎn)生低電平挨下。demo中使用的是循環(huán)讀取電平狀態(tài)來(lái)檢測(cè),也可以改成使用中斷方式讀取脐湾。以下是我測(cè)試幾個(gè)簡(jiǎn)單指令的返回結(jié)果臭笆。Get command bytearray(b'\x00')這句話提示了檢測(cè)到的結(jié)果。
import LD_Demo
>>> LD_Demo.demo1()
Initialize hardware finished
Initialize common finished
Initialize ASR finished
Add list finished !
Start ASR finished !
Get command bytearray(b'\x00')
Initialize hardware finished
Initialize common finished
Initialize ASR finished
Add list finished !
Start ASR finished !
Get command bytearray(b'\x02')
Initialize hardware finished
Initialize common finished
Initialize ASR finished
Add list finished !
Start ASR finished !
Get command bytearray(b'\x01')
Initialize hardware finished
Initialize common finished
Initialize ASR finished
Add list finished !
Start ASR finished !
這個(gè)語(yǔ)音模塊的調(diào)試過程還是挺煩的秤掌。官方只提供C代碼愁铺,花了你哥我兩個(gè)完整的下午才搞定,闻鉴,茵乱,真是太菜了。
我的mini kindle的基本模塊的驅(qū)動(dòng)都做好了孟岛。很快就可以把整個(gè)框架搭好了瓶竭。求各位打個(gè)賞錢,資助一下