r/sonarr 5d ago

discussion Babel v2.5 beta is out — automatic subtitle fallback for Sonarr + Bazarr

I’ve been building Babel, a self-hosted subtitle automation service designed to work alongside Sonarr, Radarr and Bazarr.

The goal is connect and forget.

Once configured, Babel sits in the background and only steps in when your normal subtitle workflow can’t find what you need.

The basic flow is:

Sonarr imports an episode → Bazarr searches for the target subtitle → Babel uses AI only if that search fails.

In Hybrid Mode, Bazarr searches for a proper human-made subtitle while Babel prepares a usable embedded or external source subtitle in parallel.

If Bazarr finds the target subtitle, Babel uses it and no AI translation happens.

If it doesn’t, Babel can translate the prepared source, recover problematic cues, validate the result and only publish it once it passes QA.

AI is the fallback, not the default workflow.

What’s new in v2.5

  • OpenRouter support
  • DeepSeek support
  • Plex library refresh support
  • Reworked AI provider and model handling
  • Improved source subtitle selection and preparation
  • Better translation recovery
  • Improved QA and validation
  • Better AI usage and queue tracking

Supported providers

Gemini, OpenAI, DeepL, Ollama, OpenRouter and DeepSeek.

Other features

  • Sonarr and Radarr webhook automation
  • Bazarr integration
  • Embedded subtitle extraction with ffmpeg and mkvextract
  • External subtitle fallback
  • Exact timestamp preservation
  • Detection of dropped or broken cues
  • Wrong-language and untranslated-dialogue checks
  • Automatic recovery before publishing
  • Atomic subtitle publishing
  • Remote Path Mapping
  • Jellyfin and Plex library refresh
  • Docker deployment

The idea is that you should be able to connect Babel to the services you already use, configure it once, and then leave it running in the background.

GitHub: https://github.com/hugomossberg/Babel

Docker: ghcr.io/hugomossberg/babel:beta

Current release: v2.5.0-beta

It’s still in public beta, so feedback from people running it against real Sonarr libraries is very useful.

If you hit problems with embedded tracks, source selection, missing languages, broken subtitles or the fallback logic itself, feel free to open an issue.

10 Upvotes

14 comments sorted by

4

u/Joloxx_9 4d ago

Is it just a variation of: https://github.com/lingarr-translate/lingarr ?

1

u/Embarrassed-Hawk967 4d ago

Not really. They overlap in that both can translate subtitles with AI, but Babel is built around a different workflow.

Babel is meant to sit alongside Sonarr, Radarr and Bazarr and only step in when the normal subtitle workflow can’t provide the target language. It can extract embedded source subtitles, clean SDH, use Bazarr results when available, translate as a fallback, run QA/recovery and publish the final subtitle automatically.

So there’s definitely some overlap with Lingarr, but Babel isn’t a fork or variation of it. The main focus is the automated “connect and forget” pipeline.

2

u/Joloxx_9 4d ago

I mean exactly that can be achieved with lingarr and bazzar. I have profile with 2 languages on the bazarr, if it can't get me second lang then lingsrr does step in and translate it, bazzar can pull out embedded subs. Anyway I will try it and see if it will be applicable with myself

3

u/Embarrassed-Hawk967 4d ago

Yeah, that’s fair. You can definitely build a similar workflow with Lingarr + Bazarr.

Babel is more about having that whole fallback flow handled in one place, including source selection, embedded extraction, SDH cleanup, translation, recovery/QA and publishing.

But give it a try and see if it fits your setup. Feedback from someone already using Lingarr/Bazarr would actually be really useful.

3

u/ChaseDak 5d ago

How does this differ from the whisper provider in Bazarr?

4

u/Embarrassed-Hawk967 5d ago

Whisper in Bazarr generates subtitles from the audio itself. Babel takes a different approach.

It lets Bazarr do its normal search first, and if the subtitle you want still can’t be found, Babel can take an existing embedded or external subtitle and translate it while keeping the original timing and structure.

It also handles recovery and QA before publishing, and you can choose between several AI providers and target languages.

So rather than replacing Bazarr, Babel is meant to sit behind it as a more complete fallback for the cases Bazarr can’t solve on its own.

1

u/Melodic_Letterhead76 3d ago

You keep mentioning "can't be found" via bazaar but that has no accounting for use case of subtitles that ARE found (the file exists) but are incorrect/out of sync/etc, right?

In this scenario babel does nothing because it assumes bazaar worked?

1

u/Embarrassed-Hawk967 2d ago

That's a valid case. Bazarr already has minimum-score and subtitle synchronization settings, so I'd recommend using a reasonably high minimum score when running it with Babel.

Babel currently assumes that a target subtitle Bazarr accepts is usable, but I agree that doing some additional validation before accepting it would be useful. A clearly broken, wrong-language or otherwise invalid subtitle could then be rejected and Babel would continue with its fallback instead.

2

u/OpeningSituation4089 4d ago

Thank you for this tool, it looks really interesting!

I’d just like to know if it could meet my needs. I mainly watch my media in French, so I generally don’t have any issues with full subtitles, as they are often already included in the original files.

However, I have a lot more trouble with forced subtitles. Does your tool make it easy to create a forced subtitles track?

1

u/Embarrassed-Hawk967 4d ago

Thanks! This is actually an interesting use case.

Babel doesn’t currently have a dedicated forced-subtitle mode, so I don’t want to say it can fully handle that yet.

If a forced track already exists in the media, detecting and extracting it would be a fairly natural addition. Creating a forced-only track from a normal full subtitle is also something I’m interested in, although that requires reliably deciding which lines should actually be forced.

I’ll keep this in mind as a possible feature. It would fit Babel quite well.

1

u/AutoModerator 5d ago

Hi /u/Embarrassed-Hawk967 - You've mentioned Docker [Docker], if you're needing Docker help be sure to generate a docker-compose of all your docker images in a pastebin or gist and link to it. Just about all Docker issues can be solved by understanding the Docker Guide, which is all about the concepts of user, group, ownership, permissions and paths. Many find TRaSH's Docker/Hardlink Guide/Tutorial easier to understand and is less conceptual.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

2

u/guilhermerrrr 1d ago

I'd like to give it a try using Ollama, which model do you recommend? I have a 3060 Ti and need to translate EN -> Portuguese Brazilian.

1

u/Embarrassed-Hawk967 1d ago edited 1d ago

I’d start with Qwen2.5 on a 3060 Ti. It should fit well and is a solid choice for EN → Brazilian Portuguese.

Ollama support is available in the current beta, although I haven’t tested as many local model/GPU combinations as the cloud providers yet.

Proper PT-BR support has also been added for the next beta, so Brazilian Portuguese will be handled separately from regular Portuguese once that release is out. I’d definitely be interested to hear how Ollama performs on your setup.

-5

u/BioQuantumComputer 5d ago

Is there any sonaar alternative that can run entirely on Android device. And sync with existing tor clients?