Better tests and more user feedback while doing transcription; WIP.

This commit is contained in:
Lucas Winther committed 2026-07-14 14:44:01 +02:00
1 parent 18acead43c
commit be82ecfe57
19 files changed
+447 -138

No files matched your search

+9 -5
View File
@@ -5,11 +5,15 @@ unit tests, and transcript *accuracy* of the pipeline (segmentation, pass
scheduling, mic-path resampling) is regression-tested as WER by
`tests/live-accuracy.test.ts` + `tests/resampler.test.ts`. End-to-end quality
with real Whisper weights and real speech is regression-tested too:
`tests/live-real-model.test.ts` runs the Danish clip
`tests/audio_files/Festuge.m4a` through the full mic path with
`whisper-large-v3-turbo` (q4) and holds live WER against the reference
transcript (≤ 0.25; measured ≈ 0.11) and against whole-file mode (it skips
itself when the model is neither cached nor downloadable). Microphone capture,
`tests/live-real-model.test.ts` runs **every** recording in
`tests/audio_files/` through the full mic path with `whisper-large-v3-turbo`
(q4) and holds live WER against the reference transcript (≤ 0.25; measured
≈ 0.11 for `da_festuge`, ≈ 0.06 for `en_aiproblem`) and against whole-file
mode (it skips itself when the model is neither cached nor downloadable).
To cover a new recording, drop `<lang>_<name>.<m4a|mp3|wav|…>` plus its
reference transcript `<lang>_<name>.txt` into `tests/audio_files/` — the test
discovers it, decodes it with ffmpeg-static, pins `<lang>` as the Whisper
language, and fails loudly on unpaired or unprefixed files. Microphone capture,
the AudioWorklet path, and WebGPU/WASM execution in an actual browser can
only be exercised manually. This is that procedure.