@wsl8297: Want to turn ebooks or documents into audiobooks? Many tools sound too robotic or lack subtitle sync, leaving you frustrated. Then I found the open-source project Abogen: it supports ePub, PDF, plain text, etc., one-click conversion to high-quality audio with auto-generated synchronized subtitles. It uses Kokoro voice at its core…

X AI KOLs Timeline Tools

Summary

Abogen is an open-source tool that can convert documents like ePub and PDF into high-quality audio with one click, automatically generating synchronized subtitles. It supports a voice mixer and multiple deployment methods.

Want to turn ebooks or documents into audiobooks? Many tools either sound too robotic or don't support subtitle synchronization, leaving you unsatisfied after trying them all. Then I discovered the open-source project Abogen: it supports ePub, PDF, plain text, etc., converting them to high-quality audio with one click, and automatically generates synchronized subtitles. It uses the Kokoro voice model at its core, sounding more natural. In tests, 3000 characters of text took about 11 seconds to synthesize into roughly 3.5 minutes of audio — very efficient. GitHub: http://github.com/denizsafak/abogen… What's more fun is the built-in "voice mixer" that lets you blend different voices in proportion to create your own unique timbre. The subtitles are also impressive: supports per-sentence and per-word modes; you can even generate narrated audio directly from subtitle files, which is handy for short video voiceovers. Available as a desktop app and web version, with Docker deployment support. If you need to batch convert ebooks to audiobooks or produce subtitled voiceovers in bulk, Abogen is worth a try.
Original Article
View Cached Full Text

Cached at: 05/24/26, 08:37 PM

