一种嵌入式语音识别模块的设计与实现

上传人:枫** 文档编号:506340795 上传时间:2023-11-26 格式:DOCX 页数:8 大小:145.37KB
返回 下载 相关 举报
一种嵌入式语音识别模块的设计与实现_第1页
第1页 / 共8页
一种嵌入式语音识别模块的设计与实现_第2页
第2页 / 共8页
一种嵌入式语音识别模块的设计与实现_第3页
第3页 / 共8页
一种嵌入式语音识别模块的设计与实现_第4页
第4页 / 共8页
一种嵌入式语音识别模块的设计与实现_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《一种嵌入式语音识别模块的设计与实现》由会员分享,可在线阅读,更多相关《一种嵌入式语音识别模块的设计与实现(8页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统结业(论文)基于 STM32 的嵌入式语音识别模块设计学生姓名: 所在学院:信息技术学院 班级:电气学 号:中国大庆2013 年 12 月摘要:介绍了一种以ARM为核心的嵌入式语音识别模块的设计与实现。模块的核心处理单 元选用ST公司的基于ARM Cortex-M3内核的32位处理器STM32F103C8T6。本模块以对 话管理单元为中心,通过以LD3320芯片为核心的硬件单元实现语音识别功能,采用嵌入式 操作系统卩C/OS-II来实现统一的任务调度和外围设备管理。经过大量的实验数据验证,本 文设计的语音识别模块具有高实时性、高识别率、高稳定性的优点。关键词:ARM;语音识别;对话管

2、理;LD3320;卩C/OS-II1引言服务机器人以服务为目的,因此人们需要一种更方便、更自然、更加人性化的方式与机 器人交互,而不再满足于复杂的键盘和按钮操作。基于听觉的人机交互是该领域的一个重要 发展方向。目前主流的语音识别技术是基于统计模式。然而,由于统计模型训练算法复杂, 运算量大,一般由工控机、 PC 机或笔记本来完成,这无疑限制了它的运用。嵌入式语音交 互已成为目前研究的热门课题。嵌入式语音识别系统和PC机的语音识别系统相比,虽然其运算速度和内存容量有一定 限制,但它具有体积小、功耗低、可靠性高、投入小、安装灵活等优点,特别适用于智能家 居、机器人及消费电子等领域。2 模块整体方案

3、及架构语音识别的基本原理如图1所示。语音识别包括两个阶段:训练和识别。不管是训练还 是识别,都必须对输入语音预处理和特征提取。训练阶段所做的具体工作是通过用户输入若 干次训练语音,经过预处理和特征提取后得到特征矢量参数,最后通过特征建模达到建立训 练语音的参考模型库的目的。而识别阶段所做的主要工作是将输入语音的特征矢量参数和参 考模型库中的参考模型进行相似性度量比较,然后把相似性最高的输入特征矢量输出。图1语音识别的基本原理现有的语音识别技术按照识别对象可以分为特定人识别和非特定人识别。寺定人识别是 指识别对象为专门的人,非特定人识别是指识别对象是针对大多数用户,一般需要采集多个 人的语音进行

4、录音和训练,经过学习,达到较高的识别率。基于现有技术开发嵌入式语音交互系统,目前主要有两种方式:一种是直接在嵌入式处 理器中调用语音开发包;另一种是嵌入式处理器外围扩展语音芯片。第一种方法程序量大, 计算复杂,需要占用大量的处理器资源,开发周期长;第二种方法相对简单,只需要关注语 音芯片的接口部分与微处理器相连,结构简单,搭建方便,微处理器的计算负担大大降低, 增强了可靠性,缩短了开发周期。语音识别技术在国内外的发展十分迅速。目前国内在PC应用领域,具有代表性的有: 科大讯飞的InterReco2.0、中科模式识别的Pattek ASR3.0、捷通华声的jASRv5.5;在嵌入式 应用领域,具

5、有代表性的有:凌阳的SPCE061A、ICRoute的LD332X、上海华镇电子的 WS-117。本文的语音识别方案是以嵌入式微处理器为核心,外围加非特定人语音识别芯片及相关 电路构成。语音识别芯片选用ICRoute公司的LD33 20芯片。3 硬件电路设计如图2所示,硬件电路主要包括主控核心部分和语音识别部分。语音进入语音识别部分 后,将处理过的数据并行传输到主控制器,主控制器经过处理后,发送命令数据到USART,3.1 语音识别电路图3为语音识别部分原理图,参照了 ICRoute发布的LD3320数据手册进行设计丄D3320 的内部集成了快速稳定的优化算法,不需外接Fla-sh、RAM,不

6、需要用户事先训练和录音而 完成非特定人语音识别,识别准确率咼。41P 40P4 即P5 强 P5 笳P7 轴 用a 石RDB 4玉叹 VCC3V3WRB 42 RDB-Lr, 1H WRB J蜀巧 CSB 3 I 淫? 14j-qVCC3V3ARSJE?答J2STMJCLK31PWSPI PO/SDG P2/SDCK P3F4F5P6 P7AOBSE. WKBZSP3S CSBSCS 1ft TH rHbMDTEST2 TESTS TEST也 TESTS TESTS CLKVDDVDD10 VDDTO GNDD GNDDLD3320MSCPMICN MONO MBSL1NP LINN SET

7、SPN HFOL HPOR LOUTL LOUTREQIEQ2EQ3 TEST30TEST19n驚MKTtlJ- MCN1J12 MBS郭 TESTO221CCJV3A,lOiF/忆 VCCSV3VDDAVDDA 爵 VSSAU/GNDA19IOpJ-7 DlW M15V TESTOF D2 画亦j.图3语音识别部分原理图图中,LD3320采用并行方式直接与STM32F103C8T6相接,均采用lkQ电阻上拉,A0 用于判断是数据段还是地址段;控制信号,复位信号以及中断返回信号INTB与 STM32F103C8T6直接相连,采用10kQ电阻上拉,辅助系统稳定工作;和STM32F103C8T6

8、采用同一个外部8 MHz时钟;发光二极管D1、D2用于复位后的上电指示;MBS(引脚12) 作为麦克风偏置,接了一个RC电路,保证能输出一个浮动电压给麦克风。3.2 主控制器电路本文的主控制器选用的是ST公司的STM32F103C8T6芯片。该芯片基于ARM Cottex-M3 32位的RISC内核,工作频率最高可达72 MHz,内置高速存储器(64 KB的闪 存和20 KB的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。STM32系 列提供了全新的32位产品选项,结合了高性能、实时、低功耗、低电压等特性,同时保持 了高集成度和易于开发的优势,将32位MCU世界的性能和功效引向

9、一个新的级别。4 软件系统设计软件系统的设计主要包括3部分:主控单元的嵌入式操作系统gC / OS-II移植、LD3320的语音识别程序设计、对话管理单元的设计。4.1嵌入式操作系统“C/ OS-II移植卩C/OS-II是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统。 它是专门为计算机的嵌入式应用设计的,绝大部分代码采用C语言编写,具有执行效率高、 占用空间小、实时性能优良和可扩展性强等特点,最小内核可至2 KB。在卩C/OS-II中, 任务的概念尤为重要,它是可剥夺型的内核,因此任务优先级的划分至关紧要。基于分层化 和模块化的设计理念,整个系统任务的划分如表1所列。任务名

10、任务优先级堆栈字节(RAM) /字实现功能App TaskStart564系统初始化App TaskSR6128语音识别App TaskCmd8128命令解析与执行App TaskCom964串口命令发送App TaskUpdate10128更新对话集App TaskPB1164按键检测与处理App TaskLed1364LED指示OSTaskStat3064统计任务OSTaskldie31128空闲任务表1主控系统任务优先级规划表1中除OSTaskStat和OSTaskIdle任务为系统自带,其他7个任务均为用户创建。App_TaskStart是系统的第一个任务,对系统时钟和底层设备进行初始

11、化,创建所有事件和 其他各项用户任务,并对系统状态进行监测;App_TaskSR完成语音识别;App_TaskCmd 完成对话集中命令的解析和执行,并通过USART1向外发送;App_TaskCom作为外围扩展 任务,通过USART2向外发送指令或数据,负责控制外围扩展设备,如语音合成设备等;App_TaskUpdate通过解析USART1接收的命令和数据进行对话集的更新;App_TaskPB 是按键扫描任务,负责检测3个独立按键,分为短按和长按检测;App_TaskLED驱动4个 LED指示灯,指示当前工作状态。4.2 语音识别程序设计语音识别程序的设计,参考了 LD332X开发手册,本文中

12、采用中断方式工作,其工作流程分为通用初始化一语音识别用初始化-写入识别列表-开始识别-响应中断。 通用初始化和语音识别用初始化。在初始化程序里,主要完成软复位、模式设定、时 钟频率设定、FIFO设定。 写入识别列表。列表的规则是,每个识别条目对应一个特定的编号a个字节),编 号可以相同,可以不连续,但是数值要小于256 (00HFFH)。本芯片最多支持50个识别 条目,每个识别条目是标准普通话的汉语拼音(小写),每2个字(汉语拼音)之间用一个 空格间隔。本文中采取了连续不同编号的识别条目,表2是简单的示例。编号字符串1ni hao2ren shi ni hen gao xing3da kai

13、dian shi4ni neng zuo shen me shi qing表2识别列表示例 开始识别。设置几个相关的寄存器,即可开始语音的识别。图4是相关的流程。ADC 通道即为麦克风输入通道,ADC增益也就是*音量,可设定值00H7FH,建议设置值为 40H6FH,值越大代表MIC音量越大,识别启动越敏感,但可能带来更多误识别;值越小 代表MIC音量越小,需要近距离说话才能启动识别功能,好处是对远处的干扰语音没有反 应。本文中设定值为43H。图4开始识别流程 响应中断。如果麦克风采集到声音,不管是否识别出正常结果,都会产生一个中断信 号。而中断程序要根据寄存器的值分析结果。读取BA寄存器的值

14、,可以知道有几个候选答 案,而C5寄存器里的答案是得分最高、最可能正确的答案。4.3 对话管理单元设计为了方便进行对话的管理,本文中设计了一个对话管理单元,用于对等待识别的语句和 等待执行的命令进行存储,在主控制器中通过定义二维数组来实现。LD3320每次识别最多 可以设置50项候选识别句,每个识别句可以是单字、词组或短句,长度为不超过10个汉字 或者79个字节的拼音串。基于上述原因,本文设计的对话管理数组如表3所列。名称存储内容数组定义识别数组待识别的语句INT8U Recl5079行为数组对应的仃为编号INT8U Acl506表3对话管理单元数组行为数组中存储要执行的行为编号,对应于50条

15、语音识别语句,共有50组指令,每组 指令中可以最多包含6个行为,并行的行为可以归为一步,通过多个行为的组合,就可以完 成更复杂的任务。5 结语本文讨论了基于STM32的嵌入式语音识别模块的设计和实现,对模块各个组成单元的 硬件电路及软件实现进行了详细的介绍。大量实验及实际应用表明,本文设计的语音识别模 块具有稳定性好、语音识别率高、抗噪声干扰能力强、结构简单和使用方便等特点。该模块 实用性强,可广泛应用于服务机器人智能空间、智能家居和消费电子产品等多个领域。参考文献1 徐方,张希伟,杜振军我国家庭服务机器人产业发展现状调研报告J.机器人技术与应 用, 2009(2):14-192 孙艺红,刘媛.服务机器人语音交互解决方案J.控制工程,2004, 11 (2): 184-186.3 柳春语音识别技术研究进展J.甘肃科技2008,24(5):41-45.4 陈景帅智能空间下语音交互系统的研究与实现D济南:山东大学

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号