新型语音识别电路AP7003及其应用
2009-01-20
作者:吴少军 张维平 沈永福
摘 要: 介绍了新型、低成本语音识别电路AP7003的性能、引脚、指令等内容,并给出了应用电路原理图及详细的应用方法。
关键词: 语音识别 键盘控制 CPU控制 存储体
1 AP7003简介
AP7003是一款新型、低成本语音识别专用集成电路,内置有麦克风放大器、A/D转换器、语音处理器和I/O控制器,经预处理后可识别12组不同的字词,每组1.5秒时长,可连词或单词识别。AP7003包括AP7003-01(由CPU串行控制)和AP7003-02(由按键直接控制)两种型号,且具有高度的I/O可编程性,使用简单方便,可广泛应用于玩具、识别转控、自动答录等领域。
AP7003的功能框图如图1所示。其主要特性如下:
· 内置麦克风放大器;
· 内置A/D转换器;
· DIP40双列直插式封装;
· 识别12组1.5秒时长字词;
· I/O口具有2个普通输入、4个触发输入、2个输出口(分别有4个和12个输出)、2个LED驱动;
· 指令优化以方便用户使用;
· 2.4V~4.5V工作电压,且具备低功耗模式。
2 AP7003功能说明
AP7003具有两种工作模式,即录音模式和识别模式。在使用识别模式之前,应先将目标词录入芯片内。AP7003内有12个存储体用于存储12组不同的字句,每个存储体可存储1.5秒时长的字词,可通过键盘或按程序编制的顺序选择存储体录入及存放目标词。语音可通过外部麦克风或其它媒体录入芯片内,经内部处理后以不同的数字特征信号保存于存储体中。
目标词录入芯片内后即可将工作模式转换到识别模式,工作时芯片将当前语音与事先已录入存储体的目标词语音相比较,如果有语音特征相匹配,则在芯片的相应输出端口输出高电平或低电平。需要时可以将芯片编程为省电模式以节省电能,当有按键信号时芯片将被唤醒。
AP7003采用DIP40封装,引脚功能如表1所示,其典型应用电路如图2所示。
3 AP7003-01的应用
AP7003-01可通过串行口与微控制器连接,应用图如图3所示。AP7003-01共有22个输入指令和15个输出指令,如表2所示。AP7003-01工作时序及时间定义如图4所示。
系统上电后必须先给AP7003-01发清除指令Clear Word以清除12个存储体内的内容,然后发出一个存储指令(Store Word1~Store Word12之一)将目标词录入芯片相应的存储体内。当LED1有效时,表示芯片准备好录入目标词。通过指令Set R_Mode1或Set R_Mode2可选择两种识别模式:Set R_Mode1为单词识别模式,该模式下识别操作完成后,芯片进入省电状态以等待新的指令;Set R_Mode2为连词识别模式,该模式下识别操作完成后芯片返回语音录入状态。
进入语音识别状态前必须通过指令Set R_Level1~Set R_Level4设置识别时要求的匹配度,Set R_Level4要求匹配程度最高,而Set R_Level1最低,可以根据经验设定为中间某一个值。跟在一个Store Word1~12指令之后的Store Flag指令将前面录入的语音存入指定的存储体以作为目标词。Clear Outputs指令用于清除A端口输出状态(POA1~POA12)。Shut Down指令将芯片转入关闭模式以节省电能。
当数据格式或时序出现在串行数据(SERIAL DATA)输入口PIT3、PIT2、PIT1时,芯片将发送错误代码到串行数据输出口POB4,同时将数据、时钟发送到串行数据输出口POB2、POB3。
指令Store Word1~12、Store Flag、Clear Word、Set R_Level1~4和Clear Outputs执行完成后,芯片将输出一个Done代码。芯片每次执行完语音识别后,输出一个匹配指示代码(Match Word1~Match Word12或NO Match)。当有一个语音匹配时,LED2有效,如果PIM2被拉高(端口A使能),则A端口相应的引脚变为有效。如果PIM1引脚被拉低,芯片的语音识别功能被禁止。
4 AP7003-02的应用
AP7003-02可以单独使用,无需控制器,适合于用键盘直接控制。芯片有8键控制和12键控制两种键盘操作模式,如图5所示。各键及其功能见表3(a)、(b)。
上电后POB1~POB4均被置成低电平。当有键按下时,芯片按POB1→POB2→POB3→POB4的顺序依次发出键盘扫描信号,扫描信号为16ms低脉冲加64ms间隔,且循环进行,按键信号从PIT1~PIT4输入芯片。键盘阵列如表3(c)所示。
上电后12个存储体在录入目标词之前必须首先清空。开始录入目标词时LED1及POA1~POA12之一(与所选择的存储体相对应的一个)有效,目标词录入到存储体后芯片进入识别模式。
在识别模式初始状态,只有LED1是有效的。识别完成后,如果没有词相匹配,LED1闪烁3秒钟后回到识别模式初始状态;如果有词相匹配,LED2有效,与匹配词所在存储体相对应的POA输出端口也有效。如果芯片被设置成自动模式(PIM2=0),则LED2及POA的输出将在3分钟后被清除,之后回到识别模式初始状态。当PIM2=0时,如果连续8分钟没有语音输入芯片,将自动进入省电模式。
5 应注意的问题
(1)语音识别电路对外部麦克风(MIC)的分贝值有一定的要求。使用经验表明,本语音识别电路中选用56dB的麦克风可达到最佳效果。
(2)语音识别前设置的匹配度是一个影响识别率高低的重要因素,在实验过程中需要根据使用环境、使用要求等情况多次实验才能确定最佳值。
(3)AP7003的工作电压为2.4V~4.5V。对于3V的应用系统,可直接使用;如果您的应用系统是5V工作电压,建议通过一个二极管给AP7003供电,以保证系统长期稳定可靠地工作,也有利于降低系统功耗。
应用表明,AP7003使用简单方便,具有较高的识别率,一般可达80%以上,是一款较好的语音识别芯片。
参考文献
1 AP7003 DATA SHEET.API,2000.9