Want to turn ebooks or documents into audiobooks? Many tools either sound too robotic or don’t support subtitle syncing — you end up tinkering without satisfaction. Then I discovered the open-source project Abogen: it supports ePub, PDF, plain text, etc., converts them to high-quality audio with one click, and automatically generates synced subtitles. It uses the Kokoro voice model underneath, giving a more natural sound. In a test, a 3000-character text took about 11 seconds to synthesize roughly 3.5 minutes of audio — great efficiency. GitHub: http://github.com/denizsafak/abogen… What’s even cooler is the built‑in “voice mixer” that lets you blend different voices by ratio to create your own unique timbre. Subtitles are also impressive: they support sentence‑level, word‑level, and other modes; you can even generate dubbed audio directly from subtitle files, which is handy for short‑video voice‑overs. It offers both a desktop app and a web version, and supports Docker deployment. If you need to batch‑convert ebooks into audiobooks or produce dubbed audio with subtitles in bulk, Abogen is worth a try. — # denizsafak/abogen Source: https://github.com/denizsafak/abogen # abogen Build Status (https://github.com/denizsafak/abogen/actions) GitHub Release (https://github.com/denizsafak/abogen/releases/latest) Abogen PyPi Python Versions (https://pypi.org/project/abogen/) Operating Systems (https://github.com/denizsafak/abogen/releases/latest) PyPi Total Downloads&color=blue) (https://pypi.org/project/abogen/) Code style: black (https://github.com/psf/black) License: MIT (https://opensource.org/licenses/MIT) Abogen is a powerful text-to-speech conversion tool that makes it easy to turn ePub, PDF, text, markdown, or subtitle files into high-quality audio with matching subtitles in seconds. Use it for audiobooks, voiceovers for Instagram, YouTube, TikTok, or any project that needs natural-sounding text-to-speech, using Kokoro-82M (https://huggingface.co/hexgrad/Kokoro-82M). ## Demo https://github.com/user-attachments/assets/094ba3df-7d66-494a-bc31-0e4b41d0b865 > This demo was generated in just 5 seconds, producing ∼1 minute of audio with perfectly synced subtitles. To create a similar video, see the demo guide (https://github.com/denizsafak/abogen/tree/main/demo). ## How to install? ### Windows Go to espeak-ng latest release (https://github.com/espeak-ng/espeak-ng/releases/latest) download and run the *.msi file. #### OPTION 1: Install using script 1. Download (https://github.com/denizsafak/abogen/archive/refs/heads/main.zip) the repository 2. Extract the ZIP file 3. Run WINDOWS_INSTALL.bat by double-clicking it This method handles everything automatically - installing all dependencies including CUDA in a self-contained environment without requiring a separate Python installation. (You still need to install espeak-ng (https://github.com/espeak-ng/espeak-ng/releases/latest).) > [!NOTE] > You don’t need to install Python separately. The script will install Python automatically. #### OPTION 2: Install using uv First, install uv (https://docs.astral.sh/uv/getting-started/installation/) if you haven’t already. bash # For NVIDIA GPUs (CUDA 12.8) - Recommended uv tool install --python 3.12 abogen[cuda] --extra-index-url https://download.pytorch.org/whl/cu128 --index-strategy unsafe-best-match # For NVIDIA GPUs (CUDA 12.6) - Older drivers uv tool install --python 3.12 abogen[cuda126] --extra-index-url https://download.pytorch.org/whl/cu126 --index-strategy unsafe-best-match # For NVIDIA GPUs (CUDA 13.0) - Newer drivers uv tool install --python 3.12 abogen[cuda130] --extra-index-url https://download.pytorch.org/whl/cu130 --index-strategy unsafe-best-match # For AMD GPUs or without GPU - If you have AMD GPU, you need to use Linux for GPU acceleration, because ROCm is not available on Windows. uv tool install --python 3.12 abogen Alternative: Install using pip (click to expand) bash # Create a virtual environment (optional) mkdir abogen && cd abogen python -m venv venv venv\Scripts\activate # For NVIDIA GPUs: # We need to use an older version of PyTorch (2.8.0) until this issue is fixed: https://github.com/pytorch/pytorch/issues/166628 pip install torch==2.8.0+cu128 torchvision==0.23.0+cu128 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu128 # For AMD GPUs: # Not supported yet, because ROCm is not available on Windows. Use Linux if you have AMD GPU. # Install abogen pip install abogen ### Mac First, install uv (https://docs.astral.sh/uv/getting-started/installation/) if you haven’t already. bash # Install espeak-ng brew install espeak-ng # For Silicon Mac (M1, M2 etc.) uv tool install --python 3.13 abogen --with "kokoro @ git+https://github.com/hexgrad/kokoro.git,numpy<2" # For Intel Mac uv tool install --python 3.12 abogen --with "kokoro @ git+https://github.com/hexgrad/kokoro.git,numpy<2" Alternative: Install using pip (click to expand) bash # Install espeak-ng brew install espeak-ng # Create a virtual environment (recommended) mkdir abogen && cd abogen python3 -m venv venv source venv/bin/activate # Install abogen pip3 install abogen # For Silicon Mac (M1, M2 etc.) # After installing abogen, we need to install Kokoro's development version which includes MPS support. pip3 install git+https://github.com/hexgrad/kokoro.git ### Linux First, install uv (https://docs.astral.sh/uv/getting-started/installation/) if you haven’t already. bash # Install espeak-ng sudo apt install espeak-ng # Ubuntu/Debian sudo pacman -S espeak-ng # Arch Linux sudo dnf install espeak-ng # Fedora # For NVIDIA GPUs or without GPU - No need to include [cuda] in here. uv tool install --python 3.12 abogen # For AMD GPUs (ROCm 6.4) uv tool install --python 3.12 abogen[rocm] --extra-index-url https://download.pytorch.org/whl/nightly/rocm6.4 --index-strategy unsafe-best-match Alternative: Install using pip (click to expand) bash # Install espeak-ng sudo apt install espeak-ng # Ubuntu/Debian sudo pacman -S espeak-ng # Arch Linux sudo dnf install espeak-ng # Fedora # Create a virtual environment (recommended) mkdir abogen && cd abogen python3 -m venv venv source venv/bin/activate # Install abogen pip3 install abogen # For NVIDIA GPUs: # Already supported, no need to install CUDA separately. # For AMD GPUs: # After installing abogen, we need to uninstall the existing torch package pip3 uninstall torch pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.4 > See How to fix “CUDA GPU is not available. Using CPU” warning? > See How to fix “WARNING: The script abogen-cli is installed in ‘/home/username/.local/bin’ which is not on PATH” error in Linux? > See How to fix “No matching distribution found” error? > See How to fix “[WinError 1114] A dynamic link library (DLL) initialization routine failed” error? > Special thanks to @hg000125 (https://github.com/hg000125) for his contribution in #23 (https://github.com/denizsafak/abogen/issues/23). AMD GPU support is possible thanks to his work. ## Interfaces Abogen offers two interfaces, but currently they have different feature sets. The Web UI contains newer features that are still being integrated into the desktop application. | Command | Interface | Features | |———|———–|–––––| | abogen | PyQt6 Desktop GUI | Stable core features | | abogen-web | Flask Web UI | Core features + Supertonic TTS, LLM Normalization, Audiobookshelf Integration and more! | > Note: The Web UI is under active development. We are working to integrate these new features into the PyQt desktop app. until then, the Web UI provides the most feature-rich experience. > Special thanks to @jeremiahsb (https://github.com/jeremiahsb) for making this possible! I was honestly surprised by his massive contribution (https://github.com/denizsafak/abogen/pull/120) (>55,000 lines!) that brought the entire Web UI to life. # 🖥️ Desktop Application (PyQt) ## How to run? You can simply run this command to start Abogen Desktop GUI: bash abogen > [!TIP] > If you installed Abogen using the Windows installer (WINDOWS_INSTALL.bat), It should have created a shortcut in the same folder, or your desktop. You can run it from there. If you lost the shortcut, Abogen is located in python_embedded/Scripts/abogen.exe. You can run it from there directly. ## How to use? 1) Drag and drop any ePub, PDF, text, markdown, or subtitle file (or use the built-in text editor) 2) Configure the settings: - Set speech speed - Select a voice (or create a custom voice using voice mixer) - Select subtitle generation style (by sentence, word, etc.) - Select output format - Select where to save the output 3) Hit Start ## In action Here’s Abogen in action: in this demo, it processes ∼3,000 characters of text in just 11 seconds and turns it into 3 minutes and 28 seconds of audio, and I have a low-end RTX 2060 Mobile laptop GPU. Your results may vary depending on your hardware. ## Configuration | Options | Description | |———|———––| | Input Box | Drag and drop ePub, PDF, .TXT, .MD, .SRT, .ASS or .VTT files (or use built-in text editor) | | Queue options | Add multiple files to a queue and process them in batch, with individual settings for each file. See Queue mode for more details. | | Speed | Adjust speech rate from 0.1x to 2.0x | | Select Voice | First letter of the language code (e.g., a for American English, b for British English, etc.), second letter is for m for male and f for female. | | Voice mixer | Create custom voices by mixing different voice models with a profile system. See Voice Mixer for more details. | | Voice preview | Listen to the selected voice before processing. | | Generate subtitles | Disabled, Line, Sentence, Sentence + Comma, Sentence + Highlighting, 1 word, 2 words, 3 words, etc. (Represents the number of words in each subtitle entry) | | Output voice format | .WAV, .FLAC, .MP3, .OPUS (best compression) and M4B (with chapters) | | Output subtitle format | Configures the subtitle format as SRT (standard), ASS (wide), ASS (narrow), ASS (centered wide), or ASS (centered narrow). | | Replace single newlines with spaces | Replaces single newlines with spaces in the text. This is useful for texts that have imaginary line breaks. | | Save location | Save next to input file, Save to desktop, or Choose output folder | > Special thanks to @brianxiadong (https://github.com/brianxiadong) for adding markdown support in PR #75 (https://github.com/denizsafak/abogen/pull/75) > Special thanks to @jborza (https://github.com/jborza) for chapter support in PR #10 (https://github.com/denizsafak/abogen/pull/10) > Special thanks to @mleg (https://github.com/mleg) for adding Line option in subtitle generation in PR #94 (https://github.com/denizsafak/abogen/pull/94) | Book handler options | Description | |———|———––| | Chapter Control | Select specific chapters from ePUBs or markdown files or chapters + pages from PDFs. | | Save each chapter separately | Save each chapter in e-books as a separate audio file. | | Create a merged version | Create a single audio file that combines all chapters. (If Save each chapter separately is disabled, this option will be the default behavior.) | | Save in a project folder with metadata | Save the converted items in a project folder with available metadata files. | | Menu options | Description | |———|———––| | Theme | Change the application’s theme using System, Light, or Dark options. | | Configure max words per subtitle | Configures the maximum number of words per subtitle entry. | | Configure silence between chapters | Configures the duration of silence between chapters (in seconds). | | Configure max lines in log window | Configures the maximum number of lines to display in the log window. | | Separate chapters audio format | Configures the audio format for separate chapters as wav, flac, mp3, or opus. | | Create desktop shortcut | Creates a shortcut on your desktop for easy access. | | Open config directory | Opens the directory where the configuration file is stored. | | Open cache directory | Opens the cache directory where converted text files are stored. | | Clear cache files | Deletes cache files created during the conversion or preview. | | Use silent gaps between subtitles | Prevents unnecessary audio speed-up by letting speech continue into the silent gaps between subtitle entries. In short, it ignores the end times in subtitle entries and uses the silent space until the beginning of the next subtitle entry. When disabled, it speeds up the audio to fit the exact time interval specified in the subtitle. (for subtitle files). | | Subtitle speed adjustment method | Choose how to speed up audio when needed: TTS Regeneration (better quality) re-generates the audio at a faster speed, while FFmpeg Time-stretch (better speed) quickly speeds up the generated audio. (for subtitle files). | | Use spaCy for sentence segmentation | When this option is enabled, Abogen uses spaCy (https://spacy.io/) to detect sentence boundaries more accurately, instead of using punctuation marks (like periods, question marks, etc.) to split sentences, which could incorrectly cut off phrases like “Mr.” or “Dr.”. With spaCy, sentences are divided more accurately. For non-English text, spaCy runs before audio generation to create sentence chunks. For English text, spaCy runs during subtitle generation to improve timing and readability. spaCy is only used when subtitle mode is Sentence or Sentence + Comma. If you prefer the old punctuation splitting method, you can turn this option off. | | Pre-download models and voices for offline use | Opens a window that displays the available models and voices. Click Download all button to download all required models and voices, allowing you to use Abogen completely offline without any internet connection. | | Disable Kokoro’s internet access | Prevents Kokoro from downloading models or voices from HuggingFace Hub, useful for offline use. | | Check for updates at startup | Automatically checks for updates when the program starts. | | Reset to default settings | Resets all settings to their default values. | > Special thanks to @robmckinnon (https://github.com/robmckinnon) for adding Sentence + Highlighting feature in PR #65 (https://github.com/denizsafak/abogen/pull/65) ## Voice Mixer With voice mixer, you can create custom voices by mixing different voice models. You can adjust the weight of each voice and save your custom voice as a profile for future use. The voice mixer allows you to create unique and personalized voices. > Special thanks to @jborza (https://github.com/jborza) for making this possible through his contributions in #5 (https://github.com/denizsafak/abogen/pull/5) ## Queue Mode Abogen supports queue mode, allowing you to add multiple files to a processing queue. This is useful if you want to convert several files in one batch. - You can add text files (.txt) and subtitle files (.srt, .ass, .vtt) directly using the Add files button in the Queue Manager or by dragging and dropping them into the queue list. To add PDF, EPUB, or markdown files, use the input box in the main window and click the Add to Queue button. - Each file in the queue keeps the configuration settings that were active when it was added. Changing the main window configuration afterward does not affect files already in the queue. - You can enable the Override item settings with current selection option to force all items in the queue to use the configuration currently selected in the main window, overriding their saved settings. - You can view each file’s configuration by hovering over them. Abogen will process each item in the queue automatically, saving outputs as configured. > Special thanks to @jborza (https://github.com/jborza) for adding queue mode in PR #35 (https://github.com/denizsafak/abogen/pull/35) — # 🌐 Web Application (WebUI) ## How to run? Run this command to start the Web UI: bash abogen-web Then open http://localhost:8808 and drag in your documents. Jobs run in the background worker and the browser updates automatically. ## Using the web UI 1. Upload a document (drag & drop or use the upload button). 2. Choose voice, language, speed, subtitle style, and output format.

