Why word-level timing makes better subtitles

· 6 min read

Most transcription tools hand back segments: a chunk of text with a start and an end. That is enough to display a subtitle, and not enough to edit one.

The problem with segment-only timing

Say the transcriber returns one cue covering eight seconds of speech. You want to split it in two because the line is too long to read. Where does the second half start? Without per-word timings the only options are to guess, or to interpolate by character count and hope the speaker talked at an even pace. They never do.

The result is subtitles that are subtly out of sync — usually a beat late on the second half of every line you touched. Viewers rarely say "the timing is off"; they just find the video hard to watch.

What forced alignment does

Forced alignment takes a transcript you already have and finds where each word actually occurs in the waveform. It is a different task from recognition: the model is not guessing what was said, it is locating known text in known audio, which is a much easier problem and therefore much more accurate.

CaptionsThis runs Whisper for the transcript, then runs a wav2vec2 alignment pass over the result. What comes back is every word with its own start and end.

What that unlocks

  • Split a line anywhere and both halves keep correct timing, because the split point has a real timestamp.
  • Join two cues and the merged timing is exact rather than an approximation.
  • Re-segment the whole transcript — five words per line, or on sentence boundaries — without re-transcribing.
  • Style individual words for FCPXML export, because each one is an addressable object.

Where alignment still struggles

Alignment is not magic. Heavy background music, overlapping speakers, and very short interjections are the usual failure cases — the model has to find a word in audio where the word is barely present.

If alignment fails, CaptionsThis falls back to Whisper's own word timings rather than erroring out. They are less precise, but a usable subtitle beats no subtitle.

Generate subtitles from your own audio

Word-level timing, SRT and FCPXML export. Free to start, no subscription.

Open CaptionsThis