Revise project highlights in README and introduction to emphasize ONNX-based PDF layout parsing (PP-DocLayoutV3), segment-based TTS playback, and flexible backend/storage options. Clarify compute modes and self-hosting features. Update TTS provider descriptions for accuracy and conciseness. Also expand tsconfig exclude list to omit compute worker sources from main build.
44 lines
2.8 KiB
Markdown
44 lines
2.8 KiB
Markdown
---
|
|
id: intro
|
|
title: Introduction
|
|
slug: /
|
|
---
|
|
|
|
OpenReader is an open source text-to-speech document reader built with Next.js. It provides a read-along experience with narration for **EPUB, PDF, TXT, MD, and DOCX documents**.
|
|
|
|
> Previously named **OpenReader-WebUI**.
|
|
|
|
It supports multiple TTS providers including OpenAI, Replicate, DeepInfra, and custom OpenAI-compatible endpoints such as [Kokoro-FastAPI](https://github.com/remsky/Kokoro-FastAPI), [KittenTTS-FastAPI](https://github.com/richardr1126/KittenTTS-FastAPI), and [Orpheus-FastAPI](https://github.com/Lex-au/Orpheus-FastAPI).
|
|
|
|
## ✨ Highlights
|
|
|
|
- 🧱 **Layout-aware PDF Parsing**
|
|
- PP-DocLayoutV3 (ONNX) detects structured blocks with cross-page stitching and geometry-based highlighting for precise read-along sync and clean TTS segmentation
|
|
- ⏱️ **Word-by-word Highlighting** via ONNX Whisper alignment
|
|
- No external dependencies — runs in-process (`COMPUTE_MODE=local`) or offloaded to a scalable Redis-backed worker (`COMPUTE_MODE=worker`)
|
|
- ⚡ **Segment-based TTS Playback**
|
|
- Sentence-aware generation with cached audio segments, background preloading, and resumable playback across EPUB, PDF, TXT, MD, and DOCX
|
|
- 🎯 **Multi-Provider TTS Support**
|
|
- Self-hosted: [**Kokoro-FastAPI**](https://github.com/remsky/Kokoro-FastAPI) (multi-voice combinations), [**KittenTTS-FastAPI**](https://github.com/richardr1126/KittenTTS-FastAPI), [**Orpheus-FastAPI**](https://github.com/Lex-au/Orpheus-FastAPI), or any custom OpenAI-compatible endpoint
|
|
- Cloud: [**OpenAI**](https://platform.openai.com/docs/pricing#transcription-and-speech) (`tts-1`, `tts-1-hd`, `gpt-4o-mini-tts`), [**Replicate**](https://replicate.com/explore) (built-in catalog + any model ID), [**DeepInfra**](https://deepinfra.com/models/text-to-speech) (Kokoro-82M and others)
|
|
- 🎧 **Audiobook Export** in `m4b`/`mp3` with resumable chapter generation
|
|
- 🗂️ **Flexible Backend** — embedded SeaweedFS or S3-compatible storage, SQLite or Postgres, server library import, and device sync
|
|
- 🔐 **Auth Optional** — run no-auth for local use, or enable full user isolation with a claim flow for multi-user deployments
|
|
- 🎨 **Customizable** — 13 built-in themes (light and dark palettes), per-user TTS settings, and document handling controls
|
|
|
|
## 🧭 Key Docs
|
|
|
|
- [Docker Quick Start](./docker-quick-start)
|
|
- [Local Development](./deploy/local-development)
|
|
- [Vercel Deployment](./deploy/vercel-deployment)
|
|
- [Environment Variables](./reference/environment-variables)
|
|
- [Auth](./configure/auth)
|
|
- [Database](./configure/database)
|
|
- [Object / Blob Storage](./configure/object-blob-storage)
|
|
- [Migrations](./configure/migrations)
|
|
- [Server Library Import](./configure/server-library-import)
|
|
- [TTS Providers](./configure/tts-providers)
|
|
|
|
## Source Repository
|
|
|
|
- GitHub: [richardr1126/openreader](https://github.com/richardr1126/openreader)
|