A locally hosted AI audiobook player that reads your PDF books aloud — like Audible or Spotify, but running entirely on your own machine.
Built with Python, Flask, and Kokoro AI text-to-speech.
- 📚 Upload PDF books and have them read aloud in a natural AI voice
- 🎨 Genre shelves — organise books by Self Help, Academic, Christian, etc.
- 🖼 Book cover art — upload your own or auto-generated initials
- ⚡ Background audio processing — pages convert while you listen
- 📖 Table of contents sidebar — jump to any chapter instantly
- ▶ Full player controls — play/pause, speed (0.75× to 2.0×), voice selection
- 💾 Auto-resume — picks up exactly where you left off
- 🖥 Runs as a desktop app on Ubuntu
| Layer | Tool |
|---|---|
| Backend | Flask (Python) |
| Text-to-Speech | Kokoro ONNX |
| PDF Extraction | PyMuPDF |
| Frontend | HTML + CSS + HTMX |
| Audio | HTML5 Audio API |
| Storage | Local filesystem |
WAudible is designed as a personal, offline leisure app.
It runs only on localhost and is never exposed to the internet.
No login system or encryption is included by design.
git clone https://github.com/wheezy20/waudible.git
cd waudiblepython3 -m venv venv
source venv/bin/activatesudo apt install espeak-ng -ypip install -r requirements.txtwget https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files-v1.0/kokoro-v1.0.onnx
wget https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files-v1.0/voices-v1.0.bin./run.shThen open your browser at http://localhost:5000
To add WAudible to your Ubuntu apps list and desktop:
# Copy icon
mkdir -p ~/.local/share/icons
cp assets/waudible.png ~/.local/share/icons/waudible.png
# Install desktop entry
cp waudible.desktop ~/.local/share/applications/
update-desktop-database ~/.local/share/applications/
# Add to desktop
cp waudible.desktop ~/Desktop/
chmod +x ~/Desktop/waudible.desktopwaudible/ ├── app/ │ ├── main.py # Flask routes │ ├── tts_engine.py # Kokoro TTS + background processing │ ├── pdf_reader.py # PDF text + TOC extraction │ ├── session_manager.py # Reading progress │ ├── templates/ # HTML pages │ └── static/css/ # Styling ├── data/ # Books, audio, sessions (gitignored) ├── assets/ # App icon ├── requirements.txt ├── run.py ├── run.sh └── launch.sh
Eyram — @wheezy20
Built as a personal productivity tool and Python learning project.