From fed782eb0bfd0b27f15341b8ade85b3d8252114c Mon Sep 17 00:00:00 2001 From: Richard R Date: Sat, 6 Jun 2026 11:32:41 -0600 Subject: [PATCH] docs(intro): update documentation for multilingual support Expand README and introduction to highlight multilingual features, including language-aware narration and highlighting. Update landing page to reflect multilingual capabilities in descriptions, keywords, and UI labels. --- README.md | 3 ++- docs-site/docs/introduction.md | 5 ++++- src/app/(public)/page.tsx | 21 +++++++++++---------- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 6ded1a6..f6a5b48 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ # ๐Ÿ“„๐Ÿ”Š OpenReader -OpenReader is an open source, self-host-friendly text-to-speech document reader built with Next.js for **EPUB, PDF, TXT, MD, and DOCX** with synchronized read-along playback. +OpenReader is an open source, self-host-friendly text-to-speech document reader built with Next.js for **EPUB, PDF, TXT, MD, and DOCX** with multilingual, synchronized read-along playback. > Previously named **OpenReader-WebUI**. @@ -22,6 +22,7 @@ OpenReader is an open source, self-host-friendly text-to-speech document reader - โฑ๏ธ **Word-by-word highlighting** via ONNX Whisper alignment through the compute worker control plane (NATS JetStream-backed). - โšก **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). +- ๐ŸŒ **Multilingual support** โ€” choose a document language for language-aware narration and highlighting. Available languages depend on the configured TTS provider and voice. - ๐ŸŽง **Audiobook export** in `m4b`/`mp3` with resumable chapter processing. - ๐Ÿ—‚๏ธ **Flexible backend** โ€” embedded SeaweedFS or S3-compatible storage, SQLite or Postgres, server library import, and device sync. - ๐Ÿณ **Self-host friendly** โ€” Docker (amd64/arm64), built-in auth/session support, and automatic startup migrations. diff --git a/docs-site/docs/introduction.md b/docs-site/docs/introduction.md index 6a43df7..a255ce3 100644 --- a/docs-site/docs/introduction.md +++ b/docs-site/docs/introduction.md @@ -4,7 +4,7 @@ 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**. +OpenReader is an open source text-to-speech document reader built with Next.js. It provides a multilingual read-along experience with narration for **EPUB, PDF, TXT, MD, and DOCX documents**. > Previously named **OpenReader-WebUI**. @@ -21,6 +21,9 @@ It supports multiple TTS providers including OpenAI, Replicate, DeepInfra, and c - ๐ŸŽฏ **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) +- ๐ŸŒ **Multilingual Support** + - Choose a document language for language-aware narration and highlighting + - Available languages depend on the configured provider, model, and voice - ๐ŸŽง **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 and User Isolation** โ€” auth is required in v4+, with optional anonymous auth sessions for guest flows diff --git a/src/app/(public)/page.tsx b/src/app/(public)/page.tsx index a297501..89499fa 100644 --- a/src/app/(public)/page.tsx +++ b/src/app/(public)/page.tsx @@ -6,9 +6,9 @@ import { ButtonAnchor, ButtonLink } from '@/components/ui'; export const metadata: Metadata = { title: 'Open Source Read-Along Workspace', description: - 'OpenReader converts EPUB, PDF, TXT, MD, and DOCX files into synchronized read-along audio with multi-provider text-to-speech support.', + 'OpenReader converts EPUB, PDF, TXT, MD, and DOCX files into multilingual, synchronized read-along audio with multi-provider text-to-speech support.', keywords: - 'OpenReader, document reader, PDF read aloud, EPUB read aloud, text to speech, OpenAI compatible TTS, self-hosted reader', + 'OpenReader, document reader, multilingual text to speech, PDF read aloud, EPUB read aloud, OpenAI compatible TTS, self-hosted reader', alternates: { canonical: '/', }, @@ -19,7 +19,7 @@ export const metadata: Metadata = { siteName: 'OpenReader', title: 'OpenReader | Read documents with synchronized audio', description: - 'Upload documents and turn them into a synchronized listening experience with word-level highlighting and audiobook export.', + 'Upload documents and turn them into a multilingual, synchronized listening experience with word-level highlighting and audiobook export.', images: [ { url: '/web-app-manifest-512x512.png', @@ -91,7 +91,7 @@ export default async function LandingPage() {

OpenReader turns EPUB, PDF, TXT, Markdown, and DOCX into a synchronized read-along surface, reading your original file in a - native viewer with genuine text-to-speech, word-level + native viewer with multilingual text-to-speech, language-aware highlighting, and audiobook export. It’s open source, and entirely yours to self-host.

@@ -126,7 +126,7 @@ export default async function LandingPage() { wizard-of-oz.epub - Kokoro ยท af_sky + English ยท Kokoro ยท af_sky
@@ -203,7 +203,8 @@ export default async function LandingPage() {

Choose a provider and model: hosted OpenAI, Replicate, or DeepInfra, or your own self-hosted Kokoro, KittenTTS, or Orpheus - server. Set the speed to your pace. + server. Set the document language, choose a compatible voice, + and adjust the speed to your pace.

  • @@ -251,11 +252,11 @@ export default async function LandingPage() {
    - Voices -

    Multi-provider TTS

    + Languages +

    Multilingual support

    - Mix cloud APIs with OpenAI-compatible local servers. Bring your - own keys and endpoints, with no lock-in to a single vendor. + Choose a document language for language-aware narration, + highlighting, and compatible voice selection.