- Listening's timers (30 s for words, 90 s in all) run from the press, so
a permission prompt nobody answers, or audio that never starts, ends it
too, and no wait holds the sentence helper; a page already hidden does
not open the microphone, and one hidden while the browser asked lets it
go.
- A finish that fails drops the worker, as a failed run does; a failed
first-run check lets the model go (it kept 1.3 GB loaded).
- Test hooks: shorter timers, the app counted as speaking, the worker's
events counted, a failed run on request.
- Every locale of a language uses the prompt slot that was measured for it.
FLEURS has one accent per language, so the model's en-GB, es-US, pt-PT
and fr-CA slots cannot be measured, and are not used.
- eval/score.py counts the clips the end-of-speech rule cut at a pause
against the run with no end at all (--no-end), the one method used for
the notes and the README: with 1 s, Hindi 3 and Portuguese 1; with
500 ms, 43 of 400 (Vietnamese 16, Hindi 5, Portuguese 5, Italian 4,
German 3).
Co-Authored-By: Claude Opus 5.5 <[email protected]>