0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Edge Impulse 唤醒词模型训练 | 技术集结

jf_12300286 2026-04-20 10:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天,将手把手带领学习如何训练一个语音关键词模型部署到嵌入式硬件上,采用 Edgi-Talk 平台适配 Edge Impulse,当然原理在其他的ARM嵌入式平台也是通用的。让我们看看如何让 Edgi-Talk 开始使用边缘机器学习

目录

Edge Impulse 简介


创建账号


录制数据集


数据上传


数据分割


模型训练


模型评估


模型集成


淘宝链接直达

1Edge Impulse 简介

Edge Impulse是领先的边缘人工智能开发平台,致力于帮助开发者工程师和企业将智能AI快速部署到任何边缘设备(如微控制器传感器物联网硬件)上。

你可以轻松采集传感器数据、构建数据集、训练并优化机器学习模型,然后一键部署到全球数千种硬件生态系统,无需深厚的AI专业知识即可实现快速原型开发和商业化落地。

2 创建账号

操作步骤:

1. 登录Edge Impulse,https://edgeimpulse.com/

2. 注册账号;

3. 通过create new project创建工程

5b2a3b58-3c5d-11f1-ab55-92fbcf53809c.png

2 录制数据集

1.给 Edgi-Talk 开发板烧录 UAC 固件,用于收集音频数据:uac-firmware.hex;链接:https://github.com/RT-Thread-Studio/sdk-bsp-psoc_e84-edgi-talk/releases/download/1.1.0/uac-firmware.hex

2.下载音频数据集录制软件:Audio-recording.exe;链接:https://github.com/RT-Thread-Studio/sdk-bsp-psoc_e84-edgi-talk/releases/download/1.1.0/audio-recording.exe

3.将开发板的 USB 连接到电脑上,电脑会弹出音频输入设备;

4.音频输入设备需要选择:Audio Control(MME)设备;

5b37d22c-3c5d-11f1-ab55-92fbcf53809c.png

5.点击开始录制进行一次长达10 秒的录制,录制期间需要保证清晰的对话,唤醒词录制需要间隔1-2s停顿时间;

6.录制好一次后,点击右侧的“保存录音”选择,进行一次保存;

7.当前序号选项默认会递增,请重复上述步骤录制 20-50 个关键词音频文件;

8.最终录制两类音频文件,一类是唤醒词,一类是噪音;

5b41f3c4-3c5d-11f1-ab55-92fbcf53809c.png5b4ccb8c-3c5d-11f1-ab55-92fbcf53809c.png5b5a46c2-3c5d-11f1-ab55-92fbcf53809c.png

3 数据上传

1. 点击add exsiting data

2. 选择upload data

5b662f6e-3c5d-11f1-ab55-92fbcf53809c.png5b742fd8-3c5d-11f1-ab55-92fbcf53809c.png

3. 选择电脑上的音频文件夹并上传,此时网站会根据文件名称自动进行分类(nocie,唤醒词)

5b8350f8-3c5d-11f1-ab55-92fbcf53809c.png

4 数据分割

操作步骤:

1. 首先选择 Training 列表的数据,先点击筛选,输入我们唤醒词的文件前缀,筛选出我们要操作的文件

5b95df02-3c5d-11f1-ab55-92fbcf53809c.png

2. 右侧点击音频文件后,选择Split sample,平台会将声音文件切分为大致1s的音频片段

5ba28216-3c5d-11f1-ab55-92fbcf53809c.png

3. 在分割音频界面,可以调整音频片段,以覆盖唤醒词的声音内容,播放进行试听和调整

5bafaaf4-3c5d-11f1-ab55-92fbcf53809c.png

每个矩形框就是拆分提取的一个子模块,如有必要,可以调整矩形的位置,让其完全覆盖住我们的唤醒词音频区,或者也可以做一些添加或删除片段的操作。

4. 拆分后的音频文件都会变成独立的音频文件,网站会自动添加后后缀名(xxxx_Sn)

5bbb8842-3c5d-11f1-ab55-92fbcf53809c.png

5. 按照上述步骤,将全部唤醒词文件进行分割好

6. 选择 Test 列表的数据,针对 唤醒词 文件继续进行分割,noice 标签可以不用分割

5bdd1e08-3c5d-11f1-ab55-92fbcf53809c.png

7. 对数据进行分类:按照下图步骤将数据集分为两大类,分别是 唤醒词 + 其他

5be7445a-3c5d-11f1-ab55-92fbcf53809c.png5bf35326-3c5d-11f1-ab55-92fbcf53809c.png5c0e3e34-3c5d-11f1-ab55-92fbcf53809c.png

5 模型训练

5.1 创造脉冲信号(预处理/模型定义)

脉冲在这里是Edge Impulse用来表示数据处理—训练管道的词汇。

