Introduction
L'arrivée de technologies de synthèse vocale très avancées ces dernières années a ouvert la voie à de nombreux produits innovants et à la pointe de la technologie, propulsés par l'IA. Nous ne sommes plus limités aux discours synthétisés malaisés et robotiques générés par les anciennes technologies de synthèse vocale. Récemment, une entreprise appelée ElevenLabs a relevé le niveau en nous proposant des fonctionnalités centrées sur la génération de voix. De la création et de la conception de nos voix personnalisées à la synthèse de discours en utilisant les voix que nous créons ou en utilisant des voix préétablies fournies par ElevenLabs.
Dans ce tutoriel, nous allons créer un service de doublage automatique en utilisant la technologie de synthèse vocale d'ElevenLabs. Non seulement cela, mais nous allons également identifier les étapes nécessaires, depuis la récupération de la vidéo à partir du lien YouTube jusqu'à la combinaison de la vidéo avec les doublages générés.
Introduction à ElevenLabs
ElevenLabs est une entreprise hautement innovante qui propose une API puissante mais facile à utiliser pour la génération de voix. Ils vantent une technologie de pointe, leur API de génération de voix, qui est entraînée sur de grandes quantités de livres audio et de podcasts, ce qui permet de générer des discours naturels et expressifs. Ainsi, l'API d'ElevenLabs peut servir de choix idéal pour une large gamme de produits centrés sur la voix, tels que la narration d'histoires/livres audio et le doublage de vidéos.
Qu'est-ce que Whisper d'OpenAI ?
Whisper est un service de transcription audio, ou texte-à-parole, développé par OpenAI. Il a été rapporté qu'il est entraîné sur 680 000 heures de données supervisées multilingues et multitâches collectées sur le web, offrant des améliorations dans la détection des accents, du bruit de fond et du langage technique. Whisper est capable de transcrire des discours dans plusieurs langues ainsi que de traduire des langues non anglaises.
Introduction au modèle Claude d'Anthropic
Claude est un modèle d'IA avancé développé par Anthropic, basé sur leurs recherches pour promouvoir et entraîner des systèmes d'IA utiles, honnêtes et inoffensifs. Il est conçu pour aider dans divers cas d'utilisation centrés sur le langage, tels que le résumé de texte, l'écriture collaborative, les questions-réponses, et le codage. Les premières critiques de divers utilisateurs ont rapporté que Claude est beaucoup plus réticent à produire des réponses douteuses et nuisibles, plus facile et intuitif à travailler, et plus "orientable". En résumé, Claude peut produire des réponses semblables à celles d'un humain, ce qui le rend parfait pour construire des services censés offrir une expérience utilisateur humaine et excellente. En raison de l'excellente réputation de Claude dans le traitement des tâches centrées sur le langage, nous utiliserons Claude pour nous aider à traduire notre transcription vidéo.
Conditions préalables
- Connaissance de base de Python, une expérience avec Streamlit est un plus
- Accès à l'API d'ElevenLabs
- Accès à l'API d'Anthropic
Plan
- Identifier les exigences
- Initialiser le projet
- Ajouter la fonctionnalité de transcription vidéo en utilisant Whisper d'OpenAI
- Ajouter la fonctionnalité de traduction en utilisant Claude d'Anthropic
- Ajouter la fonctionnalité de génération de doublages en utilisant l'API d'ElevenLabs
- Dernière touche - Combiner la vidéo avec les doublages générés
- Tester le service de doublage automatique
Identifier les exigences
Posons-nous à nouveau la question : quelles fonctionnalités notre service doit-il avoir en tant que générateur de doublages automatique pour les vidéos YouTube ? Eh bien, traçons les étapes impliquées dans la génération de doublages. À partir de la récupération de la vidéo jusqu'à la combinaison des doublages avec la vidéo.
Récupérer la vidéo à partir du lien YouTube
Nous pouvons utiliser la bibliothèque Python populaire pytube à cette fin. En fournissant le lien à la fonction YouTube, nous pouvons récupérer les flux vidéo et audio, ainsi que des métadonnées telles que le titre, la description et la miniature. Pour cette étape, nous aurons besoin d'un champ de saisie de texte pour le lien YouTube et d'un bouton pour initier le processus de téléchargement des flux.
Transcrire le flux audio
Après avoir téléchargé le flux audio de la vidéo YouTube, nous pouvons commencer à transcrire l'audio avec Whisper d'OpenAI. Pour des raisons de performance, nous allons d'abord couper l'audio en durées d'une minute avant la transcription. Après avoir obtenu la transcription, nous l'afficherons dans un DataFrame répertoriant le début, la fin et le texte prononcé à des moments précis.
Traduire la transcription
Le processus de traduction commencera immédiatement après avoir obtenu la transcription. Nous utiliserons la bibliothèque anthropic pour accéder au modèle Claude et envoyer notre requête pour la traduction de la transcription à l'origine en anglais.
Générer les doublages
Une fois que nous recevons la réponse de Claude, nous procéderons à la génération d'audio en utilisant l'API de ElevenLabs. En important des fonctions de la bibliothèque elevenlabs, nous pouvons générer de la parole en utilisant des voix préenregistrées et un modèle multilingue, spécifiquement pour les traductions en langues non anglaises.
Combiner les doublages avec la vidéo
Enfin, nous récupérerons le flux vidéo à partir du lien YouTube et le combinerons avec l'audio généré. Pour cette tâche, nous utiliserons un logiciel en ligne de commande appelé ffmpeg. Une fois la vidéo combinée avec les doublages, nous afficherons la vidéo via un lecteur dans notre interface utilisateur !
Initialiser le projet
Pour construire l'interface utilisateur de notre service de doublage automatique, nous utiliserons la bibliothèque Streamlit, nous permettant de gérer l'ensemble de ce projet dans un seul fichier Python. Quelques étapes supplémentaires assureront le bon déroulement de notre projet.
Créer le répertoire du projet
Naviguez jusqu'à votre répertoire de projets de codage dans le terminal, créez un répertoire de projet et entrez :
Créer et activer l'environnement virtuel
Ensuite, créez et activez votre environnement virtuel. Cela empêche les problèmes de dépendance en garantissant que les dépendances de notre projet ne se répandent pas dans l'environnement global. Le terminal doit afficher le nom de votre environnement virtuel activé.
Installer les dépendances
Installez toutes les dépendances nécessaires en utilisant pip. Cela peut prendre un certain temps, alors n'hésitez pas à aller boire un café ! Les principales bibliothèques installées comprennent :
- Streamlit : Pour construire facilement l'interface utilisateur.
- Anthropic : Pour se connecter à l'API d'Anthropic.
- ElevenLabs : Pour la gestion des requêtes vers l'API d'ElevenLabs.
- Pytube : Pour récupérer les métadonnées vidéo YouTube et télécharger des flux.
- Pydub : Pour créer des doublages et gérer des fichiers audio.
- Whisper : Pour transcrire l'audio téléchargé.
- MoviePy : Utilisé pour la manipulation vidéo et la gestion des flux.
- Pydantic : Assure la compatibilité des versions avec la bibliothèque ElevenLabs.
Fixer le bug de Pytube
Accédez au répertoire de la bibliothèque Pytube pour modifier cipher.py, en supprimant spécifiquement le point-virgule du motif regex pour corriger le RegexMatchError.
Installer ffmpeg
Consultez la documentation officielle pour l'installation de ffmpeg sur différents systèmes d'exploitation.
Créer notre fichier secret Streamlit
Créez un fichier secrets.toml pour gérer les clés API et les identifiants sensibles nécessaires pour les différents services d'IA utilisés dans cette application.
Créer le fichier autodubs.py
Créez autodubs.py, ajoutez des éléments essentiels de l'interface utilisateur comme le titre, le champ de saisie de texte et le bouton.
Ajouter la fonctionnalité de transcription vidéo en utilisant Whisper d'OpenAI
Nous commençons par ajouter la fonctionnalité au bouton "Transcrire !" en utilisant les bibliothèques Pytube et Whisper pour télécharger les flux audio et les transcrire. Ensuite, les résultats seront affichés dans un DataFrame Pandas.
Ajouter la fonctionnalité de traduction en utilisant Claude d'Anthropic
Une nouvelle fonction ajoutée générera des traductions en utilisant Claude en fonction de la transcription antérieure. Cette fonction renverra directement les résultats sans texte supplémentaire.
Ajouter la fonctionnalité de génération de doublages en utilisant l'API d'ElevenLabs
En utilisant l'API d'ElevenLabs, nous générerons des doublages à partir du texte traduit en utilisant une voix préenregistrée. Nous écrirons un fichier mp3 à partir de la parole générée.
Dernière touche - Combiner la vidéo avec les doublages générés
Dans cette section ultime, nous téléchargerons le flux vidéo et le fusionnerons avec l'audio généré en utilisant ffmpeg, mettant enfin à jour l'interface utilisateur pour afficher la vidéo doublée avec succès.
Tester le service de doublage automatique
Exécutez l'application, cliquez sur le bouton "Transcrire !", et attendez que le processus soit entièrement terminé, y compris les requêtes aux API et les manipulations de fichiers. Une fois tout terminé, la vidéo avec les doublages devrait être prête à être visionnée dans le lecteur vidéo.
Conclusion
Dans ce tutoriel détaillé, nous avons exploré l'une des utilisations passionnantes de l'API d'ElevenLabs pour générer des doublages pour des vidéos YouTube. En combinant Whisper d'OpenAI pour la transcription, Claude pour la traduction et ElevenLabs pour les doublages, nous avons construit un service de doublage automatique complet tirant parti de la technologie IA de pointe de l'industrie !
Laisser un commentaire
Tous les commentaires sont modérés avant d'être publiés.
Ce site est protégé par hCaptcha, et la Politique de confidentialité et les Conditions de service de hCaptcha s’appliquent.