abogen : générer un livre audio synchronisé depuis un EPUB ou un PDF
Generate audiobooks from EPUBs, PDFs and text with synchronized captions.
En bref
- De quoi s’agit-il ?
- abogen assemble le modèle Kokoro-82M, un lecteur de documents et un générateur de sous-titres pour produire un fichier audio avec des sous-titres alignés. Le projet est jeune, la dépendance à espeak-ng est obligatoire et la documentation reste mince sur plusieurs points.
- À qui s’adresse-t-il ?
- abogen convient à qui veut produire un livre audio ou une voix off à partir d'un EPUB, d'un PDF ou d'un fichier texte, sur une machine disposant d'un GPU NVIDIA récent ou d'un Mac Apple Silicon, et qui accepte d'installer espeak-ng à la main. Il ne convient pas si vous avez besoin d'une file d'attente multi-utilisateurs, d'un rendu de voix par personnage, ou si vous travaillez uniquement sous Windows avec un GPU AMD.
- Puis-je l’utiliser commercialement ?
- Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 8 jours.
- En quel langage est-il écrit ?
- Principalement Python, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Le problème que abogen attaque
Convertir un EPUB en audio n'est pas difficile. Le difficile est d'obtenir en même temps un fichier de sous-titres dont le minutage correspond réellement à la parole générée. La plupart des chaînes de traitement font les deux séparément : un outil synthétise la voix, un autre tente d'aligner le texte sur l'audio, et l'alignement dérive au bout de quelques minutes. abogen part du principe inverse. Le projet, écrit en Python et distribué sur PyPI, prend en entrée un ePub, un PDF, un fichier texte, du markdown ou un fichier de sous-titres, et rend un audio accompagné de ses sous-titres. Le README annonce une démonstration produite en cinq secondes pour environ une minute d'audio avec des sous-titres synchronisés. Le public visé est concret : personnes qui fabriquent des livres audio, voix off pour Instagram, YouTube ou TikTok, et quiconque a besoin d'un texte lu à voix haute sans passer par un service hébergé.
Kokoro-82M comme moteur, espeak-ng comme prérequis
La synthèse vocale repose sur Kokoro-82M, un modèle hébergé sur Hugging Face. abogen ne l'entraîne pas, il l'orchestre : le modèle produit l'audio, et le projet se charge de la lecture des documents et de la synchronisation. Cette architecture a une conséquence pratique que le README met en avant dès la première ligne d'installation : espeak-ng doit être présent sur la machine. Sous Windows, il faut télécharger et exécuter le fichier .msi de la dernière release espeak-ng avant toute autre chose. Sous macOS, c'est brew install espeak-ng. Sous Linux, sudo apt install espeak-ng, sudo pacman -S espeak-ng ou sudo dnf install espeak-ng selon la distribution. Aucune de ces étapes n'est optionnelle. C'est le point où une installation échoue le plus souvent, et le README y consacre une note séparée. Le choix d'un modèle de 82M de paramètres plutôt qu'un modèle plus gros implique un compromis que la documentation n'explicite pas : la vitesse d'inférence est le critère affiché, la qualité de voix ne fait l'objet d'aucune comparaison dans le matériel fourni.
Installer selon son matériel, pas selon son système
La documentation d'installation est organisée par accélérateur, ce qui en dit long sur la cible réelle du projet. Avec uv, sur une machine NVIDIA, la commande est uv tool install --python 3.12 abogen[cuda] --extra-index-url https://download.pytorch.org/whl/cu128 --index-strategy unsafe-best-match. Deux variantes existent pour les pilotes plus anciens ou plus récents : abogen[cuda126] avec l'index cu126, et abogen[cuda130] avec l'index cu130. Sans GPU, ou avec un GPU AMD, la commande se réduit à uv tool install --python 3.12 abogen. Sur Linux uniquement, une option ROCm 6.4 est proposée via abogen[rocm] et l'index nightly rocm6.4. Le README est explicite sur ce point : sous Windows, ROCm n'est pas disponible, donc un GPU AMD sous Windows n'aura pas d'accélération. Sur Mac, l'installation passe par uv tool install --python 3.13 abogen --with "kokoro @ git+https://github.com/hexgrad/kokoro.git,numpy<2" pour les puces Apple Silicon, avec Python 3.12 pour les Mac Intel. La contrainte numpy<2 n'est pas justifiée dans le matériel, elle est simplement imposée. Le chemin pip existe aussi, avec une note qui vaut la peine d'être lue : il faut épingler torch==2.8.0+cu128 en attendant la résolution d'un ticket PyTorch référencé dans le README. Autrement dit, la voie pip est temporairement gelée sur une version de PyTorch.
Ce que le README ne dit pas
Le matériel fourni décrit l'installation avec un soin inhabituel et la sortie avec beaucoup moins de détails. On sait que l'outil produit un audio et des sous-titres synchronisés, on ne sait pas quel format de fichier de sous-titres est écrit, ni comment le découpage en segments est décidé, ni ce qui se passe sur un PDF sans couche texte. Ces questions ne sont pas anecdotiques : un PDF numérisé sans OCR ne contient pas de texte extractible, et rien dans le README n'indique qu'abogen fasse de la reconnaissance de caractères. De même, aucun mécanisme de reprise n'est documenté. Si la génération d'un livre de plusieurs heures s'interrompt, on ne sait pas depuis le matériel si le travail déjà effectué est conservé. Le projet est également très jeune : la release listée la plus ancienne est v1.2.4, datée du 28 novembre 2025, et la dernière en date est v1.3.1 du 6 février 2026. Trois versions publiées en un peu plus de deux mois, c'est le signe d'un développement actif, et aussi celui d'une interface qui peut encore bouger. Pour un outil qui produit des fichiers destinés à être publiés, cette cadence est un facteur à intégrer.
Face à un pipeline ffmpeg et un modèle TTS générique
L'alternative la plus courante consiste à appeler un modèle de synthèse vocale par ligne de commande, puis à recoller les segments avec ffmpeg et à générer les sous-titres à partir des durées connues. Cette approche donne un contrôle total sur le format de sortie et sur le découpage, et elle fonctionne avec n'importe quel moteur TTS, y compris des modèles multilingues ou des voix clonées. abogen fait l'inverse : il impose Kokoro-82M et prend en charge la lecture du document. La différence n'est pas la qualité audio, elle est dans la répartition du travail. Avec un pipeline maison, vous écrivez l'extraction du texte depuis l'EPUB, la gestion des chapitres, la concaténation et l'alignement. abogen revendique de faire tout cela, au prix de la flexibilité : pas de choix de modèle, pas de voix par personnage mentionné dans le matériel, et une dépendance à espeak-ng que votre pipeline n'aurait peut-être pas. Si votre besoin est de lire un seul format de fichier avec une voix unique, abogen vous fait gagner l'écriture du parseur. Si votre besoin est de contrôler chaque paramètre de synthèse, il vous gênera.
Licence MIT et coût de maintenance
abogen est publié sous licence MIT, ce qui autorise l'usage commercial, la modification et la redistribution, à condition de conserver l'avis de copyright et le texte de la licence. C'est une licence permissive, sans clause de copyleft. Deux réserves cependant, et elles ne relèvent pas du conseil juridique : la licence du projet ne couvre pas le modèle Kokoro-82M, qui est un artefact distinct hébergé sur Hugging Face et dont les conditions propres s'appliquent à son usage, ni espeak-ng, qui est une dépendance système avec sa propre licence. Vérifier ces deux points avant un usage commercial est une étape à part entière. Sur le coût de maintenance, le matériel montre un projet qui évolue vite et dont les instructions d'installation dépendent de versions précises de PyTorch et de CUDA. Le cas de torch==2.8.0+cu128 épinglé en attente d'un correctif amont illustre le risque : une mise à jour de PyTorch peut casser l'installation pip avant que le projet ne s'adapte. La voie uv avec les extras cuda, cuda126, cuda130 et rocm isole mieux ce risque, puisqu'elle encapsule l'environnement dans un outil dédié. Prévoir une mise à jour de l'outil à chaque changement de pilote graphique est réaliste.
Conclusion éditoriale
abogen convient à qui veut produire un livre audio ou une voix off à partir d'un EPUB, d'un PDF ou d'un fichier texte, sur une machine disposant d'un GPU NVIDIA récent ou d'un Mac Apple Silicon, et qui accepte d'installer espeak-ng à la main. Il ne convient pas si vous avez besoin d'une file d'attente multi-utilisateurs, d'un rendu de voix par personnage, ou si vous travaillez uniquement sous Windows avec un GPU AMD. Avant d'adopter, vérifiez deux choses concrètement : que la commande uv tool install --python 3.12 abogen[cuda] aboutit sur votre pilote, et qu'un chapitre de votre EPUB donne un alignement de sous-titres correct, car c'est le seul point que le README ne documente pas.
Notes de la communauté