Skip to main content

recito

recito turns a PDF or EPUB ebook into an audiobook you can listen to anywhere — narrated entirely on your own machine (an unpacked-epub directory, such as an ebook source tree, works too). 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

License

AGPL-3.0-or-later. See LICENSE.txt.

Copyright © 2026 Jeff Moe — Loveland, Colorado, USA

Metadata

Release files for recito 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for recito 0.8.0
File Size Uploaded
recito-0.8.0.tar.gz 1.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for recito 0.8.0
File Interpreter ABI Platform
recito-0.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 3.1 MB

Release files / recito-0.8.0.tar.gz

Download URL recito-0.8.0.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
fb37d9c4c945544e94fd480fee7ba7b781b6e21ae06a26c0f58a1502c8b0adf3
BLAKE2b-256 checksum
How to use checksums
e982aa5dbf1eecba84ed6ea9d05a946c936a9fc85eaf7edb90d3929bcfc3ccce
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.8.0-py3-none-any.whl

Download URL recito-0.8.0-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
94c98d73d55e7dcb7def2f5bb148e639611555836cd083648c1c2d1624f95fb7
BLAKE2b-256 checksum
How to use checksums
d7e213dbe1eca60c6c42bdae7a8ff38d7a713955c426cf16599a3ce75d4eaab7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

0.9.0

2 release files

0.8.3

2 release files

This release

0.8.0 This release

2 release files

0.7.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page