From ea5611c882515c7108fec18f38b00347c7e4ade8 Mon Sep 17 00:00:00 2001 From: Richard R Date: Tue, 19 May 2026 15:32:18 -0600 Subject: [PATCH] docs(intro): update highlights and backend details in docs and README 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. --- README.md | 13 ++++++------- docs-site/docs/introduction.md | 31 +++++++++++-------------------- tsconfig.json | 8 +++++++- 3 files changed, 24 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 5fc22dd..ee8d95a 100644 --- a/README.md +++ b/README.md @@ -18,14 +18,13 @@ OpenReader is an open source, self-host-friendly text-to-speech document reader ## ✨ Highlights -- 🎯 **Multi-provider TTS** with OpenAI-compatible endpoints and cloud providers (Kokoro-FastAPI, KittenTTS-FastAPI, Orpheus-FastAPI or OpenAI, Replicate, DeepInfra). -- 📖 **Read-along playback** for PDF/EPUB with sentence-aware narration. -- ⏱️ **Word-by-word highlighting** via ONNX Whisper alignment in local mode (`COMPUTE_MODE=local`) or external worker mode (`COMPUTE_MODE=worker`). -- 🧱 **Layout-aware PDF parsing** (PP-DocLayoutV3 ONNX) with structured blocks for cleaner TTS/chaptering. -- 🛜 **Sync + library import** to bring docs across devices and from server-mounted folders. -- 🗂️ **Flexible storage** with embedded SeaweedFS or external S3-compatible backends. +- 🧱 **Layout-aware PDF parsing** with PP-DocLayoutV3 (ONNX) — structured block detection, cross-page stitching, and geometry-based highlighting for precise read-along sync. +- ⏱️ **Word-by-word highlighting** via built-in 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 read-along** for EPUB, PDF, TXT, MD, and DOCX — sentence-aware TTS with cached audio segments, background preloading, and resumable playback. +- 🎯 **Multi-provider TTS** — self-hosted OpenAI-compatible servers (Kokoro-FastAPI, KittenTTS-FastAPI, Orpheus-FastAPI) or cloud APIs (OpenAI, Replicate, DeepInfra). - 🎧 **Audiobook export** in `m4b`/`mp3` with resumable chapter processing. -- 🐳 **Self-host friendly** with Docker, optional auth, and automatic startup migrations. +- 🗂️ **Flexible backend** — embedded SeaweedFS or S3-compatible storage, SQLite or Postgres, server library import, and device sync. +- 🐳 **Self-host friendly** — Docker (amd64/arm64), optional auth, and automatic startup migrations. ## 🚀 Start Here diff --git a/docs-site/docs/introduction.md b/docs-site/docs/introduction.md index 53264c6..d8c3c67 100644 --- a/docs-site/docs/introduction.md +++ b/docs-site/docs/introduction.md @@ -12,28 +12,19 @@ It supports multiple TTS providers including OpenAI, Replicate, DeepInfra, and c ## ✨ 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** - - [**Kokoro-FastAPI**](https://github.com/remsky/Kokoro-FastAPI): supports multi-voice combinations (for example `af_heart+af_bella`) - - [**KittenTTS-FastAPI**](https://github.com/richardr1126/KittenTTS-FastAPI): lightweight, CPU-friendly self-hosted TTS - - [**Orpheus-FastAPI**](https://github.com/Lex-au/Orpheus-FastAPI) - - **Custom OpenAI-compatible**: any TTS API with `/v1/audio/voices` and `/v1/audio/speech` endpoints - - **Cloud TTS providers**: - - [**Replicate**](https://replicate.com/explore): includes a built-in catalog and supports any Replicate model ID via `Other` - - [**DeepInfra**](https://deepinfra.com/models/text-to-speech): Kokoro-82M and other hosted models - - [**OpenAI API**](https://platform.openai.com/docs/pricing#transcription-and-speech): `tts-1`, `tts-1-hd`, and `gpt-4o-mini-tts` -- 📖 **Read Along Experience** - - Real-time highlighting for PDF/EPUB, with built-in ONNX Whisper word-level timestamps in local compute mode -- 🛜 **Document Storage** - - Documents are persisted in server blob/object storage for consistent access -- ⚡ **Segment-based TTS Playback** for reusable generation + preloading - - Stores segment audio in object storage for fast replay/resume + - 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 -- 🔐 **Auth Optional by Design** - - Run no-auth for local use, or enable auth with user isolation and claim flow -- 🗂️ **Flexible Storage and Database Modes** with embedded defaults or external S3/Postgres -- 🚀 **Production-ready Server Behavior** with TTS caching/retries/rate limits and startup migrations -- 🎨 **Customizable Experience** - - 13 built-in themes (light and dark palettes), TTS, and document handling controls +- 🗂️ **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 diff --git a/tsconfig.json b/tsconfig.json index 00d1d04..19d4e79 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -24,5 +24,11 @@ } }, "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], - "exclude": ["node_modules", "docs-site", "docs-site/**"] + "exclude": [ + "node_modules", + "docs-site", + "docs-site/**", + "compute/worker", + "compute/worker/**" + ] }