语音交互在智能照明控制系统中的应用

2022-11-22 07:24邱海燕
物联网技术 2022年11期
关键词:蓝牙音频语音

邱海燕

(上海交通大学 电子信息与电气工程学院,上海 200030)

0 引 言

随着语音识别技术的发展,从银行电话答录服务,到智能手机的语音助手,再到小爱同学、天猫精灵、小度小度、亚马逊ECHO等智能音箱,人们逐渐体会到语音交互带来的便利性及科技感。

智能家居照明是物联网智能家居的一部分,主要功能包括语音交互、照明场景控制、远程控制。传统的家居照明只能通过墙壁开关实现灯亮和灯灭,而连接物联网的智能家居控制系统将家中各种智能设备形成一个闭环系统,人体红外传感器、烟雾传感器、温湿度传感器将检测数据传输给智能网关,并将控制指令发送给智能灯具实现场景控制、定时开关灯;智能空调能够恒定室内的温湿度;智能摄像头能够远程实时了解家中状况[1-5]。本文设计的是一款具有语音交互功能的智能照明控制系统,语音模块负责与用户的互动,蓝牙组网模块负责短距离灯组间的通信,WiFi模块负责与路由器建立连接,将不同厂家的智能设备通过APP实现统一管理和远程控制。

1 智能照明控制系统的总体框架

本文的语音交互智能照明控制系统的总体架构如图1所示。本系统中以智能网关作为主控单元,筒灯、吊灯、吸顶灯等作为被控单元接收并执行命令。智能网关主要由嵌入式芯片模组、语音模块、驱动电路组成。嵌入式芯片模组ESP32-WROVER采用芯片ESP32-D0WDQ6,其内置两个低功耗 Xtensa®32-bit LX6 MCU,该芯片使用范围广,既能连接手机蓝牙并广播Beacon实现短距离通信,也能通过路由器直接连接到互联网,实现远程信号传输。语音模块主要由音频编解码芯片ES8388将采集的语音信号通过I2S串口发给嵌入式控制芯片。

图1 语音交互智能照明控制系统的总体架构

通过麦克风采集唤醒词和命令词,音频信号经采样量化编码,转变成数字信号发送给控制单元;经过深度学习的算法处理,主控芯片读取相应指令,将系统从休眠状态唤醒,并调取系统中存储的离线语料库,计算查找对应的命令行,随即给出相应的答复;再将数字信号转换成音频信号输出,同时蓝牙组网内灯具通过蓝牙信号实现控制。离线式语料库是通过电脑上的深度学习库Tensor flow在深度学习工具Pycharm中对声学模型进行编译训练收集所得,将训练集存储在FLASH芯片中,便于嵌入式控制芯片调用。

2 循环神经网络语音识别原理

循环神经网络(RNN)[5]是一个具有记忆功能的神经网络,通过大量的样本序列学习,查找样本间的规律,并记录和存储下来,用于下一次学习。每一次的学习过程都是一个循环查找和比较的过程,并计算求解出样本序列间的匹配概率。

双向RNN是正反两个方向相结合的具有共同学习序列特征的神经网络。在处理连续数据方面,相比单向传输,双向传输的RNN会多一个隐藏层,正向传播时的隐藏层放置的是过去的信息,而反向误差传递时的隐藏层放置的是未来的信息,所以沿着时间展开的双向循环神经网络具备更完整的信息量。进行正向传播和反向误差传播的BiRNN神经网络,相当于单向神经网络从前往后又从后往前地来回跑了两次。当正向传播时,t时刻输入的x和0一起作为输入,并通过隐藏层输出一个y和一个传给t+1时刻的h,这个h存储的是上一时刻的记忆单元,使得每次输出的y都与上一次有关。反向误差传播是沿着与正向传播相反的路径传递的,若正向传播没有计算到,可以通过反向传播进行补漏,通过计算传播误差来调整参数,提高识别准确率[6]。

本文中神经网络的损失函数使用的是语音识别常用的基于连续时间序列分类CTC Loss,要求神经网络的输入和输出序列必须具有相同的时间长度,若时间长度不同,必须用0补齐,便于预测的输出值和给定的标签值相减,得到具体的损失值Loss后才能对声学模型参数做及时调整[7-8]。

3 声学模型训练过程

声学模型训练的前期准备工作是:在PC端安装Pycharm,在Pycharm中安装深度学习库Tensor flow、用于快速开发的编程语言Python3.7、数学函数库Numpy等相关被调用的库函数。

