Convert your PDFs and EPUBs into audiobooks effortlessly. Features intelligent text extraction, customizable text-to-speech settings, and efficient processing for low-resource systems.
Python
206
42 commits
updated Feb 26, 2026
Looking for my newer audiobook tool? Check out Cadence: https://github.com/mateogon/Cadence
Updated for Kokoro v1.0!
Now setting up is easier—simply install the required Python dependencies (including the updated Kokoro package) and run the app. No more manual downloads or moving model files into specific folders.
PDF Narrator (Kokoro Edition) transforms your PDF and EPUB documents into audiobooks effortlessly using advanced text extraction and Kokoro TTS technology. With Kokoro v1.0, the integration is seamless and the setup is as simple as installing the requirements and running the application.
Screenshot
Check out the GUI in the screenshot below:

Audio Sample
Listen to a short sample of the generated audiobook:
https://github.com/user-attachments/assets/f1e0a88b-9d44-40d6-82c4-dcf070db6856
https://github.com/user-attachments/assets/de611592-9404-416a-8118-1acca1651edf
https://github.com/user-attachments/assets/b9d87ed4-3458-4116-accf-0816ec1448b2
Intelligent Text Extraction
Kokoro TTS Integration
User-Friendly GUI
Configurable for Low-VRAM Systems
Voice Testing Made Simple
requirements.txtARM64 MacOS users see the section below
Clone the Repository
git clone https://github.com/mateogon/pdf-narrator.git
cd pdf-narrator
Create and Activate a Virtual Environment
python -m venv venv
# On Linux/macOS:
source venv/bin/activate
# On Windows:
venv\Scripts\activate
Install Python Dependencies
pip install --upgrade pip
pip install -r requirements.txt
Clone the Repository
git clone https://github.com/mateogon/pdf-narrator.git
cd pdf-narrator
Run the Setup Script to Download Dependencies
chmod +x scripts/setup_macos_arm64.sh
./scripts/setup_macos_arm64.sh
Create and Activate the Conda Virtual Environment
source "$HOME/miniforge3/bin/activate" && conda activate pdf-narrator
For Windows users, some libraries may require extra steps:
Python 3.12.7
Download and install Python 3.12.7. Ensure python and pip are added to your system's PATH.
CUDA 12.4 (for GPU acceleration)
Install the CUDA 12.4 Toolkit if you plan to use GPU acceleration.
eSpeak NG is required for phoneme-based operations.
Download the Installer
eSpeak NG X64 Installer
Run the Installer
Follow the on-screen instructions.
Set Environment Variables
Add the following environment variables:
PHONEMIZER_ESPEAK_LIBRARY → C:\Program Files\eSpeak NG\libespeak-ng.dllPHONEMIZER_ESPEAK_PATH → C:\Program Files (x86)\eSpeak\command_line\espeak.exe(Right-click "This PC" → Properties → Advanced system settings → Environment Variables)
Verify Installation
Open Command Prompt and run:
espeak-ng --version
Download Wheels
Install the Wheels
Activate your virtual environment and run:
pip install path\to\deepspeed-0.11.2+cuda124-cp312-cp312-win_amd64.whl
pip install path\to\lxml-5.3.0-cp312-cp312-win_amd64.whl
Verify Installation
deepspeed --version
pip show lxml
espeak-ng --version
Launch the App
python main.py
Select a Mode
Extract Text
Configure Kokoro TTS Settings
.wav or .mp3).Generate Audiobook
With the latest update, you can now quickly test voices directly within the app:
Navigate to the Voice Test Tab
In the main window, click on the Voice Test tab to access voice testing features.
Enter Sample Text
Modify or use the default sample text in the provided text area.
Select Test Mode
Run the Test
Click Run Voice Test to start. The app creates a temporary file with your sample text, processes it through Kokoro TTS for each voice (if testing all voices), and saves the output audio files in the designated folder.
Monitor Progress and Listen
A progress bar and status labels keep you updated. Once the test is complete, you’ll be prompted to open the output folder where you can listen to the generated samples.
Stop the Test if Needed
If you need to cancel while testing, click Stop Test to interrupt the process.
Text Extraction
Kokoro TTS
Fork the repository, create a branch, and submit a pull request.
Report bugs or suggest features via Issues.
This project is released under the MIT License (LICENSE.md).
Enjoy converting your PDFs and EPUBs into immersive audiobooks with Kokoro v1.0 TTS—and now, easily test voices to pick your perfect sound!
Python
96.7%
Shell
3.3%
Convert your PDFs and EPUBs into audiobooks effortlessly. Features intelligent text extraction, customizable text-to-speech settings, and efficient processing for low-resource systems.
Python
206
42 commits
updated Feb 26, 2026
Looking for my newer audiobook tool? Check out Cadence: https://github.com/mateogon/Cadence
Updated for Kokoro v1.0!
Now setting up is easier—simply install the required Python dependencies (including the updated Kokoro package) and run the app. No more manual downloads or moving model files into specific folders.
PDF Narrator (Kokoro Edition) transforms your PDF and EPUB documents into audiobooks effortlessly using advanced text extraction and Kokoro TTS technology. With Kokoro v1.0, the integration is seamless and the setup is as simple as installing the requirements and running the application.
Screenshot
Check out the GUI in the screenshot below:

