Funpack第二季第一期--基于syntaint的简单语音识别
用自带的麦克风,搭建机器学习模型,使板卡上的LED灯根据中文语音指令(不少于三个指令)呈现出不同效果,如开灯、关灯、闪烁、SOS、呼吸等。本项目实现的是“开灯”,“关灯”,“闪烁”。
标签
嵌入式系统
机器学习
Syntiant
好喝的娃哈哈
更新2022-07-06
济南大学
519

项目描述:

一,板卡介绍

本次活动使用的是syntiant TinyMl board板卡,该板卡配备超低功耗 Syntiant ® NDP101神经决策处理器™,可以使语音和传感器应用程序分别在 140 和 100 微瓦以下运行,与基于 MCU 的传统 MCU 相比,吞吐量提高 20 倍,系统效率提高 200 倍。

Syntiant TinyML 板的尺寸为 24 毫米 x 28 毫米,是一个小型的独立系统,通过微型 USB 连接通过 Edge Impulse 轻松下载经过训练的模型,而无需任何专用硬件。

FtF53e47PKN-vZxe7gmL3KsTPKmXFl5cARonTXIMNA67Qpyt8ig8hrXr

主要特点:

· 主机处理器:SAMD21 Cortex-M0+ 32位低功耗48MHz ARM MCU

· 内置256KB FLASH和32KB SRAM

· 5个数字I/O,与Arduino MKR系列板兼容

· 其中包含1路UART接口和1路I2C接口(包括在数字I/O引脚中)

· 2MB板载串行闪存

· 一个用户定义的RGB LED

· uSD卡插槽

· 神经决策处理器使用NDP101,连接了两个传感器:

· BMI160 6轴运动传感器

· SPH0641LM4H麦克风

· NDP101支持多达 560k 个参数和 64 种输出分类

· 电路板可使用5V micro-USB或3.7V LiPo电池供电

二,环境搭建

板卡支持edge impulse和Arduino开发,其文档可在edge impulse帮助文档可以找到。

1)首先是安装Arduino-Cli,建议同时下载0.18和0.13两个版本,下载安装完之后要添加环境变量才能正常使用。

2)其次是固件的烧录,板卡分为音频固件和IMU固件,每次只能烧写一个,本项目烧录的是音频固件,这里是链接,地址在github,需要科学上网。

至此,前期准备工作基本完成。

三、模型训练

项目使用了edge impulse平台进行训练,其平台也提供了详细的教程,跟着流程走即可,建议是先拷贝一份官方的示例,然后直接在其中增添数据即可,项目中使用了官方的噪声集,然后录入了自己“open”,“close”,“blink”数据,其他的配置直接按官方默认的即可。

其中,官方例程可能存在一定问题,在使用Arduino编译时可能会提示缺少头文件,可以使用分支下的fix-header文件,这个问题也是困扰了很久才能解决。

数据导入之后,最后烧录固件和库文件

库文件这里要重点说一下,库文件下载下来之后里面会有这几个东西

其中文件夹是和训练的模型相关的参数,这个是要和官方的例程替换的,下面两个是烧录用的固件,由于已经生成了固件,直接只用生成的烧录即可,所以用不到这两个。若直接替换model文件夹,Arduino会提示报错,需要注释几行东西

model文件夹内容

直接打开最后一个model_variables.h文件,注释下图颜色加深内容

至此,程序基本完成,剩下的直接在Arduino修改firmware.ino文件即可。

四,实物展示

“开灯”效果展示,听到开灯指令后亮红灯

Ft5WXfK9YQT1_2TM6fd1OY6ZqaJ5

“关灯”指令效果展示,听到指令后开发板显示绿灯

Fs3YH5x1Q4hL6cR1lRcTiJtvylAu

“闪烁”指令展示,听到指令后开发板闪烁蓝灯

FtSiq8fxXch-of57Pda33Y_y9A98

五,注意事项

1)推荐直接克隆官方例程,然后在其中增添数据,训练模型配置不用更改。

2)官方例程sytiant-RC在Arduino配置时可能会出现头文件缺失问题,在上面也有说过,直接使用分支fix-header即可。

3)模型训练完成之后生成的库文件不能直接粘贴替换,要注释几行语句,文件目录/src/model-parameters/model_variables.h,其他人文档里都有详细描述。

4)在板子上语音识别经常误触发的话,可以加入官方的噪声集一起训练模型。

六,最后总结

首先,非常感谢硬禾学堂能够提供这次机会,提供一个这样的平台,把一群志同道合的人聚到一起共同研究问题。其次,在这次活动中,也遇到了很多的问题,疫情原因,环境配置,程序烧录,但幸好我们都共同走了下来,克服了许多问题,同时也认识了许多的朋友,共同在这条路上越走越远。最后,希望硬禾学堂能越办越大,红红火火。

附件下载
中文指令固件.zip
生成的固件,可以一键烧录
中文指令库文件.zip
生成的库文件,需要修改model文件夹内容
Arduino.zip
Arduino程序
团队介绍
好喝的娃哈哈
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号