Tools

Audio Sync Corrections

Real-time frame-based audio synchronization correction using the Web Audio API. Insert or drop frames to fine-tune playback timing—the same technique used in Sendspin multi-room audio players.

Audio Player

Beethoven — Für Elise

Public domain recording · Archive.org

Fetching audio file…

Waveform

Correction Points

Inserted frames
Dropped frames
Playhead

How It Works

In multi-room audio systems like Sendspin, each player's clock drifts slightly relative to the source. Rather than resampling the entire stream, players make tiny periodic corrections—inserting or dropping individual audio frames—to stay in sync.

Insert mode adds extra samples to slow playback down (your clock is running fast). Drop mode removes samples to speed playback up (your clock is running slow). The processing options control how those splice points are smoothed to avoid audible clicks.

Speed Adjustment

The speed slider adjusts the Web Audio API's playbackRate, scaling playback speed by ±5%. Changing speed naturally shifts pitch—faster playback sounds higher, slower sounds lower.

When Pitch Correction is enabled, a real-time pitch shifter runs inside the AudioWorklet to undo the frequency change. It uses a delay-line algorithm with two crossfaded read taps in a circular buffer, shifting pitch by the inverse of the speed ratio so the audio stays at its original tone. Both features can be combined with frame corrections.

Frame Correction

1510
105001000

Effective Speed Change

+0.99%

Inserting 1 frame every 100 frames

Processing Options

Insert/Drop only

Speed Adjustment

-5%0%+5%

Playback Rate

1.0000x

Normal speed

Audio Info

Sample Rate
--
Channels
--
Duration
--
Total Samples
--
Frames Corrected
0