Audiobook Reader CLI: Command-Line TTS Tool
If you enjoy reading or do work that requires it, you can probably think of a lot more texts that you want to read than you will ever have time to read. I started experimenting with audiobook generation using AI voice models to try and extend that time.
I looked into text to speech and AI voice models, expecting to find a free tool like Audiobook Reader, which will allowed me to efficiently convert text files to mp3 significantly faster than real-time. To my surprise, I did not find what I was looking for, so I decided to make this audiobook reader. Using a combination of hardware acceleration, parallel processing, and runtime optimisation it converts texts to audio at around 10x real-time speed on a recent Mac or equivalent computer and handles interrupts. In addition to the original CLI, there are standalone distributions for Mac/Win/Linux.
Features
- Around 10x real-time conversion speed: The backend automatically detects NPU/GPU/CPU configs and uses appropriate hardware optimization for speed and parallel processing
- 54 voices in 9 languages: Female, male and androgynous sounding voices in all languages
- Voice blending: Mix voices to create new ones
- Format support: EPUB, PDF, TXT, Markdown, RST → MP3, WAV, M4A, M4B
- Progress visualization: Visual progress bars with time estimates and conversion speed
- Character voices (in development): Different voices per characters or have it done automatically
- Pause/resume: Interrupt and continue conversions
- Batch queue: Add multiple books, process sequentially or in parallel
Please note that I don’t have the resources to support and test all the distributions at the same level. CLI is always the best if you are not afraid of typing, and where I roll out new features first. Mac is tested regularly but inherently more complex. Win and Linux are in beta, QA help is welcome.

Installation
Install via pip (Python 3.9+ required):
pip install audiobook-reader
PyPI Package: https://pypi.org/project/audiobook-reader/
GitHub Repository: https://github.com/danielcorsano/reader
Requirements
- Python 3.10-3.13
- FFmpeg (automatic download available via CLI flag)
- Kokoro voice models (~310MB, downloads automatically on first use to system cache)
- Supports macOS, Windows, Linux
Features
- 54 voices in 9 languages (English, Spanish, French, German, Italian, Portuguese, Polish, Korean, Japanese)
- Voice blending: Mix multiple voices for unique characteristics
- Format support: EPUB, PDF, TXT, Markdown, RST input → MP3, WAV, M4A, M4B output
- Performance optimization: Hardware detection for NPU/GPU/CPU acceleration (approximately 10x real-time on Apple Silicon with Neural Engine)
- Batch processing: Glob patterns for converting multiple files
- Scriptable: Integrate into automation workflows
- Checkpoint resumption: Resume interrupted conversions
- Chapter detection: Automatically identifies chapters in input files
- Progress tracking: Real-time conversion status in terminal
- NEW FEATURE: Text stripping: use the strip command to automatically detect and remove non-content like bibliography, table of contents etc. Then use the automatic content parser to choose which sections of the text you want to have read. Available only in CLI for now.
Usage Examples
Basic conversion:
audiobook-reader book.epub audiobook.mp3
Specify voice:
audiobook-reader book.pdf --voice af_sky output.mp3
Batch conversion:
audiobook-reader "books/*.epub" output_dir/ --voice bf_emma
Custom speed and format:
audiobook-reader novel.txt --speed 1.2 --format m4b --voice am_adam
List available voices:
audiobook-reader --list-voices
FFmpeg auto-install:
audiobook-reader --install-ffmpeg
Strip unnecessary sections from a book:
audiobook-reader strip mybook.epub
Advanced Usage
Configuration file support:
Create a config.yaml for complex setups:
voice: bf_emma
speed: 1.1
format: m4b
output_dir: ~/audiobooks/
Then run:
audiobook-reader book.epub --config config.yaml
Character voices (beta): Assign different voices to characters in dialogue. See documentation for syntax.
Consider Supporting
I created this alone, and it will be free and open source forever. For issues and feature requests please use GitHub. If you find it useful, please consider supporting me so I can improve this tool and create more.
Copyright Notice
IMPORTANT: This software is a tool for converting text to audio. Users are solely responsible for:
- Ensuring they have the legal right to convert any text to audio
- Obtaining necessary permissions for copyrighted materials
- Complying with all applicable copyright laws and licensing terms
- Understanding that creating audiobooks from copyrighted text without authorization may constitute copyright infringement
Recommended Use Cases:
✅ Your own original content ✅ Public domain works ✅ Content you have explicit permission to convert ✅ Educational materials you legally own ✅ Open-source or Creative Commons licensed texts (per their terms)
I do not condone or support copyright infringement. By using this software, you agree to use it only for content you have the legal right to convert.