关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于LD332O语音识别专用芯片实现的语音控制

基于LD332O语音识别专用芯片实现的语音控制

作者: 时间:2012-02-16 来源:网络 收藏

b.jpg


主控MCU与LD3320的连接关系如图2所示,MCU的P0端口的8根线和LD3320并行方式连接,线也分别连接。此外还连接了复位信号和中断信号。对LD3320来说,复位信号(RSTB)由MCU发出,而中断信号由LD3320发出,MCU负责接收。
另外,还有一些辅助电路,比如麦克风的偏置、喇叭音量的,以及电源的去耦等,这里不作详细介绍。

3 LD3320的软件编程
3.1 编程模式
主控MCU通过读/写LD3320的寄存器完成操作。用户有两种编程模式:“中断模式”和“轮询模式”。
所谓中断模式,就是系统的主控MCU在接收到外界一个触发后(比如用户按动某个按键),启动LD3320的一个定时过程(比如5s),要求用户在这个定时过程中说出要关键词语。过了这个过程后,需要用户再次触发才能再次启动一个过程。
所谓轮询模式,就是系统的主控MCU反复启动识别过程。如果没有人说话没有识别结果,则每次识别过程的定时到时后再启动一个识别过程;如果有识别结果,则根据识别作相应处理后(比如播放某个声音作为回答)再启动一个识别过程。
3.2 程序流程
识别的操作流程是:
(1)识别用初始化(包括通用初始化)。在此步骤中,对各寄存器进行初始化设置。
(2)写入识别列表。LD3320是一个词库的语音识别,在此步骤中,应将待识别的短语写入识别列表。列表的规则是,每个识别条目对应一个特定的编号(1个字节),不同的识别条目的编号可以相同,而且不用连续,但是数值要小于256(00H~FFH)。
(3)开始识别,并准备好中断响应函数,打开中断允许位。
(4)响应中断。如果麦克风采集到声音,不管是否以别出正常结果,都会产生一个中断信号。而中断程序要根据寄存器的值分析结果。读取BA寄存器的值,可以知道有几个候选答案,而C5寄存器里的答案是得分最高、最可能正确的答案。
如果不用中断方式,也可以通过查询方式工作。在“开始识别”后,读取寄存器B2H的值,如果为21H就表示有识别结果产生。在此之后读取候选项等操作与中断方式相同。
LD3320还具有MP3播放的功能,在这里不再进行介绍。

4 结论
LD3320的功能是完成有限词组的非特定人语音识别,我们将其应用在一个虚拟环境下战术训练课题中。战术训练中,常常需要下达一些短口令,而在我们所设计的训练环境中,如果口令采用键盘或鼠标的方式进行输入,显然有违设计的初衷。所以,我们使用LD3320设计VUI电路,用语音识别的方式,将获得的识别结果再转换成串口信号,输入计算机,达到语音控制的目的。
实践证明,这种方式可以满足语音控制的要求,但是语音识别的速度,即实时性还有待改进。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