Summary
I’m seeing very high false positives when deploying custom wake-word models
(“hilfe” and “adele”) trained with openWakeWord’s 2nd training approach.
Recall is good, but FP rate is high for on-device use like it is >=1 per hour .
Environment
- Python: 3.10+
- openWakeWord: 0.6.0
- Hardware:
- Training: VM
- Inference: Samsung Galaxy Watch
Training Details
- Training approach: 2nd approach from the official training notebook
(training_models.ipynb)
- Model architecture:
- Input shapes:
- Key hyperparameters:
Dataset
Positive samples (original + augmented)
- “hilfe”: ~88,000 samples
- “adele”: ~83,417 samples
Negative samples (~7000 hours total)
- Room impulse responses (RIRs)
- Mozilla Common Voice
- TuDa German speech
- Birds / environmental sounds
- Radio, info content (German & English)
Observed Behavior
- Recall: High (≈0.85 and ≈0.77)
- False positives: High
- Frequent triggers on unrelated speech and background audio
- Example: random German radio or conversational speech activates “hilfe” / “adele”
- Custom inference pipeline
Expected Behavior
- FP rate similar to pre-trained openWakeWord models
(e.g. < 1 false trigger per hour on negative-only audio)
- Maintain good recall on positives
Question / Help Requested
What is the recommended way to reduce false positives without killing recall?
Any guidance would be greatly appreciated — this is currently blocking on-device deployment.
Thanks!
Summary
I’m seeing very high false positives when deploying custom wake-word models
(“hilfe” and “adele”) trained with openWakeWord’s 2nd training approach.
Recall is good, but FP rate is high for on-device use like it is >=1 per hour .
Environment
Training Details
(
training_models.ipynb)256(6, 96)(3, 96)recall_weight = 0.2Dataset
Positive samples (original + augmented)
Negative samples (~7000 hours total)
Observed Behavior
Expected Behavior
(e.g. < 1 false trigger per hour on negative-only audio)
Question / Help Requested
What is the recommended way to reduce false positives without killing recall?
Any guidance would be greatly appreciated — this is currently blocking on-device deployment.
Thanks!