服务机器人以服务为目的,因此人们需要一种更方便、更自然、更加人性化的方式与机器人交互,而不再满足于复杂的键盘和按钮操作。基于听觉的人机交互是该领域的一个重要发展方向。目前主流的语音识别技术是基于统计模式。然而,由于统计模型训练算法复杂,运算量大,一般由工控机、PC 机或笔记本来完成,这无疑限制了它的运用。嵌入式语音交互已成为目前研究的热门课题。嵌入式语音识别系统和 PC 机的语音识别系统相比,虽然其运算速度和内存容量有一定限制,但它具有体积小、功耗低、可靠性高、投入小、安装灵活等优点,特别适用于智能家居、机器人及消费电子等领域。
模块的核心处理单元选用 ST 公司的基于 ARM Cortex-M3 内核的 32 位处理器 STM32F103C8T6。本模块以对话管理单元为中心,通过以 LD3320 芯片为核心的硬件单元实现语音识别功能,采用嵌入式操作系统μC/OS-II 来实现统一的任务调度和外围设备管理。经过大量的实验数据验证,本文设计的语音识别模块具有高实时性、高识别率、高稳定性的优点。
语音识别电路

图 3 为语音识别部分原理图,参照了 ICRoute 发布的 LD3320 数据手册进行设计。LD3320 的内部集成了快速稳定的优化算法,不需外接 Fla-sh、RAM,不需要用户事先训练和录音而完成非特定人语音识别,识别准确率高。图中,LD3320 采用并行方式直接与 STM32F103C8T6 相接,均采用 1kΩ电阻上拉,A0 用于判断是数据段还是地址段;控制信号,复位信号以及中断返回信号 INTB 与 STM32F103C8T6 直接相连,采用 10kΩ电阻上拉,辅助系统稳定工作;和 STM32F103C8T6 采用同一个外部 8MHz 时钟;发光二极管 D1、D2 用于复位后的上电指示;MBS(引脚 12)作为麦克风偏置,接了一个 RC 电路,保证能输出一个浮动电压给麦克风。