Train wake word detection with your own voice. No cloud, no pre-trained models, no compromises.
Note: This is a personal project provided as-is. No support, issue responses, or PR reviews are guaranteed. See CONTRIBUTING.md.
- Generic wake words don't work well for everyone
- Cloud-based training means your voice data leaves your device
- Existing solutions are either too complex or too limited
Wake-a-Word gives you a complete pipeline: record samples on your phone, train on your PC, deploy to Raspberry Pi.
Record -> Train -> Test & Mine -> Deploy
your voice first model hard examples to device
The key is iteration: train a basic model, test it in real conditions, mine the failures, retrain. Most users get good results after 2-3 cycles.
| Step | Guide | What You'll Do |
|---|---|---|
| 1 | Getting Started | Install, create profile |
| 2 | Recording Samples | Collect initial training data |
| 3 | Training Models | Train your first model |
| 4 | Improving Models | Mine failures, iterate |
| 5 | Deploying Models | Export and run on Raspberry Pi |
Architecture - Model architectures, training system, audio pipeline
- Python 3.12+, macOS or Linux for data collection
- Linux with CUDA for training
- Raspberry Pi 3B+ for deployment (optional)
See Hardware for detailed specifications.
The webapp is designed for local/private network use only.
- No authentication is implemented (local trust model)
- Do not expose to the public internet
- See SECURITY.md for details
This project builds on ideas from:
- micro-wake-word - MixConv architecture, sub-spectral normalization, CBAM attention
- openWakeWord - Efficient model design for edge deployment
This project is dual-licensed:
- Open Source: AGPL-3.0 - Free for personal/educational use with copyleft requirements
- Commercial: Contact for licensing if AGPL doesn't work for your use case. See LICENSE-COMMERCIAL.md