
In simple English
Movie subtitles often arrive slightly out of sync with the video. This tool fixes that problem automatically. It listens to the speech inside the video file. Then it slides the subtitle text back and forth until the words match what people are saying. You can run it on your own computer or right inside your web browser. It costs nothing and runs in under half a minute.
What it is
A command-line program and Python library that aligns subtitle files with video or audio streams. It converts both into simple speech timelines and matches them using fast mathematical algorithms.
What it is good for
Anyone who downloads a video and a subtitle file only to find the words appearing too early or too late.
- Syncs subtitles in seconds without manual guesswork.
- Works directly in your web browser with no installation needed.
- Handles messy foreign character encodings automatically.
- Requires the FFmpeg (a command-line tool for converting audio and video) utility installed on your system first.
- Advanced neural voice detection options need heavy extra downloads like PyTorch (a library for machine learning).
- Fails on mid-file scene cuts unless you use special experimental flags.
manual subtitle shifting in a media player
VLC media player
- kaegi/alass1.5k stars
A Rust-based subtitle synchroniser that uses dynamic programming to handle mid-file timing shifts.
- pums974/srtsync68 stars
A similar Python tool that uses WebRTC voice activity detection and Fast Fourier Transforms for alignment.
- snapcast/snapcast8.0k stars
A server and clients that play one audio stream in several rooms, kept in time with each other.
- MusicPlayerDaemon/MPD2.8k stars
A background music player with no interface of its own, controlled over a network by separate client programs.
- AcademySoftwareFoundation/OpenTimelineIO2.0k stars
An interchange format and library for editing timelines: the order and length of cuts, and references to the media, but not the media.
brew install ffmpeg pip install ffsubsync