Repository navigation
Sync is here. SRT Studio now fixes subtitles that are too early, too late, drift or were made for another cut of the film, against another subtitle, the video's audio or a track inside a video. It also takes subtitles straight from MKV/MP4 files.
Download (Windows 10/11, 64-bit)
SRT-Studio-0.10.0-win64.zip (about 40 MB). Unzip it, open the SRT Studio folder and double-click SRT Studio.exe. No Python needed. For the Claude engine you need your own Anthropic API key (⚙ Settings).
SHA-256: DADFED1007540D57D0390E3DD12CFB77EC11DD4B050CAA0C74CA0F8A9CC06081
Windows SmartScreen: the exe is not code-signed, so Windows may show "Windows protected your PC". Click More info, then Run anyway. The first start from a new folder can take up to a minute while antivirus scans it; later starts take a few seconds.
FFmpeg (needed only for sync to the video and for subtitles inside videos) is not bundled. The first time a feature needs it, the app offers to download the LGPL build (about 81 MB, checked against a fixed SHA-256, stored in ~/.srt_studio/tools/ffmpeg), or lets you choose an ffmpeg.exe you already have.
What's new in 0.10.0
- Sync tab (Ctrl+3): Automatic (to another subtitle, to the video, to a track inside a video), Check (one file or a whole folder) and Fine-tune by hand (Shift, Frame rate, Two points), with one verdict and a Fix it button, a preview of the new times and a timeline
- To another subtitle in any language (only the timing is compared): constant offset, frame-rate drift, cuts and inserted scenes, uneven timing. A reference from another film gives "? Cannot tell" instead of a wrong fix; low confidence asks before applying
- To the video's audio: speech is found in the centre channel of 5.1/7.1 sound and the subtitle is matched to it; the result is cached per video
- Subtitles inside videos: open an MKV, MP4, MOV, WEBM or AVI and pick a text track to translate, to use as the sync reference or to save as a file (ASS stays ASS). The video is never changed
- Check on load: a newly opened subtitle is compared with another subtitle of the same film next to it (report only)
- Apply / Undo sync, Save synced copy… (a
.bakfirst when it replaces the original) and a Sync report
Also in this build (from the source-only 0.9.1)
0.9.1 had no Windows build, so these reach the exe for the first time:
- A failed run is no longer reported as finished: with a rejected API key, a missing model or the MyMemory daily limit the run stops, no file is written and no AI notice is added, and a Translation failed message says what to do. Partial failures are counted honestly. This fixes the known issue of 0.9.0
- About window, Help ▾ menu, optional Check for updates (off by default), dark title bar
Full list in CHANGELOG.md.
Known limits
- Against the video's audio, offset and speed are found reliably; cuts, longer intros and inserted scenes only sometimes (speech detection also hears music and effects). For another version of the film, sync to a subtitle of that version
- Picture subtitle tracks (PGS, VobSub) are listed but need OCR, which is not supported
Build
PyInstaller one-folder build with Python 3.12, tested on Windows 11: launch, every window and tab, Claude error handling with a fake key, MyMemory translation, the FFmpeg download (cancel, checksum), sync to a subtitle and to the video's audio on real films, subtitle tracks from an MKV, settings persistence and zip integrity. 224 automated tests pass. Bundled packages are under MIT, BSD, Apache-2.0, MPL-2.0 and PSF licences; no GPL or AGPL components. FFmpeg is downloaded separately under the LGPL.