基于YQ2208语音识别模块的智能新型节能灯设计

2019-04-22 07:09范将军
科技视界 2019年5期
关键词:人声节能灯口令

范将军

【摘 要】本系统以STM32F103单片机为主控制器,通过YQ2208语音识别模块对语音信号进行识别,单片机读取识别结果后通过无线通讯模块传输所接外设节能灯进行直接控制或将控制指令通过路由器以无线方式传输到其它单片机模块对其它节能灯以及家电进行控制,进而实现家居智能化。本系统设计的语音识别迅速高效,方便用户通过语音方式对家中照明灯进行无线控制,可以满足用户夜间行动及老人和行动不便人士的日常需要。

【关键词】STM32F103 YQ2208语音识别模块;无线传输;智能控制

中图分类号: TP273.5 文献标识码: A文章编号: 2095-2457(2019)05-0054-003

0 引言

语言交流是人类与外界最有效、最便捷的一种途径。现如今,随着科学技术的迅速发展,人工智能技术、计算机技术、电子通信技术、自动化技术等日益成熟,人类社会迈进智能生活新时代。因此,把家居生活中的照明系统接入智能控制系统必不可少,使得用户生活高效、迅速。语音识别芯片是人们之间进行信息交换最直接、最普及和最有效的工具,同时也是人机之间进行通信的重要工具。将语音控制系统和照明系统结合起来,会给人们生活带来极大方便,例如夜晚中不需要再黑暗中寻找照明开关,不需要在寒冷的冬天起床关灯。如果使用智能新型节能灯,这些问题都会迎刃而解。

本文设计的智能新型节能灯是基于YQ2208语音识别模块具有识别非特定人声功能的声控节能灯,采用模式匹配的原理来实现语音识别功能。其功能为达到不同用户发出语音指令后都能实现精准控制照明灯灯开关的功能的目的,从而为人们的生活带去方便。

1 语音识别系统原理及模块设计

1.1 语音识别系统原理

想要实现语音识别功能需要一定的基本过程,根据不同的语音识别系统在实际应用中对识别对象的要求不同,语音识别系统大致分为两部分:对特定人声的识别与非特定人声的识别。特定人声识别语音系统是指系统中训练和存储的是特定人声的信号,只能识别出特定人发出的语音信号,而其他人的语音不能识别;非特定人声识别系统是指训练和识别的对象为所有人。这两种不同系统相比之下实现非特定人声识别的难度更大。本文介绍的智能新型节能灯采用短语、非特定人声的识别技术,其基本原理如图1所示。系统的基本原理为:首先将通过麦克风收集到的嘈杂语音信号进行预处理,例如去噪、滤波、放大等,然后通过端点检测,将收集到的语音信号中有效的成分进行特征提取。在首次使用该语音识别系统时需要对该指令的进行训练、存储等。训练和存储的过程需要逐字节提取语音信号的特征,并将生成的语音命令模板存储在STM32的RAM中。再次进行语音识别时,将识别并提取的语音信号与存储于STM32中的模板相对比,如果与模板信号相适应,则进一步对继电器驱动模块发送控制信号。[1-3]

1.2 语音识别模块设计

语音识别过程处理过程如图2所示。

2 系统硬件组成

2.1 主控制器模块

单片机是整个系统的关键,其作用看似一个人的大脑,相对于不同的系统、不同的环境所选择的单片机型号也有所差别。本文设计的智能语音识别系统,采用意法半导体公司生产的STM32F103系列芯片,主要用于嵌入式应用设计的处理器。高性能的“Cortex-M3”内核,最大的集成复位电路、低电压检测、调压器、精确的RC振荡器等,功耗低在72MHz时消耗36mA(所有外设处于工作状态),待机时下降到2μA,能够适应智能控制,高速通信,强干扰等场合,其体积小易开发等優点是选择该款处理器时主要是考虑到的因素。

2.2 语音识别模块

YQ2208语音识别芯片是一个基于非特定人语音识别技术的语音识别芯片。该芯片集成了语音识别处理器和一些外设,包括数模转换器、模数转化器、声音输出接口、麦克风等,该语音识别芯片可以实现语音识别、声控和人机对话功能。YQ2208语音识别芯片完成非特定人语音识别,每次识别最多可以设置50项候选指令,每个指令可以是短句或词组。[5]

2.3 无线传输模块

