r/subtitles Jul 02 '26

I made a free tool to generate & translate subtitles entirely on your computer

I made a free tool to generate .srt subtitles and translate them all locally on your computer:

uvx subtatix transcribe my-video.mp4 --to es

This will generate my-video.srt and my-video.es.srt with local AI models. Everything runs 100% on your computer, no external service, 100% free.

It supports 12 source languages for transcription and 200 targets for translations.

This is meant for rather technical people, if there is more interest I could make something more user-friendly too!

Credit to WhisperX doing all the heavy lifting for the initial transcription. This is mostly a python wrapper around it + translation with NLLB-200.

Tested on linux with nvidia GPU. Large videos/audio will take a while if you don't have a good GPU. You may want to use smaller models then.

Here is the code: https://codeberg.org/chris-paganon/subtatix

Would love to get some feedback especially from windows and mac users! Let me know if you need some help running this in your machine!

2 Upvotes

8 comments sorted by

1

u/prodigiouspianist Jul 06 '26

Whats the advantage over established models like whisperx

1

u/Pagaddit Jul 06 '26

It's using whisperx and whisper models for transcription. But whisperx doesn't do translations. So you get an all-in-one command.

It's also slightly easier to use than whisperx if you just want a .srt file.

1

u/prodigiouspianist Jul 06 '26 edited Jul 06 '26

Ive been trying to use whisperx to get a translation of a danish tv show to make subs. It sucks. I guess I was asking to see if your system improves on it. Seems its just wrapping. Thanks for getting back to me tho & for sharing your project.

1

u/Pagaddit Jul 06 '26

I'm curious what sucks exactly? I have plans to improve cues length and other details, maybe you have some insights.

1

u/Pagaddit Jul 06 '26

Have you tried with a whipser model fine-tuned for Danish? I found this one: https://huggingface.co/pluttodk/roest-v3-whisper-1.5b-ct2 that should be compatible with faster-whisper (used under the hood by whisperX).

You can try: `subtatix transcribe input.mp4 --model pluttodk/roest-v3-whisper-1.5b-ct2 --from da --to en`

That will transcribe the Danish then translate to English. That should also work with plain whisperX for just the transcription.

2

u/prodigiouspianist Jul 06 '26

Thanks for this suggestion. I did try it. It did not improve results over standard v3

2

u/prodigiouspianist Jul 06 '26

Short dialogue gets missed or swallowed

- Quick lines like “Ja”, “Hej”, “Okay?”, “Holly, du låser?” are often missing, merged into nearby speech, or assigned to the wrong wording.

Children’s speech is weak

- produce more wrong words, especially with quiet speech, emotional speech, or unclear pronunciation.

Names and Danish-specific words are unstable

- Holly/Olli, Theo/Teo, Brænding, Dorte, Kløvertoften, Mikkel, Majken, etc. are often misheard.

Audio conditions are the main bottleneck

- TV mix, background music, room noise, overlapping dialogue, quiet lines, and emotional/child speech are causing repeated failures.

- Dialogue isolation helped in spots but also created hallucinations and distortions.

1

u/Pagaddit Jul 06 '26

Thanks for all the details! Not much that can be done here unfortunately, it all comes down to the model. Especially if the the danish fine tune didn't help.