Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/C-Loftus/QuickPiperAudiobook
With one command, create a natural-sounding audiobook from a variety of input formats (epub, mobi, txt, PDF, HTML and more!)
https://github.com/C-Loftus/QuickPiperAudiobook
audiobooks piper productivity tts
Last synced: 4 days ago
JSON representation
With one command, create a natural-sounding audiobook from a variety of input formats (epub, mobi, txt, PDF, HTML and more!)
- Host: GitHub
- URL: https://github.com/C-Loftus/QuickPiperAudiobook
- Owner: C-Loftus
- License: agpl-3.0
- Created: 2024-07-27T01:06:28.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2025-02-01T03:05:38.000Z (10 days ago)
- Last Synced: 2025-02-07T06:38:53.801Z (4 days ago)
- Topics: audiobooks, piper, productivity, tts
- Language: Go
- Homepage:
- Size: 8.12 MB
- Stars: 615
- Watchers: 6
- Forks: 33
- Open Issues: 4
-
Metadata Files:
- Readme: readme.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- my-awesome-github-stars - C-Loftus/QuickPiperAudiobook - With one command, create a natural-sounding audiobook from a variety of input formats (epub, mobi, txt, PDF, HTML and more!) (Go)
README
# QuickPiperAudiobook
Create a natural audiobook for any text content with one command.
- Converts [PDFs, epub, txt, mobi, djvu, HTML, docx, and more](https://manual.calibre-ebook.com/generated/en/ebook-convert.html)
- All conversion is done offline and is entirely private
- Uses [piper models](https://rhasspy.github.io/piper-samples/); supports many languagesListen to sample output [ here ](./examples/)
## Installing
1. Grab a prebuilt [release](https://github.com/C-Loftus/QuickPiperAudiobook/releases/)
* (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](https://calibre-ebook.com/))
> [!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](https://rhasspy.github.io/piper-samples/)
* 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/````yml
# 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.