Skip to content

Echo 1.1 - transcription actually works

Latest

Choose a tag to compare

@mandarwagh9 mandarwagh9 released this 05 Aug 11:04
· 42 commits to main since this release

Fixes the three bugs that made 1.0's transcripts fiction.

What was wrong. 3h12m of capture produced 22,218 words, almost none of them spoken: "the security is over" seven times in a row, and one line reading मार žе дусов लाहथ प buffalovia hurry up — Devanagari and Cyrillic in the same sentence.

Three causes, all fixed:

  1. Whisper was fed the silence. A chunk that was 3% speech went in whole, and the model invents fluent text over room tone. Only voiced regions are now sent, with timestamps mapped back to real clock time.
  2. Language auto-detection reads only the first 30 seconds and applies the result to the whole call — across 99 languages. A chunk opening with silence had its language chosen from noise. Detection is now restricted to en/hi/mr.
  3. The JNI never enabled whisper's own defences: suppress_nst defaults to false upstream, and per-segment no-speech probability was never read.

Plus a per-language initial prompt (without it, Marathi came back romanised), level normalisation, and repetition collapse at both transcription and summary time.

Throughput. Base measured 714 s to transcribe a 256 s chunk — 0.4x realtime, a queue that never drains. The cause was the temperature-fallback ladder retrying every degenerate window up to six times; it is now capped at three.

Model guidance, measured rather than asserted:

model Hindi Marathi code-switched English
Base 0.23 0.00 0.08 1.00
Small 0.54 0.13 0.38 1.00

Small is the right choice for Devanagari, at roughly 2.5x the compute.

63 unit tests pass. See docs/VERIFICATION.md for what remains unverified.