← Back to blog

By the Outspoken Team · March 14, 2026 · Updated September 13, 2026

Best Custom Wake Word Tools: A Practical Comparison

You want to add a custom wake word to your project — a smart home setup, a mobile app, a Raspberry Pi gadget, or a commercial product. You've searched "custom wake word detection" and found a confusing landscape of dead projects, enterprise SDKs, and research repos.

This guide compares every serious option available today so you can pick the right tool for your use case and budget.

Quick Comparison

ToolRuns On-DeviceCustom Wake WordsPricingModel FormatStatus
Picovoice PorcupineYesYesFrom $6,000/yrProprietaryActive
Azure Custom KeywordYesYesFree (SDK lock-in)ProprietaryActive
SnowboyYesYesFreeProprietaryDead
openWakeWordYesYesFree (DIY)ONNXActive
microWakeWordYesYesFree (DIY)TFLite MicroActive
livekit-wakewordYesYesFree (DIY)ONNXActive
Rhasspy/RavenYesYes (template-based)Free (DIY)N/A (template matching)Active
local-wakeYesYes (no training)Free (DIY)N/A (rule-based)Active
OutspokenYesYesOne-time creditsONNXActive

Picovoice Porcupine

Porcupine is the most established commercial wake word engine. It runs on-device, supports many platforms (iOS, Android, Raspberry Pi, Linux, macOS, Windows, web), and delivers strong accuracy.

What's good:

What's not:

Best for: Well-funded companies building commercial products that need a proven, supported SDK and can absorb the licensing cost.

Not ideal for: Indie developers, hobbyists, open-source projects, or anyone who wants to own their model.

Azure Custom Keyword

Microsoft offers Custom Keyword as part of Azure Speech Services. You can generate a custom wake word model through the Azure portal for free.

What's good:

What's not:

Best for: Teams already invested in the Azure ecosystem who want a free wake word model and don't mind the SDK lock-in.

Not ideal for: Cross-platform projects, Home Assistant users, or anyone who wants vendor independence.

Snowboy (Deprecated)

Snowboy was one of the first accessible wake word detection tools. It allowed custom wake words trained from just a few audio samples.

Status: Dead. Kitt.AI (the company behind Snowboy) was acquired by Baidu in 2017. The cloud training service was shut down in 2020. The GitHub repo is archived and hasn't been updated since.

Why it still shows up: Many tutorials and Stack Overflow answers still reference Snowboy because it was popular during 2017–2019. If you find a guide recommending Snowboy, it's outdated.

Migration path: If you're currently using Snowboy, the closest modern equivalent is openWakeWord or Outspoken — both produce on-device models, and Outspoken's ONNX models can be integrated in similar ways.

openWakeWord (DIY)

openWakeWord is a fully open-source wake word detection framework by David Scripka. It's the engine behind Home Assistant's built-in wake word detection and produces standard ONNX models.

What's good:

What's not:

Outspoken is built on openWakeWord

Outspoken uses the openWakeWord pipeline under the hood. The difference is that we handle the infrastructure: TTS sample generation, noise augmentation, GPU training, and model export. You get the same ONNX models — without setting up the pipeline yourself.

Best for: ML engineers and researchers who want full control over the training process and don't mind managing infrastructure.

Not ideal for: Anyone who wants a trained model without setting up a Python environment and GPU.

microWakeWord

microWakeWord is an open-source wake word framework purpose-built for microcontrollers. It's the engine behind ESPHome's on-device wake word support and exports to TensorFlow Lite Micro, not ONNX.

What's good:

What's not:

Best for: ESPHome and Home Assistant Voice PE projects targeting bare-metal microcontrollers where every kilobyte of flash and RAM matters.

Not ideal for: Anyone deploying to phones, browsers, or general-purpose Linux devices where ONNX is the more portable choice.

livekit-wakeword

livekit-wakeword is a newer open-source trainer from LiveKit that reports better accuracy than openWakeWord on its own benchmarks, exporting standard ONNX models with a single training command.

What's good:

What's not:

Best for: Teams already comfortable running their own training infrastructure who want to try a newer architecture without leaving the ONNX ecosystem.

Not ideal for: Anyone who wants a trained model without provisioning a GPU and running training scripts themselves.