创建脉冲并将窗口长度设置为 1000 毫秒,窗口长度增加设置为 500 毫秒(重叠窗口以增强数据),频率设置 16KHz。

这些设置表示,每次执行推理时,传感器数据采集将在 1000 毫秒内完成,具体采集次数由采样频率决定。

简而言之,你的设备会在 1000 毫秒的时间窗口内收集 N 个数据样本,随后对这些样本进行预处理,并输入神经网络以获得推理结果。

操作步骤:

1. 点击左侧Create impulse

2. 然后点击Add a processing block 添加 Audio(MFCC)

5c1796aa-3c5d-11f1-ab55-92fbcf53809c.png

3. 会弹出下面的对话框,使用默认的配置即可:

5c2a7bf8-3c5d-11f1-ab55-92fbcf53809c.png

4. 使用MFCC,它使用梅尔频率倒谱系数从音频信号中提取特征,这对人类声音非常有用。

5c3bf680-3c5d-11f1-ab55-92fbcf53809c.png5c4825c2-3c5d-11f1-ab55-92fbcf53809c.png

5. 然后点击Add a learning block添加Classification模块,它通过使用卷积神经网络进行图像分类从头开始构建我们的模型。

5c54730e-3c5d-11f1-ab55-92fbcf53809c.png5c605b6a-3c5d-11f1-ab55-92fbcf53809c.png

6. 最后点击save impulse,保存配置

5c7f85e4-3c5d-11f1-ab55-92fbcf53809c.png

5.2 预处理(MFCC)

MFCC 是一种广泛使用的方法,用于将音频信号转换为表示语音频率模式的 2D 特征,这些特征非常适合基于语音的识别模型

我们创建录制音频生成的频谱图图像,操作步骤:

1. 点击MFCC,我们可以保留默认参数值

2. 直接点击Save parameters

5c91928e-3c5d-11f1-ab55-92fbcf53809c.png

3. 点击Generate features,生成3个标签数据的特征

5caddf5c-3c5d-11f1-ab55-92fbcf53809c.png5cb9bcbe-3c5d-11f1-ab55-92fbcf53809c.png

5.3 模型设计与训练(Classifier)

下一步,我们需要对模型的结构进行设计和开始训练,步骤如下:

操作步骤:

1. 点击左侧Classifier,整个模型的结构设计已经配置好

2. 然后点击save&train,开始训练模型。

5ccc059a-3c5d-11f1-ab55-92fbcf53809c.png

通过多次迭代,可以提升模型泛化能力。

经过验证,提升方法包括:优化测试数据集、调整模型结构(如增加更多卷积层)等。

平台对于训练时间有限制要求,免费用户只能进行训练时间在20分钟以内的训练;

如果需要不限时间,需要购买付费服务才可以进行。

6 模型评估

操作步骤:

1. 点击左侧的Model testing

2. 然后点击Classify all

3. 开始分类所有的测试集数据。

5cd821fe-3c5d-11f1-ab55-92fbcf53809c.png

4. 测试之后,可以在右侧的Result查看测试结果

5d05d2e8-3c5d-11f1-ab55-92fbcf53809c.png

7 模型集成

7.1 生成模型库文件

模型训练完成后,我们需要生成在 Edgi-Talk 平台上运行的库文件。

操作步骤:

1. 点击左侧Deploment

2. 搜索Arduino libraryTensorFlow Lite

3. 然后点击Build,待build完成后,保存下载的库文件。

5d12e6c2-3c5d-11f1-ab55-92fbcf53809c.png5d2075b2-3c5d-11f1-ab55-92fbcf53809c.png

7.2 部署到嵌入式硬件

1. 将上一步下载得到的压缩包进行解压,可以得到如下的文件目录

5d3acdea-3c5d-11f1-ab55-92fbcf53809c.png

2. 获取最新的 Edgi-Talk 开发板 SDK,进入Edgi_Talk_M55_XiaoZhi/edge-impulse 目录,删除下图中的两个文件夹,然后将上一步中的两个文件夹,替换到当前目录中,即可实现模型文件的替换

5d47bf32-3c5d-11f1-ab55-92fbcf53809c.png

3. 编译 Edgi_Talk_M55_XiaoZhi 项目,并烧录到开发板中。

4. 在 Edgi-Talk 串口终端中输入下面的指令,开启唤醒词测试:

xz_wakeword_initxz_wakeword_start

4. 对开发板说出唤醒词,这里演示使用的是“xiaorui,xiaorui”,当说出唤醒词的时候串口终端会打印日志

