wordtospeechEngine ready

Subtitle timing rules: cue length, reading speed and line breaks

Perfectly accurate timings still produce unreadable subtitles. The conventions that separate the two are old, well established, and mostly ignored by automatic tools.

There are two different questions hiding inside “are these subtitles good”.

The first is whether the timings match the audio. The second is whether a human can actually read them. A file can pass the first completely and fail the second, and automatically generated subtitles fail the second constantly — because timing accuracy is measurable and readability is a convention nobody enforces.

Characters per second

The core measure. Roughly: how fast is the viewer being asked to read.

Broadcast practice lands around 15 to 17 characters per second for adult viewers, lower for children’s programming. Above about 20 the average viewer stops reading and starts skimming; above 25 they miss content entirely.

A cue of 45 characters displayed for 2 seconds is 22.5 CPS. Technically correct, practically too fast.

This is the number to watch, and it is the one most tools do not show you.

Cue length

Two limits, whichever comes first:

  • About 42 characters per line, and no more than two lines. That is roughly where a caption stops fitting comfortably on a phone in landscape.
  • About 5 to 6 seconds maximum on screen. Beyond that a static caption starts feeling stuck, and viewers re-read it.

There is also a floor: under about 1 second and a cue flashes. If a cue is that short, merge it with its neighbour.

This tool splits at 42 characters or 5 seconds, whichever comes first, which is why long text produces more cues than you might expect. That is the intent.

Where to break a line

Break at grammar, not at width. The rule of thumb: if reading the first line alone leaves you dangling, the break is wrong.

Good:

The engine reports when each word
was spoken, so nothing is estimated.

Bad:

The engine reports when each word was spoken, so
nothing is estimated.

Specifically, never split:

  • an article from its noun — the / engine
  • a preposition from its object — in / the file
  • a name from itself — New / York
  • a verb from its auxiliary — has / reported

Gaps between cues

Two cues that touch exactly, with no gap, read as one continuous block and the change is easy to miss. Conventional practice leaves a small gap — around two frames, or roughly 80 milliseconds — between one cue ending and the next beginning.

Interestingly, synthesised speech often gives you this for free: the pause after a comma or a full stop is real silence in the audio, so cues built from word timings naturally end before the next begins.

Reading the audio, not the text

The last rule is the one that catches people who generate subtitles from a script rather than from audio: cue boundaries should follow speech, not sentences.

A long sentence spoken with two clear pauses in it should be three cues, split at the pauses. A short sentence spoken without a break should be one cue even if it runs to 60 characters. Splitting purely on punctuation produces captions that change while the speaker is mid-phrase, which is more distracting than a slightly long cue.

Word-level timings make this decidable rather than guesswork: you can see where the silences actually are.

How word-level subtitle timing actually works

← All notes