Stop the prose from drifting away from the report it cites

A second review found three numbers left behind when the report was
regenerated with pinned decoding:

- the transcriber docstring claimed 1.7 s for 88.9 s of speech; the report
  says 1.39 s, and 1.7 came from the unpinned run. The docstring now names no
  number, so it cannot go stale, and it stops calling container seconds speech
  with voice activity detection off.
- the checklist still quoted 3.55 s and 61.6x / 73.0x / 97.7x; the frozen
  report says 3.26 s and 63.9x / 82.4x / 112.2x.
- the checklist still said 31 speech segments for one mp4; with greedy decoding
  that video yields 38, which is where the store's 80 atoms come from
  (38 + 39 + 3).

The report also credited the store with timing invariants that were measured on
the model's answer. The harness now recomputes them from the words as stored
(out_of_order_in_store, before_their_segment_in_store) and says so.

Verification: 212 passed, ruff clean, mypy clean on both touched files with a
cold cache, pyright 0 errors.
This commit is contained in:
ZacharyZhang-NY committed 2026-10-07 22:36:49 -04:00
1 parent 836a4908e1
commit 10a39c5125
3 files changed
+15 -5

No files matched your search

+1 -1
View File
@@ -115,7 +115,7 @@ def _segment(segment: Any) -> SpeechSegment:
class SpeechTranscriber:
"""Whisper on CTranslate2: 88.9 seconds of speech in 1.7 seconds of CPU int8 (bench/reports/ASR.md)."""
"""Whisper on CTranslate2, greedy on CPU int8; bench/reports/ASR.md carries the measured speed."""
def __init__(self, settings: Settings | None = None) -> None:
self.settings = settings or get_settings()