Skip to content

Releases: junqueirach/srt-studio

SRT Studio v0.10.0

Choose a tag to compare

@junqueirach junqueirach released this 18 Oct 12:47

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 .bak first 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.

SRT Studio v0.9.1

Choose a tag to compare

@junqueirach junqueirach released this 16 Oct 10:14

Fix and polish release after v0.9.0. Source only: there is no Windows build for 0.9.1.

Windows users

Keep using v0.9.0: SRT-Studio-0.9.0-win64.zip (about 26 MB, release notes with the SHA-256). The next Windows build comes with v0.10.0 (subtitle sync). To try 0.9.1 now, run it from source with Python (see the README's Quick start).

Fixed

  • A run that fails is no longer reported as finished. With a rejected API key, v0.9.0 saved the untranslated text under the AI notice and said "Translation finished". Now an error that retrying cannot fix (rejected key, model not found, refused request, MyMemory daily limit) stops the run: no file is written, no AI notice is added, and a Translation failed message says what happened and what to do. A run in which nothing was translated (e.g. no connection) ends the same way
  • Partial failures are counted honestly: "N of M translated", the blocks kept in the source language are named and marked ⚑
  • MyMemory: no connection or the daily limit is reported instead of keeping the source text or saving the warning as a translation
  • MyMemory AI notice fully in the target language: "Legendas traduzidas por IA (MyMemory)"
  • The divider's double-arrow cursor no longer stays on over the whole window
  • The "Install dependencies" question (running from source) has the app's name and icon and appears in front

Added

  • About window (Help ▾ › About, or click the logo): author, contact, GitHub, Reddit r/SRTStudio, licence; Copy copies the version details for bug reports
  • Help ▾ menu: Help (F1), Translation engines, Check for updates…, About
  • Check for updates: asks GitHub for the latest release (nothing else is sent, nothing is downloaded); optional check at start, at most once a day, off by default
  • Dark title bar on Windows 10 and 11 (Settings → General → WINDOW, on by default)

Changed

  • Title-bar icon without the dark square (transparent bubble); taskbar, Alt+Tab and the exe keep the tile
  • Subtitles table: Source uses the full width before a run; Source and Translation share it once translations arrive
  • Detail strip in the app font; "from the middle" box no longer clipped; price override file shown with its status, Open folder and Copy path
  • User-Agent SRT-Studio/<version>

Tests: 148 (142 run in CI on Ubuntu with Python 3.10 and 3.12; 6 window tests need a display and are skipped there). Full list in CHANGELOG.md.

SRT Studio v0.9.0

Choose a tag to compare

@junqueirach junqueirach released this 15 Oct 22:55

SRT Translator is now SRT Studio. New name, new layout, every text subtitle format and source repair. The repository moved to junqueirach/srt-studio (old links redirect).

Download (Windows 10/11, 64-bit)

SRT-Studio-0.9.0-win64.zip (about 26 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: 26E47D204CF9AF9083EDDFD512AA37F2994B13E203435703119988A23F77FBB8

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.

Your SRT Translator settings (API key, names, catalog) are imported once on the first start; the old settings file is left unchanged.

What's new

  • All text subtitle formats: SRT, ASS/SSA (styles, positions and comments kept), WebVTT, MicroDVD, SAMI, TTML, MPL2/TMP. Output in the source's own format or always SRT. Picture subtitles (PGS .sup, VobSub) are refused with a clear message
  • Source check and repair: text without a timing line, unreadable or reversed timings, zero durations, overlaps, wrong order, bad numbering, ad and credit lines. Review…, Repair and Save repaired copy… (a .bak is written first)
  • "Translated by AI" notice in the target language at the start of the output (on by default, configurable)
  • 32 languages, detected by alphabet first and then by common words
  • New layout: toolbar, adjustable divider, one Subtitles table with filters and search, status bar, app icon, sharper text on high-DPI screens
  • Recent files, sample from the middle, estimate vs actual cost in the Log, output encoding option, Save log, Open folder

Fixed

  • Millisecond values with a leading zero (,048) were read as 480 ms
  • Text after a blank line inside a block was dropped by the SRT parser
  • MicroDVD files that declare their frame rate lost their first line

Full list in CHANGELOG.md.

Known issue

With an invalid or rejected API key every batch fails, but the app still reports "Translation finished" and saves the untranslated text with the AI notice at the top. Check that the key works first (run a 20-block Sample, or look at the Log for "HTTP 401"). A fix is planned for 0.9.1.

Build

PyInstaller one-folder build with Python 3.12, tested on Windows 11 (launch, offline features, Claude error handling, MyMemory translation, settings persistence, zip integrity). Bundled packages are under MIT, BSD, Apache-2.0, MPL-2.0 and PSF licences; no GPL or AGPL components.

SRT Translator v0.8.0

Choose a tag to compare

@junqueirach junqueirach released this 10 Oct 20:27

SRT Translator 0.8.0: one-screen redesign

Download SRT-Translator-0.8.0-win64.zip, unzip it, open the SRT Translator folder and double-click SRT Translator.exe. No Python needed. Keep the whole folder together. For the Claude engine you need your own API key from console.anthropic.com; it is stored only on your PC.

SHA-256 of the zip:
1E3644868025F1EEDA902BBC00101C6B924FC31E885E5060BCC9225B9472CBF0

Highlights

  • New one-screen layout: File, Languages and Engine, with batch size, workers and options under a collapsible Advanced section
  • Cost estimate, Start, Sample, Cancel and the progress bar always visible at the bottom
  • Languages side by side with a swap button; engine as a Claude / MyMemory toggle with the model beside it
  • New Settings dialog for the API key, catalog refresh and file locations
  • Preserve-names list moved to a full-height Names tab
  • Tooltips instead of hint text; the status line says the next step
  • Window size, position and the Advanced state are remembered
  • Fixed: the mouse wheel no longer changes drop-downs while scrolling

The translation engine, quality control and pricing are unchanged from 0.7.0. Full list in the changelog.

Notes

  • The exe is not code-signed. Windows SmartScreen may warn: click More info, then Run anyway. Antivirus software may analyse a new unsigned program on first start, which can make it slow to open once.
  • Built with PyInstaller 6.22 on Python 3.12. Tested on Windows: launch, drag and drop registration, offline parsing and cost estimate, error handling with an invalid key, translation with the free MyMemory engine, settings persistence.
  • Bundled components are MIT, BSD, Apache-2.0, MPL-2.0 or PSF licensed. No GPL or AGPL.
  • Place a pricing.json next to SRT Translator.exe to override prices (see pricing.example.json).

SRT Translator v0.7.0

Choose a tag to compare

@junqueirach junqueirach released this 09 Oct 13:21

SRT Translator 0.7.0: quality-control release

Download SRT-Translator-0.7.0-win64.zip, unzip it, open the SRT Translator folder and double-click SRT Translator.exe. No Python needed. Keep the whole folder together. For the Claude engine you need your own API key from console.anthropic.com; it is stored only on your PC.

SHA-256 of the zip:
8545EBB07D082B43885A28A3523B11BFB9CE41A7B677CEABF31D8BB6C55D03D6

Highlights

  • Quality-control pass after every run: unchanged text, missing lines, lost tags and missing names are flagged and repaired automatically
  • Live model list and live pricing, exact token count and the real cost of each run
  • Hearing-impaired cues ([door slams], (laughs)) translated in their original style
  • Preserve-names list with auto-detect, a 20-block Sample, formatting tags protected
  • A more robust protocol (JSON with fixed line lists), so merged or dropped blocks no longer shift the rest of the file
  • Fixed: drag and drop, which never worked since v0.6.0

Full list in the changelog.

Notes

  • The exe is not code-signed. Windows SmartScreen may warn: click More info, then Run anyway. Antivirus software may analyse a new unsigned program on first start, which can make it slow to open once.
  • Built with PyInstaller 6.22 on Python 3.12. Tested on Windows: launch, drag and drop registration, offline parsing and cost estimate, error handling with an invalid key, translation with the free MyMemory engine, settings persistence.
  • Bundled components are MIT, BSD, Apache-2.0, MPL-2.0 or PSF licensed. No GPL or AGPL.
  • Place a pricing.json next to SRT Translator.exe to override prices (see pricing.example.json).

SRT Translator v0.6.0

Choose a tag to compare

@junqueirach junqueirach released this 01 Oct 14:48
11766de

Current stable build of SRT Translator: translate .srt subtitles with Claude or MyMemory while keeping timing and structure intact.

Source release. Run from source with Python 3.9+ (see the README). A Windows .exe build is attached.

Every earlier version is kept in archive/versions/.