This commit restructures the audiobook generation and serving layer to rely exclusively on S3-compatible blob storage, removing the dependency on local filesystem paths. - Bundle `ffmpeg` and `ffprobe` binaries via npm to ensure portability across environments. - Update API routes to stream audio directly from blob storage instead of local disk. - Remove legacy migration endpoints and filesystem-based indexing logic. - Add startup scripts to facilitate the transition from local to remote storage. BREAKING CHANGE: Audiobook functionality is now strictly dependent on S3 configuration. The previous filesystem-based storage method has been removed.
40 lines
2 KiB
Markdown
40 lines
2 KiB
Markdown
---
|
|
id: intro
|
|
title: Introduction
|
|
slug: /
|
|
---
|
|
|
|
OpenReader WebUI 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**.
|
|
|
|
It supports multiple TTS providers including OpenAI, DeepInfra, and custom OpenAI-compatible endpoints such as [Kokoro-FastAPI](https://github.com/remsky/Kokoro-FastAPI) and [Orpheus-FastAPI](https://github.com/Lex-au/Orpheus-FastAPI).
|
|
|
|
## Highlights
|
|
|
|
- Multi-provider TTS support
|
|
- [Kokoro-FastAPI](https://github.com/remsky/Kokoro-FastAPI) (including multi-voice combinations)
|
|
- [Orpheus-FastAPI](https://github.com/Lex-au/Orpheus-FastAPI)
|
|
- Custom OpenAI-compatible endpoints (`/v1/audio/voices` and `/v1/audio/speech`)
|
|
- Cloud providers such as [DeepInfra](https://deepinfra.com/models/text-to-speech) and [OpenAI API](https://platform.openai.com/docs/pricing#transcription-and-speech)
|
|
- Server-side sync and storage
|
|
- External library import from a server-mounted folder
|
|
- Sync documents between browser and server for multi-device use
|
|
- Server-side audiobook export in `m4b`/`mp3`, with resumable chapter-based export
|
|
- Read-along highlighting for PDF and EPUB
|
|
- Optional word-by-word highlighting using server-side timestamps from [whisper.cpp](https://github.com/ggml-org/whisper.cpp)
|
|
- Sentence-aware narration that merges across pages/chapters for smoother playback
|
|
- Optimized Next.js TTS proxy with caching for faster repeat playback
|
|
- Customizable themes, TTS settings, and document handling
|
|
|
|
## Start Here
|
|
|
|
- [Docker Quick Start](./start-here/docker-quick-start)
|
|
- [Local Development](./start-here/local-development)
|
|
- [Environment Variables](./reference/environment-variables)
|
|
- [Auth](./configure/configuration)
|
|
- [Database and Migrations](./configure/database-and-migrations)
|
|
- [Object / Blob Storage](./configure/storage-and-blob-behavior)
|
|
- [TTS Providers](./configure/tts-providers)
|
|
|
|
## Source Repository
|
|
|
|
- GitHub: [richardr1126/OpenReader-WebUI](https://github.com/richardr1126/OpenReader-WebUI)
|