自定义6条唤醒词和命令词,自制音频文件“.wav”及其对应的音素文件“.trn”,放在语音数据库data_thchs30路径下进行训练测试。自定义唤醒词和命令词见表1所列。

表1 自定义唤醒词和命令词

3.1 语音样本采集与预处理

唤醒词和简单的聊天对话的语音样本是通过PC端麦克风,利用音频软件Cool Edit Pro录制音频文件,存储为wav格式,波形采样率为16 kHz,单声道,采样精度是16位,样本时长为3 s。

利用Python工具python_speech_features 将音频数据从时域转换为频域,计算并提取26维不同倒谱特征的梅尔倒频谱系数MFCC。根据香农采样定律,将采样的离散信号经零阶保持器变成阶梯信号,并量化处理音频噪声;然后利用快速傅里叶变化(FFT)将数据从时域转换到频域,在极坐标下呈现不同频率的幅值和相位,再进行频域的特征提取[9-10]。

3.2 搭建并训练声学模型

深层声学模型使用LSTM+BiRNN架构,如图2所示,先从左下角开始,将输入向量input转成时间序列优先的二维数组传入全连接层第一层fc1,经过3个1 024节点的全连接层fc1、fc2、fc3,并将正反向误差传播的BiRNN计算结果传递给LSTM节点;最后再连接2个全连接层fc5、fc6,并将输出转换成三维的张量形式。

图2 RNN循环神经网络结构

语音识别是一个时序分类问题,对输入的每个时序对应的结果进行转换,输出至全连接层,再用softmax 分类器获得为1值。全连接层中激活函数使用的是截断值设为20的ReLU函数,即输出限制在0~20之间。从正态分布中输出随机值,将random_normal的初始化标准差设为0.046 875。为减少不必要的训练时间以及防止训练过拟合,设置随机丢弃率为0.95。利用CTC_Loss计算损失值以及Adam优化器进行训练,学习率设为0.001。总样本迭代100次,每一批次选取5条数据进行训练。

3.3 模型分析结果

本文的项目框架是离线语音唤醒+语音识别,唤醒词和命令词是连续的,中间没有停顿。语音唤醒是针对以唤醒词开头的一句话,通过语言模型识别音素并查找相对应的文本,再将音频文本映射到数字序列,用于机器识别的过程。语音答复是通过数字序列查找对应的文本,再根据文本指令输出音频的答复过程。

如图3所示,经过5次整体循环训练,训练集和验证集的损失率都呈现下降趋势,说明模型的学习率和梯度下降算法都是合理的,输出的预测值和给定标签值趋于接近,模型预测的准确率在逐渐提高。

图3 模型训练集/验证集的损失值

4 控制系统的程序设计

智能照明控制系统的程序流程如图4所示,主要功能是语音唤醒识别和低功耗蓝牙信号传输控制。当系统接收到语音唤醒词后,整个系统从低功耗的待机状态被唤醒,根据命令词的解析执行相应的代码,主控芯片接收到语音识别信号后,通过蓝牙协议给BLE Mesh 网络内的群组发送指令,控制LED驱动器,实现场景灯光的变化。

图4 照明控制系统程序流程

5 结 语

本文设计的智能照明控制系统的语音交互所用的离线数据库是将经过LSTM+BiRNN神经网络模型训练后的数据植入到嵌入式平台实现的,系统内群组的通信是通过BLE Mesh 组网实现的。系统可以将智能网关从低功耗休眠待机状态中立即唤醒,并将控制命令实时传输给BLE Mesh群组内的灯。相比于传统灯具,这款具有语音控制+蓝牙控制的灯组更加智能和生活化,不必再四处寻找墙壁开关或遥控器;相比于单层神经网络训练的语音控制灯具,采用经过深层神经网络训练过的数据库实现语音交互具有更好的语音唤醒率和识别率;利用BLE Mesh建立的群组,通过蓝牙广播Beacon检测定位蓝牙灯具,相比于WiFi能够更快地进行通信;离线式语音识别也不会因为断网或网络不稳定造成语音不受控、没反应等失效性问题。

猜你喜欢
蓝牙音频语音
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
必须了解的音频基础知识 家庭影院入门攻略:音频认证与推荐标准篇
对方正在输入……
基于Daubechies(dbN)的飞行器音频特征提取
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
音频分析仪中低失真音频信号的发生方法
紧急:蓝牙指尖陀螺自燃!安全隐患频出