Similar Articles

@Honcia13: The open-source tool that turns ebooks into audiobooks in seconds is here—Audiblez! Just drop in an EPUB and within minutes it outputs a high-quality M4B audiobook! It uses the Kokoro voice model with only 82M parameters, but the listening experience is incredibly natural. Highlights: Running Animal Farm on a T4 GPU takes only 5 minutes. Supports Chinese, English, and more…

X AI KOLs Timeline

Audiblez is an open-source tool that quickly converts EPUB ebooks into high-quality M4B audiobooks. It uses the Kokoro-82M voice model, supports multiple languages and a graphical interface, and can be installed with a single pip command.

@mogician301: https://x.com/mogician301/status/2072250774332285073

X AI KOLs Timeline

Introduces an open-source tool called audio-to-text that uses AI and local tools (like faster-whisper and ffmpeg) to help users automatically generate, proofread, and burn subtitles, solving problems such as high costs, frequent errors, and cumbersome workflows in software like CapCut.

@Jolyne_AI: Open-source book AI translation tool: bilingual_book_maker. Use large language models (ChatGPT, Claude, etc.) to quickly translate files and entire books into multiple languages. Supports common formats like epub, txt, srt. Simple process, easy to get started. GitHub: http…

X AI KOLs Timeline

bilingual_book_maker is an open-source AI translation tool that uses large language models like ChatGPT and Claude to quickly translate books in epub/txt/srt/pdf formats into multiple languages. It supports multiple models and adopts Andrew Ng's three-step translation method to improve quality.

@Honcia13: Highly recommend an open-source speech-to-subtitle tool! Incredible speed and top-notch quality! Supports multiple languages including Chinese, Japanese, Korean, English, etc., with specially optimized formatting rules for natural and professional subtitles. It's a desktop tool based on PySide6 + ElevenLabs API that can convert audio/video files or JSON…

X AI KOLs Timeline

Recommend Scribe2SRT, an open-source speech-to-subtitle tool based on PySide6 and ElevenLabs API, supporting multiple languages with optimized formatting for fast generation of high-quality SRT subtitles.

@noahduck283: A tool that can download any YouTube video, cleanly remove vocals, transcribe, translate into 100+ languages, clone the original voice, and perform fully automatic dubbing. It takes less than 2 minutes. 100% runs locally. Free. Sews six top open-source models into a web page for "one-click download, vocal removal, transcription, translation, dubbing"...

X AI KOLs Timeline

Voice-Pro is a web tool that integrates six top open-source models (Whisper, Demucs, CosyVoice, F5-TTS, etc.), supporting YouTube video downloading, vocal removal, transcription, translation, voice cloning, and fully automatic dubbing. It takes less than 2 minutes, runs 100% locally, and is free.