当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]语音接口已经成为与电子产品交互的最直观的方式之一。然而,大多数语音识别系统依赖于云服务、互联网接入和外部api。这会带来延迟、隐私问题和持续的服务限制。如果你能建立一个完全离线的语音助手,直接在微控制器上运行呢?

语音接口已经成为与电子产品交互的最直观的方式之一。然而,大多数语音识别系统依赖于云服务、互联网接入和外部api。这会带来延迟、隐私问题和持续的服务限制。如果你能建立一个完全离线的语音助手,直接在微控制器上运行呢?

在这个项目中,我们将ESP32变成一个完全由Edge Impulse驱动的独立离线语音识别模块。与基于互联网的平台不同,这种方法允许在ESP32的双核240 MHz处理器上进行本地推理。结果是一个完全独立的语音激活系统,能够在不向云发送音频的情况下识别唤醒词和命令分类。

您将使用ESP32、INMP441 I²S麦克风、用于数据集训练的Edge Impulse和直接通过Arduino IDE部署的轻量级神经网络来构建嵌入式语音识别管道。到最后,您将拥有一个完整的语音助手,通过“开”,“关”等命令控制led,以及“马文”等唤醒词。

这是一个完整的工程级指南,适用于制造商,嵌入式开发人员和ML工程师,他们希望实际介绍基于边缘的语音识别。

项目的特性

基于原始文档,这个ESP32语音转文本系统提供:

•完全离线语音识别

•自定义唤醒词和命令检测

•实时ML推理

•没有云,没有API调用,没有网络依赖

•低延迟(总计200-500 ms)

•低功率运行

•可扩展架构,支持更多命令

嵌入式机器学习、数字音频捕获和ESP32处理的结合使这成为一个紧凑但功能强大的边缘计算演示。

INMP441由于其低噪声,MEMS结构和数字I²S接口而被使用,使其成为音频推理的理想选择。

系统架构概述

•ESP32语音助理系统遵循这个工作流程

•音频采集(INMP441→ESP32 I²S)

•预处理(MFCC或光谱特征)

•神经网络推理(边缘脉冲模型)

•唤醒词决策逻辑

•命令的分类

•LED输出执行

这种混合管道允许ESP32连续侦听唤醒字,然后解释后续命令。

步骤1:数据集收集

本项目使用谷歌Speech Commands V2数据集:本项目使用谷歌Speech Commands V2数据集

•噪音

•马文(唤醒词)

•开

•关

您还可以记录自定义剪辑或扩展多语言数据。如文中所述,现实世界的准确性可以通过以下方式提高:

•多个扬声器

•不同的口音

•各种背景条件

•与麦克风的距离不同

Edge Impulse接受批量上传,基于文件夹的导入,以及每个声音类别的标签。

步骤2:训练边缘脉冲下的语音识别模型

本节源自源文档中的分步接口说明

•创建你的Edge冲动项目

•登录

创建一个新项目

将其命名为ESP32_STT_Recognition之类的东西

上传音频数据集

使用数据采集→添加数据→上传数据,为每个标记的类选择文件夹。正确的标签对于准确的关键词分类是必不可少的。

设计冲动

冲动设计下:

•添加音频(MFCC)处理块

•添加分类学习块

•选择1秒的窗口大小

•训练模型

设置:

•训练周期:50-100次

•学习率:默认

•验证分割:自动

点击“保存并训练”。

您将收到训练输出图表,准确性指标和混淆矩阵。

验证模型

使用所有分类对保留的数据集进行测试。目的:

•85%以上用于原型设计

•90%以上用于生产

步骤3:将模型部署到ESP32

从源文件中的部署说明中获取

•打开部署

•选择arduino Library并单击Build

•下载ZIP文件

•通过Sketch→Include Library→Add.ZIP Library安装

这将完整的神经网络推理引擎添加到Arduino IDE中。

步骤4:硬件布线

布线信息取自文件中的布线表和引脚图以及麦克风引脚部分。布线信息取自文件中的布线表和引脚图

