NanoWakeWord Model โ "wake up"
A wake word detection model trained with nanowakeword for the phrase "wake up".
Model Files
| File | Description |
|---|---|
wake_up_v1.onnx |
Full ONNX model (DNN, 4 blocks ร 64 units, 128-dim embedding) |
wake_up_v1.pt |
PyTorch checkpoint |
wake_up_v1_lite.onnx |
Distilled lite model (8-dim embedding, 1 block) โ low-power gatekeeper |
training_config.yaml |
Full training configuration |
Training Data
- Positive: TTS-generated "wake up" (2500 clips, 904 Piper speakers) + real recordings from
pollen-robotics/wake-up-real+ synthetic clips fromTigreGotico/synthetic-wakeword-wake_up - Negatives: 5000 adversarial TTS + 3000 phoneme-adversarial + speech commands from
pollen-robotics/speech-commands-v0.02+arcosoph/AE29H_float32+arcosoph/RACON_11h_v1 - Background noise: Real robot mic recordings +
arcosoph/datasets_zip(SonicWeave-v2)
Training Recipe
- Architecture: DNN (layer_size=64, n_blocks=4, embedding_dim=128, dropout=0.3)
- Loss: Bias-weighted asymmetric BCE (positive bias=0.65, negative weight=2.0)
- Optimizer: AdamW (lr=0.0008, weight_decay=0.01, onecycle schedule)
- Steps: 40,000 train + 8,000 distillation
- Augmentation: 10 rounds (noise, gain, pitch, SNR)
- Checkpoint averaging: Top-5 (EMA alpha=0.05)
Usage
Python (nanowakeword package)
from nanowakeword.model import Model
# Load the full model
model = Model.from_pretrained("pollen-robotics/nanowakeword-wake-up", filename="wake_up_v1.onnx")
# Or load the lite model
model = Model.from_pretrained("pollen-robotics/nanowakeword-wake-up", filename="wake_up_v1_lite.onnx")
ONNX Runtime (direct)
import onnxruntime as ort
import numpy as np
session = ort.InferenceSession("wake_up_v1.onnx")
# Input: (1, 32000) float32 audio at 16kHz
# Output: (1, 1) probability
Real-time detection (nanowakeword listener)
from nanowakeword.listener import Listener
listener = Listener(
model_paths=["pollen-robotics/nanowakeword-wake-up"],
wake_word_names=["wake_up_v1"],
chunk_size_ms=100,
)
listener.start()
Deployment
This model is designed for Raspberry Pi 4 deployment on the Reachy Mini robot. Use the lite model (wake_up_v1_lite.onnx) for lower CPU usage, with the full model as a secondary verifier if needed.
Generated by ML Intern
This model repository was generated by ML Intern, an agent for machine learning research and development on the Hugging Face Hub.
- Try ML Intern: https://smolagents-ml-intern.hf.space
- Source code: https://github.com/huggingface/ml-intern
- Downloads last month
- 36
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐ Ask for provider support