Custom Wake Word for Home Assistant with Wyoming

Train your phrase online, evaluate the Basic model in the console, then decide whether to download it and run wake-word detection locally through Wyoming.

Workflow

  1. Enter a phrase and language: English, German, French, Japanese or Chinese.
  2. Train the Basic model and test it with your own microphone before purchase.
  3. If you continue, download the ONNX package.
  4. Run the open-source Wyoming service and add it to Home Assistant.
  5. Validate misses and false triggers on the final microphone and room.

Connect it to Home Assistant

docker run -d --name voicute-wakeword --restart unless-stopped --network host \
  -v /path/to/your/models:/models \
  voicute/voicute-wyoming:latest \
  --model-info /models/model_info.json --mel /app/models/melspectrogram.onnx

In Home Assistant open Settings → Devices & services → Add Integration → Wyoming Protocol, enter the server IP and port 10400, then select the wake word in the voice assistant configuration.

Wyoming setup and Docker guide · Home Assistant Add-on source · Complete open-source runtime

Why not load it into openWakeWord?

ONNX defines a file format, not a universal inference contract. Voicute uses a self-developed Causal TCN, matched heads, and its own Mel preprocessing, input window and output semantics. openWakeWord expects another pipeline, so the models are not drop-in compatible.

Voicute model → onnx-wakeword Wyoming service → Home Assistant

The complete compact model is trained for the requested language and phrase instead of only a small classifier above a fixed embedding, making multilingual behavior more controllable. Final-device validation is still required.

Basic-model boundary: console testing informs the purchase decision but does not guarantee production readiness. Keyword-specific false triggers may require custom negative samples.
Train and evaluate a Home Assistant wake word