Skip to content
SIGNAL BROKER FOUNDER ALPHA

Shift the cues; keep every word.

Paste or open an .srt or .vtt file, shift every cue by a positive or negative number of milliseconds, optionally stretch for drift, and get a report of malformed timestamps, end-before-start cues, overlaps and cues pushed before zero. Download the corrected file in the same format; processed in the page, not uploaded.

Or paste below
FILE

Nothing loaded yet.

CHECKS
    CUES · ORIGINAL → RETIMED
    #StartEndTextFlags

    +1500 moves every cue 1.5 s later; −1500 moves every cue 1.5 s earlier.

    New time = old time × factor + offset. 1 = none. Captions right at the start but 2 s late after 20 minutes: factor = 1198 ÷ 1200 = 0.99833.

    EXPORT · SAME FORMAT

    Load captions first.

    Text processing only: valid timing does not mean a caption matches the voice. What you type, paste or open here is processed in this page; it is not sent to a server and not put in the address bar. The site’s ordinary analytics runs as on every page.

    What it does

    It reads an SRT or WebVTT file, shows every cue, moves all of them by an offset (and optionally stretches them for drift), reports timing problems, and writes the corrected file back in the same format. It is text processing: it never hears the audio, so valid timing does not mean a caption matches the voice. Check the result against the video.

    1. 01Load

      Open a local .srt or .vtt file, paste the text, or load the written sample. The format is detected from the text: a WEBVTT first line means WebVTT, anything else with a “start --> end” line is read as SRT.

    2. 02Retime

      Type the offset in milliseconds (negative moves cues earlier) and, if the captions drift, a stretch factor. The table shows each cue’s original and new times as you type.

    3. 03Check

      Malformed timestamps, cues that end before they start, zero-length cues, overlaps, cues out of order and cues pushed before zero are listed with their line numbers and marked in the table.

    4. 04Export

      Download the corrected file (same format, same text, canonical timestamps) or copy it. Export waits while any cue would start before 00:00:00.000; tick “clamp to zero” or use a smaller offset.

    Offset and stretch

    Offset adds the same number of milliseconds to every start and end. Captions that appear 1.5 s too early need +1500; captions that appear 1.5 s too late need −1500. Both numbers of a cue move together, so its length never changes.

    Stretch is for drift, where the error grows over the file: the captions are right at the start and late (or early) at the end, typically because the video and the captions were made at slightly different frame rates. Every time is multiplied by the factor before the offset is added: new = old × factor + offset. To find the factor, take a point late in the file where you know the true time: captions that read 20:00 (1,200 s) when the video is at 19:58 (1,198 s) need a factor of 1198 ÷ 1200 = 0.99833. A factor of 1.001 makes cues 1 ms later for every second of file. Values must be between 0.5 and 2; 1 means no stretch.

    Before zero. A negative offset can push the first cues before 00:00:00.000. Neither format can express a negative time, so the page reports those cues and holds the export. With “clamp to zero” ticked, a cue that straddles zero starts at 00:00:00.000 and a cue that would end at or before zero is removed; both are listed in the checks.

    What the checks mean

    FlagSeverityMeaning
    malformed timestamperrorA timing line whose start or end is not HH:MM:SS,mmm (SRT) or HH:MM:SS.mmm (WebVTT, hours optional). The block is kept exactly as it is and is not retimed.
    unrecognised blockerrorA block with no timing line (and, in WebVTT, not a NOTE, STYLE or REGION block). Kept as it is.
    bad indexerrorAn SRT block whose first line is not a number. Kept as it is.
    end before starterrorThe cue’s end time is earlier than its start; players ignore or mis-handle it.
    negative time / before zeroerrorThe cue would start before 00:00:00.000 after the offset; export waits until it is clamped or the offset changes.
    overlapwarningThe cue starts before the previous cue (by start time) has ended; the message says by how many milliseconds. Some players show both, some drop one.
    zero lengthwarningStart and end are equal; the cue is never visible.
    out of orderwarningThe cue starts earlier than the cue before it in the file.
    clamped / removedwarningWhat the “clamp to zero” option did to a cue pushed before zero.

    SRT and WebVTT details

    • Kept exactly. Every character of cue text, including Unicode, punctuation, line breaks, HTML-like tags and WebVTT <c> spans; WebVTT header lines after WEBVTT (for instance Kind: captions); NOTE, STYLE and REGION blocks; cue identifiers; cue settings after the end time (such as align:start position:0%); SRT indices unless you tick renumber; the file’s line endings (CRLF or LF). Cue text is rendered on this page as text, never as HTML.
    • Changed. Only the timestamps. They are written in the canonical form with hours always present (00:01:02,500 or 00:01:02.500), so a WebVTT file written as 01:02.500 comes back as 00:01:02.500. Inline WebVTT timestamps inside cue text (<00:00:04.160>, used for word-by-word timing) are retimed together with their cue. Runs of blank lines between blocks collapse to one; a byte-order mark at the start is dropped.
    • Blank lines. In WebVTT only an empty line ends a block, so a line containing one space is part of the cue, as in YouTube’s caption files. In SRT, which has no formal specification, a whitespace-only line counts as blank.
    • Reference. The WebVTT rules follow the W3C specification “WebVTT: The Web Video Text Tracks Format”. A file without a WEBVTT first line is treated as SRT and written with comma decimals.

    How the site’s own clips were timed

    The captions on the site’s vertical promo clips were not typed from memory and nobody listened to the audio to transcribe them. Each line’s words were read from the Broker’s overlay bubble in the recording frames, and its start and end were taken from YouTube’s audio-derived captions of the same public upload; the overlay is the text source and the audio-derived captions are the clock. The result is a caption list with absolute times in the recording, in the same shape this page exports, which the clip renderer burns into the vertical video. This tool does the timing half of that job for your own files; the words remain yours to verify.

    Limits

    • Text processing only: it cannot hear the audio, so valid timing does not mean a caption matches the voice. Check the result against the video.
    • Timestamps are rewritten in the canonical form (hours always present) and runs of blank lines collapse to one; everything else, including malformed blocks, is kept exactly and reported.
    • Large files are parsed in the page on every change; files over 20 MB are refused, and the table shows the first 400 cues (the export contains all of them).
    • Founder Alpha is early-access software; the commentary can be wrong, repeated or badly timed, and it is sold to customers in the United States only.

    Then time the real thing.

    Founder Alpha is available to customers in the United States. Founder Alpha is early-access software. Signal Broker is an AI system. The Broker's words and voice are generated using AI. No person is speaking or writing what he says.