Skip to content
CueNorm Public Validator

Timing

MINIMUM_GAP

Requires a minimum pause between the end of a subtitle and the start of the next one.

What it checks

For each subtitle, CueNorm measures the gap since the previous subtitle in the file. A gap shorter than the profile's minimum produces one issue, reported on the later subtitle.

A gap of zero (back-to-back subtitles) is reported when the minimum is above zero. Overlapping subtitles (negative gap) are not reported here: the structural overlap check reports them.

How it is measured

  • Gap = start of the subtitle โˆ’ end of the previous subtitle, in file order, computed exactly.
  • The minimum can be declared in milliseconds, seconds or frames. Frames use the frame rate of the profile's writer configuration: at 25 fps, 2f is 0.080 s.
  • Frame quantization matters: a gap that looks sufficient in milliseconds can shrink once times are snapped to frames by the output format. When CueNorm converts a file, it validates the generated file after quantization, so such a gap is reported too.
  • When CueNorm validates a file it has just written, the minimum is first projected onto the output's time grid, rounded down: 2f at 24 fps (0.083 33 s) becomes 0.083 s for a millisecond format such as TTML. A gap of exactly two frames therefore passes after quantization, while a one-frame gap is still reported.

Parameters

Parameter Type Meaning
duration duration (ms, s or f) Minimum gap between consecutive subtitles

Example

With duration: 5f at 25 fps (0.200 s), a subtitle starting 3 frames after the previous one ended is reported as Gap of 0.120 s to previous subtitle (minimum 0.200 s).

How to fix

  • Shorten the previous subtitle's out time. The ENSURE_MINIMUM_GAP transformation does exactly this when the profile allows it, and it never delays a subtitle's in time.
  • Merge the two subtitles when they belong to the same sentence.

Profiles using this rule

ProfileSeverityParameters
ARTE SME German arte-sme-de error duration=0.080 s
ARTE SME French arte-sme-fr error duration=0.080 s
ARTE VOST German arte-vost-de error duration=0.200 s
ARTE VOST French arte-vost-fr error duration=0.200 s
Channel 5 SDH English (UK), EBU-STL channel5-sdh-en-gb-ebustl error duration=0.040 s
Disney+ SDH English (US) disney-plus-sdh-en-us error duration=0.083 s
Disney+ Subtitles English (US) disney-plus-subtitle-en-us error duration=0.083 s
Disney+ Subtitles French (France) disney-plus-subtitle-fr-fr error duration=0.080 s
Netflix SDH English netflix-sdh-en error duration=0.083 s
Netflix SDH French (France) netflix-sdh-fr-fr error duration=0.083 s
Netflix Subtitles English โ€” Children netflix-subtitle-children-en error duration=0.083 s
Netflix Subtitles French (France) โ€” Children netflix-subtitle-children-fr-fr error duration=0.083 s
Netflix Subtitles English netflix-subtitle-en error duration=0.083 s
Netflix Subtitles French (Canada) netflix-subtitle-fr-ca error duration=0.083 s
Netflix Subtitles French (France) netflix-subtitle-fr-fr error duration=0.083 s
Prime Video SDH French (France) prime-video-sdh-fr-fr error duration=0.080 s
Prime Video Subtitles English prime-video-subtitle-en error duration=0.083 s
Prime Video Subtitles French (France) prime-video-subtitle-fr-fr error duration=0.080 s
TF1 SME French tf1-sme-fr error duration=0.160 s
TF1 VM French tf1-vost-fr error duration=0.160 s