麦克风接线(INMP441)

INMP441引脚

•L / R

•WS

•SCK

•SD

•VDD

•GND

LED布线

•指示灯LED→GPIO23→220 Ω→GND

•命令LED→GPIO22→220 Ω→GND

步骤5:基本代码和完全修改的代码

原始文件包括测试示例和扩展的生产就绪代码。

I²S音频配置

从文件的代码块中

核心数据缓冲结构

从原始代码部分

信心的阈值

步骤6:实时测试

上传代码后打开串口监视器。

您将看到类似如下的输出:

这为每个检测到的单词提供了实时分类置信度。

结论

你现在有一个完整的离线ESP32语音识别使用边缘脉冲,能够检测唤醒词和执行语音命令完全在设备上。该项目展示了嵌入式机器学习的功能,并可作为语音控制物联网系统、家庭自动化、机器人和可访问设备的理想起点。

该系统是完全可扩展的:收集更多的语音样本,重新训练,并重新部署新的模型到您的ESP32。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

我使用树莓派 Pico 和高精度的 INMP441 I2S 磁性麦克风构建了一个便携式分贝计。该设备能够实时测量声音强度,并将其显示在 OLED 屏幕上,而且它完全独立运行,采用电池供电设计。

关键字: 分贝计 树莓派 麦克风 INMP441 I2S

“WiFi 感测技术”是智能家居的未来吗?还是仅仅是一种实验室里的奇思妙想?我花了数周时间利用 ESP32 构建了一个人体感应装置,以探究我们是否终于能够摒弃那些昂贵的传感器了。

关键字: Wi-Fi ESP32 物联网

气压计是一种用于测量大气压力的科学仪器。气压上升通常预示着天气好转,气压下降则通常意味着即将有风和降雨。气压稳定则表示天气状况平稳。在这个项目中,我将介绍一种非常简单的制作气动式气压计模拟器的方法。实际上,现代数字电子技...

关键字: 气压计 ESP32 BME280

蜜蜂每年为全球经济贡献5770亿美元。然而,大多数养蜂人(尤其是业余爱好者)直到打开蜂箱才知道蜂巢里发生了什么。到那时,蜂群已经离开,或者蚁群已经饿死了。

关键字: 蜂窝 RP2350 麦克风

我想用ESP32打造一款手持游戏体验。该项目重现了经典的“破砖机”(Breakout)机制,并针对小型OLED屏幕进行了优化。它包括一个由模拟操纵杆控制的反应桨和一个随机评分系统,其中一些块的价值比其他块高5倍。

关键字: OLED ESP32 蜂鸣器

神经网络分类器使用Edge Impulse进行训练,并针对ESP32-S3的部署进行了优化。训练进行了50个周期,学习率为0.005,使用int8量化来减少内存占用并提高嵌入式硬件上的推理效率。模型的输入由1716个MF...

关键字: 人工智能 ESP32 Audio MQTT

全新S-TRACK LARK 1.0 Pro无线麦克风可全面提升课堂音频效果和学生参与度

关键字: 麦克风 DSP AI处理器

所以,一旦你完成了,让我们开始吧。打开Blynk应用程序,点击创建一个新项目。将打开一个新窗口,在那里键入您的项目名称(例如。“水泵开/关”)。从设备列表中选择ESP32 dev.board,并将连接类型设置为Wi-Fi...

关键字: ESP32 Blynk 水泵

药物依从性是一个关键的挑战,特别是对于患有慢性疾病的老年人,如糖尿病、高血压或心脏病。错过剂量可导致严重的健康后果。本项目介绍了一个基于ESP32的简单、可定制的药物提醒系统,旨在提高患者的安全性和独立性。

关键字: ESP32 Web RTC

大约六个月前,我们开始考虑我们想要在培训的第二年创建什么样的项目。起初,我们有用机器人做点什么的想法,但一段时间后,我们意识到这并没有真正让我们兴奋。所以我们讨论了其他可能性,最终想到了创造一款电子象棋游戏。

关键字: ESP32
关闭