AFS

Sync anything to audio.

An open file format that fingerprints audio into a stream of time cues. Any device hearing the source (via microphone or local audio) matches the fingerprints to locate itself and stay in sync in real time.

tool make an AFS for your own media

Drop the original source media — the same version your subtitle file is timed against. Your browser fingerprints it locally (nothing uploads) and gives back a small .afs. You only need to be correct once: get the SRT synced against the source one time, then ship the .srt alongside the .afs and the pair works every single time — re-cuts, broadcast versions with ad breaks, third-party rips, transcodes — without ever re-syncing the subtitles.

Don't have an SRT yet? The transcribe-generate CLI produces a matched .afs + .srt in one step from any audio or video.

Drop a media file or click to browse — audio or video, any format your browser plays

Runs locally with the same chromaprint WebAssembly the demo uses. For batch jobs, see tools/afs-generate in the CLI.