Skip to content

word-align 1.0.0

Choose a tag to compare

@ghalymt ghalymt released this 23 Jul 12:26
· 136 commits to main since this release

First stable release. Word-accurate subtitle timing from audio + transcript, or from audio alone.

Two modes, both GPU-verified end-to-end

  • Reference mode — the production-derived waterfall: Vosk → WhisperX/wav2vec2 → MFA gap-filling → interpolation → segmenter.
  • Ensemble mode — no transcript needed: WhisperX + Qwen3-ASR + Vosk vote on the words, Vosk seeds the timing, and low-agreement words are flagged for review. Qwen runs out-of-process via a subprocess bridge so its dependencies never clash with the WhisperX stack.

Subtitle layout follows the .srt standard

Configurable per-line CPL × line count — --max-cpl 42 (regular video) or 32 (vertical/social), --max-lines, --max-duration-ms, --min-cue-ms.

Review-ready output

  • No forced bad breaks (gold → silver split, else leave the line visible for a human).
  • Abbreviations stay whole (St. Michael's is never split at the period); [music]-style tags never merge into dialogue.
  • Overlaps resolved to zero without moving a Vosk-anchored timestamp; no sub-frame cues.

Quality

23 logic tests (no GPU/audio needed), several pinned to specific bugs. MIT licensed.