Développeurs

Tout ce qui fait tourner recito est un logiciel libre. Quatre dépôts transforment des ebooks du domaine public et copyleft en le catalogue de livres audio de ce site :

standardebooks.orgepubs sources recito-catalog recito recito-web recito.org
audio du domaine publicenregistrements · film · radio recito-voices paquets de voix pour recito

recito — le narrateur

Une application Python en ligne de commande qui transforme un PDF ou un EPUB en livre audio fini — un seul .m4b avec marqueurs de chapitres, métadonnées et pochette — entièrement lu sur votre propre machine. pip install recito, puis recito speak mybook.pdf. Pas de comptes, pas d'envois, rien ne quitte l'ordinateur.

  • Extraction de texte sensible à la mise en page : l'analyse PDF au niveau du fragment avec PyMuPDF gère les mises en page à deux colonnes, les en-têtes courants, les filigranes et les numéros de page ; les EPUB sont lus chapitre par chapitre par un analyseur sur mesure qui suit la table des matières du livre lui-même.
  • La narration tourne sur Qwen3-TTS, un modèle à poids ouverts (Apache-2.0), derrière un protocole de moteur enfichable — en processus sur un GPU NVIDIA local par défaut, ou contre un serveur vLLM-Omni auto-hébergé pour un débit à l'échelle des lots.
  • Neuf voix prédéfinies, clonage zéro-shot à partir de quelques secondes d'audio de référence, et voix conçues à partir de descriptions en prose. Les nombres et les abréviations sont lus comme une personne le ferait — « $3.5mn » devient « three point five million dollars ».
  • La qualité se vérifie à l'oreille : chaque passage est réécouté, et tout ce qui ressort mal est re-narré automatiquement. Les rendus interrompus reprennent là où ils s'étaient arrêtés.

Documentation : Utilisation · Installation · Internes · Moteurs TTS

recito-voices — les voix

Produit les paquets de voix avec lesquels l'écosystème narre, afin que le catalogue ne soit pas limité aux presets de locuteurs intégrés d'un modèle TTS. Chaque paquet est validé, versionné et publié depuis ce dépôt, et les deux chemins de production aboutissent au même artefact.

  • Clonage : des extraits de référence découpés dans de l'audio du domaine public — enregistrements d'auteurs de l'ère des cylindres de cire et des premiers disques (Browning 1889, Tennyson 1890, Joyce 1924), ou voix d'époque issues de vieux films et de la radio — empaquetés pour le clonage de voix zéro-shot. Un outil de découverte fouille archive.org et le web au sens large à la recherche d'enregistrements candidats, pour qu'un livre puisse être narré par son propre auteur.
  • Conception : une description en prose d'une voix est rendue en extrait de référence avec Qwen3-TTS VoiceDesign, puis empaquetée exactement comme un clone. Translingue par conception : concevez la voix en français, clonez-la en anglais, et Les Trois Mousquetaires sont narrés en anglais à accent français.
  • Un outil d'association lit tout le catalogue, enrichit les auteurs avec des faits Wikidata (genre, nationalité, langues, dates de vie), déduit la voix que veut chaque livre, classe les voix disponibles et signale les manques — pour que la prochaine voix à créer soit une décision, pas une conjecture.

Documentation : Plan · Phases

recito-catalog — le pipeline de catalogue

Construit le catalogue de livres audio : il ingère les titres de Standard Ebooks, rend chacun avec recito, et émet les artefacts — enregistrements JSON, audio et pochettes — que ce site publie.

  • Source : l'organisation GitHub de Standard Ebooks, où chaque ebook vit sous forme de dépôt source complet. Les dépôts ne publient pas de releases, donc les epubs sont construits depuis les sources avec la chaîne d'outils SE épinglée.
  • Nommage : chaque livre reçoit un slug préfixé par sa source, repris tel quel de son URL amont — se/jane-austen/pride-and-prejudice — globalement unique par construction, et assez stable pour servir aussi de chemin public du fichier audio.
  • Les pochettes sont livrées telles quelles depuis l'epub construit, et le crédit de pochette de Standard Ebooks — copié tel quel du colophon — est affiché sous la pochette sur la page de chaque livre. Aucune pochette n'est générée ni commandée.
  • Les narrations de textes du domaine public sont dédiées au domaine public, à l'image de la dédicace de Standard Ebooks ; les narrations de textes copyleft portent la licence du texte, affichée sur la page de chaque livre. Le code du pipeline est sous AGPL.

Documentation : Plan · Utilisation · Alternatives rejetées

recito-web — ce site

Le site que vous lisez : un front-end entièrement statique et pré-rendu pour le catalogue, sans application côté serveur.

  • SvelteKit 2 et Svelte 5 (runes) avec TypeScript, pré-rendu avec adapter-static — n'importe quel hébergement statique peut servir le résultat, sans serveur applicatif ni règles de réécriture.
  • Flux de données : un browse.json allégé est récupéré par le navigateur pour la grille ; l'enregistrement complet de chaque livre est lu au moment du build pour pré-rendre sa page de détail. L'audio et les pochettes sont de simples ressources statiques.
  • Quand une pochette synchronisée est absente, le site retombe sur une pochette typographique générée, associée au livre.
  • Le déploiement est un build plus rsync vers un hôte Apache. Les envois de commentaires sont traités par un seul petit script CGI Python qui écrit un fichier par commentaire — pas de base de données, pas de courriel, pas de PHP.

Documentation : Installation · Utilisation

Mettre en miroir l'archive audio

Chaque narration publiée est un .m4b autonome — audio, marqueurs de chapitres et pochette dans un seul fichier — et toute l'arborescence est disponible en téléchargement de masse par rsync anonyme en lecture seule :

rsync -av --progress rsync://recito.org/recito-audio/ recito-audio/

Cela met en miroir toute la bibliothèque— actuellement 1084.3 GB dans un répertoire local recito-audio/ ; relancer la commande récupère les nouveaux livres et les narrations re-rendues, et ajouter --delete supprime celles qui ont été retirées. Les motifs d'inclusion découpent l'arborescence — une seule voix dans toute la bibliothèque : --include='*.qwen3-tts.aiden.m4b' --exclude='*.m4b' — ou une seule source en ne synchronisant que recito-audio/se/. La configuration de l'hôte est dans la documentation d'installation de recito-web.

Licences

Les quatre projets sont des logiciels libres sous AGPL-3.0-or-later. Les poids des modèles d'IA doivent porter une licence approuvée par l'OSI ou être dans le domaine public — les modèles non commerciaux ou à usage restreint sont rejetés par principe. Les textes sources portent leurs propres licences — aujourd'hui les éditions du domaine public de Standard Ebooks, avec des textes copyleft (CC BY-SA) acceptés comme sources. Les narrations de recito suivent le texte : les narrations de textes du domaine public sont dédiées au domaine public ; les narrations de textes copyleft portent la licence du texte, affichée sur la page de chaque livre. Les pochettes conservent la licence enregistrée par la source, avec leur crédit préservé tel quel et affiché à côté de chaque pochette.

Questions, correctifs et rapports de bogues : moe@recito.org, ou laissez un mot sur la page de commentaires.