1. 案例简介
随着机器学习的发展,TinyML(微型机器学习)已在你的家里、车里、甚至口袋里工作了。什么是TinyML呢?它是属于机器学习的一个子领域,包含了算法、硬件和软件,能够基于传感器数据分析,并在极地功耗的设备上运行。比如家里的天猫精灵、苹果的Siri和亚马逊的Alexa等语音助手是TinyML的一个完美应用,它们提供了语音用户接口(AUI),让用户不需要操作屏幕、鼠标或键盘就可以进行交互,给用户提供了一种全新的交互方式,这些语音助手几乎无处不在。从独立的智能音箱到几乎所有手机都内置了某种语音助手。
在大部分情况下,语音识别、自然语言处理以及语音合成等饭中工作都是在云端完成的,由性能强大的服务器运行大型机器学习模型。当用户提出问题时,将以wav或其他音频流的形式被发送到云端。云端识别出音频流的含义并进行回复响应。语音助手真正需要的音频是唤醒设备后的数据。如果能在不发送数据的情况下检测到这个唤醒词,并在听到唤醒词之后才开始音频流的传输,这样既能够保护用户的隐私、节省电池电量和带宽,而且可以在没有网络的情况下唤醒。
这也是TinyML的用武之地。要在低功耗的芯片上运行,意味着要训练一个监听唤醒词的微型模型,嵌入到微控制设备中,它就可以一直监听唤醒词,当检测到唤醒词后通知操作系统开始捕获音频并发送到云端。
在本章中,将教大家如何使用预先训练的检测模型,在HaaS EDU K1上进行唤醒词检测模型的部署,并使用Tensorflow Lite Micro推理引擎进行推理。随后将教大家如何使用Tensorflow训练脚本训练一个自己的唤醒词,再进行设备端部署。本案例主要有三个部分组成:
- 语音采集:接入模拟麦克风(Mic1输入);
- 语音识别:说出“打开”和“关闭”识别后,OLED将显示“Turn on...”和“Turn off”;
- 语音播报:执行指令的同时,播报本地TTS(mp3)。
开始学习之前我们先看一下案例效果:
HaaS语音助手 语音控制
1.1 涉及知识点
- 唤醒词数据采集、模型训练、模型部署
- 设备端模拟MIC声音采样
- 设备端音频特征提取
- TFLite-Micro推理引擎应用
- 设备端命令识别、响应
- 设备端喇叭播放mp3文件
- 文件系统应用
- OLED显示字符
2. 方案介绍
整个方案的框架如下:
- 提供批量音频录制工具进行数据收集;
- 提供TF模型训练脚本进行唤醒词训练;
- 提供完整设备端模型部署方案;
基于该方案,你将学习到TinyML的整个生命周期:
3. 开发环境搭建
3.1 硬件准备
如果有HaaS语音扩展板,直接插入即可:
如果没有HaaS语音扩展板,请按照如下步骤接入麦克风和喇叭:
HaaS EDU K1硬件排线图请参考
HaaS EDU K1说明书 - IoT物联网操作系统 - 阿里云
购买链接仅供参考!!我们不负责商家发货的品质保障等问题!!
名称 |
数量 |
参考链接 |
HaaS EDU K1开发版 |
1 |
HaaS EDU K1购买链接 |
Type-C USB数据线 |
1 |
普通Type-C USB线即可 |
模拟MIC |
1 |
|
喇叭 |
1 |