基于单片机的语音识别系统设计

2018-06-18 10:00徐国成
好日子(下旬) 2018年4期
关键词:词组智能家居单片机

徐国成

摘 要:本系统设计的智能家居系统,是基于LD3320语音识别芯片的非特定人识别的功能而设计的,实现语音控制设计了了两级语音指令来控制,控制电位器打开与关闭,进而来控制与之相连的电器,实现用户发出语音指令后精确控制电器开、关的功能,可以给我们的生活带来极大的便利。

关键词:语音识别;单片机

0 引言

语音处置和分辨技术始于1950年以后,经过70年科研人员的不断摸索和钻研,已趋于成熟,从孤立、单一词组的识别到非固定人、大词汇量的连续语音识别甚至固定人的语音识别,一系列的创新使得人类与计算机之间的沟通桥梁增加了一个人类语音。近年来,作为直接有效的人与机器之间的交互方式,语音识别在工业制造过程、现代化居家生活和医疗卫生体系等方面应用逐渐增加,在嵌入式系统领域中,具有很高研究价值及发展潜力。

让机械理解听懂人类的声音,这是我们长期以来求之不得的事情。语音识别是一个复杂有深度的学科,涉及到多学科、多领域的研究分析,语音识别的发展与其他领域密不可分,依赖于众多领域上的研究成果。语音识别技术就是让机器通过分辨和听懂人们的语言,把声音信号转换为对应的机械动作或者指令的一种高新技术。

语音识别系统的分类方式及依据是根据对说话人说话方式的要求,可以大致分為两类,一类是:单个字(词)语音识别系统,另一类是:多个字语音识别系统,以及多个词组语音识别系统。深一步可以分为两个方向:一是根据对说话人的关联程度可以划分为固定人和非固定人语音识别系统;二是根据字词数量的多少,可以分为小词组系统、中等词组系统、大词组系统,以及无限词组系统。不同的语音识别系统,每种系统的实现方式可能不一样,单是所用的基础处理方式大致都一样。

1 系统方案设计

此次设计制作的语音控制系统,语音识别部分核心原件使用的LD3320芯片,控制系统的单片机用的是STC89C52单片机。通过主控单片机控制LD3320语音芯片内部寄存器以此达到实现语音识别控制的效果。通过声音采集器将声音信息采集传送到LD3320进行频谱解析,解析后将获取到的语音特点和自定义的识别词组列表中的关键词组进行对比匹配,找出关键词组作为语音识别结果输出给主控单片机,单片机根据不同的语音输入情况改变P1端口的电频实现对家用电器的智能控制。

2 硬件电路设计

2.1 控制模块设计

系统主控单元采用是STC89C52型单片机。与其他单片机相比STC89C52具有较强的数据处理功能,且I/O口控制灵活。

2.2 语音识别模块设计

采用LD3320 芯片作为语音识别芯片,该芯片之所以不需要接外部存储设备,是因为它内部已经集成了大量的简便算法,识别起来快速并且稳定性很高,因此广受设计者的使用,在完成非特定人的语音识别时,使用LD3320芯片就不需要使用者在使用前来录取声音作为标本,语音识别率波动性一直都较小,误差率要比较低。

2.3语音识别原理

语音识别主要原理是:先分析语音特征,建立起合理的需要识别的语言模型,再将这些模型转化为语音指令词语列表,写入LD3320芯片内,然后通过声音采集器获取语音特征样本,将采集到的声音信号送入芯片内部,然后芯片将收到的信息进行分析,提取特征,并根据它内部的特殊算法和编辑好的关键词列表一一匹配,将匹配结果一串口的形式发给单片机。

3 系统软件设计

3.1 系统初始化

在开始识别之前,需要你对系统进行初始化操作。接通好电源后,给单片机提供电源,程序开始执行,调用初始化函数对单片机进行初始化处理,然后指示灯是否正常量灭,以此来验证单片机是否工作。紧接着对LD3320其进行初始化,再对串口进行初始化,设置语音模块寄存器对其识别指令、ASR进行初始化操作。

3.2 指令设置

为降低其他音源影响,减小识别误差,本系统使用两级指令进行控制。在程序中定义多个维度的数组的写入我们需要识别的关键词,设置开始时的语音指令为“智能家居”,第二次语音指令为“开灯”、“关灯”,“开空调”、“关空调”、“开窗帘”、“关窗帘”、“开电视”、“关电视”等;所有的指令,都是以汉字拼音的方式添加数组中,作为识别关键字,例如添加“智能家居”命令,则写入其汉字拼音“zhi neng jia ju”,汉字拼音之间需要用空格隔开。当语音模块采集到语音指令“智能家居”时,提示灯闪烁一下,表示采集到声音,然后接收到语音指令“开空调”时,空调自动打开,接收语音指令“关空调”时,空调自动关闭。

3.3 中断处理

当语音模块采集到音频信号时,返回语音模块内部寄存器的识别状态码,进入到单片机中断处理函数,开始执行识别验证,如果读取到的识别状态码在寄存器中有相应的存储值与其匹配,那么可以认为语音指令正确,将数据通过串口串口传送给主控单片机,单片机接收到语音模块的信号后控制相应的引脚进行高低电平输出,进而控制灯泡量灭。

4 系统测试

4.1  综合调试

把硬件系统和软件系统进行整合,对期间出现的故障进行排除,使两者融合,实现完整的系统功能。选取了不同的人来进行测试,以此来验证系统的对非特定人的语音识别效果,判定系统功能的稳定性,每个人都进行了20次测试,本语音识别对于非特定人的识别误差率控制在10%以内,识别正确率达到设计预期要求。

5 结论

本语音识别控制系统用的是价格较低廉LD3320语音识别芯片作为识别主要部件而设计、制作的。芯片LD3320拥有强大的非特定人语音识别能力,能够实时修改编写识别词组列表,使用者只需要把要识别的语音关键字的拼音,写入到LD3320芯片就可以进行识别。某种意义上说做到了单个芯片的语音识别,大量的语音识别搜索引擎以及海量的语音记录都被集成在芯片里面,内部配置完整高效的模数/数模转换电路,用52级别的单片机采用并口连接的方式与LD3320相连,就可以实现语音识别功能。

参考文献

[1]十六位单片机未处理器原理及应用.张培仁等编著.清华大学出版社2005.05

[2]实用语音识别基础.王炳锡等编著,国防工业出版社.2005.01

[3]单片机语音技术及凌阳16位51单片机应用.李晶皎编著.北京航空社.2003.11

[4]数字语音处理.姚天任主编,华中工学院出版社,1992.04

[5]胡光锐,语音处理与识别,上海科学技术文献出版社,1994.

[6]赵立,语音信号处理,机械工业出版社,2003.

[7]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选编.北京:北京理工大学出版社,2005.

猜你喜欢
词组智能家居单片机
智能家居行业仍无“独角兽”
智能家居产业现状和发展趋势
智能家居 走向星辰大海
智能家居未来感初体验
C8051F020与80C51单片机的异同点
副词和副词词组
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨
用PIC单片机制作的时间继电器