Convertir des livres électroniques Epub en livres audio en utilisant Audiblez et Kokoro
Marre d'attendre que votre eBook préféré soit narré ? Plus maintenant ! Vous pouvez utiliser Audiblez, un programme Python pour convertir vos Ebooks Epub préférés en livres audio sous Linux, macOS et Windows.
Introduction
Vous êtes-vous déjà retrouvé à attendre avec impatience la sortie en livre audio d’un nouveau livre, pour être ensuite déçu par la longue attente ?
Ou peut-être que vous êtes intéressé par un titre de niche qui n'a pas été repris par les plateformes de livres audio ?
Si cela vous semble familier, Audiblez pourrait être la solution que vous cherchiez.
Audiblez est un outil basé sur Python qui vous permet de générer vos propres livres audio à partir de livres électroniques en utilisant la technologie de synthèse vocale. Propulsé par le modèle Kokoro v0.19, Audiblez offre une narration d'un naturel remarquable, transformant votre expérience de lecture numérique.
Qu'est-ce que Kokoro ?
Kokoro est un modèle de synthèse vocale (TTS) de haute qualité et relativement petit, publié sous licence Apache 2.0 et capable de générer des livres audio.
Kokoro se distingue par sa petite taille (82 millions de paramètres) et sa production d'une qualité remarquablement élevée, surpassant même des modèles bien plus volumineux.
Kokoro utilise une combinaison d'architectures innovantes, y compris :
- StyleTTS 2 : Une méthode pour la synthèse vocale de haute fidélité et expressive.
- ISTFTNet : Une architecture de réseau neuronal conçue pour le traitement efficace des signaux audio.
Kokoro est entraîné en utilisant uniquement des données audio permissives/non protégées par le droit d'auteur, garantissant que les considérations éthiques sont prises en compte. Des exemples de telles données incluent des audio du domaine public et des audio synthétiques générés par des modèles TTS commerciaux.
Principales caractéristiques de Kokoro
- Classement Elo élevé : Il a atteint le rang #1 dans l'Arène TTS Spaces, une référence compétitive pour les modèles TTS. Cela indique sa performance supérieure par rapport aux autres modèles, même ceux disposant de beaucoup plus de paramètres et de données d'entraînement.
- Entraînement efficace : Kokoro v0.19 a été entraîné sur des instances A100 avec 80 Go de VRAM pendant environ 500 heures GPU, avec un coût total estimé à 400 $.
- Exigences de données limitées : Le modèle a été entraîné sur moins de 100 heures de données audio, démontrant son efficacité à apprendre à partir de jeux de données relativement petits.
- Capacités multilingues : Kokoro prend actuellement en charge l'anglais américain et britannique, avec la possibilité de s'étendre à d'autres langues.
- Options de voix diversifiées : Le modèle propose une sélection de packs de voix, comprenant des voix masculines et féminines avec des accents distincts.
Malgré ses points forts, Kokoro v0.19 présente certaines limites, principalement liées à ses données d'entraînement et à ses choix architecturaux :
- Manque de capacité de clonage de voix.
- Dépendance à un convertisseur graphème-phonème (g2p) externe, introduisant des points de défaillance potentiels.
- Données d'entraînement axées sur la lecture et la narration longue, ce qui pourrait limiter ses performances dans des contextes conversationnels.
Qu'est-ce qu'Audiblez ?
Audiblez est un programme Python en ligne de commande. Il utilise Kokoro pour convertir des ebooks epub en livres audio m4b. Le processus consiste à extraire le texte de l’epub, puis à utiliser Kokoro pour synthétiser la parole, enfin à combiner les chapitres audio en un fichier de livre audio en utilisant ffmpeg.
Le programme Audiblez prend en charge plusieurs langues et voix, offrant des options de personnalisation pour la vitesse et la sélection des chapitres.
Veuillez noter que Audiblez ne prend en charge que les fichiers .epub pour le moment.
Principales caractéristiques d'Audiblez
- Synthèse vocale de haute qualité : Audiblez utilise Kokoro, un modèle TTS de 82 millions de paramètres réputé pour la qualité impressionnante de sa sortie, surpassant même des modèles plus grands dans certains tests. Cela garantit que vos livres audio sonnent clairs et captivants.
- Support pour plusieurs langues : Audiblez prend actuellement en charge l'anglais (avec les accents américain et britannique), le français, le japonais, le coréen et le mandarin, vous permettant de profiter des livres audio dans différentes langues.
- Options de Voix Diverses : Choisissez parmi une variété de voix pour personnaliser votre expérience d'écoute. Explorez les différentes options disponibles pour chaque langue et trouvez la voix parfaite pour accompagner votre lecture.
- Détection des chapitres : Audiblez identifie automatiquement les chapitres de votre e-book, simplifiant ainsi le processus de conversion. Cela aide à organiser votre livre audio et facilite la navigation.
- Facile à utiliser : Installer et utiliser Audiblez est simple. Avec quelques commandes simples, vous pouvez commencer à convertir vos e-books en livres audio.
Langues prises en charge
Audible prend actuellement en charge ces langues :
- Anglais américain (en-us),
- Anglais britannique (en-gb),
- Français (fr-fr),
- Japonais (ja),
- Coréen (kr),
- et mandarin (cmn).
Vous pouvez spécifier la langue en utilisant l'option -l lors de l'exécution de Audiblez. Par exemple, pour utiliser l'anglais britannique, vous utiliseriez la commande audiblez book.epub -l en-gb.
Voix prises en charge
Vous pouvez choisir parmi ces voix en utilisant l'option -v : af, af_bella, af_nicole, af_sarah, af_sky, am_adam, am_michael, bf_emma, bf_isabella, bm_george et bm_lewis.
Vous pouvez écouter des échantillons de chaque voix sur la démo Kokoro-TTS : https://huggingface.co/spaces/hexgrad/Kokoro-TTS.
Comment installer Audiblez sur Linux
Tout d'abord, assurez-vous d'avoir installé ffmpeg sur votre système.
Vous pouvez installer Audiblez en utilisant n'importe quel installateur de paquets Python, tel que conda, pip, pipx, pipenv, ou uv.
Par exemple, pour installer Audiblez en utilisant pipx, exécutez la commande suivante :
pipx install audiblezEnsuite, vous devez télécharger le modèle Kokoro et les fichiers vocales. Je vous recommande de les mettre dans un dossier dédié pour une gestion facile.
mkdir My\ Audio\ Books
cd My\ Audio\ Books/wget https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files/kokoro-v0_19.onnxCela téléchargera le dernier modèle Kokoro.
Téléchargez ensuite les fichiers vocaux avec la commande :
wget https://github.com/thewh1teagle/kokoro-onnx/releases/download/model-files/voices.jsonNous avons maintenant à la fois le modèle et les fichiers vocaux. Il est temps de générer des livres audio à partir des ebooks au format epub.
Convertir un Epub en livre audio avec Audiblez
Générer des livres audio à partir de fichiers epub est très facile et simple.
Pour ce faire, utilisez l'outil en ligne de commande Audiblez pour spécifier le fichier e-book, la langue souhaitée et la voix comme ci-dessous :
audiblez book.epub -l en-us -v af_skyRemplacez book.epub par votre propre livre électronique epub et af_sky par votre modèle de voix préféré.
Audiblez génère des fichiers WAV individuels pour chaque chapitre et les combine en un fichier M4B audiobook, compatible avec la plupart des lecteurs de livres audio.
Veuillez noter : Pour créer des fichiers M4B, vous devez avoir ffmpeg installé sur votre machine.
Ajuster la vitesse audio
Vous pouvez ajuster la vitesse de l'audio généré par Audiblez. Par défaut, Audiblez génère l'audio à vitesse normale.
Cependant, vous pouvez rendre l'audio jusqu'à deux fois plus lent ou plus rapide en spécifiant un argument de vitesse compris entre 0,5 et 2,0 en utilisant l'option -s.
Par exemple, pour générer de l'audio 1,5 fois plus vite que la vitesse normale, vous utiliseriez la commande :
audiblez book.epub -l en-gb -v af_sky -s 1.5Exécuter Audiblez sur GPU
Par défaut, Audiblez fonctionne sur le CPU et utilise l'ONNX Runtime compatible CPU, qui est installé automatiquement.
Pour exécuter Audiblez sur un GPU pour de meilleures performances, vous devez installer le ONNX Runtime compatible GPU et spécifier un fournisseur d'exécution avec le --providers flag.
Voici comment le faire.
1. Installez le runtime ONNX compatible GPU. Cela doit être fait manuellement. Vous pouvez l’installer en utilisant pip ou pipx :
pip install onnxruntime-gpu2. Spécifiez les fournisseurs ONNX en utilisant le tag --providers lors de l'exécution d'Audiblez.
Pour utiliser un GPU NVIDIA, utilisez CUDAExecutionProvider :
audiblez book.epub -l en-gb -v af_sky --providers CUDAExecutionProvider3. Vous pouvez spécifier une hiérarchie de fournisseurs en fournissant plusieurs hiérarchies séparées par des espaces. Par exemple :
audiblez book.epub -l en-gb -v af_sky --providers CUDAExecutionProvider CPUExecutionProviderCette commande tentera d'utiliser d'abord le CUDAExecutionProvider, et si celui-ci n'est pas disponible, elle reviendra au CPUExecutionProvider.
Pour voir une liste des fournisseurs disponibles sur votre système, exécutez :
audiblez --helpou
python -c "import onnxruntime as ort; print(ort.get_available_providers())"Ceci affichera les fournisseurs ONNX qui peuvent être utilisés.
Conclusion
Avec Audiblez, vous pouvez facilement convertir votre bibliothèque de livres électroniques existante en une bibliothèque audio avec des commandes simples.
Bien qu'Audiblez soit encore en cours de développement, il offre déjà un moyen simple et efficace de créer des livres audio à partir de livres numériques.
Les futures mises à jour pourraient inclure des améliorations de la détection des chapitres, la possibilité d'ajouter une navigation par chapitres dans le fichier M4B, et même une narration pour les images utilisant la technologie de conversion d'image en texte.
Lecture liée :
- Pocket TTS : Synthèse vocale locale à faible latence sans GPU ni cloud
- Audiogenipy : Créez des livres audio avec Python et gTTS facilement sous Linux
- Note de discours : Une application de reconnaissance vocale hors ligne, de synthèse vocale et de traduction pour Linux
- eSpeak NG – Un synthétiseur de texte en parole pour Linux
Image à la une par Stas Knop de Pexels.