APP下载

基于语音识别技术的智能电饭煲控制系统设计*

2021-07-28刘传玉熊伟丽吕全彬刘正茂林玉惠

数字技术与应用 2021年6期
关键词:电饭煲词条口令

刘传玉 熊伟丽 吕全彬 刘正茂 林玉惠

(1.江南大学物联网工程学院江苏,江苏无锡 214122;2.广东天际电器股份有限公司,广东汕头 515000;3.汕头市天悦科技创新研究院有限公司,广东汕头 515000)

0 引言

随着新兴产业发展,各种新技术的产生,人们对于生活的选择也具有更多的可能,电饭煲作为一种家庭必备的生活电器正在向集煮饭、煲汤、保温于一体的方向发展[1-2],虽然现在的电饭煲有各种各样的功能,但是受控制面板面积的影响,实现复杂功能的按键操作起来比较繁琐,而且人们对电器的交互功能以及智能化水平的要求越来越高,这个时候就体现了语音控制的优越性。近些年来,语音识别准确率和处理能力不断上升[3],实现了从单个词的识别到关键词的识别,以及到连续时间内的语音识别的飞跃,进而语音识别的应用也不断增加,给人们的生活带来方便和更多的选择。

本文设计的一种带语音识别功能的智能电饭煲控制系统,利用语音识别技术,一方面可以避免功能复杂的按键,另一方面可以提升电饭煲的交互功能。该控制系统通过语音芯片识别用户发出的指令,在其内部对语音信号进行处理,然后将处理后的信号传输给单片机,单片机发出控制指令和文本信号传输给语音合成芯片,语音合成模块再把接收到的文本信号合成语音信号传输给功率放大器,经过放大后的语音信号再传输给喇叭播放,达到人机交互的效果,更加方便于一些特殊人群及场景中的应用。

1 智能语音电饭煲的整体设计方案

1.1 系统组成结构

智能语音电饭煲控制系统主要由以下几个部分组成:语音识别模块、单片机模块、电源模块、语音合成模块、功率放大器以及喇叭。该系统所采用的识别方案是本地语音识别,其中包括语音信号采集、预处理、特征提取、匹配搜索等主要步骤。此系统在不占用系统的大量计算资源和储存空间的前提下,可以保证识别速度尽可能快,而且控制过程可以在本地实现。

系统的整体结构图如图1所示。

图1 系统整体结构图Fig.1 The overall structure of the system

控制指令通过麦克风进行采集,然后将采集来的信号传输给语音识别模块进行词条搜索与选取,再将选取到的词条所对应的信号传输给单片机,单片机接收到信号一方面做出针对于电饭煲所涉及的相应的控制动作,另一方面将信号传输给语音输出模块进行相应的语音回复,达到人机交互的目的。如果在进行词条搜索时,没有搜索到词条,也就是匹配不成功时,系统就会认定当前语音识别不成功,会返回到语音采集的状态,此时需要再次进行语音采集和识别,直到识别到正确的能够与语音库相匹配的词条为止。

1.2 主控制模块

STM32F103C8T6是一款基于ARM Cortex-M内核STM32系列的32位的微控制器,程序存储器容量是64KB,采用3.3V电压供电[4]。单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、I/O接口及片内RC振荡器和外部晶体振荡电路等模块[5]。此单片机相当于一个片上系统,因为其功能丰富,含有多种单元模块,可以实现数据采集和控制。

1.3 语音识别模块

LD3320芯片是一款专门用于语音识别的芯片。为了使芯片使用起来更方便、节能和高效,不需要再外接其他的辅助芯片,因此在该芯片的基础上集成了声音处理器,包括识别、转换和处理,例如数模、模数转换器,也集成了一些外部电路,例如语音输出接口、麦克风接口等。集成后的芯片功能更加全面,不但可以实现语音识别、语音处理、语音操控、人机交互等功能,而且芯片具有的五十条关键词语列表是可以按照自身需要来进行任意修改的。

先是麦克风完成对语音信号的采集,接着对采集到的语音信号进行频谱分析,然后对其进行特征提取,将提取后的特征与芯片中的词条进行对比,最后会把评分第一的词条当作识别成功的结果输出。

