多功能語音識別聲控電話機(jī)之
捷通82語音識別模塊產(chǎn)品說明書
(含嵌入式語音識別軟件)
2003/06/09
1、 產(chǎn)品概述
信號線 | 描述 | 數(shù)據(jù)傳送方向 (SCPU->MCPU) |
數(shù)據(jù)傳送方向方向 (MCPU->SCPU) |
DATA | 雙向數(shù)據(jù)線 | SHS=0時數(shù)據(jù)有效 | MHS=0時數(shù)據(jù)有效 |
MHS | 主機(jī)握手信號 | 0-數(shù)據(jù)位被接收了 | 0-數(shù)據(jù)位有效 |
SHS | 從機(jī)握手信號 | 0-數(shù)據(jù)位有效 | 0-數(shù)據(jù)位被接收了 |
同步字符0FFh | 數(shù)據(jù)長度N | 命令/回應(yīng) | 參數(shù)1 | 參數(shù)2 | …… | 參數(shù)N-2 | 校驗(yàn)和 |
圖七
數(shù)據(jù)包舉例:
同步字符 | 數(shù)據(jù)長度 | 命令 | 參數(shù)1 | 參數(shù)2 |
參數(shù)3 | 效驗(yàn)和 |
0FFh |
5 | 1 | 2 | 3 | 4 | 0Fh |
圖八
命令集(灰色區(qū)域?yàn)楸A艄δ?本模塊中未用)
表二
回應(yīng)集
表三
類別定義:
1-人名訓(xùn)練 2-人名識別 3-語音電話本 4-語音合成 5-控制功能 6-調(diào)試 7-DTMF 8-音樂 9-實(shí)時錄音/回放 10-來電播報(bào)
11-主MCU數(shù)據(jù)存取及刪除 12-來電 13-去電 14-普通電話本
命令詳解
命令:00h
命令參數(shù): 無
返回參數(shù): 無
回應(yīng): 00h或21h
命令描述: 本命令一般用于系統(tǒng)調(diào)試,以測試MCPU與SCPU的聯(lián)機(jī)狀況。
命令:01h
命令參數(shù): 無
返回參數(shù): 版本號
回應(yīng): 00h或21h
命令描述: 獲取當(dāng)前語音識別模塊的版本號。對于JT802V1來說,其版本號為38h,30h,32h,56h.
命令:02h
命令參數(shù): 重試次數(shù)
返回參數(shù): 無
回應(yīng): 00h, 01h, 11h, 21h, 0FFh
命令描述: 訓(xùn)練一個名字。當(dāng)增加一條電話本記錄時,應(yīng)先執(zhí)行此命令。該命令會生成一個語音模板,同時產(chǎn)生一個長達(dá)2秒的名字錄音。在此命令成功執(zhí)行之后,MCPU接著發(fā)送06h命令增加電話號碼。如果沒有執(zhí)行06h命令,則該項(xiàng)記錄電話號碼為空。
添加人名成功后,當(dāng)前指針指向該記錄位置。
重試次數(shù)指的是訓(xùn)練失敗后允許重新訓(xùn)練的次數(shù),通常設(shè)置為2。
此命令能被MCPU中斷。
命令:03h
命令參數(shù): 重試次數(shù)
返回參數(shù): 無
回應(yīng): 00h, 01h, 07h, 0Ah, 10h, 21h, 0FFh
命令描述: 該命令識別一個人名。如果查找到了相符記錄,則當(dāng)前指針指向識別結(jié)果。否則,指針保持不變。
重試次數(shù)指的是識別失敗后允許重新識別的次數(shù),通常設(shè)置為2。
此命令能被MCPU中斷。
命令:04h
命令參數(shù): 無
返回參數(shù): 無
回應(yīng): 00h, 12h, 21h, 0FFh
命令描述: 回放當(dāng)前指針?biāo)赣涗泴?yīng)的人名錄音。如果當(dāng)前指針為0或指向某一空記錄,則返回12h.該命令的執(zhí)行可被MCPU中斷.
命令:05h
命令參數(shù): 無
返回參數(shù): 無
回應(yīng):00h, 22h, 12h, 21h, 0FFh
命令描述: 播報(bào)當(dāng)前指針?biāo)赣涗泴?yīng)的電話號碼. 如果當(dāng)前指針為0或指向某一空記錄,則返回12h.此命令的執(zhí)行可被MCPU中斷.
命令: 06h
命令參數(shù): 電話號碼
返回參數(shù): 無
回應(yīng):00h, 12h, 21h
命令描述: 將電話號碼存儲在當(dāng)前指針?biāo)傅挠涗浵? 如果當(dāng)前指針為0或指向某一空記錄,則返回12h.
電話號碼最長可達(dá)8個字節(jié),以BCD碼發(fā)送,每字節(jié)兩個BCD碼,先高后低。"*"和"#"分別以"1010" "1011"表示.
此命令應(yīng)在02h命令成功執(zhí)行后發(fā)送。
如果當(dāng)前指針為0,則返回12h。
命令:07h
命令參數(shù): 無
返回參數(shù): 電話號碼
回應(yīng): 00h, 22h,12h, 21h
命令描述: 返回當(dāng)前指針?biāo)赣涗浵聦?yīng)的電話號碼. 如果當(dāng)前指針為0或指向某一空記錄,則返回12h.
電話號碼最長可達(dá)8個字節(jié),以BCD碼發(fā)送,每字節(jié)兩個BCD碼,先高后低。"*"和"#"分別以"1010" "1011"表示.
命令:08h
命令參數(shù): 無
返回參數(shù): 無
回應(yīng):00h, 21h
命令描述:當(dāng)前指針清0,不指向任何記錄.
命令:09h
命令參數(shù): 無
返回參數(shù): 無
回應(yīng):00h, 10h, 21h
命令描述: 當(dāng)前指針指向電話本下一條有效記錄.如果當(dāng)前指針為最后一條有效記錄,則執(zhí)行該命令后指向第一條有效記錄。 如果電話本中無有效記錄,則指針指向0位置,并返回10h.
命令:0Ah
命令參數(shù): 無
返回參數(shù): 無
回應(yīng): 00h, 10h, 21h
命令描述: 當(dāng)前指針指向電話本上一條有效記錄.如果當(dāng)前指針為第一條有效記錄,則執(zhí)行該命令后指向最后一條有效記錄。 如果電話本中無有效記錄,則指針指向0位置,并返回10h.
命令:0Bh
命令參數(shù): 無
返回參數(shù): 無
回應(yīng): 00h, 21h
命令描述: 將當(dāng)前指針存儲在臨時存儲寄存器中,可用命令0Ch恢復(fù)當(dāng)前指針.如果模塊掉電,當(dāng)前指針遺失.
此命令本模塊未用
命令:0Ch
命令參數(shù): 無
返回參數(shù): 無
回應(yīng):00h, 12h, 21h
命令描述: 恢復(fù)由0Bh命令存儲的當(dāng)前指針.
此命令本模塊未用
命令:0Dh
命令參數(shù): 無
返回參數(shù): 無
回應(yīng):00h,21h
命令描述: 此命令本模塊未用
命令:0Eh
命令參數(shù): 無
返回參數(shù): 無
回應(yīng): 00h, 12h, 21h
命令描述: 刪除當(dāng)前指針?biāo)傅碾娫挶居涗,刪除成功后,所有該電話本記錄后面的電話本記錄向前移,指針位置保持不變.
如果執(zhí)行此命令時當(dāng)前指針為0或指向某一空記錄,則返回12h。
命令: 0Fh
命令參數(shù): 0x55
返回參數(shù): 無
回應(yīng):00h, 21h
命令描述: 刪除電話本中所有記錄,刪除成功后將指針清零,不指向任何記錄。
命令:10h
命令參數(shù): 無
返回參數(shù): 無
回應(yīng):00h,12h,21h
命令描述: 此命令本模塊未用
命令:11h
命令參數(shù):
返回參數(shù):
回應(yīng):00h,21h
命令描述: 此命令本模塊未用
命令: 12h
命令參數(shù): 無
返回參數(shù):
回應(yīng): 00h,12h,21h
命令描述: 此命令本模塊未用
命令: 13h
命令參數(shù): 無
返回參數(shù):
回應(yīng): 00h,21h
命令描述:此命令本模塊未用
命令:14h
命令參數(shù): 提示音序號
返回參數(shù): 無
回應(yīng):00h, 21h, 0FFh
命令描述: 說提示音序號所對應(yīng)的提示音.提示音序號與提示音的對應(yīng)關(guān)系見后面的提示音列表.此命令的執(zhí)行可由MCPU中斷.
命令:15h
命令參數(shù): 數(shù)字串
返回參數(shù): 無
回應(yīng):00h, 21h
命令描述: 播報(bào)命令參數(shù)里所傳遞的數(shù)字串. 此命令的執(zhí)行可由MCPU中斷。數(shù)字串以BCD碼存儲,每字節(jié)兩個BCD碼,先高后低。
此命令本模塊未用
命令:16h
命令參數(shù): 無
返回參數(shù): 無
回應(yīng): 00h, 21h
命令描述: SCPU進(jìn)入睡眠狀態(tài),進(jìn)入睡眠之前返回00h給MCPU.
命令:17h
命令參數(shù): 語音識別門限
返回參數(shù): 無
回應(yīng):00h, 21h
命令描述: 設(shè)置語音識別門限參數(shù)。參數(shù)可設(shè)為0,1,2,3,其中0為最低級別,最容易識別,但誤識別的幾率相對較大。語音識別門限參數(shù)的默認(rèn)值為1。
命令:18h
命令參數(shù): 無
返回參數(shù):語音識別門限
回應(yīng):00h, 21h
命令描述:獲取語音識別門限參數(shù)。
命令:19h
命令參數(shù): 當(dāng)前指針
返回參數(shù): 無
回應(yīng): 00h, 21h
命令描述: 設(shè)置當(dāng)前指針
此命令本模塊未用
命令:1Ah
命令參數(shù): 無
返回參數(shù): 當(dāng)前指針
回應(yīng):00h, 21h
命令描述: 獲取當(dāng)前指針
命令:1Bh
命令參數(shù): 數(shù)字
返回參數(shù): 無
回應(yīng): 00h,21h
命令描述:此命令本模塊未用
命令:1Ch
命令參數(shù): 數(shù)字串
返回參數(shù): 無
回應(yīng): 00h,21h
命令描述:此命令本模塊未用
命令:1Dh
命令參數(shù): N
返回參數(shù): 無
回應(yīng): 00h,21h
命令描述:此命令本模塊未用
命令: 1Eh
命令參數(shù): 無
返回參數(shù): 無
回應(yīng):00h,21h
命令描述:此命令本模塊未用
命令:1Fh
命令參數(shù): 無
返回參數(shù): 無
回應(yīng): 00h,21h
命令描述:此命令本模塊未用
命令:20h
命令參數(shù): 無
返回參數(shù): 無
回應(yīng):00h,21h
命令描述:此命令本模塊未用
命令 :21h
命令參數(shù): N=1,2,3
返回參數(shù): 無
回應(yīng): 00h, 21h, 0FFh
命令描述: 播放一段音樂。共3段音樂可供選擇,由N決定播放哪一段,此命令能被MCPU中斷。
命令 :22h
命令參數(shù): N=1,2,3
返回參數(shù): 無
回應(yīng): 00h, 11h, 21h, 0FFh
命令描述: 進(jìn)行實(shí)時錄音,一共允許三段,由命令參數(shù)N指明哪一段進(jìn)行錄音。此命令能被MCPU中斷。
每段錄音的時間長度,在語音電話本最大容量為60個人名時,為19秒, 30個人名時,為30秒.
命令 :23h
命令參數(shù): N=1,2,3
返回參數(shù): 無
回應(yīng):00h, 10h, 21h, 0FFh
命令描述: 播放實(shí)時錄音, 由命令參數(shù)N指明播放哪一段錄音,此命令能被MCPU中斷。
命令 :24h
命令參數(shù):來電號碼
返回參數(shù):無
回應(yīng): 00h, 21h, 0FFh
命令描述:送一組來電號碼給語音識別模塊,語音模塊在電話本中查找該號碼,如果該號碼存在則播放該號碼對應(yīng)的人名,如果電話本中沒有此號碼,則播報(bào)該電話號碼。電話號碼必須完全相同才播報(bào)人名,否則播報(bào)號碼,播報(bào)號碼時每4個號碼一播.播抱人名或電話號碼前先發(fā)"來電話了"的提示音。
電話號碼以BCD碼發(fā)送,每字節(jié)兩個BCD碼,先高后低。
此命令能被MCPU中斷。
命令 : 25h
命令參數(shù):無
返回參數(shù):有效記錄條數(shù)
回應(yīng): 00h, 21h
命令描述:該命令用來獲取電話本中有效記錄的條數(shù)。
命令:26h
命令參數(shù): 人名
返回參數(shù): 無
回應(yīng):00h, 12h, 21h
命令描述: 將人名存儲在當(dāng)前指針?biāo)傅挠涗浵? 如果當(dāng)前指針為0或指向某一空記錄,則返回12h.
人名字符以ASCII碼發(fā)送,每字節(jié)1個ASCII碼,即一個字符,先高后低,名字最大長度為16個字符。
此命令應(yīng)在02h命令成功執(zhí)行后發(fā)送。
命令: 27h
命令參數(shù): 無
返回參數(shù):人名
回應(yīng): 00h, 23h,12h, 21h
命令描述: 返回當(dāng)前指針?biāo)赣涗浵聦?yīng)的人名. 如果當(dāng)前指針為0或指向某一空記錄,則返回12h.
人名字符以ASCII碼發(fā)送,每字節(jié)1個ASCII碼,即一個字符,先高后低。
命令:28h
命令參數(shù): N = 1,2
返回參數(shù): 無
回應(yīng):00h, 21h
命令描述: 設(shè)置語音電話本最大容量。參數(shù)N可設(shè)為1或2,1表示語音電話本的最大容量為30,2表示語音電話本的最大容量為60.默認(rèn)值為1.
此命令本模塊未用
命令:29h
命令參數(shù): 起始地址,數(shù)據(jù)
返回參數(shù):
回應(yīng):無
命令描述: 將數(shù)據(jù)連續(xù)存儲在Flash中指定位置.
起始地址為MCU數(shù)據(jù)存儲空間的地址偏移量,非絕對地址,分兩個字節(jié)發(fā)送,先發(fā)送高位.地址范圍為0000~01FFh.
先發(fā)送起始地址,再緊接著發(fā)送數(shù)據(jù),數(shù)據(jù)最大長度為30bytes,且限存儲在同一頁中(256字節(jié)/頁,高字節(jié)地址相同)。
命令:2Ah
命令參數(shù): 起始地址,字節(jié)數(shù)
返回參數(shù): 數(shù)據(jù)
回應(yīng):00h, 21h
命令描述: 從Flash中連續(xù)讀取指定位置的數(shù)據(jù).
起始地址為MCU數(shù)據(jù)存儲空間的地址偏移量,非絕對地址,分兩個字節(jié)發(fā)送,先發(fā)送高位.地址范圍為0000~01FFh.
字節(jié)數(shù)為所要連續(xù)讀取數(shù)據(jù)的字節(jié)數(shù).
先發(fā)送起始地址,再緊接著發(fā)送字節(jié)數(shù),字節(jié)數(shù)最大為32, 且限所要讀取的數(shù)據(jù)在同一頁中(256字節(jié)/頁,高字節(jié)地址相同)。
命令: 2Bh
命令參數(shù): 起始地址,結(jié)束地址
返回參數(shù): 無
回應(yīng): 00h, 21h
命令描述: 刪除普通電話本數(shù)據(jù)存儲空間指定位置的數(shù)據(jù).
起始地址和結(jié)束地址均為普通電話本數(shù)據(jù)存儲空間的地址偏移量,非絕對地址,分兩個字節(jié)發(fā)送,先發(fā)送高位.地址范圍為0000~01FFh.
刪除可以整頁整頁的進(jìn)行,連續(xù)刪除某幾個頁.也可以對同一頁中(256字節(jié)/頁,高字節(jié)地址相同)的某幾個連續(xù)字節(jié)進(jìn)行刪除,限35字節(jié)以內(nèi).
起始地址和結(jié)束地址所對應(yīng)的字節(jié)將被刪除.
命令: 2Ch
命令參數(shù): N=1,2,3
返回參數(shù): 無
回應(yīng): 00h, 21h, 0FFh
命令描述: 刪除實(shí)時錄音,一共三段,由命令參數(shù)N指明刪除哪一段。
命令:2Dh
命令參數(shù): 來電記錄(28BYTE)
返回參數(shù): 來電記錄第一個BYTE,電話本記錄人名
回應(yīng):00h, 21h
命令描述: 存儲該來電記錄。
來電記錄共28BYTE,第1BYTE到第4BYTE為來電屬性及來電日期,其中,第1BYTE的BIT6表示新來電、BIT5表示貴賓、BIT4表示重復(fù)來電,BIT3~BIT0表示來電月份,第2BYTE到第4BYTE分別表示來電的日、時、分;第5BYTE到第12BYTE為來電號碼;第13BYTE到第28BYTE為來電人名。
存儲時,先將該來電記錄的電話號碼(記錄的第5BYTE到第12BYTE)與所有已存來電記錄的電話號碼相比較,(1)如果發(fā)現(xiàn)該來電記錄與某條已存來電記錄的電話號碼相同,則先判斷該已存來電記錄是否為貴賓(記錄的第1BYTE的BIT5為1),為貴賓就將新來電記錄的第1BYTE的BIT5置1(保持貴賓標(biāo)志不變),并將新的來電記錄的第1BYTE的BIT4置1(表示重復(fù)來電),再把已存來電記錄刪除,后面的相應(yīng)往前移,然后把新的來電記錄緊挨著存儲在最后面。(2)如果沒有相同電話號碼的來電記錄,但存儲卻滿了,就將第1組非貴賓來電記錄(記錄的第1BYTE的BIT5為0)刪除,并將后面的來電記錄相應(yīng)往前移,然后將要存儲的來電記錄存儲在最后面;如果所有已存來電記錄均為貴賓,則將第1條來電記錄刪除,并將后面的來電記錄相應(yīng)往前移,然后將要存儲的來電記錄存儲在最后面。(3)如果既沒有相同號碼的來電記錄,存儲也未滿,就直接將要存儲的來電記錄緊挨著存儲在最后面。
另外,如果是重復(fù)來電(情況(1))或存儲已滿(情況(2)),若被刪除的來電為未查看過的新來電,則在返回新來電記錄的第1BYTE時,還需將新來電的第1BYTE的BIT6置1,作為返回參數(shù),以示刪除了一條未查看的新來電。否則(包括情況(3)),將新來電的第1BYTE的BIT6清0,作為返回參數(shù)。
存儲之后,還要判斷該新來電記錄的第13BYTE是否為零(是否已有人名),如果不為零(已有人名)就退出,然后返回新來電的第1BYTE;如果為零(人名空)就到電話本中去查找,看有沒有電話本記錄的電話號碼(記錄的第1BYTE~第8BYTE)與該來電記錄的電話號碼(第5BYTE~第12BYTE)相同,如果沒有相同的電話本記錄,就返回新來電的第1BYTE;如果有相同的電話本記錄,則除了返回新來電的第1BYTE之外,還要將該電話本記錄的人名(第9BYTE~第24BYTE)作為參數(shù)返回。
命令: 2Eh
命令參數(shù): 去電號碼(10BYTE)
返回參數(shù): 無
回應(yīng): 00h, 21h
命令描述: 存儲該去電號碼:每十個BYTE為一個號碼,依次進(jìn)行存儲,如果存儲區(qū)域滿了就將第1個號碼刪掉,其他號碼相應(yīng)往前移,再將要存儲的號碼存放在最后。
命令: 2Fh
命令參數(shù): 電話本記錄(24BYTE)
返回參數(shù): 無
回應(yīng): 00h, 21h, 11H
命令描述: 存儲該電話本記錄。
電話本記錄共24個BYTE,第1BYTE~第8BYTE為電話號碼,第9BYTE~第24BYTE為人名。電話本記錄按人名的字母順序進(jìn)行存儲,允許相同的電話本記錄多次存儲,如果存儲區(qū)域滿了就不予再存。
命令: 30h
命令參數(shù):來電記錄序號
返回參數(shù): 來電記錄(32BYTE)
回應(yīng): 00h, 21h,10H
命令描述: 將一組來電記錄讀出,判斷第13個BYTE是否為零(是否已有人名名),如果不為零(已有人名)就直接返回該來電記錄;如果為零(人名空),就到電話本中去查找,看有沒有電話本記錄的電話號碼(記錄的第1BYTE到第8BYTE)與該來電記錄的電話號碼(記錄的第5BYTE到第12BYTE)相同,如果有相同的電話本記錄,就將該來電記錄的人名(記錄的第13BYTE到第28BYTE)換成相應(yīng)電話本記錄的人名(記錄的第9BYTE到第24BYTE),然后返回該來電記錄,否則,直接返回該來電記錄。
命令: 31h
命令參數(shù):去電號碼序號
返回參數(shù):去電號碼(10BYTE)
回應(yīng): 00h, 21h, 10H
命令描述: 將一組去電號碼讀出來,送給主CPU。
命令: 32h
命令參數(shù):電話本記錄序號
返回參數(shù):電話本記錄(24BYTE)
回應(yīng): 00h, 21h, 10H
命令描述: 將一組電話本記錄讀出來,送給主CPU。
命令: 33h
命令參數(shù):來電記錄序號
返回參數(shù): 無
回應(yīng): 00h, 21h, 10H
命令描述: 刪除相應(yīng)序號的來電記錄。
命令: 34h
命令參數(shù):去電號碼序號
返回參數(shù): 無
回應(yīng): 00h, 21h, 10H
命令描述: 刪除相應(yīng)序號的去電號碼。
命令: 35h
命令參數(shù):電話本記錄序號
返回參數(shù): 無
回應(yīng): 00h, 21h, 10H
命令描述: 刪除相應(yīng)序號的電話本記錄。
命令: 36h
命令參數(shù):電話本記錄的人名首字母(1個BYTE)
返回參數(shù):電話本記錄序號(1BYTE)、電話本記錄(24BYTE)
回應(yīng): 00h, 21h, 10H
命令描述: 在電話本中查找第一個人名首字母與所送字母參數(shù)相同的電話本記錄,找到后將該組電話本記錄的序號及其內(nèi)容返回,送給主CPU。如果電話本中沒有人名首字母與所送字母參數(shù)相同的記錄,就將人名首字母排在該字母之后的第一個電話本記錄的序號及其內(nèi)容返回。如果所送字母參數(shù)在所有電話本記錄的首字母之后,則返回第1條電話本記錄的序號及其內(nèi)容。
命令: 37H
命令參數(shù): 來電記錄序號,來電記錄第1BYTE
返回參數(shù): 無
回應(yīng): 00H,21H
命令描述: 將命令參數(shù)中所送來電記錄序號所對應(yīng)的來電記錄的第1BYTE的BIT7~BIT4改成命令參數(shù)中所送來電記錄第1BYTE的BIT7~BIT4。
命令: 38h
命令參數(shù): 無
返回參數(shù): 無
回應(yīng): 00h, 21h
命令描述: 刪除所有來電記錄。
命令: 39h
命令參數(shù): 無
返回參數(shù): 無
回應(yīng): 00h, 21h
命令描述: 刪除所有去電號碼。
命令: 3Ah
命令參數(shù): 無
返回參數(shù): 無
回應(yīng): 00h, 21h
命令描述: 刪除所有電話本記錄。
5、 存儲器結(jié)構(gòu)
本系統(tǒng)共有兩片外掛存儲器,一片是程序存儲器,2Mb,用來存放控制程序、MIDI音樂和語音數(shù)據(jù)的;一片是數(shù)據(jù)存儲器,4Mb,用來存放產(chǎn)品ID和識別模板、電話號碼、記錄的回放以及實(shí)時錄音的。具體結(jié)構(gòu)如下:
1. 程序存儲器
地址分配如下:00000h-0ffffh用于存放控制程序及MIDI音樂數(shù)據(jù),10000-3ffffh存放提示音數(shù)據(jù)。
產(chǎn)品ID及系統(tǒng)屬性 |
屬性頁 |
人名 |
電話號碼 |
語音模板 |
人名錄音 |
實(shí)時錄音 |
普通電話本及其它數(shù)據(jù) |
深圳捷通公司供稿 CTI論壇編輯
語音合成芯片情況介紹和產(chǎn)品設(shè)想 2003-05-06 |
數(shù)字可視復(fù)讀機(jī)方案 2003-04-09 |
語音識別控制電話機(jī)方案 2003-04-04 |
智能早教機(jī)方案 2003-04-03 |
也談?wù)Z音識別技術(shù)在玩具領(lǐng)域的低成本應(yīng)用 2003-01-06 |