Read the full writeup →

A free, open-source desktop app

EPUB to Audiobook

Turns any e-book into an audiobook on your own computer, then highlights each sentence on screen as it is read.

English · Mandarin (Mainland and Taiwan) · Cantonese

Contents, as the app found them

What I Talk About When I Talk About Running

  1. 1Contents95 w
  2. 2Foreword751 w
  3. 3Chapter One5,326 w · 3 parts
  4. 4Chapter Two6,294 w · 4 parts
  5. 5Chapter Three5,281 w · 3 parts
  6. 6Chapter Four4,817 w · 3 parts
  7. 7Chapter Five3,679 w · 2 parts
  8. 8Chapter Six4,990 w · 3 parts
  9. 9Chapter Seven3,133 w · 2 parts
  10. 10Chapter Eight4,002 w · 2 parts
  11. 11Chapter Nine5,832 w · 3 parts
  12. 12Afterword1,221 w
  13. 13Also by Haruki Murakami62 w
  14. 14Copyright163 w
~45,646 words~5h 4m estimated~12 min per part

Retyped from a --list dry run of the V6 command-line tool on an EPUB of Haruki Murakami's memoir (the book is not in the repo). The full output is in the write-up.

How it works

  1. Open an EPUB. The app finds the chapters and flags contents, copyright and "Also by" pages so you can untick them.
  2. Pick a voice and language. Microsoft's free edge-tts neural voices, no API key. Chinese books get a Mandarin voice automatically; switch to a Hong Kong voice for Cantonese.
  3. Convert. Each chapter renders to its own MP3, written safely so an interrupted run resumes where it stopped.
  4. Listen and read along. The built-in player highlights each sentence using the timing edge-tts sends with the audio. Or export a single .m4b with chapter markers.

Six versions

V1
Extraction, chapter detection, synthesis, atomic writes, resume
V2
Shared engine, timing sidecars for read-along, ID3 tags and .m4b
V3–4
Read-along timed directly from edge-tts boundary events, speed control, the modern interface
V5
Mandarin and Cantonese voices, Chinese sentence splitting and fonts
V6
Finds ffmpeg off PATH, so speed control and .m4b work on a fresh machine
About the books. The app ships no books or audio. Convert e-books you own or public-domain titles, for personal listening. The text is sent to Microsoft's edge-tts service to be voiced; everything else runs on your computer.
Get the app on GitHub Setup guide