mavwaked has no wake word, only an energy VAD — add silero-vad and a keyword gate #220

Merged
claude merged 2 commits from task/487-wake-word-threshold into master 2026-08-09 13:46:42 +02:00
Showing only changes of commit 02d96e611d - Show all commits
+9 -5
View File
@@ -21,11 +21,15 @@ import (
"sync"
)
// defaultWakeThreshold — score above which the keyword was said. Picked from
// the false-accept rate on held-out Russian speech, not from accuracy: a miss
// costs him a repeat, a false accept costs a turn nobody asked for. See
// docs/evals for the wakes-per-hour this buys.
const defaultWakeThreshold = 0.99
// defaultWakeThreshold — score above which the keyword was said.
//
// Picked from the false-accept rate on held-out Russian speech, not from
// accuracy: a miss costs him a repeat, a false accept costs a turn nobody
// asked for. Over 65 minutes of Common Voice, 0.99 woke her three times and
// 0.999 once, and the difference in recall was one render out of 126. So the
// default is the strict one. `docs/evals/2026-08-09-wake-word.md` has both
// tables.
const defaultWakeThreshold = 0.999
// wakeWord is the streaming state around wakeModels. It is fed the same
// capture frames the VAD sees and answers whether the keyword has just been