论文部分内容阅读
摘 要:基于LD3320芯片和STC10L08XE单片机,实现了简单的智能语音识别系统设计的要求。本文主要介绍了国内外智能语音识别技术的发展历史和近几年来各大互联网巨头对语音识别技术的布局,还有他们对语音识别市场的扩张,以及LD3320芯片的的使用。本文所选的设计方案属于离线语音识别,需要将识别指定提前输入到LD3320芯片内部,并绑定相应的操作。然后由麦克风收集语音信号,传送给LD3320处理,将匹配到的最佳结果反馈到STC10L08XE的主控MCU,MUC针对识别到的不同的语音指令执行相应的操作。同时,可以循环调用预存在寄存器里的语音片段,实现人机互动。此设计虽然满足了简单的智能语音识别的要求,但还存在一些无法识别的情况,背景降噪处理并不理想,无法识别较长的对话,仍然需要不断迭代。软件开发语音主要使用了C语言平台,C语言丰富的语音处理类库可以大大的簡化开发的难度,降低学习成本,也方便后期维护升级。而且C语言接近硬件底层,方便开发人员灵活的控制底层硬件。本设计综合利用了C语言和单片机的相关知识,进行了不同技术的整合,顺利实现了本次设计的功能要求,达到了可以稳定运行的预期。
关键词:智能语音识别;LD3320;STC10l08XE
1 前言
1.1课题背景及意义
随着计算机技术和人工智能的快速迭代,智能语音识别技术作为一种人机交互的新手段受到了人们越来越多的关注。国外的苹果、谷歌、亚马逊、微软、IBM国内的百度、腾讯、阿里、科大讯飞等公司也投入了越来越多的资源去开发智能语音识别技术。国内外媒体的大肆报道已经让智能语音识别技术走进入了大众视野,智能语音识别技术的市场正在高速扩张。基于上述现状,我选了智能语音识别系统的设计这个课题,方便我了解最新的技术发展趋势,学习智能语音识别技术的知识[1]。
1.2语音识别的应用场合
智能语音识别技术可应用的场景非常广阔,如声控开关,可用于操控智能设备的运行。语音助手,可用于提高我们的工作效率。智能陪护,可用于安抚我们的情绪。智能医疗,可以缓解医患关系,帮医生整理病人信息。语音输入,可以解放双手提高打字速度。总之,智能语音识别技术与不同行业不同领域的结合,会激发很大的想象空间,不断提高我们的生活水平,解放我们的生产力[2]。
智能语音识别技术需要的计算量比较大,对运行环境有较高要求。开发成本较高,学习成本高。在性能比较低的硬件平台下运行不理想,对多语种混合识别还有所欠缺,对噪音的干扰比较敏感。
2 系统设计方案
本设计是采用LD3320芯片与STC11L08XE单片机以及LED点阵屏幕共同组装设计的一款智能语音识别系统。整体设计方案由硬件电路设计和软件系统设计两部分组成。
系统设计必须完成以下功能:准确识别简单的语音指令;简单的语音交互;降低背景噪音对语音识别准确率的影响;多复用设计,在多种场景下可以自动匹配识别模式;低功耗,保证使用时间可达一周;系统遇到故障能自动重启,保证使用的稳定性;具有一定的纠错功能,自动识别录入错误并纠正;可嵌入多种产品中,保证不影响被嵌入的设备正常运行[3]。
2.1电源管理模块
STC10L08XE单片机是由宏晶科技有限公司出品一款基于8051系列单片机的新一代单片机,其指令代码不仅兼容老式的8051,而且其性能也有了巨大的提升,性能是老式8051的8-12倍。单片机内部集成了可复位电路,对高速通信,智能控制,和抗干扰能力做出了全面的优化。
2.2声光指示模块
使用单片机直接驱动蜂鸣器发出不同的声音完成声音提示。而且要保证声光指示模块即使出现故障,也不能影响系统的正常运行,模块耦合性低,不依赖其他系统,后期可进行升级更换。本模块选用的是LD3320芯片,该芯片是基于SI-ASR:Speaker-Independent Automatic Speech Recognition技术的声控芯片[4]。
3 系统软件设计
语音识别的操作顺序是:语音识别应用初始化,将识别词汇写入到候选列表,开始语音识别,设置好中断响应函数,开启中断允许位。如果不想使用中断函数的方式,需要在“开始语音识别”后,判断寄存器B2H中的值,如果寄存器中的值为21H就表示有识别结果产生,如果没有就返回无法识别。此后读取候选列表等操作与中断方式一样[5]。
通用初始化设置,按照自己的需求设置好各种寄存器。
语音识别初始化,检查通用初始化是否正常,如果正常,对语音识别初始化用到的寄存器进行设置。
写入识别列表,识别列表的设置规则是,每个识别条目对应一个1字节的编号ID,不同的识别条目的ID可以重复,不要求连续。本款芯片最多支持50条识别条目,每个识别条目是标准普通话的小写汉语拼音,每个字对应的拼音用一个空格间隔[6]。
4 系统调试
LD3320芯片测试通电后,通过调节(RSTB)管脚电平的高低,让其管脚29与管脚30都可以输出稳定的低电平,利用该芯片的这一特性来检测上电是否正常。
LD3320在通过上电调试后即可以进一步进行寄存器初始值的检测,在持续正常供电的情况下调用LD_reset()函数,然后检查寄存器的初始值是否正常,重复调用LD_reset()检查是否每次都能得到正确的初始值。如果系统稳定运行,每次的的初始值都会一样。如果检测出的值不稳定,说明系统的硬件电路连接存在问题,导致了LD3320不能正常工作。问题排除后即可得出稳定正确的初始值。注意,测试完成后要重置寄存器,避免写入的数据影响正常的程序运行。
对硬件和软件进行深度整合,排除软硬件之间的故障,使它们结合在一起,共同实现智能语音识别的功能。并实现了低功耗,可嵌入式,可长时间运行的语音识别系统的功能要求。
总结
本设计基于对LD3320芯片和STC10L08XE单片机的整合,成功实现的智能语音识别系统设计的课题要求。软件方面,使用标准的C语言进行编程工作,现有的很多开发者文档为本设计提供了很大的帮助,其中丰富的语音控制代码,为编程工作提供了非常大的方便。硬件方面,利用了LD3320芯片基于SI-ASR:Speaker-Independent Automatic Speech Recognition技术,且语音识别条目是可以动态修改的特性,以及芯片内部高度集成的AD和DA电路,配合STC10L08XE单片机实现了智能语音识别的功能。
本设计的结构相对简单,只能实现简单的人机对话,无法提供像智能手机基于大数据的智能语音识别能力,且识别的指令需要以字符串的形式预先输入到芯片内部,以匹配接受的的语音信号。
参考文献
[1]赵宏霞.基于语音识别技术的英语口语学习系统的设计与实现[D].首都经济贸易大学,2018.
[2]马文涛.一种面向NAO机器人的语音识别系统研究[D].重庆交通大学,2016.
[3]李婉玲.老人陪护机器人的语音交互技术研究[D].江南大学,2017.
[4]Kumar,N.,Van Segbroeck,M.,Audhkhasi,K.,Drotar,P.,Narayanan,S.S..Fusion of diverse denoising systems for robust automatic speech recognition[P].Acoustics,Speech and Signal Processing(ICASSP),2014 IEEE International Conference on,2014.
[5]邱全庆.面向机器人的言语交互系统设计[D].南昌航空大学,2018.
[6]张红艳.一种嵌入式短词语音识别系统的研究与设计[D].华东师范大学,2016.
关键词:智能语音识别;LD3320;STC10l08XE
1 前言
1.1课题背景及意义
随着计算机技术和人工智能的快速迭代,智能语音识别技术作为一种人机交互的新手段受到了人们越来越多的关注。国外的苹果、谷歌、亚马逊、微软、IBM国内的百度、腾讯、阿里、科大讯飞等公司也投入了越来越多的资源去开发智能语音识别技术。国内外媒体的大肆报道已经让智能语音识别技术走进入了大众视野,智能语音识别技术的市场正在高速扩张。基于上述现状,我选了智能语音识别系统的设计这个课题,方便我了解最新的技术发展趋势,学习智能语音识别技术的知识[1]。
1.2语音识别的应用场合
智能语音识别技术可应用的场景非常广阔,如声控开关,可用于操控智能设备的运行。语音助手,可用于提高我们的工作效率。智能陪护,可用于安抚我们的情绪。智能医疗,可以缓解医患关系,帮医生整理病人信息。语音输入,可以解放双手提高打字速度。总之,智能语音识别技术与不同行业不同领域的结合,会激发很大的想象空间,不断提高我们的生活水平,解放我们的生产力[2]。
智能语音识别技术需要的计算量比较大,对运行环境有较高要求。开发成本较高,学习成本高。在性能比较低的硬件平台下运行不理想,对多语种混合识别还有所欠缺,对噪音的干扰比较敏感。
2 系统设计方案
本设计是采用LD3320芯片与STC11L08XE单片机以及LED点阵屏幕共同组装设计的一款智能语音识别系统。整体设计方案由硬件电路设计和软件系统设计两部分组成。
系统设计必须完成以下功能:准确识别简单的语音指令;简单的语音交互;降低背景噪音对语音识别准确率的影响;多复用设计,在多种场景下可以自动匹配识别模式;低功耗,保证使用时间可达一周;系统遇到故障能自动重启,保证使用的稳定性;具有一定的纠错功能,自动识别录入错误并纠正;可嵌入多种产品中,保证不影响被嵌入的设备正常运行[3]。
2.1电源管理模块
STC10L08XE单片机是由宏晶科技有限公司出品一款基于8051系列单片机的新一代单片机,其指令代码不仅兼容老式的8051,而且其性能也有了巨大的提升,性能是老式8051的8-12倍。单片机内部集成了可复位电路,对高速通信,智能控制,和抗干扰能力做出了全面的优化。
2.2声光指示模块
使用单片机直接驱动蜂鸣器发出不同的声音完成声音提示。而且要保证声光指示模块即使出现故障,也不能影响系统的正常运行,模块耦合性低,不依赖其他系统,后期可进行升级更换。本模块选用的是LD3320芯片,该芯片是基于SI-ASR:Speaker-Independent Automatic Speech Recognition技术的声控芯片[4]。
3 系统软件设计
语音识别的操作顺序是:语音识别应用初始化,将识别词汇写入到候选列表,开始语音识别,设置好中断响应函数,开启中断允许位。如果不想使用中断函数的方式,需要在“开始语音识别”后,判断寄存器B2H中的值,如果寄存器中的值为21H就表示有识别结果产生,如果没有就返回无法识别。此后读取候选列表等操作与中断方式一样[5]。
通用初始化设置,按照自己的需求设置好各种寄存器。
语音识别初始化,检查通用初始化是否正常,如果正常,对语音识别初始化用到的寄存器进行设置。
写入识别列表,识别列表的设置规则是,每个识别条目对应一个1字节的编号ID,不同的识别条目的ID可以重复,不要求连续。本款芯片最多支持50条识别条目,每个识别条目是标准普通话的小写汉语拼音,每个字对应的拼音用一个空格间隔[6]。
4 系统调试
LD3320芯片测试通电后,通过调节(RSTB)管脚电平的高低,让其管脚29与管脚30都可以输出稳定的低电平,利用该芯片的这一特性来检测上电是否正常。
LD3320在通过上电调试后即可以进一步进行寄存器初始值的检测,在持续正常供电的情况下调用LD_reset()函数,然后检查寄存器的初始值是否正常,重复调用LD_reset()检查是否每次都能得到正确的初始值。如果系统稳定运行,每次的的初始值都会一样。如果检测出的值不稳定,说明系统的硬件电路连接存在问题,导致了LD3320不能正常工作。问题排除后即可得出稳定正确的初始值。注意,测试完成后要重置寄存器,避免写入的数据影响正常的程序运行。
对硬件和软件进行深度整合,排除软硬件之间的故障,使它们结合在一起,共同实现智能语音识别的功能。并实现了低功耗,可嵌入式,可长时间运行的语音识别系统的功能要求。
总结
本设计基于对LD3320芯片和STC10L08XE单片机的整合,成功实现的智能语音识别系统设计的课题要求。软件方面,使用标准的C语言进行编程工作,现有的很多开发者文档为本设计提供了很大的帮助,其中丰富的语音控制代码,为编程工作提供了非常大的方便。硬件方面,利用了LD3320芯片基于SI-ASR:Speaker-Independent Automatic Speech Recognition技术,且语音识别条目是可以动态修改的特性,以及芯片内部高度集成的AD和DA电路,配合STC10L08XE单片机实现了智能语音识别的功能。
本设计的结构相对简单,只能实现简单的人机对话,无法提供像智能手机基于大数据的智能语音识别能力,且识别的指令需要以字符串的形式预先输入到芯片内部,以匹配接受的的语音信号。
参考文献
[1]赵宏霞.基于语音识别技术的英语口语学习系统的设计与实现[D].首都经济贸易大学,2018.
[2]马文涛.一种面向NAO机器人的语音识别系统研究[D].重庆交通大学,2016.
[3]李婉玲.老人陪护机器人的语音交互技术研究[D].江南大学,2017.
[4]Kumar,N.,Van Segbroeck,M.,Audhkhasi,K.,Drotar,P.,Narayanan,S.S..Fusion of diverse denoising systems for robust automatic speech recognition[P].Acoustics,Speech and Signal Processing(ICASSP),2014 IEEE International Conference on,2014.
[5]邱全庆.面向机器人的言语交互系统设计[D].南昌航空大学,2018.
[6]张红艳.一种嵌入式短词语音识别系统的研究与设计[D].华东师范大学,2016.