Audiblez generates .m4b audiobooks from regular .epub e-books,
using Kokoro's high-quality speech synthesis.
English voices are phonemized with Misaki and fall back to espeak-ng for unknown words; install espeak-ng (e.g. via brew install espeak or apt-get install espeak-ng) to enable it locally.
Kokoro-82M is a recently published text-to-speech model with just 82M params and very natural sounding output. It's released under Apache licence and it was trained on < 100 hours of audio. It currently supports these languages: 🇺🇸 🇬🇧 🇪🇸 🇫🇷 🇮🇳 🇮🇹 🇯🇵 🇧🇷 🇨🇳
On a Google Colab's T4 GPU via Cuda, it takes about 5 minutes to convert "Animal's Farm" by Orwell (which is about 160,000 characters) to audiobook, at a rate of about 600 characters per second.
On my M2 MacBook Pro, on CPU, it takes about 1 hour, at a rate of about 60 characters per second.
If you have Python 3 on your computer, you can install it with pip.
You also need ffmpeg installed on your machine for .m4b packaging:
sudo apt install ffmpeg # on Ubuntu/Debian 🐧
pip install audiblezbrew install ffmpeg # on Mac 🍏
pip install audiblezThen you can convert an .epub directly with:
audiblez book.epub -v af_sky
It will first create a bunch of book_chapter_1.wav, book_chapter_2.wav, etc. files in the same directory,
and at the end it will produce a book.m4b file with the whole book you can listen with VLC or any
audiobook player.
It will only produce the .m4b file if you have ffmpeg installed on your machine.
This repository is now uv‑managed for local development. Install prerequisites (ffmpeg) via your OS package manager.
Basic workflow:
# Ensure uv is installed: https://docs.astral.sh/uv/
uv sync # create .venv and resolve dependencies
uv run audiblez --help # run CLI from the local env
uv run audiblez-ui # run GUI
uv run audiblez-web --open # run web UI
# Run tests
uv run python -m unittest discover test -v
# Install dev tools
uv sync --group dev # include [dependency-groups].dev (e.g., deptry)
uv run deptry .
uv will generate and update a uv.lock lockfile; commit it to the repository. Poetry is no longer required to develop this project.
The GUI is a simple graphical interface to use audiblez. You need some extra dependencies to run the GUI:
sudo apt install ffmpeg
sudo apt install libgtk-3-dev # just for Ubuntu/Debian 🐧, Windows/Mac don't need this
pip install audiblez pillow wxpython
Then you can run the GUI with:
audiblez-ui
The web interface mirrors the terminal UI workflow with a responsive layout for desktop and mobile browsers. It supports filesystem browsing, voice/backend selection, chapter/page selection helpers, audio previews, and real-time synthesis progress. Launch it locally with:
audiblez-web --open
Use --host and --port if you want to bind to a different interface (for
example, to access from a tablet or phone on the same network).
After many trials, on Windows we recommend to install audiblez in a Python venv:
- Open a Windows terminal
- Create anew folder:
mkdir audiblez - Enter the folder:
cd audiblez - Create a venv:
python -m venv venv - Activate the venv:
.\venv\Scripts\Activate.ps1 - Install the dependencies:
pip install audiblez pillow wxpython - Now you can run
audiblez,audiblez-ui, oraudiblez-web - For Cuda support, you need to install Pytorch accordingly: https://pytorch.org/get-started/locally/
By default the audio is generated using a normal speed, but you can make it up to twice slower or faster by specifying a speed argument between 0.5 to 2.0:
audiblez book.epub -v af_sky -s 1.5
Use -v option to specify the voice to use. Available voices are listed here.
The first letter is the language code and the second is the gender of the speaker e.g. im_nicola is an italian male voice.
For hearing samples of Kokoro-82M voices, go here
| Language | Voices |
|---|---|
| 🇺🇸 American English | af_alloy, af_aoede, af_bella, af_heart, af_jessica, af_kore, af_nicole, af_nova, af_river, af_sarah, af_sky, am_adam, am_echo, am_eric, am_fenrir, am_liam, am_michael, am_onyx, am_puck, am_santa |
| 🇬🇧 British English | bf_alice, bf_emma, bf_isabella, bf_lily, bm_daniel, bm_fable, bm_george, bm_lewis |
| 🇪🇸 Spanish | ef_dora, em_alex, em_santa |
| 🇫🇷 French | ff_siwis |
| 🇮🇳 Hindi | hf_alpha, hf_beta, hm_omega, hm_psi |
| 🇮🇹 Italian | if_sara, im_nicola |
| 🇯🇵 Japanese | jf_alpha, jf_gongitsune, jf_nezumi, jf_tebukuro, jm_kumo |
| 🇧🇷 Brazilian Portuguese | pf_dora, pm_alex, pm_santa |
| 🇨🇳 Mandarin Chinese | zf_xiaobei, zf_xiaoni, zf_xiaoxiao, zf_xiaoyi, zm_yunjian, zm_yunxi, zm_yunxia, zm_yunyang |
For more detaila about voice quality, check this document: Kokoro-82M voices
By default, audiblez runs on CPU. If you pass the option --cuda it will try to use the CUDA device via Torch. On Apple Silicon, you can pass --mps to use the Metal (MPS) backend via Torch.
Check out this example: Audiblez running on a Google Colab Notebook with Cuda .
Apple Silicon is supported via PyTorch MPS. There is no MLX backend for Kokoro here; use --mps (CLI) or select MPS in the GUI.
On macOS with Apple Silicon, audiblez now prefers an MLX‑Audio backend using a 4‑bit Kokoro model by default. This reduces memory and improves latency on M‑series Macs.
- Install extras:
pip install "audiblez[mlx]" - Default model:
mlx-community/Kokoro-82M-8bit - CLI auto‑selects MLX on Apple Silicon; override with
--backend kokoroor choose a different MLX model via--mlx-model.
Examples:
audiblez book.epub --voice af_sky # MLX on Apple Silicon, Kokoro elsewhere
audiblez book.epub --backend mlx --mlx-model mlx-community/Kokoro-82M-8bit
audiblez book.epub --backend kokoro # force original backend
Sometimes you want to manually select which chapters/sections in the e-book to read out loud.
To do so, you can use --pick to interactively choose the chapters to convert (without running the GUI).
For all the options available, you can check the help page audiblez --help:
usage: audiblez [-h] [-v VOICE] [-p] [-s SPEED] [-c] [-o FOLDER] epub_file_path
positional arguments:
epub_file_path Path to the epub file
options:
-h, --help show this help message and exit
-v VOICE, --voice VOICE
Choose narrating voice: a, b, e, f, h, i, j, p, z
-p, --pick Interactively select which chapters to read in the audiobook
-s SPEED, --speed SPEED
Set speed from 0.5 to 2.0
-c, --cuda Use GPU via Cuda in Torch if available
-o FOLDER, --output FOLDER
Output folder for the audiobook and temporary files
example:
audiblez book.epub -l en-us -v af_sky
to use the GUI, run:
audiblez-ui
by Claudio Santini in 2025, distributed under MIT licence.
Related Article: Audiblez v4: Generate Audiobooks from E-books