5d511c94-3c5d-11f1-ab55-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5209

    文章

    20622

    浏览量

    336753
  • EDGE
    +关注

    关注

    0

    文章

    193

    浏览量

    44225
  • 机器学习
    +关注

    关注

    67

    文章

    8561

    浏览量

    137208
  • IMPULSE
    +关注

    关注

    0

    文章

    8

    浏览量

    7278
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Syntiant TinyML板搭建Edge Impulse模型实现语音识别效果

    本次项目用 Syntiant TinyML 开发板自带的麦克风,通过 Edge Impulse 搭建机器学习模型,使板卡上的 LED 灯根据中文语音指令呈现出不同效果。
    发表于 07-22 09:36 1916次阅读

    【大语言模型:原理与工程实践】大语言模型的基础技术

    全面剖析大语言模型的核心技术与基础知识。首先,概述自然语言的基本表示,这是理解大语言模型技术的前提。接着,详细介绍自然语言处理预训练的经典
    发表于 05-05 12:17

    edge impulse的文件存入sd卡,插入sd卡到开发板后openmv中还是显示找不到tflite模型和labels,怎么解决?

    edge impulse的文件存入sd卡,插入sd卡到开发板后openmv中还是显示找不到tflite模型和labels。
    发表于 09-02 07:23

    Edge Impulse的回归模型

    Edge Impulse的回归模型可以从数据中学习模式,并将其应用于新数据。 非常适合预测数字连续值。
    发表于 12-20 06:21

    Edge Impulse的分类模型浅析

    Edge Impulse是一个应用于嵌入式领域的在线的机器学习网站,不仅为用户提供了一些现成的神经网络模型以供训练,还能直接将训练好的
    发表于 12-20 06:51

    开发语音产品时设计唤醒和命令的技巧

    中只能由汉字组成,不允许有空格,逗号等其他字符;平台提供了唤醒评价功能,如唤醒的适合度为“优”,则是一个较好的唤醒
    发表于 10-25 15:09

    使用Arduino 33 BLE Sense和Edge Impulse构建的咳嗽检测系统

    Impulse Studio 训练咳嗽和背景噪声样本数据集,并构建高度优化的 TInyML 模型,该模型可以实时检测咳嗽声音。
    发表于 08-11 16:16 3586次阅读
    使用Arduino 33 BLE Sense和<b class='flag-5'>Edge</b> <b class='flag-5'>Impulse</b>构建的咳嗽检测系统

    使用Edge Impulse识别大象活动

    电子发烧友网站提供《使用Edge Impulse识别大象活动.zip》资料免费下载
    发表于 11-02 10:51 2次下载
    使用<b class='flag-5'>Edge</b> <b class='flag-5'>Impulse</b>识别大象活动

    修补Edge Impulse为MCU创建图像、音频和运动分类模型

    电子发烧友网站提供《修补Edge Impulse为MCU创建图像、音频和运动分类模型.zip》资料免费下载
    发表于 11-08 14:30 0次下载
    修补<b class='flag-5'>Edge</b> <b class='flag-5'>Impulse</b>为MCU创建图像、音频和运动分类<b class='flag-5'>模型</b>

    使用Edge Impulse的Covid患者健康评估设备

    电子发烧友网站提供《使用Edge Impulse的Covid患者健康评估设备.zip》资料免费下载
    发表于 11-11 14:39 0次下载
    使用<b class='flag-5'>Edge</b> <b class='flag-5'>Impulse</b>的Covid患者健康评估设备

    通过Edge Impulse开始使用TinyML

    电子发烧友网站提供《通过Edge Impulse开始使用TinyML.zip》资料免费下载
    发表于 12-15 13:56 1次下载
    通过<b class='flag-5'>Edge</b> <b class='flag-5'>Impulse</b>开始使用TinyML

    借助 Edge Impulse 实现 AI 开发的民主化

    借助 Edge Impulse 实现 AI 开发的民主化
    的头像 发表于 12-30 09:40 2843次阅读

    语音识别唤醒技术与应用

    是语音识别技术中的重要组成部分,它的作用是检测语音输入并判断是否包含唤醒,如果包含则执行相应的指令或响应。 语音识别唤醒
    的头像 发表于 06-24 04:02 5115次阅读

    使用Edge Impulse和Nvidia Jetson的面罩检测器

    电子发烧友网站提供《使用Edge Impulse和Nvidia Jetson的面罩检测器.zip》资料免费下载
    发表于 06-26 11:29 1次下载
    使用<b class='flag-5'>Edge</b> <b class='flag-5'>Impulse</b>和Nvidia Jetson的面罩检测器

    Edge Impulse发布新工具,助 NVIDIA 模型大规模部署

    借助 Edge Impulse 和 NVIDIA TAO 工具包的协同效应,工程师得以快速构建并部署至边缘优化硬件(如上述型号)的计算机视觉模型。该平台还支持用户运用经由 GPU 优化的 NVIDIA TAO
    的头像 发表于 03-25 16:00 1663次阅读