/QuickPiperAudiobook

With one command, create a natural-sounding audiobook from a variety of input formats (epub, mobi, txt, PDF, HTML and more!)

Primary LanguageGoGNU Affero General Public License v3.0AGPL-3.0

QuickPiperAudiobook

Create a natural audiobook for any text content with one command.

Listen to sample output here

Installing

  1. Grab a prebuilt release

    • (Or build from source using go mod tidy && go build)
  2. Download ebook-convert and make sure it is in your PATH. (This is often bundled with calibre)

Note

You don't need to have piper installed. This program manages piper and the associated models

Usage

  • Pass in either a local file or a remote URL to generate an audiobook:
    • i.e. ./QuickPiperAudiobook test.txt
  • For a full list of options use the --help flag
    • i.e. ./QuickPiperAudiobook --help

Non-English / UTF-8

  • Grab a model for the language of choice (.onnx and .json) from the piper models
    • i.e. pl_PL-gosia-medium.onnx and corresponding pl_PL-gosia-medium.onnx.json (rename if needed)
  • Put them in ~/.config/QuickPiperAudiobook/
  • Use the --speak-utf-8 and --model= flags to specify you want utf characters to be spoken with a specific model
    • i.e. ./QuickPiperAudiobook --speak-utf-8 --model=pl_PL-gosia-medium.onnx MaszynaTuringa_Wikipedia.pdf

Note

Consider specifying this model as the default in the configuration file if you plan to use it frequenlty

Configuring

  • A configuration file at ~/.config/QuickPiperAudiobook/config.yml will be automatically created.
  • You can specify a default model and output path so you do not need to specify these args each time.
  • You can use any arbitrary model by putting the associated .onnx and .onnx.json file for it in ~/.config/QuickPiperAudiobook/
# An example for `~/.config/QuickPiperAudiobook/config.yml`

# the default output directory to use if the user does not specify --output in the cli args
output: ~/Audiobooks
# the default model to use if the user does not specify --model in the cli args
model: "en_US-hfc_female-medium.onnx"

Notes

Piper does not support progress output. Long audiobooks may take a long time to generate since all computation is being done locally.

This repo has only been tested on Linux.