ESP32 自定义唤醒词:训练与离线部署

为产品训练专属唤醒词,用目标麦克风测试,再将紧凑的 INT8 模型部署到 ESP32-S3 本地运行。

ESP32 能运行什么模型?

桌面端 ONNX 模型不能直接等同于 ESP32 模型。微控制器常用 INT8 TFLite Micro、16 kHz 单声道 PCM 和本地特征提取。ESP32-S3 加 PSRAM 更适合开始验证,其他开发板需要单独测试。

在线训练和自行训练

在线训练适合小团队快速验证硬件;自行训练可以控制数据和难负样本,但训练、导出和评测管线都需要自己维护。

推荐流程

  1. 选择区分度高的短语,用最终麦克风录音。
  2. 在线训练或搭建自有训练管线。
  3. 在噪声、音乐和相似语音下测量召回与误触发。
  4. 导出匹配的 INT8 TFLite 模型和 output head,一起接入 ESP-IDF。

ESP-IDF 示例

git clone https://github.com/voicute/onnx-wakeword.git
cd onnx-wakeword/esp32/examples/esp32s3_hmi_devkit
idf.py set-target esp32s3
idf.py build
重要:浏览器效果不代表硬件效果,上线前要用最终开发板、麦克风、外壳、距离和背景声音测试。
训练并测试自定义唤醒词
View the open-source inference engine and demo models →
ONNX / TFLite · Android · ESP32 · Web · Python · Home Assistant