Storyteller
$9.00 / month with a 7-day free trial and a $1.00 sign-up fee
Self-hosted ebook + audiobook fusion — combine your EPUB and its audiobook into a single EPUB 3 with Media Overlays so the words highlight as the narrator reads.
A managed Storyteller instance hosted on ElfHosted. Upload an ebook and its audiobook; Storyteller transcribes the audio, aligns it sentence-by-sentence with the ebook text, and outputs a single EPUB 3 file with Media Overlays. Open the result in any compatible reader — including the dedicated iOS and Android Storyteller apps — and read along while the narrator reads, with text highlighting in time. Audible’s Immersion Reading / Whispersync for Voice, on your own files.
The missing third option in your audiobook stack. You already have Audiobookshelf for listening and BookLore or Kavita for reading. Storyteller fuses the two into a single EPUB 3 you read along with — Audible Immersion Reading on your own files.
What is Storyteller?
Storyteller combines an ebook and its audiobook into a single EPUB 3 file with Media Overlays. Drop an EPUB and an audiobook in; Storyteller transcribes the audio, aligns it sentence-by-sentence with the ebook text, and outputs an EPUB 3 you can read along with — words highlight live as the narrator speaks. The model is Audible's Immersion Reading (Whispersync for Voice), on your own files:
- The audiobook plays while the matching ebook text highlights word-by-word.
- Output is a standards-compliant EPUB 3 with Media Overlays — any reader that supports the spec plays the read-along version.
- The dedicated Storyteller iOS and Android apps deliver the smoothest experience; other compatible EPUB 3 readers also work.
This is read-and-listen simultaneously, not Kindle-style position sync between sessions. You're consuming both formats at once, in one file.
Key Features
- 📖 EPUB+audiobook fusion: Storyteller transcribes the audiobook, aligns it sentence-by-sentence with the ebook text, and outputs a single EPUB 3 file containing both.
- 🎧 Read-along (Immersion Reading): the audiobook plays while the ebook text highlights live — the same model as Audible's Immersion Reading / Whispersync for Voice, on your own files.
- 📲 Native iOS & Android apps: dedicated iOS and Android apps for the read-along experience.
- 📚 EPUB 3 + Media Overlays output: standards-compliant — any reader that supports EPUB 3 Media Overlays can play the synced version.
- 🤖 Local or cloud transcription: use the bundled local transcription (single-CPU, slow on long audiobooks) or point Storyteller at a cloud transcription API for faster, paid processing (~$0.35/hour of audio).
- 🔓 FOSS: AGPL-3.0; no upstream subscription.
- 🔄 Updates handled: ElfHosted keeps Storyteller current.
How Storyteller Fits Into Your Stack
Storyteller is a transcription-and-alignment tool, not a media server. It needs both halves of a title (ebook + audiobook) and complements your existing reading/listening servers:
- Audiobookshelf — your audiobook server. Storyteller takes the audiobook from your ABS library as input.
- BookLore or Kavita — your ebook server. Storyteller takes the ebook as input.
- Storyteller (this product) — transcribes, aligns, and produces the synced EPUB 3 + audiobook bundle that the apps consume.
You don't replace your existing servers — Storyteller adds a hybrid mode for the titles where you happen to have both formats.
Why Run Storyteller on ElfHosted?
Transcription is CPU-heavy — Storyteller's bundled local transcription pins a single CPU core for the duration of the job, which means a 12-hour audiobook can take overnight on a home server. ElfHosted gives you a few advantages:
- Server-grade CPU handles local transcription faster than most home boxes.
- Or wire Storyteller to a cloud transcription API (~$0.35/hour of audio) for production-speed alignment.
- Native iOS/Android apps connect over HTTPS to your ElfHosted subdomain — no port-forwarding.
- Library storage shared with your ElfHosted Audiobookshelf and BookLore — Storyteller can read both libraries directly.
- Updates roll out without you touching anything.
Technical Specifications
- 🛠️ Software: Storyteller (FOSS, AGPL-3.0)
- 📥 Inputs: EPUB ebook + audiobook (M4B/MP3/etc.)
- 📤 Outputs: EPUB 3 with Media Overlays — standards-compliant; works with any compatible reader
- 📲 Native apps: iOS and Android
- 🤖 Transcription: bundled local (single-CPU) or external cloud API (~$0.35/hour of audio for paid services)
- 🔑 Subscription: none required for Storyteller itself; cloud transcription API (if used) billed separately by provider
- 🌐 Access: hosted on your ElfHosted subdomain with TLS
- 🔄 Updates: handled by ElfHosted
Frequently Asked Questions
How do I run Storyteller without self-hosting it?
Add it to your ElfHosted subscription — this product is a managed Storyteller instance, pre-wired to share storage with your ElfHosted Audiobookshelf and BookLore for direct ebook/audiobook input.
Do I need both an ebook and an audiobook?
Yes — Storyteller's job is aligning the two. If you only have one format, this isn't the tool you want. For audiobook playback only, see Audiobookshelf; for ebook reading only, see BookLore or Kavita.
How long does transcription take?
Bundled local transcription is single-CPU and slow — expect roughly 1× audio length on a server-grade core (e.g. 12 hours of audio takes ~12 hours of CPU time). Cloud transcription APIs are dramatically faster but billed per audio hour (~$0.35/hour). For one-off books local is fine; if you're processing a backlog, cloud is faster.
Do I have to use the Storyteller apps?
No. Storyteller's output is EPUB 3 with Media Overlays — any reader that supports the standard plays the synced version. The dedicated apps are the smoothest experience but not the only option.
Is this like Amazon's Whispersync for Voice?
Yes — Whispersync for Voice (a.k.a. Audible Immersion Reading) is the precise analogue: the audiobook plays while the matching ebook text highlights live. Note this is not Kindle-style "Whispersync" (position sync between separate reading and listening sessions) — Storyteller produces a single EPUB 3 file you read and listen to at the same time, not a sync layer that tracks where you stopped on each device. The other difference: Amazon's Whispersync for Voice only works with audiobooks Amazon sells; Storyteller works with any ebook + audiobook pair you own.
Does Storyteller include any books or audiobooks?
No. Storyteller is the alignment engine — bring your own EPUBs and audiobook files (M4B/MP3/etc.).
Hosted Storyteller is the niche-but-magical layer on top of your audiobook and ebook libraries — combines them into single EPUB 3 files with Media Overlays for live read-along, where the words highlight as the narrator speaks. Audible's Immersion Reading / Whispersync for Voice for the self-hosted crowd. Bring your books; we run the alignment engine.
1 review for Storyteller
Clear filtersOnly logged in customers who have purchased this product may leave a review.
Frequently bought together
Storyteller
Self-hosted ebook + audiobook fusion — combine your EPUB and its audiobook into a single EPUB 3 with Media Overlays so the words highlight as the narrator reads.
A managed Storyteller instance hosted on ElfHosted. Upload an ebook and its audiobook; Storyteller transcribes the audio, aligns it sentence-by-sentence with the ebook text, and outputs a single EPUB 3 file with Media Overlays. Open the result in any compatible reader — including the dedicated iOS and Android Storyteller apps — and read along while the narrator reads, with text highlighting in time. Audible's Immersion Reading / Whispersync for Voice, on your own files.
Shelfmark
Unified ebook and audiobook download hub — search web archives, torrent, Usenet, and IRC from a single interface.
A managed Shelfmark instance hosted on ElfHosted. Search and download ebooks and audiobooks from multiple sources — popular web archives, torrent, Usenet, and IRC — through one clean interface. Metadata from Hardcover and Open Library. Real-time download queue. Built-in Cloudflare bypass. Integrates directly with Calibre Web (Automated), BookLore, and Audiobookshelf as a download client.
Openbooks
Web UI for IRC ebook downloads — search irc.irchighway.net without touching an IRC client.
A managed Openbooks instance hosted on ElfHosted. Search the IRC Highway #ebooks network via a clean web interface — type a title, pick a result, download direct to your browser or straight to rclone-mounted cloud storage. No IRC client, no DCC setup, no bots to configure. The oldest ebook source on the internet, with a modern front-end.
Related products
Audiobookshelf
Self-hosted audiobook and podcast server — your library, your apps, no Audible subscription.
A managed Audiobookshelf instance hosted on ElfHosted. Stream audiobooks and podcasts from your own library to native iOS, Android, and web apps — multi-user, with progress sync across devices. Fully open-source, no subscription required to the upstream project. Bring your own audiobook files and podcast feeds.
Calibre Web (Automated)
Self-hosted Calibre library web UI with automated ingestion, format conversion, and send-to-Kindle/Kobo.
A managed Calibre Web Automated instance hosted on ElfHosted. Browse, read, and download your Calibre ebook library via a modern web UI — plus an automated ingestion pipeline that processes new books dropped into an inbox folder, converts formats (EPUB→KEPUB for Kobo, etc.), and updates metadata without manual Calibre desktop sessions. OPDS support for Kindle and Kobo. Bring your existing Calibre library or start fresh.
Shelfmark
Unified ebook and audiobook download hub — search web archives, torrent, Usenet, and IRC from a single interface.
A managed Shelfmark instance hosted on ElfHosted. Search and download ebooks and audiobooks from multiple sources — popular web archives, torrent, Usenet, and IRC — through one clean interface. Metadata from Hardcover and Open Library. Real-time download queue. Built-in Cloudflare bypass. Integrates directly with Calibre Web (Automated), BookLore, and Audiobookshelf as a download client.
Kavita
Self-hosted reading server for ebooks, manga, comics, and webtoons — fast, polished, FOSS.
A managed Kavita instance hosted on ElfHosted. Stream EPUB, PDF, CBZ, CBR, and webtoon files from your own library with reading-progress sync, bookmarks, and a polished mobile-friendly UI. Companion mobile apps via Tachiyomi/Mihon and OPDS-aware readers. Fully FOSS, no subscription. Bring your own ebook/comic files.
AudioBookRequest
Audiobook request UI for households — search Audible's catalog, submit requests, Prowlarr fulfils them automatically.
A managed AudioBookRequest instance hosted on ElfHosted. Users search the Audible catalog through a clean web UI, submit audiobook requests, and Prowlarr handles the rest — finding the audiobook via your configured indexers and downloaders, dropping it into the folder Audiobookshelf watches. Per-user accounts, request approval workflow, no manual NZB/torrent hunting.
AudioBookBay Automated
AudioBook Bay search-and-grab UI — find audiobooks, send the magnet to your torrent client or Decypharr.
A managed AudioBookBay Automated instance hosted on ElfHosted. Search AudioBook Bay through a clean web UI and send magnet links straight to your preferred download client — Deluge, qBittorrent, Transmission, or Decypharr via its qBit-compatible API for Real-Debrid streaming. Drops finished audiobooks into Audiobookshelf's watched folder. Bring your own torrent client or RD subscription.
BookLore
Self-hosted digital library for PDFs and ePubs — built-in reader, multi-user, OPDS, metadata from Goodreads and Google Books.
A managed BookLore instance hosted on ElfHosted. Host and manage your PDF and ePub library with a fast built-in web reader, automatic metadata from Goodreads, Amazon, and Google Books, multi-user access with per-library permissions, and an OPDS 1.2 catalog for external reading apps. No Calibre database required — upload books directly. Fully FOSS, actively maintained.
Shoko
AniDB-driven anime library manager — exact file identification via ed2k hashing, perfect metadata for Plex, Jellyfin, and Kodi.
A managed Shoko instance hosted on ElfHosted. Shoko fingerprints your anime files via ed2k hashing, matches them against AniDB (the authoritative anime database), and provides correct metadata — proper episode counts, OVAs, seasons, romanized titles — to Plex, Jellyfin, and Kodi via dedicated plugins. The fix for everyone whose anime library has been silently wrong in their media server for years.

Verified owner elfautotest (verified owner) –
So seamless and fast. Literally just works out of the box and has the best default profile 9.9/10. The only thing is I wish you could add this as part of a bundle that downloads audiobooks + books automatically and automatically add them to the storage.
Fast, and easy
(add bundles please)