u/seedds

Built an iOS EPUB3 Media Overlay reader for synced text + audiobook-style playback

Built an iOS EPUB3 Media Overlay reader for synced text + audiobook-style playback

I built for generating EPUB 3 Media Overlay books from an audiobook + EPUB.

I’ve now made a small iOS reader app for the other side of that workflow: actually reading/listening to those EPUB3 Media Overlay files.

App Store:
https://apps.apple.com/us/app/epub-player/id6768852246

Source code:
https://github.com/seedds/EPUB_Player

The app is focused on EPUB3 books with media overlays, especially books where text and audio are synced. If the EPUB has media overlay support, the app can play the audio while highlighting the active text segment.

What it does:

  • imports local EPUB files from Files
  • plays EPUB3 Media Overlay audio
  • highlights the currently spoken text
  • lets you tap text to start playback from that point
  • supports chapter navigation and resume
  • includes basic reader controls like theme, font size, line height, highlight color, and custom fonts
  • does not collect user data

This is mainly meant for people experimenting with read-aloud EPUBs, synchronized audiobook/text workflows, accessibility-style EPUBs, or Calibre libraries that include EPUB3 media overlay files.

It’s still early, so I’d be interested in feedback from people here who work with EPUB internals, Calibre-managed libraries, or generated EPUB3 files.

A couple of things I’m especially curious about:

  • how well it handles EPUBs generated by different tools
  • whether the import/library flow feels reasonable
  • what features would make it more useful for a Calibre-based workflow

Thanks!

u/seedds — 2 days ago
▲ 64 r/Calibre

I’ve been working on a project that generates EPUB 3 Media Overlay books from two inputs:

- an audiobook .m4b

- a source .epub

Repo:

https://github.com/seedds/epub-media-overlay

The goal is to produce a read-aloud EPUB with synchronized text/audio overlays.

What it does:

- splits the audiobook into chunks

- transcribes and aligns audio to the EPUB text

- injects segment ids into the XHTML

- generates SMIL overlay files

- packages a final Media Overlay EPUB

The generated EPUB is intended to be compatible with readers that support EPUB 3 Media Overlays, including:

- Storyteller

- Thorium

A few practical details:

- resumes automatically if a run is interrupted

- writes output next to the source EPUB by default

- supports Apple Silicon macOS with mlx-whisperx

- supports other platforms with whisperx

I’m also working on a related project for the reading/listening experience here:

https://github.com/seedds/Immersive-Reader

reddit.com
u/seedds — 24 days ago