ESP32 语音唤醒+离线识别+百度在线识别
esp_speech_recognition
已发布
项目简介
ESP32语音唤醒+离线识别+百度在线识别。
这是一个基于ESP32芯片的智能语音识别项目,集成了语音唤醒、离线命令词识别和百度在线语音识别三种能力。项目核心思路是:先用自定义唤醒词(如“马文”)唤醒设备,随后通过离线识别引擎匹配本地预设的语音指令(如开灯、关灯),如果离线库无法识别,则自动切换至百度云端API进行更广泛的语音识别,并将结果返回给用户。
标签
项目特点
**三重语音处理流程**:唤醒 → 离线识别 → 在线识别,实现高效且灵活的语音交互。
**自定义唤醒词**:利用 `tflite-micro` 训练任意唤醒词,摆脱固定唤醒词限制。
**离线/在线混合识别**:优先使用低延迟的离线识别,无法匹配时自动切换到百度在线识别,兼顾速度与词库广度。
**基于成熟组件**:集成 `esp-sr`、`diy-alexa`、`tflite-micro` 等开源项目,降低开发难度。
**支持 ESP32-S3-EYE**:默认使用该开发板,具备 I2S 麦克风接口,方便音频采集。
技术规格
| 主控芯片 | ESP32-S3 (默认使用 ESP32-S3-EYE 开发板) |
|---|---|
| 麦克风接口 | I2S |
| 语音唤醒模型 | 基于 `diy-alexa` 训练 |
| 离线识别引擎 | `esp-sr` |
| 自定义唤醒词训练 | `tflite-micro` |
| 在线识别服务 | 百度语音识别 API |
| 开发框架 | ESP-IDF |
| 依赖工具 | cmake >= 3.16.0 |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| ESP32-S3-EYE 开发板 | 1 | — | 默认硬件平台,含 I2S 麦克风 |
| USB 数据线 (Type-C) | 1 | — | 供电与烧录 |
| 电脑 (Linux/Windows/macOS) | 1 | — | 开发与编译环境 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| 3D 打印机 (FDM) | 打印外壳和支架 | ✅ 是 |
| 焊台及焊锡 | 焊接排母、连接器等元件 | ✅ 是 |
| 螺丝刀 (M2 规格) | 安装螺丝 | ✅ 是 |
| 电脑 (Windows/Linux/macOS) | 编译和烧录固件 | ✅ 是 |
| USB 数据线 (Micro-USB) | 连接 NodeMCU-32S 到电脑 | ✅ 是 |
| esptool.py | 烧录 ESP32 固件 | ▢ 推荐 |
能力画像
⚪ 记忆与知识检索: 1/5
🔵 逻辑推演: 2/5
⚪ 表达与交流: 1/5
⚪ 感知与观察: 1/5
🔵 数理与计算: 2/5
🔵 动手与操作: 4/5
⚪ 狂热与坚持: 2/5
🔵 创造与创新: 3/5
项目图库
所需技能
🔧 **动手能力**:需要搭建 ESP-IDF 开发环境,连接开发板,烧录固件,并配置串口调试。
💻 **编程能力**:需要修改 C 代码(如 `baiduChunkedUploader.cc` 中的 token),理解 ESP-IDF 项目结构,可能涉及 tflite-micro 模型训练。
⚡ **电子电路**:了解 I2S 麦克风与 ESP32-S3 的基本连接,但开发板已集成,无需额外焊接。
适用场景
**智能家居控制**:通过语音指令控制灯光、家电等设备。
**离线语音助手**:在无网络环境下执行预设命令。
**语音交互原型开发**:快速验证语音唤醒+识别方案。
**教育学习**:学习 ESP32 语音处理、TFLite Micro 部署、云端 API 集成。