基于TensorFlow Lite Micro在物联网设备上玩转TinyML之离线语音唤醒

1. 案例简介

随着机器学习的发展,TinyML(微型机器学习)已在你的家里、车里、甚至口袋里工作了。什么是TinyML呢?它是属于机器学习的一个子领域,包含了算法、硬件和软件,能够基于传感器数据分析,并在极地功耗的设备上运行。比如家里的天猫精灵、苹果的Siri和亚马逊的Alexa等语音助手是TinyML的一个完美应用,它们提供了语音用户接口(AUI),让用户不需要操作屏幕、鼠标或键盘就可以进行交互,给用户提供了一种全新的交互方式,这些语音助手几乎无处不在。从独立的智能音箱到几乎所有手机都内置了某种语音助手。

在大部分情况下,语音识别、自然语言处理以及语音合成等饭中工作都是在云端完成的,由性能强大的服务器运行大型机器学习模型。当用户提出问题时,将以wav或其他音频流的形式被发送到云端。云端识别出音频流的含义并进行回复响应。语音助手真正需要的音频是唤醒设备后的数据。如果能在不发送数据的情况下检测到这个唤醒词,并在听到唤醒词之后才开始音频流的传输,这样既能够保护用户的隐私、节省电池电量和带宽,而且可以在没有网络的情况下唤醒。

这也是TinyML的用武之地。要在低功耗的芯片上运行,意味着要训练一个监听唤醒词的微型模型,嵌入到微控制设备中,它就可以一直监听唤醒词,当检测到唤醒词后通知操作系统开始捕获音频并发送到云端。

在本章中,将教大家如何使用预先训练的检测模型,在HaaS EDU K1上进行唤醒词检测模型的部署,并使用Tensorflow Lite Micro推理引擎进行推理。随后将教大家如何使用Tensorflow训练脚本训练一个自己的唤醒词,再进行设备端部署。本案例主要有三个部分组成:

  1. 语音采集:接入模拟麦克风(Mic1输入);
  2. 语音识别:说出“打开”和“关闭”识别后,OLED将显示“Turn on...”和“Turn off”;
  3. 语音播报:执行指令的同时,播报本地TTS(mp3)。

开始学习之前我们先看一下案例效果:

HaaS语音助手 语音控制

1.1 涉及知识点

  • 唤醒词数据采集、模型训练、模型部署
  • 设备端模拟MIC声音采样
  • 设备端音频特征提取
  • TFLite-Micro推理引擎应用
  • 设备端命令识别、响应
  • 设备端喇叭播放mp3文件
  • 文件系统应用
  • OLED显示字符

2. 方案介绍

整个方案的框架如下:

  • 提供批量音频录制工具进行数据收集;
  • 提供TF模型训练脚本进行唤醒词训练;
  • 提供完整设备端模型部署方案;

基于该方案,你将学习到TinyML的整个生命周期:

3. 开发环境搭建

3.1 硬件准备

如果有HaaS语音扩展板,直接插入即可:

HaaS智能语音.jpg

如果没有HaaS语音扩展板,请按照如下步骤接入麦克风和喇叭:

HaaSEDU-kws接线图.png

HaaS EDU K1硬件排线图请参考
HaaS EDU K1说明书 - IoT物联网操作系统 - 阿里云

购买链接仅供参考!!我们不负责商家发货的品质保障等问题!!

名称

数量

参考链接

HaaS EDU K1开发版

1

​​​​​​​HaaS EDU K1购买链接

Type-C USB数据线

1

普通Type-C USB线即可

模拟MIC

1

模拟MIC参考链接

喇叭

1

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值