Rhasspy/Raven

Raven is Rhasspy's built-in wake word system, based on the Snips Personal Wakeword Detector. It's template matching, not a trained neural network — you record a handful of example clips of your wake word and Raven compares incoming audio against them.

What's good:

What's not:

Best for: Quick single-user, single-environment prototypes where recording a few samples is easier than setting up training infrastructure.

Not ideal for: Multi-user products, noisy environments, or anything that needs to generalize beyond the exact voices it was recorded from.

local-wake

local-wake takes a different approach entirely: no model training at all. It's a lightweight, rule-based detector designed for resource-constrained devices like the Raspberry Pi, claiming strong accuracy on clean, same-speaker audio without any training step.

What's good:

What's not:

Best for: Constrained-hardware hobby projects where a single known speaker and low setup effort matter more than robustness across voices.

Not ideal for: Products with multiple users, commercial deployments, or noisy real-world environments.

Outspoken

Outspoken is a self-service platform for training custom wake word models. You enter a wake word, pick training parameters, and get a downloadable ONNX model in about 45 minutes.

What's good:

What's not:

Best for: Developers, hobbyists, and companies who want custom wake word models without enterprise pricing or DIY infrastructure. Especially strong for Home Assistant users, React Native apps, and cross-platform projects.

How to Choose

You need a battle-tested commercial SDK

Go with Picovoice Porcupine. It's expensive, but it's the most mature option with dedicated support. If your company can justify $6K+/year and you want an SDK with all the rough edges smoothed out, this is it.

You're already in the Azure ecosystem

Try Azure Custom Keyword. It's free and runs on-device. Just know that your models are locked to Microsoft's SDK. If you ever want to switch platforms, you'll retrain from scratch.

You want full control over the training pipeline

Use openWakeWord or livekit-wakeword directly. Clone the repo, set up the dependencies, and run training yourself. You'll learn a lot about how wake word detection works, and you'll have complete control over every parameter. livekit-wakeword is worth a look if you want a newer architecture while staying in ONNX.

You're deploying to a bare-metal microcontroller

Use microWakeWord. If you're building on ESPHome or targeting an ESP32-class chip directly, its TFLite Micro export is a better fit than a general ONNX model.

You just need a quick single-speaker prototype

Try Raven (Rhasspy) or local-wake. Neither requires training a model — record a few samples or use rule-based detection — but both trade robustness across voices and environments for that simplicity. Fine for a one-off hobby build, risky for anything with multiple users.

You want a custom wake word without the hassle

Use Outspoken. Train through the web UI, download a standard ONNX model, and evaluate locally. Train and evaluate standard ONNX/TFLite models with one-time credits. Need multiple venues or devices? Contact us for startup-friendly deployment pricing.

Test before you commit

Try the Outspoken Playground to test wake word detection in your browser before signing up. You can also upload your own ONNX model to test.

What About Cloud Speech APIs?

Cloud speech-to-text (Google, AWS, Azure) is sometimes suggested for wake word detection, but it's fundamentally the wrong tool. Cloud STT is designed for full transcription — dictation, captions, meeting notes. Using it for wake word detection means:

On-device wake word detection with ONNX runs in 5–15ms, costs nothing after training, works offline, and keeps all audio on the device. There's no scenario where a cloud speech API is the right choice for wake word detection specifically.

Summary

The custom wake word landscape in 2026 comes down to these real options:

  1. Picovoice — best commercial SDK, enterprise pricing
  2. Azure Custom Keyword — free but locked to Microsoft's SDK
  3. openWakeWord / livekit-wakeword — free, open-source, DIY training pipeline, ONNX output
  4. microWakeWord — free, open-source, DIY, purpose-built for microcontrollers (TFLite Micro)
  5. Rhasspy/Raven / local-wake — no training required, but template/rule-based accuracy trade-offs
  6. Outspoken — self-service training, standard ONNX/TFLite, one-time credits

Snowboy is dead. Cloud speech APIs are the wrong tool. Everything else is a variation of these approaches.

For most developers — especially those building for Home Assistant, mobile apps, or IoT devices — the combination of self-service training and standard ONNX output gives you the best balance of convenience, cost, and flexibility.


Ready to train your first custom wake word? Sign up for Outspoken — first model is free.