Skip to content

Tutorial

EPUB to Audiobook on Mac: Chapters and M4B

Convert an EPUB into chaptered audio on a Mac: read the spine, clean the text, split chapters, and export M4A or remux to M4B.

Murmur9 min read

Free plan with Kokoro voices, scripts up to 1,500 characters · 3-day Pro trial, then $49 once

Direct answer: you turn an EPUB into a chaptered audiobook on a Mac by reading the book's spine, splitting that reading order into one script per chapter, cleaning the extracted text, and generating one audio file per chapter. EPUB is usually easier than PDF for this because the EPUB 3.3 specification defines a spine, the ordered list of content documents that represents the default reading order, so the book already tells you where the chapters are. Murmur, a local-first macOS voice studio, imports EPUB and runs the narration models on your own Apple Silicon Mac.

This guide is about the conversion itself, not about finding an ebook to convert. It covers how to check an EPUB before you spend hours on it, how to clean the text that comes out of the package, how to turn spine sections into chapter scripts, and how to get from the audio Murmur exports to an M4B if you need one for an audiobook store. It also says plainly where a cloud narrator or a dedicated mastering suite fits better.

Why an EPUB is a better source than a PDF

A PDF stores fixed pages; an EPUB stores structured documents. The package document (often a file named content.opf) lists a manifest of every resource and a spine that orders the readable documents. Because Murmur follows that spine when it imports an EPUB, the content arrives in the book's own reading order, not in whatever order a page-by-page extraction guesses. The EPUB navigation document, the file that carries the table of contents, is a second signal you can use to name chapters.

Source fileWhat it gives youChapter signalEffort
PDF with a text layerText extracted page by page; multi-column pages can extract out of orderHeadings, bookmarks, table of contentsMedium: you map pages to chapters yourself
EPUBSpine-ordered XHTML content documents, with markup stripped down to textThe spine itself, plus the navigation document table of contentsLower: chapters are already separate documents
Plain text or MarkdownWhatever structure you typedOnly the headings you wroteLow if you wrote clean headings

The practical difference is that a clean EPUB rarely needs a text-layer check. A PDF can be an image scan with no text at all, so you must test it before importing. An EPUB is a ZIP archive of XHTML and images, so there is almost always text to extract, though a DRM-protected EPUB is a different problem entirely, and one this workflow cannot solve.

Step 1: Check the EPUB before you import

Not every EPUB will import cleanly. Do this quick triage first, because a problem found here saves an hour of cleanup.

  1. Open the book in a reading app. If it opens without an account or a decryption key, it is not DRM-locked.
  2. Confirm it reflows: change the font size. Text that reflows is normal flowable prose. A comic or a picture book may be fixed-layout, which is mostly images and a poor fit for narration.
  3. If the file refuses to open anywhere without a store account, it is DRM-protected. Murmur does not remove DRM, so start from a DRM-free copy of a book you own.
  4. Skim the table of contents and note how many top-level sections it has. That is roughly your chapter count.
  5. If your file is really a large PDF renamed to .epub, or an audiobook file, it will not import. Use the correct source instead.

A locked or DRM-protected EPUB is the main failure mode. Murmur unpacks the archive and reads the package document, so a file it cannot unpack or parse reports an extraction or empty-document error rather than silently producing nothing. If you cannot get a DRM-free copy, the workflow stops here.

Step 2: Clean the text before you generate audio

Extraction is not the same as clean narration. When Murmur imports an EPUB it parses each content document, ignores head, script, style, and svg elements, turns block elements such as paragraphs, headings, and list items into paragraph breaks, and decodes common named entities (non-breaking spaces, curly quotes, and dashes) into plain characters. Then it cleans the result: it rejoins words hyphenated across a line wrap, flattens single soft line breaks into spaces while keeping paragraph breaks, and collapses runs of spaces. What remains still deserves an editor's eye.

Read the imported preview and fix these before you generate, because a confident voice reads errors as if they were correct:

  • Hyphenated words the cleaner joined incorrectly: a genuine compound like re-create can lose its hyphen and read wrong.
  • Numbers and units: decide whether you want 3.5 spoken as three point five.
  • Abbreviations and citations: expand or remove e.g., ibid., or bracketed footnote markers you do not want spoken.
  • Scene separators: a line of asterisks or a centered symbol becomes an odd pause. Replace it with a blank line or a spoken word such as later.
  • Non-Latin characters and emoji: replace them, since a narrator voice may not read them.
  • Repeated running headers or page numbers that the EPUB carried into the body text.

For a deeper pass, the text normalization guide covers how to write numbers, dates, and symbols for speech, and the pronunciation and punctuation fixes guide covers the words a voice tends to read wrong.

Step 3: Turn the spine into chapter scripts

