基于SPCE061A的智能语音识别系统设计
2019-07-05晁坤艾乐琛周慧敏江淇
晁坤 艾乐琛 周慧敏 江淇
【摘 要】随着语音控制技术的广泛使用,嵌入式的智能语音控制技术已经成为目前语音控制技术的应用热点。本文通过分析语音控制的基本原理,以凌阳SPCE061A单片机为基本载体,设计了智能小车语音控制系统。实验证明,在该语音控制系统下的小车能够准确识别语音,反应快速灵敏。同时,简洁的外围电路设计以及廉价的凌阳单片机可以有效地降低智能车的成本。
【关键词】语音识别,单片机,SPCE061A
一、引言
人工智能技术是近几年的研究热点,汉语语音识别技术的研究和应用进入蓬勃发展的阶段,正逐步从实验室理论研究走向应用市场,相关语音信号处理的理论、算法、技术和芯片等软硬件取得了长足进展,并逐渐进入到人们的日常生活当中。凌阳公司生产的SPCE061A作为一种16位新型单片机,自带语音系统,为实现语音信号的自动识别和自动控制系统,提供了便利。已有多种语音识别[1]、语音处理[2]、语音通信[3]、语音门禁、语音机器人[4]和智能玩具[5]等相关的产品设计或研究论文发表。
本文中采用凌阳SPCE061A单片机作为主控MPU设计出的智能小车,将充分发挥其便于控制、功能强大、设计电路简洁等优点。
二、语音识别理论
语音模块是智能机器人的核心构件,它完成的功能包括:机器人从外界接收观众的语音,送入语音识别器进行识别,再从识别结果中提取若干关键词,而后通过对这些关键词的分析,完成对关键词的复述。最后将文本形式的答案合成为语音,输出给观众。如果观众的问题超出限定的对话范围或者识别结果可信度不高,则在答案生成阶段给出错误提示,并由语音合成器输出。如果机器人想向观众提出问题,也要由语音合成器合成后输出。
论文先从小词汇量出发实现语音识别,并依据实验仿真结果,对相关算法进行性能评测和理论改进。算法研究相对成熟的基础上,依托于购置的机器人实体,基于单片机对于所设计的语音识别和语音合成算法,进行硬件方案设计和功能实现。
语音识别系统主要包括特征提取和模板匹配两部分。特征提取之前,首先要经过预处理模块,滤除原始语音信号中的次要信息及背景噪音等,包括抗混叠滤波、预加重、模/数转换、自动增益控制等处理过程,将语音信号数字化;特征提取模块对语音的声学参数进行分析后提取出语音特征参数,形成特征矢量序列。语音识别系统常用的特征参数有短时平均幅度、短时平均能量、线性预测编码系数、短时频谱等。特征提取和选择是构建系统的关键,对识别效果极为重要。
语音识别技术有着非常广泛的应用领域和市场前景。在语音输入控制系统中,它使得人们可以甩掉键盘,通过识别语音中的要求、请求、命令或询问来作出正确的响应,
三、系统设计方案
本设计以SPCE061A单片机作为语音识别的控制核心,本设计的硬件电路主要包括:麦克风(MIC)输入模块电路、SPCE061A单片机和输出模块电路和通信模块电路等。
3.1 SPCE061A单片机
SPCE061A单片机是凌阳公司推出的16位一款单片机, 具有速度快、价格低、耗能低、简便可靠等显著的优势。
凌阳SPCE061A单片机在具备微处理器功能的基础上, 兼具DSP运算功能, 具有低电压、高系统工作频率特点, 可以快速处理复杂的数字语音信号,单片机芯片内集具自动增益控制功能的麦克风(MIC)输入方式以及音频输出(DAC)功能, 使用SACM-S240音频编码方式, 容纳210s的语音数据,提供丰富的C函数库和语音处理函数库, 适合开发语音识别和数字语音产品。该单片机的这一特征, 使得硬件电路要外接的器件达到最少。
SPCE061A具有唤醒功能, 当输入电平发生变化的时侯会触发中断CPU, 而在电池供电需要降低功耗时, 可以让CPU快速进入睡眠模式, 需要时唤醒进入工作状态。故SPCE061A成为数字语音识别应用领域产品理想经济的选择。
3.2 语音模块及电机模块设计
3.2.1 识别训练
正是因为语音识别系统的硬件电路比较简单,所以语音识别系统功能的实现大部分就由其软件来完成。因此说,语音识别系统的软件设计是十分复杂的。下图1所示是主程序流程图。在主程序中开始是对RMA存储器进行清除,这为存放提取的语音信号的特征矢量和模板库做准备。播放第一条提示音是为了提醒用户系统的语音训练己启动,现在可以进行训练。训练首先是此系统的触发名称,即系统的名字。接下来就是依次对各条命令进行训练。在训练过程中,如训练成功,则有语音提示进行下一条的训练;如出现训练失败也会提示用户继续训练此条语音。直到全部命令训练完毕后,系统将准备进行语音识别,识别初始化是确定语音输入来源于A心转换器的MCI通道。播放开始识别的提示音是为了让用户明确现在可以向系统下达命令了。系统接到命令后就开始进行识别,如识别成功,则系统会按命令执行,如识别失败,系统也会通过语音提示告诉用户不能识别的原因。
3.2.2 语音输入设计
语音输入的基本原理是通过A/D转换器将语音信号转换为数字信号,通过编码后存入指定的存储器中。SPCE061A单片机的A/D转换器总共有8个通道,其中一个通道是MIC- IN输入,它专门用来对语音信号进行采样。然后将采样信号转换成电信号,输入至SPCE061A的内部前置放大电路。语音输入功能主要是调用SACM DVR模块实现的,因此音频信号的采样频率是8 kHz,且按照SACM A2000算法进行压缩编码,每秒占用的存储空间为16 Kb/s,产生的语音数据存放在扩展SRAM HM628128A中,其容量为128 KB。HM628128A与SPCE061A板之间通过IOA和IOB进行接口。语音输入电路如图2所示,注意该图中SPCE061A引脚MICP(33脚)为MIC的正向输入脚;MICN(2 8脚)为 MIC的负向输入脚。
3.2.3 语音输出设计
语音输出的基本原理是通过外扩SRAMHM628128A中存储语音数据顺序取出,调SACM- lib库中的SACM A2000模块,经SACM A2000压缩算法解码后,以8 kHz的速率进行D/A转换,然后通过内部滤波电路滤去噪声,恢复原始波形,由8050晶体管驱动扬声器放音。语音输出电路如图3所示,注意该图中SPCE061A引脚DAC1(21脚)为音频输出通道1。
四、结束语
综上所述,采取凌阳SPEC061A单片机作为语音识别处理器, 在保证人机交互、高速运转的情况下, 实现了低投入、高产出、简便适用、切實可行的效果。值得推广。语音识别主要是在人机之间充分实现自然语言通信,因为单片机自身在作为语音识别硬件方面的众多优势,所以它已经成为现代智能语音识机器人的主要硬件平台。可以说目前世界上的语音识别技术已经非常先进,出现的人工智能更是极大的改变了,然后是在人工智能上的语音识别技术目前还有很大突破空间。在基于单片机的智能语音识别机器人的具体设计开发过程中,通常需要做好系统硬件设计、系统软件设计、系统语音答复、系统语音识别等多个环节的工作,这就要求相关技术人员熟练掌握各项技术要点,并将其正确应用到实践设计过程中。只有这样才能更好地完成相关的智能语音识别机器人设计任务,推动语音识别技术的进一步发展与广泛应用。
【参考文献】
[1] 徐琳珊,唐祁南,姜林奇,靳韵泽,王彦. 基于SPCE061A单片机的嵌入式语音识别系统的研究[J].电子技术,2018,47(12):37-38.
[2] 王光艳,金正担.基于SPCE061A的智能语音处理系统设计[J]. 微计算机信息, 2009, 25(20): 62-64.
[3] 吴鹏飞, 张良, 李得全. 基于SPCE061A单片机的X射线语音通信系统[J]. 电子测量技术, 2018(1):86-91.
[4] 薛岚,杨帅,张赛,王晓楠.智能语音机器人的硬件开发与设计[J]. 电子世界, 2013(13): 146-147.