Expand description
Pure turn-commit state machine.
Raw VAD edges make two measured mistakes when used directly as turn signals. (1) Firing end-of-turn on every speech offset commits during mid-turn pauses: false-positive rate 0.206 at recall 0.895. Holding the commit through extra silence walks a clean frontier: hold 600ms → fp 0.135; 800ms → recall 0.798 fp 0.087; 1200ms → fp 0.032. (2) Treating every speech onset during the other side’s turn as an interruption fires on backchannels (“mm-hm”): fp 0.702. Requiring the speech to SUSTAIN before committing suppresses them: sustain 600ms → fp 0.319 recall 0.939; 1000ms → fp 0.126; 1400ms → fp 0.062 recall 0.899. This module is that mechanism: a policy layer between VAD edges and turn signals, with the operating point as configuration.
Measurements are from Sesame’s TurnBench dev set (38 conversations of real dyadic speech).
Structs§
- Turn
Commit Config - Operating point for turn commitment. All timings are measured from the VAD edge (which already includes the detector’s hangover).
- Turn
Commit Policy - The policy state machine. Driven by a monotonic millisecond audio clock (advance it by the duration of each audio chunk, not wall time).
Enums§
- Turn
Signal - A committed turn signal, produced at its commit time.