Audio Sample
Listen to a short sample of the generated audiobook:
https://github.com/user-attachments/assets/f1e0a88b-9d44-40d6-82c4-dcf070db6856
https://github.com/user-attachments/assets/de611592-9404-416a-8118-1acca1651edf
https://github.com/user-attachments/assets/b9d87ed4-3458-4116-accf-0816ec1448b2
Intelligent Text Extraction
Kokoro TTS Integration
User-Friendly GUI
Configurable for Low-VRAM Systems
Voice Testing Made Simple
requirements.txtARM64 MacOS users see the section below
Clone the Repository
git clone https://github.com/mateogon/pdf-narrator.git
cd pdf-narrator
Create and Activate a Virtual Environment
python -m venv venv
# On Linux/macOS:
source venv/bin/activate
# On Windows:
venv\Scripts\activate
Install Python Dependencies
pip install --upgrade pip
pip install -r requirements.txt
Clone the Repository
git clone https://github.com/mateogon/pdf-narrator.git
cd pdf-narrator
Run the Setup Script to Download Dependencies
chmod +x scripts/setup_macos_arm64.sh
./scripts/setup_macos_arm64.sh
Create and Activate the Conda Virtual Environment
source "$HOME/miniforge3/bin/activate" && conda activate pdf-narrator
For Windows users, some libraries may require extra steps:
Python 3.12.7
Download and install Python 3.12.7. Ensure python and pip are added to your system's PATH.
CUDA 12.4 (for GPU acceleration)
Install the CUDA 12.4 Toolkit if you plan to use GPU acceleration.
eSpeak NG is required for phoneme-based operations.
Download the Installer
eSpeak NG X64 Installer
Run the Installer
Follow the on-screen instructions.
Set Environment Variables
Add the following environment variables:
PHONEMIZER_ESPEAK_LIBRARY → C:\Program Files\eSpeak NG\libespeak-ng.dllPHONEMIZER_ESPEAK_PATH → C:\Program Files (x86)\eSpeak\command_line\espeak.exe(Right-click "This PC" → Properties → Advanced system settings → Environment Variables)
Verify Installation
Open Command Prompt and run:
espeak-ng --version
Download Wheels
Install the Wheels
Activate your virtual environment and run:
pip install path\to\deepspeed-0.11.2+cuda124-cp312-cp312-win_amd64.whl
pip install path\to\lxml-5.3.0-cp312-cp312-win_amd64.whl
Verify Installation
deepspeed --version
pip show lxml
espeak-ng --version
Launch the App
python main.py
Select a Mode
Extract Text
Configure Kokoro TTS Settings
.wav or .mp3).Generate Audiobook
With the latest update, you can now quickly test voices directly within the app:
Navigate to the Voice Test Tab
In the main window, click on the Voice Test tab to access voice testing features.
Enter Sample Text
Modify or use the default sample text in the provided text area.
Select Test Mode
Run the Test
Click Run Voice Test to start. The app creates a temporary file with your sample text, processes it through Kokoro TTS for each voice (if testing all voices), and saves the output audio files in the designated folder.
Monitor Progress and Listen
A progress bar and status labels keep you updated. Once the test is complete, you’ll be prompted to open the output folder where you can listen to the generated samples.
Stop the Test if Needed
If you need to cancel while testing, click Stop Test to interrupt the process.
Text Extraction
Kokoro TTS
Fork the repository, create a branch, and submit a pull request.
Report bugs or suggest features via Issues.
This project is released under the MIT License (LICENSE.md).
Enjoy converting your PDFs and EPUBs into immersive audiobooks with Kokoro v1.0 TTS—and now, easily test voices to pick your perfect sound!
Python
96.7%
Shell
3.3%