nRF24L01是由NORDIC公司生产的一款无线通讯芯片,工作在2.4GHz到2.5GHz的ISM 频段,采用FSK调制,内部集成自己公司的ESB(Enhanced Short Burst)协议,可实现点对点通信或1对6的无线通信。无线收发器包括:频率发生器、增强型模式控制器、晶体振荡器、功率放大器、解调器和调制器。该款芯片无论在掉电模式或待机模式下电流消耗非常低,十分节能。容易与单片机相连接,并完成无线数据传送工作。非常适合用于本系统的无线通讯功能。[7]

3 系统软件设计

3.1 系统主要功能模块初始化及相关函数

本系统设计在Keil软件上进行开发,以C语言为基础,调用ARM公司提供的基础函数库建立工程。在程序开发过程中,以简洁和实用为目标,使得整个系统程序所占用的内存空间最小。系统程序包括主函数、初始化函数、用户自定义函数、中断函数和语音识别模块初始化及识别处理函数,函数具体名称和作用如下所示。

(1)STM32初始化函数 :void STM_init()

STM初始化:包括时钟初始化、GPIO初始化、TIMER初始化、外设初始化、中断初始化、ADC初始化等。

(2)用户自定义函数 :void User_write(uint8 date)

作用 :识别结果成功后,传输到stm32进行之后的处理。

(3)中断函数 :void ExtInt1Handler(void) interrupt 1

作用:对YQ2208的中断请求进行处理。

(5)YQ2208初始化函数 :void YQ_Init()

作用:YQ 模块命令初始化。

(6)YQ2208_ASR 功能初始化函数:void YQ_ASR_Init()

作用:YQ 模块 ASR 功能初始化。

(7)执行ASR识别处理函数: uint8 RunASR(void)

作用:运行ASR识别流程。

3.2 系统程序流程框图

语音识别系统单片机程序流程图如图3所示。

4 系统测试

本系统设计以方便易操作为目标,在系统测试时,该智能新型节能灯系统只需要以“SUNNY”为唤醒口令, 每次识别时必须先触发唤醒口令,才能执行操作口令,如卧室开暖光灯、卧室开白光灯、卧室关灯、大厅开白光灯、大厅关灯等。系统开启时,麦克风说“SUNNY”唤醒口令,指示灯闪烁亮灯后,再对着麦克风说 :“卧室开暖光灯”操作口令则继电器控制卧室灯亮。

目前该语音识别系统能识别的操作口令有7个:分别是卧室关灯、卧室开暖光灯、卧室开白光灯、客厅开白光灯、大厅开暖光灯、大厅关灯和“关闭所有”。实际应用时可以根据具体需要增加相應的控制节点及操作口令。[4]

5 结束语

现在,语音识别技术的日趋成熟,嵌入式系统应用逐渐普及。本文介绍的基于YQ2208芯片的非特定人声语音识别智能新型节能灯程序功能设计较为完善,硬件模块选型合理,可搭配相关软件操作,具有系统识别率高,容错率好,容易集成,可靠性高等,理想的实现了对非特定人声控制节能灯开关的目的,在智能化,科技化的生活中具有广泛的应用。

【参考文献】

[1]李建文,张晋平.基于改进语音特征提取方法的语音识别[J].微电子学与计算机.2009,26(7).

[2]谭浩强.C程序设计教程[M].北京:清华大学出版社,2007.

[3]熊飞丽.语音识别技术在语言教学软件中的应用研究 [D].长沙:国防科学技术大学,2002.

[4]王中心等.基于LD3320语音识别模块的智能家居声控系统[J].物联网技术.2016,11.

[5]消费日报.基于YQ2208语音识别专用芯片的YQ5969语音识别模组功能介绍[N/OL].凤凰网宁波.2017-12-14.

http://nb.ifeng.com/a/20171214/6228592_0.shtml

[6]王芷郁等..基于STM32F103ZET6的无线语音控制小车设计与实现[J].电脑知识与技术.2018,14(12).

[7]李泽坤,叶水生.基于nRF24L01无线网络节点的硬件设计[J].仪表技术与传感器.2013,11.

猜你喜欢
人声节能灯口令
阿卡贝拉人声合唱团的基本训练研究
高矮胖瘦
口 令
好玩的“反口令”游戏
SNMP服务弱口令安全漏洞防范
节能灯省电技巧
高中音乐选修课程《人声极致“阿卡贝拉”》的开发和实施
节能灯不能频繁开关