Default the keyword threshold to 0.999, from the measurement (V-487)

Over 65.1 minutes of held-out Common Voice the built binary woke three times
at 0.99 and once at 0.999. The recall difference was one render out of 126.
One render is worth two thirds of the false wakes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013ptwopxyo3Z2kwFckHkLvN
This commit is contained in:
2026-08-09 15:42:09 +04:00
parent 62eef01c18
commit 02d96e611d
+9 -5
View File
@@ -21,11 +21,15 @@ import (
"sync" "sync"
) )
// defaultWakeThreshold — score above which the keyword was said. Picked from // defaultWakeThreshold — score above which the keyword was said.
// 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 // Picked from the false-accept rate on held-out Russian speech, not from
// docs/evals for the wakes-per-hour this buys. // accuracy: a miss costs him a repeat, a false accept costs a turn nobody
const defaultWakeThreshold = 0.99 // 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 // 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 // capture frames the VAD sees and answers whether the keyword has just been