Deploy Now

Stars

546

Forks

76

Watchers

12

Developer links

OpenReader

With OpenReader, any EPUB, PDF, Word document, Markdown file, or plain text book transforms into an interactive reading workspace paired with natural text-to-speech playback and multi-chapter audiobook export. Documents render natively in their original page layout rather than flattening into plain text, using layout-aware block detection and cross-page stitching so multi-column academic papers, technical manuals, and textbooks flow in the right reading order while skipping headers and footnotes. As narration plays, word-level forced alignment highlights each spoken word directly on the page in real time, and progressive background generation starts audio playback on the first segment while synthesizing upcoming pages ahead of your cursor. Readers can connect local speech engines such as Kokoro, KittenTTS, and Orpheus or cloud voice providers, select language-aware voices for multilingual books, adjust playback speed, and switch among thirteen light and dark reading themes. Cached audio segments persist across seeks and browser reloads, allowing the background worker to assemble complete M4B or MP3 audiobooks for offline listening on mobile devices while syncing reading progress, queues, and library imports across sessions. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.

OpenReader
OpenReader
OpenReader
OpenReader
OpenReader

Benefits

  • Layout-Aware Native Document Rendering
  • Preserves original PDF and EPUB page formatting while using ONNX PP-DocLayoutV3 block detection and cross-page stitching to narrate multi-column documents in natural reading order.
  • Precision Word-by-Word Audio Alignment
  • Maps synthesized speech back to individual words on the rendered page via ONNX Whisper forced alignment so visual highlighting tracks narration accurately across seeks and speed adjustments.
  • Progressive Synthesis and Audiobook Export
  • Begins playback as soon as the first audio segment completes while background workers cache upcoming segments and assemble downloadable M4B or MP3 audiobooks via FFmpeg.
  • Local and Cloud TTS Flexibility
  • Connects to self-hosted OpenAI-compatible voice servers including Kokoro-FastAPI, KittenTTS-FastAPI, and Orpheus-FastAPI alongside OpenAI, Replicate, and DeepInfra APIs with encrypted provider credentials.

Features

  • Five Document Formats
  • Reads EPUB, PDF, TXT, Markdown, and LibreOffice-converted DOCX files with generated cover previews and server-side directory imports.
  • NATS JetStream Compute Worker
  • Executes layout parsing, Whisper word alignment, and audio stitching asynchronously through an embedded or standalone NATS JetStream worker plane.
  • Multi-Provider Voice Routing
  • Supports Kokoro, KittenTTS, Orpheus, OpenAI TTS, Replicate, and DeepInfra models with per-document language and voice selection.
  • M4B and MP3 Audiobook Builder
  • Compiles cached narration timelines into chaptered M4B or MP3 audiobook files without re-synthesizing previously generated segments.
  • Embedded SeaweedFS and S3 Storage
  • Stores document blobs and audio caches in an embedded SeaweedFS instance or external S3-compatible buckets paired with SQLite or PostgreSQL metadata.
  • Multi-User Auth and Sync
  • Provides Better Auth user accounts, optional guest sessions, thirteen visual themes, and cross-device synchronization of reading positions.

Apps Similar to OpenReader