recito
recito turns a PDF or EPUB ebook into an audiobook you can listen to anywhere — narrated entirely on your own machine. It exists so that listening to a book you own doesn't mean renting a cloud narrator: no accounts, no uploads, no per-hour fees, nothing leaves your computer. The voice is an open-weight AI model and recito itself is free software.
Project page: recito.org Source: spacecruft.org/books/recito
recito reads PDFs the way a person does — two-column layouts, running
headers, watermarks and page numbers are all handled — and epubs are
read chapter by chapter, following the book's own table of contents.
Numbers and abbreviations are spoken properly ("$3.5mn" is read as
"three point five million dollars"). And every passage is checked by
listening back to it: anything that comes out wrong is re-narrated
automatically. The result is a single .m4b file with chapters, title,
author and cover art, ready for any audiobook player.
What you need
- A computer with an NVIDIA graphics card (about 8 GB of video memory)
- Python 3.12 and ffmpeg
- About 5 GB of disk space for the voice model, downloaded once on first use
Install
pip install recito
Best in a virtualenv. Detailed setup and other ways to install: the install guide.
Quick start
recito speak mybook.pdf
A while later, mybook-ryan.m4b sits next to the book. If anything
interrupts the render, run the same command again — finished parts are
never redone.
ryan is the default voice; recito voices lists all nine and
--voice serena picks another. To check the narration before
committing to a whole book, skim the text it will read (fast, no GPU
needed), or render a single page:
recito extract mybook.pdf --dump-text mybook.txt
recito speak mybook.pdf --voice serena --pages 10 -o preview.m4b
You can also narrate in your own voice from a few seconds of clean audio
(--voice clone:ref.wav), and books in German, French, Spanish,
Italian, Russian, Chinese and Japanese work with --language.
Learn more
- Usage guide — voices and cloning, other languages, reading part of a book, other output formats, per-book settings, covers and titles, troubleshooting
- Install guide
- For developers: DEVELOP.md (internals), ISSUES.md (known bugs), FUTURE.md (planned features), TTS.md (voice engines)
License
AGPL-3.0-or-later. See LICENSE.txt.
Copyright © 2026 Jeff Moe — Loveland, Colorado, USA
Metadata
Release files for recito 0.7.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| recito-0.7.2.tar.gz | 1.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| recito-0.7.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.4 MB
Release files / recito-0.7.2.tar.gz
| Download URL | recito-0.7.2.tar.gz |
|---|---|
| Size | 1.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3d910857c052322de6d04e86acdb5574829e937c2606d68c801735857f087b61
|
|
BLAKE2b-256 checksum How to use checksums |
1f825f2b821b1fccb4785fcee61ffb1b88ced5f599c63da500fc608e06b5074b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / recito-0.7.2-py3-none-any.whl
| Download URL | recito-0.7.2-py3-none-any.whl |
|---|---|
| Size | 1.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0508042d2319e5cd8f813adaf4e13214118b64c19ebd2e91ae0ba5d3d6b45573
|
|
BLAKE2b-256 checksum How to use checksums |
10107e8a8ecf4e3cb9ec5b128ca6ed198fd6fa51ea5f974573b816bbabe45691
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|