Patryk GenschandClaude Opus 5 b99f239553 Splice short lines into 30-second windows before transcribing
Whisper always encodes a full 30-second window, whatever the clip length, and the
average line here is 4.4 seconds. Fed one at a time, 19.5 hours of speech costs
what 135 hours of continuous audio would. Lines are now concatenated with a
second of silence between them, filling a window with about five, and the result
is cut back apart using the timestamps from whisper's JSON output. A segment goes
to the line it overlaps most, so a line split across several segments is
reassembled and a segment straying into the silence still lands correctly.

Measured on 48 real lines, same set through both paths:

  speech (39)      similarity 0.92, no text landed under the wrong file
  non-speech (9)   similarity 0.54 — both modes invent music annotations

Splicing turns out to be slightly *more* accurate on speech, because the model
sees context: "Jeden raz czułem" becomes "Niejeden raz czułem", "muszę to pościć"
becomes "puścić", "SOO?" becomes "Co?".

On the whole collection this projects to 5.8 h → 3.5 h, a 1.7× gain rather than
the 5× I claimed earlier from counting encoder windows alone. Encoding a window
and decoding a line cost about the same, 0.65 s each, and decoding is per line no
matter how the audio is packed — so only half the work can be folded away.

Window size, gap and batch size are all settable, and catalog.whisper.concat=false
restores the file-at-a-time path, which is how the two were compared. Output moved
from -otxt to -oj because only the JSON carries the timestamps.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-21 16:59:55 +02:00
2026-08-20 21:40:10 +02:00
2026-08-20 21:40:10 +02:00
S
Description
A utility app for organizing Aidem Media games and making it easier to analyze them
286 KiB
Languages
Java 86%
HTML 13%
Dockerfile 0.8%
Shell 0.2%