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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user