Repository navigation
Releases: burnersen/SuperSubtitler
Release list
SuperSubtitler v0.4.3
SuperSubtitler 0.4.3: built on GitHub, ready for code signing
Update with About → Update window and SuperSubtitler, or download both files into one folder.
Subtitling works exactly as in 0.4.2. This release is about where the exes come from.
- Built by GitHub Actions from the source in this repository, never on a private PC. A dry run checks the whole build without publishing anything.
- File properties: both exes now show the name SuperSubtitler and their version under right-click > Properties > Details.
- Code signing prepared: free code signing through the SignPath Foundation is applied for. Until it is active the exes stay unsigned. What would be signed, and what SuperSubtitler downloads (the runtime on first run, and the window's update check): code signing policy. Your videos never leave your PC.
SHA256SUMS.txtis now always made from the exact files that are published, so the window's updater checks against those.- License: GPL-3.0-only, and nothing else.
The exes are not code signed, so Windows SmartScreen may warn. Code signing policy
SuperSubtitler v0.4.2
SuperSubtitler 0.4.2 — MKV or MP4, and a quiet update
Update with About → Update window and SuperSubtitler (from 0.3.5 on), or download both files into one folder.
📦 MKV or MP4
- The video file can now be an MP4 instead of an MKV: in the window under Video file (Subtitle and Merge pages), on the command line with
-mp4, or for drag and drop ontoSuperSubtitler.exewithcontainer=mp4inSuperSubtitler_Config.ini(-mkvoverrides it for one run). - MP4 plays on more TVs, phones and browsers. The subtitles go in as MP4 text subtitles, language-tagged, the right one marked as default.
- When MKV is a must, you are told why instead of losing something: a file with tracks an MP4 cannot hold (Blu-ray/DVD picture subtitles, styled ASS subtitles, attached fonts, TrueHD or PCM sound) becomes an MKV anyway, and the reason is shown in the console and next to the file in the window. With Lean video file (
-lean) those extra tracks are left out, so many Blu-ray rips fit into an MP4 then. - Merges work the same way:
.joined.mp4or, when a track does not fit,.joined.mkvwith the reason. - An existing
.subbed.mp4counts as done, just like a.subbed.mkv.
🔄 Update without the flashing console
- Updating the window no longer flashes a console window with
pingin it, and no longer shows an error right before the restart. The new window starts directly and waits until the old one is closed. - This one time you may still see it: the update to 0.4.2 is still done by the old window. From then on it is quiet.
The exes are not code-signed; Windows SmartScreen may warn — "More info" → "Run anyway". Built by GitHub Actions.
SuperSubtitler v0.4.1
SuperSubtitler 0.4.1 — the best audio track of every language
Update with About → Update window and SuperSubtitler (from 0.3.5 on), or download both files into one folder.
🎚️ Automatic track choice
- Films often carry the same language several times — TrueHD 7.1, AC3 5.1, stereo, a commentary, an audio description. SuperSubtitler now listens to every track first and measures how well the speech model understands each one (how sure it is of what it hears — music, noise or a muddy mix lower that).
- Per language, the best-understood track is suggested and ticked (★). When two are about equally clear, the one with a centre channel (dialogue on its own), then a lossless format, then the higher bit rate wins. Commentaries and audio descriptions are never suggested.
- You confirm with one click or change the ticks; with Never ask (
-auto) the suggested tracks are taken directly. Use for all following files now takes the best track of each remembered language. - Console: Enter takes the suggested tracks,
alltakes every track. - The analysis takes a little longer for files with many tracks, since each one is listened to.
The exes are not code-signed; Windows SmartScreen may warn — "More info" → "Run anyway". Built by GitHub Actions.
SuperSubtitler v0.4.0
SuperSubtitler 0.4.0 — subtitles in your language
Download both files into one folder: SuperSubtitlerGUI.exe (the window) and SuperSubtitler.exe (the engine) — or, from 0.3.5 on, just press About → Update window and SuperSubtitler.
🔤 Translated subtitles
- New option "Also as subtitles in" (console:
-to:de,-to:fr,-to:de,es…): besides the subtitles in the spoken language, SuperSubtitler writes them in the chosen language too — own.srt, own MKV track with exactly the same timing, set as the default track. An English film gets German subtitles. - Translated on your PC by MADLAD-400 3B (Google, Apache 2.0), which translates between some 400 languages. Chosen by measurement against professional human translations (FLORES-200):
| English → | MADLAD-400 (chosen) | best alternative |
|---|---|---|
| German | chrF 67.7 | 63.8 (OPUS-MT) |
| French | 72.7 | 72.2 (OPUS-MT big) |
| Spanish | 56.9 | 56.8 (OPUS-MT big) |
| Italian | 61.4 | 59.8 (OPUS-MT big) |
| Russian | 61.2 | — (German → Russian, translated directly: 56.3) |
It also covers every other language directly — the window offers 36 (German, French, Spanish, Italian, Portuguese, Dutch, Polish, Russian, Ukrainian, Turkish, the Nordic languages, Czech, Greek, Arabic, Hebrew, Hindi, Japanese, Korean, Chinese, Vietnamese, Indonesian …), any other by its code. The four measured above are the strongest; rarer languages translate less well. NLLB was left out: its licence forbids commercial use.
- Sentences that run over several subtitles are translated as a whole and then shared out again, cut at a comma or sentence end where possible; dialogue lines keep their dashes. A translation that is longer than the original may use one more line rather than overflow.
- One-time download of 3 GB (from the project's mirror first, checked like everything else) the first time you translate. Quick with an NVIDIA card; on the processor alone it is very slow (roughly as long as the film).
- Machine translation is good, not perfect — names, jokes and wordplay can go wrong.
- CI checks the translation quality on every change.
🔧 Also
- With a source that already has subtitle tracks, the language tag and the default flag went to the wrong tracks in the MKV; fixed.
- Junk the SRT cleaner removes is no longer translated.
The exes are not code-signed; Windows SmartScreen may warn — "More info" → "Run anyway". Built by GitHub Actions.
SuperSubtitler v0.3.5
SuperSubtitler 0.3.5 — one button updates everything
Download both files into one folder: SuperSubtitlerGUI.exe (the window) and SuperSubtitler.exe (the engine).
🔄 Update window and SuperSubtitler at once
- About → "Update window and SuperSubtitler" now brings both files to the newest release — no more fetching the window from GitHub by hand.
- Every download is checked against the release's checksums before it replaces anything; SuperSubtitler.exe is also test-started first and the old one kept as a backup.
- The window replaces itself and restarts on its own; after the restart it says which version it is now.
- On start the window quietly looks whether a newer release exists and tells you — nothing is downloaded without your click.
This one time you still need to download SuperSubtitlerGUI.exe 0.3.5 yourself (the older window only knew how to update SuperSubtitler.exe). From then on, one click is enough.
The exes are not code-signed; Windows SmartScreen may warn — "More info" → "Run anyway". Built by GitHub Actions.
SuperSubtitler v0.3.4
SuperSubtitler 0.3.4 — subtitles that follow the sentences
Download both files into one folder: SuperSubtitlerGUI.exe (the window) and SuperSubtitler.exe (the engine).
📐 Better subtitles
- One sentence, one subtitle. A subtitle now ends at the end of a sentence where it can, instead of closing with the first words of the next one. Very short sentences ("Yes. I know.") stay together.
- Too long? Cut at the sentence. When a subtitle has to be split, the cut comes after the last full sentence (or else the last comma) in it.
- Line breaks at the pause. The break between the two lines prefers the end of a sentence or a comma.
- Lines never get too long. A subtitle could end up with a line of 45 characters although 42 were allowed; that is fixed.
⚡ Without an NVIDIA card
- SuperSubtitler notices the missing card up front: the 1.3 GB of CUDA libraries are not downloaded, and the processor starts right away instead of failing on the graphics card first.
The exes are not code-signed; Windows SmartScreen may warn — "More info" → "Run anyway". Built by GitHub Actions.
SuperSubtitler v0.3.3
SuperSubtitler 0.3.3 — no source archive inside the EXE
Download both files into one folder: SuperSubtitlerGUI.exe (the window) and SuperSubtitler.exe (the engine).
📦 Smaller and tidier
SuperSubtitler.exeno longer carries its own source code and no longer writes asrc\folder on first run. The source of every version is on GitHub: in the repository, and on every release page as a download of exactly that version (the "Source code" files below).- A
src\folder left by an earlier version is no longer used — you can delete it.
Nothing else changes; settings, models and the runtime stay as they are.
The exes are not code-signed; Windows SmartScreen may warn — "More info" → "Run anyway". Built by GitHub Actions.
SuperSubtitler v0.3.2
SuperSubtitler 0.3.2 — speaker changes: more quick replies, much faster
Download both files into one folder: SuperSubtitlerGUI.exe (the window) and SuperSubtitler.exe (the engine).
🗨️ “Mark speaker changes” works differently now
- Testing showed the weak spot: two people speaking quickly one after the other often went unnoticed — one subtitle, two speakers, no “- ” lines.
- The reason: until now the voices were told apart across the whole film. That needs plenty of speech per person, so a one-second reply was simply counted to whoever spoke before.
- Subtitles never show who speaks, only where the voice changes. So that is all SuperSubtitler looks for now: the pyannote segmentation model, trained exactly for this, judges every second about nine times, and a change counts where enough of those looks agree.
- Measured on hand-labelled recordings (66 minutes of debates and news, 1–11 speakers):
| changes found | quick replies found | found changes that are real | |
|---|---|---|---|
| 0.3.1 | 67 % | 46 % | 73 % |
| 0.3.2 | 74 % | 59 % | 73 % |
- About 8 times faster: a 2-hour film needs roughly 2 minutes instead of 10–15.
- Smaller: only a 6 MB model; sherpa-onnx and the speaker embedding are no longer needed.
- New setting How sure a speaker change must be (
speaker_change_threshold, 0.15 measured best). The old speaker settings of 0.3.0/0.3.1 are replaced automatically. - Honest limit: quick replies are the hardest case for every system; about 4 in 10 of them still go unnoticed.
The exes are not code-signed; Windows SmartScreen may warn — "More info" → "Run anyway". Built by GitHub Actions.
SuperSubtitler v0.3.1
SuperSubtitler 0.3.1 — speaker recognition, measured and tuned
Download both files into one folder: SuperSubtitlerGUI.exe (the window) and SuperSubtitler.exe (the engine).
🗨️ Speaker changes: four times fewer mistakes
- “Mark speaker changes” (
-speakers) is now measured: a new test runs it on 66 minutes of hand-labelled debates and news with 1 to 11 speakers (VoxConverse) and scores every result. - Six speaker models at many settings were compared. The winner, 3D-Speaker ERes2Net at
speaker_threshold0.95, gets it wrong 10.8 % of the time — 0.3.0's model at 0.5 got 44 %, mostly by splitting one person into several (which meant “- ” lines where only one person spoke). - The new model (26 MB) is downloaded once, pinned and checked like everything else, from the project's own mirror first.
- If your settings still hold 0.3.0's default (
speaker_threshold=0.50), it is moved to the new default automatically; a value you chose yourself stays. The Settings page shows the new recommended range (0.85–1.05). - CI now checks the error rate on every change to the speaker recognition, so it cannot quietly get worse.
The exes are not code-signed; Windows SmartScreen may warn — "More info" → "Run anyway". Built by GitHub Actions.
SuperSubtitler v0.3.0
SuperSubtitler 0.3.0 — who is speaking?
Download both files into one folder: SuperSubtitlerGUI.exe (the window) and SuperSubtitler.exe (the engine).
🗨️ Speaker changes in the subtitles
- New option “Mark speaker changes” (console:
-speakers): the voices are told apart, and a new subtitle starts when the speaker changes. - A quick exchange of two speakers shares one subtitle as
-lines, the way professional subtitles show dialogue — only when both lines are complete and short enough, never a cut-off sentence. - Runs on the processor while the graphics card already works on the next file. Each file shows how many speakers were found. If the recognition ever fails, you still get the subtitle, just without the marks.
- Know the cast?
-speakers:N(or Number of speakers in Settings) fixes the count; How readily voices count as different tunes the automatic one. - Uses sherpa-onnx 2.0.1 with the pyannote segmentation 3.0 and 3D-Speaker CAM++ models — pinned and SHA-256-checked like everything else, from the project's own mirror first. Downloaded once (about 55 MB) the first time you use it; nothing else is reinstalled.
🈶 Chinese and Japanese subtitles
- Words are no longer separated by spaces that do not belong there, lines break between characters and never start with punctuation, and the line length counts characters (it used to count bytes, so lines were cut far too short).
The exes are not code-signed; Windows SmartScreen may warn — "More info" → "Run anyway". Built by GitHub Actions.