VoxMaker is a powerful, fully-local, command-line application that automatically converts any text document (PDF, DOCX, or TXT) into a highly polished, professional-grade audiobook MP3.
It leverages the local, high-quality Piper TTS engine, meaning it requires no internet connection or paid cloud APIs to generate lifelike voices.
- Multi-Format Support: Automatically reads
.txt,.pdf, and.docxfiles. - Intelligent Cleaning: Strips rogue page numbers, weird formatting symbols, and fixes broken sentences spanning multiple lines.
- NLP Chunking & Chapter Detection: Uses
NLTKto split large books without breaking sentences, and detects chapters to inject cinematic 3-second silences. - Dynamic Pacing: Uses
textstatto analyze the complexity of paragraphs. It reads complex paragraphs slower to allow for absorption, and conversational text slightly faster. - Background Music Mixing: Optionally provide a music file. The script will automatically loop it, lower its volume by 20dB, and overlay it underneath the narration.
- Crash Recovery: Safely track progress. If you close the terminal or lose power, running the tool again will instantly resume exactly where it left off.
- Multi-Threaded: Utilize your multi-core CPU to process chunks simultaneously.
Before installing VoxMaker, you must ensure you have two things installed on your system:
- Python 3.8+ (We recommend Python 3.10 or newer)
- FFmpeg (Required for audio merging and background music)
Windows: Open Command Prompt or PowerShell as Administrator and run:
winget install ffmpegLinux (Debian/Ubuntu):
sudo apt update
sudo apt install ffmpegLinux (Fedora/RHEL):
sudo dnf install ffmpegMac (macOS): Using Homebrew:
brew install ffmpeg- Clone or download this project folder (
audio_maker) to your local machine. - Open your terminal or command prompt and navigate to the project folder:
cd path/to/audio_maker - Install the required Python dependencies:
(Note: If you are using Python 3.13 or 3.14, the
pip install -r requirements.txt
audioop-ltspackage inside the requirements is strictly necessary to prevent audio processing errors).
You can run the application directly by passing your text, PDF, or Word document into the main script.
python main.py /path/to/your/book.pdfVoxMaker is designed to be interactive. If you simply run:
voxmaker(Or python main.py)
The application will guide you through:
- Providing the file path.
- Selecting a Male or Female voice.
- Choosing how many CPU Workers you want to use (e.g.,
2or4for faster generation). - Asking if you want an automated Intro & Outro spoken for your book.
- Asking for an optional Background Music file path.
Note: The very first time you generate audio, it will take a minute or two to automatically download the high-quality AI voice models from the internet. Subsequent runs will use the cached local models.
All generated audiobooks will be saved inside the audio_maker/workspace/final_audio/ directory.
If you ever forget what options are available, or just want to start the interactive prompts, you can simply type:
voxmakerTo pull up the built-in manual, type:
voxmaker --help(Or use python main.py / python main.py --help if you haven't set up the global command).
If you want to be able to run this tool from anywhere on your computer without typing python path/to/main.py, you can create a global script!
- Create a script named
voxmakerin your local bin directory:nano ~/.local/bin/voxmaker - Paste the following into the file (make sure to replace
/path/to/with the actual path where you saved this project):#!/bin/bash python3 /path/to/audio_maker/main.py "$@"
- Make it executable:
chmod +x ~/.local/bin/voxmaker - Now, you can run
voxmaker my_book.pdffrom any directory on your computer!