Murmur chunks imported text into roughly 400 to 1,000 characters, favoring about 500, splitting on paragraphs and sentences and keeping a section number on every chunk. That granularity is for generation, not for publication. A chapter should be a script you name and export on its own.

Consider an EPUB with a title page, a contents page, an introduction, twelve numbered chapters, and an afterword. That is about sixteen readable spine documents. Drop the title and contents pages, then name the rest: Introduction, Chapter 1 through Chapter 12, Afterword. Map chunks to those names using the section numbers and the table of contents you noted in step 1. If one spine document contains more than one chapter, which happens when a publisher puts a whole book in a single XHTML file, split it yourself at the heading text.

The payoff is regeneration. When a fact changes or a name is mispronounced, you fix that one chapter's script and regenerate only that chapter. The other chapters stay exactly as approved. The full audiobook workflow goes deeper on structure and pacing across many chapters, and the audiobook narration guide covers choosing and auditioning a single narrator so the book sounds continuous.

Step 4: Generate and export chaptered audio

Voice every chapter with the same narrator. Murmur is a local-first voice studio for Apple Silicon Macs running macOS 15 or later, so generation happens on your machine with no per-character fees and nothing uploaded to a cloud service. That matters for an unpublished manuscript under an NDA; the private documents workflow covers keeping sensitive files on your own Mac.

Murmur exports WAV and M4A. When a chaptered timeline is exported as M4A, the timeline markers are written into the file as chapter metadata using the same timed metadata mechanism Apple documents for chapters, AVTimedMetadataGroup, whose overview states it is used to represent chapters with metadata items for chapter titles. Keep the WAV per chapter as an editing master, hand out the M4A with chapters, and you can also export a transcript as a .txt file, a chapter list as a .csv, or every clip as its own file.

FormatBest forChaptersNotes
WAVEditing master and archivingOnly if you split by fileLossless and largest
M4ADelivery to a player or a video editYes, timeline markers embed as chaptersCompact; what Murmur exports
M4BAudiobook stores and audiobook appsYes, by conventionNot produced by Murmur; remux from M4A
Chapter CSV and transcriptReviewing, correcting, and show notesNot audioExported next to the audio

The WAV, M4A, and MP3 export guide explains the difference between a master and a delivery copy in more detail.

Getting to M4B if you need it

M4B is the audiobook flavor of MPEG-4 audio and conventionally carries chapter markers, a cover, and playback position so a player can resume and let a listener jump between chapters. Murmur does not produce M4B. If a store or app requires it, take the M4A that Murmur exports and remux it in a separate tool that writes M4B; that keeps the AAC audio and the chapters and changes only the container. Do not re-encode to save a step, because that can cost quality for no benefit. Before you upload anywhere, read that store's own file requirements page, since container, encoding, and chapter conventions vary, and I am not quoting any one store's numbers here.

If your EPUB is really a set of short posts rather than a book, the delivery format and the chapter logic both change; turning blog posts into audio is closer to that job.

A practical EPUB-to-audiobook checklist

  1. Confirm the EPUB opens without a store account (not DRM-locked) and reflows.
  2. Note the top-level sections in the table of contents; that is your chapter list.
  3. Import the EPUB and read the text preview.
  4. Fix hyphen joins, numbers, abbreviations, scene separators, and stray headers.
  5. Name and split one script per chapter, and drop front matter you do not want voiced.
  6. Choose one narrator voice and use it for every chapter.
  7. Generate chapter audio, then export a WAV master per chapter and an M4A with chapter markers.
  8. Listen at the start and end of each chapter and spot-check names and numbers.
  9. Remux to M4B only if a target store requires it, then deliver the audio plus the chapter list.

When this approach, and Murmur, are not the right fit

If you work on Windows, want several people editing one project in the cloud at once, or need live, real-time streaming speech, a cloud service with those features is the better tool. Murmur runs only on Apple Silicon Macs with macOS 15 or later and does not provide Windows, iPhone, Android, or browser apps, live streaming, or speech to text. If the EPUB is DRM-protected and you cannot obtain a DRM-free copy, no text-to-speech tool helps, because the text itself is what is locked. If a publisher requires a signed, DRM-wrapped M4B with professional mastering, a dedicated audiobook production suite will do more of that job than a voice studio. Murmur is strongest when you want private, repeatable narration you can regenerate yourself, chapter by chapter.

Frequently asked questions

Sources

Turn your EPUB into chapter audio with Murmur

Murmur is a local voice studio for Apple Silicon Macs running macOS 15 or later. It imports EPUB and plain text, runs on your own machine, and exports WAV or M4A with chapter markers. The website edition is $49 one-time, with a free plan and a 3-day Pro trial, and a 7-day refund policy. Listen to the public samples before you buy.

macOS 15+ · Apple Silicon required · 7-day refund policy