← All articles

How Do I Train a Custom Wake Word for ESP32?

Use Voicute to turn a phrase into an offline wake-word model for ESP32. The workflow supports one model with multiple keywords, multilingual training, and optional authorized recordings for model enhancement.

What is the workflow?

  1. Enter one or more keyword phrases and select a language.
  2. Train and test the model with your own microphone.
  3. Optionally upload authorized recordings to improve robustness.
  4. Export ONNX or TFLite, then convert and quantize for the target firmware.

Can one ESP32 model recognize multiple keywords?

Yes. A single multi-keyword model can return labels such as light_on, light_off, and start. This is useful when an ESP32 device needs several fixed voice commands without running a separate model for every phrase.

ESP32 deployment notes

For ESP32-class microcontrollers, use an INT8 TFLite model with TensorFlow Lite Micro or the equivalent embedded runtime. ESP32-S3 boards with sufficient RAM/PSRAM are the practical starting point. Measure latency, memory, false triggers, and recall with the final microphone and enclosure; a model that works on a laptop may need different thresholds on a device.

Supported languages

English, Chinese, Spanish, Japanese, German, French, and Hindi are supported. The best result depends on phrase choice, speaker coverage, recordings, threshold, microphone, and acoustic environment.

Train a custom wake word online →

See also: ONNX and TFLite deployment guide.

View the open-source inference engine and demo models →
ONNX / TFLite · ESP32 · Raspberry Pi · Android · Web · Windows · macOS · Linux · Home Assistant