
In simple English
This tool listens to your movies and TV shows, and then writes subtitle files for them. It runs completely on your own computer or server, so nothing is sent to an outside company. You can connect it to media servers like Plex or Jellyfin so it makes subtitles the moment new media arrives. It can also work with Bazarr to supply missing subtitles automatically. It costs nothing in subscription fees, but needs a computer with enough memory to run an artificial intelligence model.
What it is
Subgen is a self-hosted (running on your own hardware rather than a rented cloud service) application that turns spoken words into subtitle files using the Whisper speech recognition model. It listens for webhooks (automated notification messages sent between web services) from popular media managers or exposes an API (a way for different programs to talk to each other) for subtitle applications.
What it is good for
This is useful for solo builders and home server enthusiasts who want accurate subtitles for media files that lack them, without paying for cloud transcription services.
- Runs entirely on your own hardware with no cloud fees or data sharing.
- Integrates directly with Bazarr, Plex, Jellyfin, Emby, and Tautulli.
- Supports both CPU processing and Nvidia GPU acceleration for faster results.
- Requires Docker and some technical knowledge to configure environment variables.
- Artificial intelligence transcription needs a significant amount of memory or video RAM to run well.
- Mistranslations or hallucinations can occasionally happen due to background noise in audio tracks.
manually downloading subtitles or paying for cloud transcription APIs
Bazarr
- ahmetoner/whisper-asr-webservice3.4k stars
Another self-hosted Whisper transcription service with an API, but lacking the deep media server webhook integrations of Subgen.
- openai/whisper111k stars
The underlying speech recognition model created by OpenAI, which requires writing custom scripts rather than using a ready-made media server companion.
- snapcast/snapcast8.0k stars
A server and clients that play one audio stream in several rooms, kept in time with each other.
- MusicPlayerDaemon/MPD2.8k stars
A background music player with no interface of its own, controlled over a network by separate client programs.
- AcademySoftwareFoundation/OpenTimelineIO2.0k stars
An interchange format and library for editing timelines: the order and length of cuts, and references to the media, but not the media.
docker run -d \ --name subgen \ -p 9000:9000 \ -e TRANSCRIBE_DEVICE=cpu \ mccloud/subgen:latest