Desarrollo
Todo lo que hay detrás de recito es software libre. Cuatro repositorios convierten libros electrónicos de dominio público y copyleft en el catálogo de audiolibros de este sitio:
recito — el narrador
Una aplicación de línea de comandos en Python que convierte un PDF o EPUB en un
audiolibro terminado — un solo .m4b con marcadores de capítulo,
metadatos y portada — narrado íntegramente en tu propia máquina. pip install recito y luego recito speak mybook.pdf. Sin
cuentas, sin subidas: nada sale del ordenador.
- Extracción de texto consciente de la maquetación: el análisis de PDF a nivel de tramo con PyMuPDF maneja diseños a dos columnas, encabezados corrientes, marcas de agua y números de página; los EPUB se leen capítulo a capítulo con un analizador propio que sigue la tabla de contenidos del libro.
- La narración funciona con Qwen3-TTS, un modelo de pesos abiertos (Apache-2.0), tras un protocolo de motor intercambiable: en proceso en una GPU NVIDIA local por omisión, o contra un servidor vLLM-Omni autoalojado para rendimiento a escala de lotes.
- Nueve voces predefinidas, clonación zero-shot a partir de unos segundos de audio de referencia y voces diseñadas a partir de descripciones en prosa. Los números y las abreviaturas se pronuncian como los leería una persona: «$3.5mn» sale como «three point five million dollars».
- La calidad se comprueba a oído: cada pasaje se vuelve a escuchar, y lo que salga mal se renarra automáticamente. Las renderizaciones interrumpidas continúan donde se quedaron.
Documentación: Uso · Instalación · Interioridades · Motores TTS
recito-voices — las voces
Produce los paquetes de voces con los que narra el ecosistema, para que el catálogo no se limite a las voces predefinidas de un modelo TTS. Cada paquete se valida, se versiona y se publica desde este repositorio, y ambas vías de producción terminan en el mismo artefacto.
- Clonación: clips de referencia extraídos de audio de dominio público — grabaciones de autor de la era del cilindro de cera y los primeros discos (Browning 1889, Tennyson 1890, Joyce 1924), o voces de época de cine y radio antiguos — empaquetados para clonación de voz zero-shot. Una herramienta de descubrimiento busca en archive.org y en la web grabaciones candidatas, de modo que un libro puede ser narrado por su propio autor.
- Diseño: una descripción en prosa de una voz se renderiza en un clip de referencia con Qwen3-TTS VoiceDesign y luego se empaqueta exactamente igual que un clon. Multilingüe por diseño: diseña la voz en francés, clónala al inglés, y Los tres mosqueteros se narra en inglés con acento francés.
- Una herramienta de emparejamiento lee todo el catálogo, enriquece a los autores con datos de Wikidata (género, nacionalidad, idiomas, años de vida), deduce la voz que pide cada libro, ordena las voces disponibles e informa de los huecos: así, decidir qué voz crear después es una decisión, no una suposición.
recito-catalog — la tubería del catálogo
Construye el catálogo de audiolibros: ingiere títulos de Standard Ebooks, renderiza cada uno con recito y emite los artefactos — registros JSON, audio y portadas — que este sitio publica.
- Fuente: la organización de Standard Ebooks en GitHub, donde cada libro electrónico vive como un repositorio de fuentes completo. Los repositorios no publican lanzamientos, así que los epubs se construyen desde las fuentes con el conjunto de herramientas fijado de SE.
- Nomenclatura: cada libro recibe un slug con espacio de nombres de fuente tomado
textualmente de su URL original —
se/jane-austen/pride-and-prejudice— único globalmente por construcción y lo bastante estable para servir también como ruta pública del archivo de audio. - Las portadas se envían textuales desde el epub construido, y el crédito de portada de Standard Ebooks — copiado textualmente del colofón — se muestra bajo la portada en cada página de libro. No se genera ni se encarga ninguna portada.
- Las narraciones de textos de dominio público se dedican al dominio público, siguiendo la propia dedicación de Standard Ebooks; las narraciones de textos copyleft llevan la licencia del texto, mostrada en la página de cada libro. El código de la tubería es AGPL.
Documentación: Plan · Uso · Alternativas rechazadas
recito-web — este sitio
El sitio que estás leyendo: un front-end totalmente estático y prerenderizado para el catálogo, sin aplicación del lado del servidor.
- SvelteKit 2 y Svelte 5 (runes) con TypeScript, prerenderizado con adapter-static: cualquier alojamiento estático puede servir el resultado, sin servidor de ejecución ni reglas de reescritura.
- Flujo de datos: el navegador descarga un
browse.jsonligero para la parrilla; el registro completo de cada libro se lee en tiempo de compilación para prerenderizar su página de detalle. El audio y las portadas son simples recursos estáticos. - Cuando falta una portada sincronizada, el sitio recurre a una portada tipográfica generada a partir del libro.
- El despliegue es una compilación más rsync a un alojamiento Apache. Los comentarios los gestiona un pequeño script CGI en Python que escribe un archivo por comentario: sin base de datos, sin correo, sin PHP.
Documentación: Instalación · Uso
Espejo del archivo de audio
Cada narración publicada es un .m4b autocontenido — audio, marcadores
de capítulo y portada en un solo archivo — y todo el árbol está disponible para
descarga masiva por rsync anónimo y de solo
lectura:
rsync -av --progress rsync://recito.org/recito-audio/ recito-audio/ Eso crea un espejo de toda la biblioteca— actualmente 1084.3 GB en un directorio local recito-audio/; al repetir el comando se recogen
los libros nuevos y las narraciones re-renderizadas, y añadir --delete elimina las retiradas. Los patrones de inclusión recortan el
árbol — una voz en toda la biblioteca: --include='*.qwen3-tts.aiden.m4b' --exclude='*.m4b' — o una sola fuente
sincronizando solo recito-audio/se/. La configuración del anfitrión está
en la documentación de instalación de recito-web.
Licencias
Los cuatro proyectos son software libre AGPL-3.0-or-later. Los pesos de los modelos de IA deben llevar una licencia aprobada por la OSI o ser de dominio público: los modelos no comerciales o de uso restringido se rechazan por política. Los textos originales llevan sus propias licencias: hoy las ediciones de dominio público de Standard Ebooks, con textos copyleft (CC BY-SA) aceptados como fuentes. Las narraciones de recito siguen al texto: las narraciones de textos de dominio público se dedican al dominio público; las narraciones de textos copyleft llevan la licencia del texto, mostrada en la página de cada libro. Las ilustraciones de portada conservan la licencia que la fuente haya registrado, con su crédito preservado textualmente y mostrado junto a cada portada.
Preguntas, parches e informes de errores: moe@recito.org, o deja una nota en la página de comentarios.