Skip to content

Convert an ePub e-book, or any long document (PDF, docx, etc.) into MP3 file(s) for use as an audiobook. Uses Piper TTS.

Notifications You must be signed in to change notification settings

tigger04/make-audiobook

Repository files navigation

make-audiobook

Convert ebooks and documents into audiobooks using Piper TTS — locally, privately, and free.

Installation | CLI Guide | GUI Guide | Vision

Important

Input files must be DRM-free. This tool cannot process DRM-protected ebooks (e.g., Kindle .azw, Adobe DRM .epub). Use DRM-free sources or legally remove DRM from files you own.

Features

  • Local processing — no cloud services, no data leaves your machine
  • GUI and CLI interfaces
  • Converts epub, docx, txt, md, html, pdf to MP3
  • Batch processing multiple files
  • ID3 metadata tagging (author, title, track numbers)
  • Voice browser to download from 100+ Piper voices
  • Interactive or random voice selection
  • Adjustable speech speed

Quickstart

Install (macOS)

# GUI application (includes CLI)
brew install --cask tigger04/tap/make-audiobook

# CLI only
brew install tigger04/tap/make-audiobook

Install (NixOS / Nix)

nix run github:tigger04/make-audiobook

See the Installation Guide for Linux, Windows, and manual installation.

GUI

Launch from Applications, or:

make gui
  1. Drag files onto the window
  2. Select a voice
  3. Click "Convert to Audiobook"

Full GUI Guide

CLI

# Convert with interactive voice selection
make-audiobook mybook.epub

# Random voice
make-audiobook mybook.epub --random-voice

# Batch processing with high-quality voices
make-audiobook chapter*.txt --random=high

# Adjust speed (higher = slower, default 1.5)
make-audiobook mybook.epub --length_scale=2.0

Full CLI Guide

Supported Formats

Input Output
.epub .mp3
.docx
.txt
.md
.html
.pdf

Dependencies

  • Piper TTS — neural text-to-speech
  • FFmpeg — audio encoding
  • Pandoc — document conversion
  • PySide6 — GUI framework (LGPL)
  • fzf — interactive voice selection (CLI)
  • fd — fast file finder

Make Targets

Target Description
make install Install CLI dependencies
make install-gui Install GUI dependencies and default voices
make gui Launch the GUI
make test Run all tests
make test-gui Run GUI tests
make lint Run linters (Ruff, ShellCheck)
make clean Remove build artefacts
make release Tag, build, and push a release
make help Show all targets

Project Structure

Path Description
make-audiobook CLI executable (bash)
make-audiobook-gui GUI launcher script
piper-voices-setup Voice installation script
gui/ PySide6 GUI source code
tests/gui/ GUI test suite (264 tests)
docs/ Documentation
homebrew/ Homebrew formula and cask
flake.nix Nix flake for NixOS/nix-darwin
scripts/ Build scripts (macOS .app bundle)
resources/ App icon and assets
Makefile Build targets

Documentation

Document Description
Installation Guide Setup for macOS, Linux, NixOS, Windows
CLI Usage Command-line options and examples
GUI Usage Visual interface walkthrough
Project Vision Goals and design philosophy
Implementation Plan GUI architecture and phasing

License

MIT — Copyright Tadhg Paul

About

Convert an ePub e-book, or any long document (PDF, docx, etc.) into MP3 file(s) for use as an audiobook. Uses Piper TTS.

Resources

Stars

Watchers

Forks

Packages

No packages published