Detect the language once for auto-detect file passes on the chunked path (D-053)

Transformers.js has no Whisper language detection and silently decoded
Danish as English whenever "Skip silence" was off or unavailable.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Lucas Winther
2026-10-30 14:35:09 +01:00
co-authored by Claude Opus 5.5
parent 3583d60847
commit dd9dfc628b
6 changed files with 112 additions and 6 deletions
+6 -1
View File
@@ -441,7 +441,7 @@ Found in spec 001 workstream 6 (D-046), open:
this repo has.
Found while building the long-form pipeline (spec 001 Goal 3, D-049), 2026-10-29:
- [ ] "Auto-detect" on the default (chunked) file path does not detect: with no
- [x] "Auto-detect" on the default (chunked) file path does not detect: with no
`language`, Transformers.js 4.2 logs "No language specified - defaulting to
English" and decodes Danish audio as an English translation (da_festuge WER
0.94 vs 0.14 with `da`). Long-form ("Skip silence") detects once and pins
@@ -449,6 +449,11 @@ Found while building the long-form pipeline (spec 001 Goal 3, D-049), 2026-10-29
- [ ] Spec 001's measurement fallback mentions a hint list of the names in
`en_alien`'s reference; `tests/meetingFixture.ts` returns audio + reference
only. Add the list when the vocabulary hint (workstream 2) lands.
— Fixed for file passes: detect once on the first 30 s and pin (D-053).
- [ ] "Auto-detect" on **live** passes (browser engine) still decodes as English:
each live pass would need its own detection (an extra encoder run per
pass). Needs a once-per-session design (detect on the first committed
segment, then pin) — D-053.
- [ ] Parakeet v3 also transcribes 24 other European languages, Danish included, but the app
offers it English-only (spec 001) — unmeasured on `da_festuge`. Candidate for a later spec.