Building a Fully Local PDF Read-Aloud & PDF-to-Audiobook Desktop App with Kokoro 82M, Qwen, and llama.cpp

Reddit r/LocalLLaMA Products

Summary

Speechfony is a new fully local desktop app that reads PDFs and EPUBs aloud with sentence highlighting, semantic search, and MP3 audiobook export, using Kokoro TTS and on-device embeddings. It prioritizes privacy and offline use, with an open-source MIT license.

Hey everyone, I’ve been building Speechfony - a desktop app for reading PDFs (and EPUBs) with offline text-to-speech. Open a document, listen sentence-by-sentence with highlighting, or export selected pages to an MP3. Everything runs locally: Kokoro for speech, and an on-device embedding model for semantic search. I wanted something that didn’t ship my documents to a cloud TTS service, worked offline after the first model download, and felt closer to “listen while you read” than “dump the whole PDF into a generic TTS box.” What works today PDF + EPUB reading Sentence-level playback with live highlighting Adjustable header/footer margins (so repeating page chrome doesn’t get read aloud) Resume where you left off Semantic search (meaning + keywords), local embeddings Audiobook export to MP3 (desktop only) Hardware acceleration where available (CoreML / DirectML / CUDA) Expect rough edges. Known gaps I’m already tracking: Multi-column layouts, tables, code, equations Footnotes / citations, TOC / index pages, captions / sidebars Scanned PDFs (no OCR yet) Non-English / RTL Voice & rate controls are limited Pronunciation of company names / niche technical terms can be wrong (that’s mostly the Kokoro lexicon - as I build a rust binding myself) Platforms: macOS Apple Silicon, Windows x64, Linux x64 (glibc ≥ 2.38). No Intel Mac builds for now. On first launch it downloads the voice model (~130 MB from Hugging Face). After that it’s offline. Links GitHub: https://github.com/pguso/speechfony Downloads: https://github.com/pguso/speechfony/releases If you try it on a real document you’d actually listen to (papers, manuals, books, reports), please tell me: What broke or sounded wrong? What PDF/EPUB layout confused extraction or playback? What’s missing that would make you use this regularly? Issues and PRs welcome. Fully open source (MIT License).
Original Article

Similar Articles

Local, CPU-Friendly, High-Quality TTS (Text-to-Speech) with Kokoro

Hacker News Top

This article introduces Kokoro, a lightweight 82M-parameter text-to-speech model that runs locally on CPU, providing high-quality speech synthesis across multiple languages while preserving privacy. It explains how to set up Kokoro via a Docker container with an OpenAI-compatible API for easy integration.

@Honcia13: The open-source tool that turns ebooks into audiobooks in seconds is here—Audiblez! Just drop in an EPUB and within minutes it outputs a high-quality M4B audiobook! It uses the Kokoro voice model with only 82M parameters, but the listening experience is incredibly natural. Highlights: Running Animal Farm on a T4 GPU takes only 5 minutes. Supports Chinese, English, and more…

X AI KOLs Timeline

Audiblez is an open-source tool that quickly converts EPUB ebooks into high-quality M4B audiobooks. It uses the Kokoro-82M voice model, supports multiple languages and a graphical interface, and can be installed with a single pip command.

@wsl8297: Want to turn ebooks or documents into audiobooks? Many tools sound too robotic or lack subtitle sync, leaving you frustrated. Then I found the open-source project Abogen: it supports ePub, PDF, plain text, etc., one-click conversion to high-quality audio with auto-generated synchronized subtitles. It uses Kokoro voice at its core…

X AI KOLs Timeline

Abogen is an open-source tool that can convert documents like ePub and PDF into high-quality audio with one click, automatically generating synchronized subtitles. It supports a voice mixer and multiple deployment methods.

Serving Local AI on my Jetson through Durable Streams

Lobsters Hottest

A developer documents building a self-hosted text-to-speech app on an NVIDIA Jetson Orin Nano using Kokoro-82M and durable streams, enabling reliable local AI inference with shareable audio outputs.