richardr1126/openreader

An open-source read-along document reader server with high-quality TTS options, synchronized highlighting, and audiobook export for EPUB, PDF, DOCX, TXT, and MD.

解决的问题

OpenReader 提供了一种可自我托管的方式,将文档(EPUB、PDF、TXT、MD 和 DOCX)转换为同步的有声书。它解决了需要通过文本转语音(TTS)访问多种不同文档格式的问题,并提供精确的逐字高亮,以实现同步阅读体验。

工作原理

该系统使用计算工作器控制平面(基于 NATS JetStream)来处理繁重的任务。它采用基于 PP-DocLayoutV3(ONNX)的布局感知 PDF 解析技术,实现结构化区块检测和跨页拼接。在同步方面,使用 ONNX Whisper 对齐技术实现逐字高亮。音频在后台逐步生成,用户可以在首个音段准备就绪时立即开始收听,而工作器则继续处理文档的其余部分。

适用人群

专为希望拥有私有、自我托管的文档阅读器,并具备高质量 TTS 叙述和同步高亮功能的用户设计,同时也适合希望将文档导出为 M4B 或 MP3 有声书的用户。

主要亮点

  • 多提供者 TTS 支持:支持自托管的 OpenAI 兼容服务器(如 Kokoro-FastAPI)或云 API(OpenAI、Replicate、DeepInfra)。
  • 渐进式播放:音频在后台生成,因此一旦首个音段准备就绪即可立即开始收听。
  • 高级 PDF 解析:使用布局感知解析,确保跨页的精确同步阅读。
  • 广泛格式支持:支持 EPUB、PDF、TXT、MD 和 DOCX。
  • 有声书导出:可将缓存的音频组合为 M4B 或 MP3 文件。
  • 自我托管灵活性:支持 Docker、S3 兼容存储以及多种数据库选项(SQLite 或 Postgres)。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目