r/sonarr • u/Embarrassed-Hawk967 • 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.
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?
4
u/Joloxx_9 4d ago
Is it just a variation of: https://github.com/lingarr-translate/lingarr ?