Most ebook libraries are large but underused; time to sit and read is the limiting factor. Audiobook catalogues cover only a fraction of what people own and rent access rather than granting it. Meanwhile the tools that will read a document aloud mostly treat it as a flat text stream, so frontmatter gets narrated, chapters blur together, navigation breaks and the resume position drifts between sessions.
NarrateX starts from a different premise: a book is a structured system, not a stream. Structure is preserved on load, navigation is derived from headings and bookmarks, non-content sections such as frontmatter and indexes are excluded from playback and the playback position is deterministic across sessions. It has been validated against real Kindle EPUBs, paperback PDFs and multi-book compilation documents.
The engineering exists to keep that promise over hours of unattended listening. The playback core is a pure domain with no I/O and no framework, inside a four-layer architecture whose boundaries, 100% coverage gate and 400-line file limit are enforced by automated structural tests on every run. That gate now covers the whole of the pure domain, including the chunking, alignment and text-sanitising code that decides how a book is cut up and spoken. Synthesis and playback run concurrently, so narration begins immediately and continues without interruption even in large books.
What works now: EPUB, PDF, plain text and Markdown natively with Kindle formats via optional Calibre conversion, the Kokoro neural voice running on-device with 28 English voices, full keyboard control and native packages for Windows, macOS and Linux. Everything runs locally; nothing you read is uploaded anywhere. Your books remain yours and the system makes them usable.
Full reasoning at crankthecode.com.
A reader you leave running for hours cannot stutter because a UI event reached into the playback core. So that core is a pure domain with no I/O and no framework, inside a four-layer architecture with every dependency pointing inward. Layer boundaries, 100% coverage and a 400-line file limit are enforced by automated architecture tests on every run.
Text is processed into structured chunks. Audio is generated and streamed continuously.
Playback begins immediately and continues without interruption. Everything runs locally which keeps the system fast, predictable and private.