语音识别芯片有两种识别情况:其一是提前设定一个时间,该芯片能够对此时间内输入的语音数据进行算法分析、特征提取和词条匹配,最后输出识别结果。但是一旦超过预定时间,芯片则会中断语音识别通道,根据设定的时间段内所采集到的语音信号进行运算分析,输出识别结果。其二是语音芯片自动识别检测外部声音是否停止输入,通过运用端点检测VAD技术检测外部输入的语音数据,如果检测到外部语音输入已经停止,则会对该时间段内输入的语音数据进行算法分析,最终输出一个识别结果。

1.4 语音输出模块

语音输出模块主要由语音合成模块、功放模块和喇叭组成。控制器通过串口向语音输出模块发送指令,控制器发出控制命令与指令对语音合成芯片进行控制,控制器和语音输出模块的连接图如图2所示。

图2 语音输出模块与控制器连接图Fig.2 Connection diagram of voice output module and controller

SYN6288语音合成芯片支持任意的中文文本和英文字母的合成,单次合成具有较高的字节数,遇到英文单词时按字母方式发音,可以采用GB2312、GBK、BIG5和UNICODE四种编码方式,可支持多种通讯波特率其中包括:9600bps,19200bps,38400bps。同时芯片具有很强的文本智能分析与处理能力,对于一些常见的数字文本、时间文本、符号文本等格式的信号,芯片能够对其做出正确的识别、处理与合成,所依据的规则就是芯片内部存在的文本匹配规则,并且,该芯片对于多音字和中文姓氏有较好的处理方法,当带有多音字的文本输入进来时,芯片可以根据文本匹配规则判断多音字的正确读法并合成正确的读音。在对芯片进行控制的时候,可以对其进行文本合成控制,也可以在其合成文本的时候对其编写单独的停止文本合成或者暂停文本合成的程序,芯片可以支持多种控制命令,包括状态查询和改写波特率等。

2 智能电饭煲控制系统的软件设计

在进行语音识别之前要先进行初始化,初始化之后输入语音信号,系统则开始对输入的信号进行识别,识别结果产生的标志是寄存器B2H的值为21H,识别成功后进行判断,判断其指令是否为一级指令,若是一级指令,则执行一级口令动作;反之,若不是一级口令,则系统识别不成功,不会进行下一步动作,需要操作者继续发出正确的口令。当识别为一级口令后,操作者若想进行第二步操作,只需再对其发出控制语句,系统则继续识别并判断是否为二级口令,若是二级口令则执行二级口令动作;反之,则识别不成功,返回语音输入,需要操作者继续向其发出正确的口令。值得一提的是,在进行语音识别的时候,最先要准备的就是打开中断。

3 系统测试

系统测试时,借助OLED显示屏来观测是否达到控制目标。显示屏显示的每一个编码都有相对应的单片机动作。

首先,该系统有一个唤醒指令“小天,你好”,当系统识别到唤醒指令时,会在内部进行词条搜索,选择正确的识别语句,识别成功时,显示屏显示CODE8,此条语句的回复语为“你好,主人”。每条正确的词条都会设计一条系统回复语,当系统回复的语句是正确语句时表示系统识别成功。再进一步对它施加控制命令。经测试,其他的指令均对应相应的提示音以及OLED显示编码,达到预计的控制效果。

4 结语

经过实验测试,本文提出的一种基于语音识别技术的智能电饭煲控制系统,利用语音识别和语音合成,不仅可以达到对电饭煲基本功能的控制,而且可以提高电饭煲的智能交互功能。该系统操作方便,在很多情况下可以满足人们对智能化的需求,可以提供给人们更加便利的家庭生活。此外,该系统设计时可以设计多种口令对应于一个词条的工作模式,这种模式可以提高语音识别的范围性和准确度,让人机交互更加完善、更加智能、更加精确。同时该系统功能较强,操作简便,系统较稳定,有一定的实际应用价值。

猜你喜欢

电饭煲词条口令
高矮胖瘦
电饭煲
口 令
“拆穿”电饭煲
好玩的“反口令”游戏
SNMP服务弱口令安全漏洞防范
2016年4月中国直销网络热门词条榜
2016年3月中国直销网络热门词条榜
2016年9月中国直销网络热门词条榜
大数据相关词条