Palkas UniverseSRT Sync for DistroKid
Interactive feature guide · version 1.2.1

See what happens during synchronization before you begin.

This website-adapted reconstruction presents the extension windows, safeguards, and verification states. Choose a scenario and see which information appears—without a DistroKid account. The complete demo tab uses a short, specifically authorized excerpt from the original recording.

Interactive representation · no connection to DistroKid · no input is transmitted
DistroKid · Synced Lyrics

An old, quiet film inside my mind becomes a dream

I fill every gap with meaning and purpose

And call it reality, although it is me

Not their laughter hurts me, nor what I see

It is the echo in me that I turn from everything

The world calls into emptiness, it does not call for me

Yet something inside me answers

Rights notice: The lyrics excerpts and the short excerpt from the original recording “Das Echo in mir” used in this presentation are taken from original music by Palkas Universe and are protected by copyright. Their use in this demo does not grant general permission; copying or otherwise reusing them without my consent is not permitted.

More than decoration

Every window answers a practical question

Sync history

Which lines are safely complete?

Completed lines remain clickable. The active line is grey and locked so that every rewind stays unambiguous.

Mini waveform

Where is the audio right now?

It keeps player time, target time, and duration visible. Rewinds snap to the start of the matching SRT cue.

Control window

What is auto-sync doing right now?

Status, detected player, active lyrics line, correction progress, and protected user input remain visible at a glance.

Fail-safe

Do SRT and visible lyrics still match?

A mismatch stops auto-sync immediately, highlights the last correct line in green, and marks the conflict in red.

Thank-you window

Is the run truly complete?

It appears only after DistroKid’s visible save state has been detected. Until then, the run is not considered finished.

Sync verification

Which timings did DistroKid actually accept?

Local audio, SRT target, emitted signal, and the editor timing confirmed by DistroKid are compared line by line, colour-coded, and available as a TXT report.

Calibration instead of guesswork

Why start and end receive separate offsets

The extension reads the begin and end timings retained by DistroKid’s visible editor and compares both independently with the SRT. The start offset shifts the Space key press; the end offset shifts its release. Values active during the run are already reflected in the confirmed timings and are therefore not subtracted again.

01 · Start residual = confirmed begin − SRT start02 · End residual = confirmed end − effective SRT end03 · Each new offset = current offset − its own residual median
Example

Start currently 0 ms, start median +18 ms → recommendation −18 ms. End currently 0 ms, end median +6 ms → no end change because that residual is inside the deadband. An adjusted line end is also capped at the adjusted beginning of the next line, preventing an artificial overlap; that capped value is excluded from end calibration.

Start and end each require at least five usable confirmed lines, are robustly filtered separately, and have their own ±10 ms deadband. Small differences between runs are ordinary browser and system jitter. The recommendation is a value to test, not a requirement; if the next run is not better, keep the previous value or reduce the correction.
Protection in action

What a real fail-safe moment looks like

The extension does not silently continue guessing. It stops the player, releases the held Space key, explains the conflict in the status window, and marks the affected lyrics directly on the page. After a corrected SRT, it resets up to two previously synchronized lines as a safety buffer and restarts exactly at the possibly corrected cue start.

Keyboard input remains protected

While auto-sync is active, real user presses of Space and Backspace are intercepted. Only synchronization signals explicitly marked by the extension reach the editor.

Everything remains local

SRT, lyrics, measurements, and an optionally selected verification audio file never leave your device. The audio is neither uploaded nor persistently stored by the extension.

Auto-sync stopped: lyrics mismatch detectedSRT expects: 18 · And call it reality, although it is me
DistroKid shows: 19 · Not their laughter hurts me, nor what I see

17 · I fill every gap with meaning and purpose

19 · Not their laughter hurts me, nor what I see

Safety buffer: reset to line 16 and restart there
Checked at multiple stages

When the fail-safe steps in

The fail-safe compares the order and content of every SRT cue with the lyrics visible in DistroKid’s editor. The time-jump safeguard also monitors whether player time and expected sync progress drift apart. These checks run at several decisive points.

01

Before activation

Auto-sync starts only when the loaded SRT fully matches the visible DistroKid lyrics in the same order.

02

When replacing the SRT

If a different or faulty SRT is selected during an active or paused run, the mismatch is detected immediately—even while auto-sync remains enabled.

03

Before every player start

After a pause, the complete mapping is checked again. An incompatible file therefore cannot enter synchronization simply by resuming the player.

04

During the run

Before the next cue is synchronized, the extension checks the visible lyrics structure again. A mismatch that occurs only at a later line stops the run at that exact point.

05

When switching to another tab

If the browser throttles the DistroKid tab in the background, audio may continue while the precise sync loop no longer advances at the same rate. On return, time-jump protection detects the gap and resets the open line and audio to its safe cue start.

06

When an invalid forward jump occurs

A jump beyond the still-open cue must not skip a lyrics line. Its incomplete partial marking is discarded, and audio and synchronization return together to the beginning of that cue.

What happens automatically afterwards

  1. Auto-sync stops immediately and the DistroKid player is paused.
  2. Any held Space key is safely released so no partial synchronization remains.
  3. The status window names the expected and visible lines; the last correct position is marked green and the conflict red.
  4. The last valid progress point is retained. Even the first line of an accidentally selected unrelated SRT cannot overwrite that checkpoint.
  5. After the matching corrected SRT is loaded, auto-sync is prepared again. Lyrics progress and audio move back together by up to two lines; playback begins only after your click.
  6. Each emitted Backspace counts as successful only after DistroKid removes that line’s begin/end values. If confirmation is missing, the extension stops instead of advancing its own counter.

Found a situation the fail-safe does not catch yet?

If you encounter an invalid state and the extension continues synchronizing, please let me know. The sequence of actions, the displayed message, and—if possible—a screenshot are especially helpful. You do not need to send audio or complete lyrics files.

Report a fail-safe case by emailpalkasuniverse@gmail.com

Details instead of surprises

The guide shows how everything behaves. The release notes document when and why it was added.