abogen
An audiobook generator: feed it an ePub, PDF, TXT, MD or subtitle file and it returns narrated audio with synchronized captions. denizsafak, MIT, 5.5k stars, 406 forks, with the Web UI largely contributed by jeremiahsb.
It runs on kokoro — the 82M-parameter model this spoke already holds as the efficiency leader — which makes it the clearest instance yet of the pattern vocalinux started: a TTS consumption layer, an application that supplies everything around a model and no model of its own.
What it does
- In: ePub, PDF, TXT, MD, SRT, ASS, VTT.
- Out: WAV, FLAC, MP3, OPUS, and M4B with chapters — the audiobook-native container, not just an audio file.
- Captions in SRT or ASS, segmented by sentence, word count, or comma.
- Chapter detection and splitting for ebooks, a voice mixer for blending the preset voices, batch queue processing, speed from 0.1× to 2.0×, and offline operation once models are pre-downloaded.
- Two front ends: a PyQt6 desktop app (
abogen) for the stable core, and a Flask web UI (abogen-web) carrying the newer features — LLM-assisted text normalization and an Audiobookshelf integration.
Nine languages, matching Kokoro’s coverage: American and British English, Spanish, French, Hindi, Italian, Japanese, Brazilian Portuguese, and Mandarin.
What it tells this spoke
The model’s limits become the product’s limits, and that is the interesting part. kokoro‘s recorded tradeoff is efficiency bought by dropping voice-cloning — 54 preset voices, no custom speaker. abogen inherits that exactly and answers it with a voice mixer: blend the presets instead of cloning a target. That is a genuinely different design from the cloning-first tools this spoke holds, and it is downstream of a decision made in the model, not the app.
The hard parts are not the synthesis. Chapter detection, M4B chaptering, caption alignment, PDF and ePub extraction, text normalization — none of that is TTS, and all of it is what stands between a model and an audiobook. The spoke’s sources have mostly measured models on naturalness and Elo; nothing measures the layer that actually ships them, and this is the second application-layer source (vocalinux being the first, on the STT side) to make that visible.
LLM-assisted normalization is worth flagging on its own: the pipeline now has a language model in front of the speech model, cleaning text before synthesis. That is a quality lever sitting entirely outside the TTS benchmarks this spoke tracks.
Not measured
No naturalness scores, no benchmark, no comparison to other audiobook pipelines — it is a tool, not an evaluation. Star count and format support are what it evidences.
Related
kokoro · vocalinux · open-weight-tts · voice-cloning · text-to-speech