By the Outspoken Team · March 14, 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
| Tool | Runs On-Device | Custom Wake Words | Pricing | Model Format | Status |
|---|---|---|---|---|---|
| Picovoice Porcupine | Yes | Yes | From $6,000/yr | Proprietary | Active |
| Azure Custom Keyword | Yes | Yes | Free (SDK lock-in) | Proprietary | Active |
| Snowboy | Yes | Yes | Free | Proprietary | Dead |
| openWakeWord | Yes | Yes | Free (DIY) | ONNX | Active |
| Outspoken | Yes | Yes | €1 per model | ONNX | Active |
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:
- Mature SDK with broad platform support
- Low false positive rate
- Well-documented, production-ready
What's not:
- Pricing starts at $6,000/year for the Starter plan (100 monthly active devices). Enterprise plans cost more. The free tier is limited to a single device with a watermarked model.
- Custom wake words require the Enterprise plan — you can't train your own on the free or Starter tier without restrictions.
- Models are proprietary and tied to the Picovoice SDK. You can't export or run them outside their ecosystem.
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:
- Free to create models
- Runs on-device (not in the cloud)
- Decent accuracy for simple wake words
What's not:
- Locked to the Azure Speech SDK. The generated models only work within Microsoft's toolchain. You need the Speech SDK installed on your device, which limits deployment options.
- No ONNX or standard format export — you can't use the model outside the Azure ecosystem.
- Limited platform support compared to a standard ONNX model. No Home Assistant integration. No browser support.
- The service is part of the broader Azure Cognitive Services suite, which means Azure account management, resource provisioning, and SDK versioning overhead.
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:
- Completely free and open-source (Apache 2.0)
- Standard ONNX output — models run anywhere ONNX Runtime does
- Native Home Assistant integration via the Wyoming protocol
- Good accuracy when properly trained
- Active community and well-documented
What's not:
- You need to set up the entire training pipeline yourself. This means: installing Python dependencies, downloading ~4 GB of shared training data, generating synthetic speech samples with Piper TTS, running data augmentation, and executing the training script with the right hyperparameters. For someone with ML experience, this takes a few hours. For everyone else, it's a significant barrier.
- Training requires a decent GPU (or patience with CPU training)
- No web UI — everything is command-line
- Debugging training issues (bad phonetics, wrong parameters, low accuracy) requires understanding the pipeline internals
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.
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:
- Standard ONNX format — models run on Home Assistant, Python, React Native, C++, browsers, and any platform with ONNX Runtime support
- Self-service web UI, no command line needed
- Trains on GPU in ~45 minutes
- Supports multiple languages (English, Dutch, German, French)
- €1 per model, first model free. No subscriptions. No per-device fees.
- Models are yours forever — download, deploy to unlimited devices, use commercially
- Built on the proven openWakeWord pipeline
What's not:
- Newer platform — smaller community than Picovoice
- No dedicated SDK (you use ONNX Runtime directly, which is a pro or con depending on your perspective)
- Model quality depends on training parameters and wake word choice (same as any wake word tool)
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 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.
You want a custom wake word without the hassle
Use Outspoken. Train through the web UI, download a standard ONNX model, deploy anywhere. Pay once per model. No subscriptions, no vendor lock-in, no pipeline setup.
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:
- $460+/month per device for always-on listening (at Google's base rate of $0.016/min)
- 200–500ms latency per inference (network round-trip)
- Continuous audio streaming to a third party (privacy and bandwidth concerns)
- No offline support — if the internet goes down, your wake word stops working
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 four real options:
- Picovoice — best commercial SDK, enterprise pricing
- Azure Custom Keyword — free but locked to Microsoft's SDK
- openWakeWord — free, open-source, DIY training pipeline
- Outspoken — self-service training, standard ONNX, €1 per model
Snowboy is dead. Cloud speech APIs are the wrong tool. Everything else is a variation of these four 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.