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.
2 KiB
2 KiB
| id | title | slug |
|---|---|---|
| intro | Introduction | / |
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 and Orpheus-FastAPI.
Highlights
- Multi-provider TTS support
- Kokoro-FastAPI (including multi-voice combinations)
- Orpheus-FastAPI
- Custom OpenAI-compatible endpoints (
/v1/audio/voicesand/v1/audio/speech) - Cloud providers such as DeepInfra and OpenAI API
- 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
- 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
- Local Development
- Environment Variables
- Auth
- Database and Migrations
- Object / Blob Storage
- TTS Providers
Source Repository
- GitHub: richardr1126/OpenReader-WebUI