Un outil qui parcourt automatiquement les romans et génère des livres audio à plusieurs personnages
Introduction générale
Auto-Audio-Book est un projet open source hébergé sur GitHub. Il explore automatiquement le contenu des romans sur les sites web et les convertit en livres audio avec plusieurs voix de personnages. Le développeur zqq-nuli a écrit en Python 3.10+ , combiné avec de grands modèles (tels que le Gémeaux et CosyVoice2-0.5B) pour mettre en œuvre le traitement de texte et la synthèse vocale. Le projet ne se contente pas de prendre en charge la conversion texte-audio de base, il permet également de distinguer les personnages d'un roman et d'attribuer des voix différentes pour générer des effets semblables à ceux d'un feuilleton radiophonique. Le code est ouvert au public et les utilisateurs sont libres de le télécharger et de le modifier. Au 24 mars 2025, le projet est toujours en cours de développement, l'interface graphique n'est pas complètement au point, mais l'ensemble du processus peut être réalisé en ligne de commande, ce qui convient aux passionnés de technologie et aux producteurs de livres audio.
Liste des fonctions
- roman rampantLe logiciel : télécharge automatiquement le contenu des chapitres de romans à partir des sites web désignés.
- Génération de messages de dialogueLes élèves peuvent utiliser l'IA pour analyser un texte et faire la distinction entre les personnages et les dialogues.
- Voix off à plusieurs personnagesLes voix : Attribuer des voix différentes aux personnages de fiction, au protagoniste secondaire, au narrateur et au doublage aléatoire.
- Génération audioConvertissez du texte au format MP3 pour les livres audio, avec prise en charge de l'accélération multithread.
- Outils de gestion: Fournit une interface graphique pour aider à la gestion des données inédites et des fichiers audio.
- open source et extensibleLes utilisateurs peuvent modifier le code pour ajouter de nouvelles fonctionnalités ou optimiser les effets.
Utiliser l'aide
L'installation et l'utilisation d'Auto-Audio-Book requièrent certaines bases techniques. Vous trouverez ci-dessous un guide d'installation et d'utilisation détaillé pour vous aider à créer un livre audio à partir de zéro.
Processus d'installation
- Préparation de l'environnement
- Installez Python 3.10 ou une version ultérieure, téléchargée à partir de https://www.python.org/downloads/.
- montage
ffmpeg
Pour Windows, téléchargez à partir de https://ffmpeg.org/download.html, et pour Mac, utilisez l'applicationbrew install ffmpeg
Linux avecsudo apt install ffmpeg
. - (Facultatif) Installez MongoDB pour la gestion de l'interface graphique des données nouvelles, téléchargez à partir de https://www.mongodb.com/try/download/community.
- Pour vérifier l'environnement : sur la ligne de commande, tapez
python --version
répondre en chantantffmpeg -version
Assurez-vous que la version est affichée correctement.
- Télécharger le code
- Cloner le projet localement avec Git :
git clone https://github.com/zqq-nuli/auto-audio-book.git
- Accédez au catalogue de projets :
cd auto-audio-book
- Cloner le projet localement avec Git :
- Créer un environnement virtuel
- utiliser
uv
Création d'un environnement virtuel (nécessite une installation préalable)uv
utiliserpip install uv
) :uv venv --python 3.10
- Activer l'environnement :
- Fenêtres :
.\.venv\Scripts\activate
- Mac/Linux :
source .venv/bin/activate
- Fenêtres :
- utiliser
- Installation des dépendances
- Installez les bibliothèques requises dans l'environnement virtuel :
uv add -r requirements.txt
- S'il y a un manque de
requirements.txt
La bibliothèque de base peut être installée manuellement :pip install requests gTTS PyPDF2 pymongo
- Installez les bibliothèques requises dans l'environnement virtuel :
- Configuration de la clé API
- faire une copie de
.env.example
est.env
: :copy .env.example .env # Windows cp .env.example .env # Mac/Linux
- compilateur
.env
remplissez la clé API du Big Model, telle que la clé pour Gemini, qui peut être demandée auprès de la plateforme correspondante.
- faire une copie de
Étapes d'utilisation
- ramper un roman
- Sélectionnez un site de fiction (par exemple https://m.ilwxs.com/), le projet prend en charge les sites non protégés par défaut.
- Exécutez le script d'exploration :
python app/getBookList.py
- Ensuite, vous obtenez la liste des chapitres et vous enregistrez le contenu :
python app/getZjList.py python app/saveBooks.py
- Générer des messages de dialogue
- Traiter les chapitres avec l'IA pour différencier les personnages et les dialogues :
python app/saveBookJson.py
- La sortie est enregistrée sous la forme d'un fichier JSON en vue d'un doublage ultérieur.
- Traiter les chapitres avec l'IA pour différencier les personnages et les dialogues :
- Configuration des voix des personnages
- Exécutez le script pour créer la table des rôles :
python app/createUser.py
- Attribuer manuellement des voix au personnage principal et au narrateur (des modèles tels que CosyVoice2-0.5B sont pris en charge). Les autres personnages peuvent être attribués de manière aléatoire :
- Voix individuelles pour les personnages de plus de 50 lignes.
- Moins de 50 phrases dans la voix du narrateur.
- Exécutez le script pour créer la table des rôles :
- Générer de l'audio
- Exécutez le script de génération audio :
python app/createAudio.py
- Prise en charge de l'accélération multithread, par exemple 20 threads :
python app/createAudio.py --threads 20
- Le résultat est un fichier MP3, qui est stocké dans le répertoire du projet.
- Exécutez le script de génération audio :
- Gérer l'audio (optionnel)
- Trier l'audio avec les outils de l'interface graphique :
python gui/gui.py
- Ou supprimer par lots les entrées de l'Himalaya :
python gui/gui2.py
- Trier l'audio avec les outils de l'interface graphique :
Note d'opération
- Optimisation de l'efficacitéLes tests montrent qu'un ordinateur peut traiter 300 chapitres par nuit sur un seul thread. Les tests montrent que 5 machines avec 20 threads chacune peuvent générer 2000 chapitres en 5 heures.
- détection des erreursSi vous avez manqué un chapitre, vérifiez le réseau ou réexécutez le script du chapitre correspondant.
- Contraintes du modèleLe modèle basé sur le silicium est limité par la propriété intellectuelle et nécessite le détournement du serveur pour le parallélisme multi-ordinateur.
Exemple de processus
Supposons que vous convertissiez un roman :
- Parcourez le roman Untel de https://m.ilwxs.com/ et sauvegardez des chapitres.
- Générer des messages de dialogue, en identifiant le protagoniste A et le narrateur.
- Configuration A avec voix masculine chinoise, narrateur avec voix féminine, autres aléatoires.
- Exécuter la génération multithread pour obtenir
chapter1.mp3
etc.
Une fois terminé, il peut être téléchargé sur des plateformes telles que Himalaya, et un exemple du produit fini peut être trouvé sur https://www.ximalaya.com/album/88023000.
scénario d'application
- Production de livres audio
Transformez vos romans en ligne en livres audio à plusieurs personnages et téléchargez-les sur des plateformes pour les partager ou en tirer profit. - expérience d'apprentissage
Les passionnés de technologie l'utilisent pour apprendre les techniques d'exploration, d'intelligence artificielle et de traitement audio. - Divertissement personnel
Transformez vos romans préférés en fichiers audio et écoutez-les à tout moment, où que vous soyez.
QA
- Quels sont les grands modèles pris en charge ?
Actuellement, Gemini et CosyVoice2-0.5B sont pris en charge. Vous devez demander vous-même une clé API. - Pourquoi certains chapitres ne sont-ils pas générés ?
Il peut s'agir d'une panne de réseau ou d'une panne de crawl, vérifiez les journaux et réexécutez le chapitre correspondant. - Comment améliorer la qualité audio ?
Le modèle par défaut a un effet limité, il peut être remplacé par un autre moteur TTS, un changement de code est nécessaire.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...