Introduction
L'arrivée de technologies de synthèse vocale hautement avancées ces dernières années a ouvert les portes à de nombreux produits innovants et à la pointe de la technologie, alimentés par l'IA. Nous ne sommes plus limités aux discours synthétiques maladroits et robotiques générés par les technologies de synthèse vocale du passé. Récemment, une entreprise nommée ElevenLabs a élevé la mise en proposant des fonctionnalités centrées sur la génération de voix. De la création et de la conception de voix personnalisées à la synthèse de discours utilisant les voix que nous créons ou à partir de voix préfabriquées fournies par ElevenLabs.
Dans ce tutoriel, nous allons construire un service de doublage automatique en utilisant la technologie de synthèse vocale d'ElevenLabs. Non seulement cela, mais nous identifierons également les étapes nécessaires allant de la récupération d'une vidéo à partir d'un lien YouTube à 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 et facile à utiliser pour la génération de voix. Ils se vantent d'une technologie de pointe avec leur API de génération de voix, formée sur d'énormes collections de livres audio et de podcasts, aboutissant à la capacité 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.
Introduction à Whisper d'OpenAI
Whisper est un service de transcription audio, ou de reconnaissance vocale, développé par OpenAI. Il a été signalé qu'il a été formé sur 680 000 heures de données supervisées multilingues et multitâches collectées sur le web, garantissant une meilleure cohérence dans la détection des accents, du bruit de fond et du langage technique. Whisper est également 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 sur la promotion et la formation de systèmes d'IA utiles, honnêtes et inoffensifs. Il est conçu pour aider dans divers cas d'utilisation centrés sur la langue, tels que le résumé de texte, l'écriture collaborative, les questions-réponses et la programmation. Les premières critiques d'utilisateurs variés ont rapporté que Claude est particulièrement efficace pour produire des réponses sûres et fiables, rendant ainsi son utilisation plus intuitive. Cela rend Claude idéal pour la création de services censés offrir une expérience utilisateur humaine et excellente. Nous allons utiliser Claude pour aider à traduire notre transcription vidéo.
Prérequis
- Connaissances de base en Python ; l'expérience avec Streamlit est un plus.
- Accès à l'API d'ElevenLabs.
- Accès à l'API d'Anthropic.
Aperçu
- Identification des exigences
- Initialisation du projet
- Ajout de la fonctionnalité de transcription vidéo en utilisant Whisper d'OpenAI
- Ajout de la fonctionnalité de traduction utilisant Claude d'Anthropic
- Ajout de la fonctionnalité de génération de doublage en utilisant l'API d'ElevenLabs
- Dernière touche - Combinaison de la vidéo avec les doublages générés
- Test du service de doublage automatique
Discussion
Avant de plonger dans la partie codage, réfléchissons aux fonctionnalités que notre service de doublage automatique devrait inclure. En considérant les exigences et les cas d'utilisation prévus, nous pouvons nous assurer que notre service fournit des solutions adéquates. Avec cela en tête, commençons !
Identification des exigences
Pour générer des doublages pour les vidéos YouTube, nous devons retracer les étapes impliquées :
1. Récupérer la vidéo à partir du lien YouTube
Nous pouvons utiliser la populaire bibliothèque Python, pytube, pour récupérer les flux vidéo et audio, ainsi que les métadonnées telles que le titre, la description et la miniature. Nous fournirons un champ de saisie de texte pour le lien YouTube et un bouton pour déclencher le processus de téléchargement du flux.
2. Transcrire le flux audio
Une fois le flux audio téléchargé, nous pouvons le transcrire en utilisant Whisper d'OpenAI via la bibliothèque Whisper. Pour améliorer les performances, nous allons découper l'audio en durées d'une minute avant la transcription. La transcription sera affichée dans un DataFrame.
3. Traduire la transcription
Ensuite, nous utiliserons la bibliothèque anthropic pour accéder à Claude, en envoyant une invite pour demander la traduction de la transcription, à l'origine en anglais.
4. Générer les doublages
Après avoir reçu la réponse de Claude, nous allons générer des doublages en utilisant l'API d'ElevenLabs, en employant le modèle multilingue pour accommoder les traductions non anglaises.
5. Combiner les doublages avec la vidéo
Enfin, nous allons récupérer le flux vidéo à partir du lien YouTube et combiner l'audio généré avec la vidéo en utilisant ffmpeg.
Initialisation du projet
Nous allons utiliser la bibliothèque streamlit pour construire notre interface utilisateur. Le projet impliquera la création d'un seul fichier Python et le suivi des étapes pour garantir un fonctionnement fluide :
Création du répertoire du projet
Tout d'abord, naviguez vers votre répertoire de projets de code et créez un répertoire de projet.
Création et activation de l'environnement virtuel
Créez l'environnement virtuel et activez-le pour éviter les conflits de dépendances.
Installation des dépendances
À l'aide des commandes pip, nous allons installer toutes les dépendances nécessaires, y compris Streamlit, Anthropic, ElevenLabs, Pytube, Pydub, Whisper et d'autres mentionnées. Assurez-vous de résoudre tout problème potentiel, tel que des bugs dans Pytube et l'installation de ffmpeg.
Création du fichier secret Streamlit
Stockez les clés API et les informations sensibles dans un fichier secrets.toml au sein du répertoire du projet pour des raisons de sécurité.
Création du fichier auto_dubs.py
À l'aide d'un éditeur de code, écrivez la mise en page initiale de l'application avec un titre, un champ de saisie de texte, une boîte de sélection pour les langues, et un bouton qui déclenche le processus de transcription.
Ajout de la fonctionnalité de transcription vidéo en utilisant Whisper d'OpenAI
Ajoutez un gestionnaire au bouton "Transcrire !" pour télécharger le flux audio, découper l'audio et traiter la transcription avec la bibliothèque Whisper, affichant les résultats dans un DataFrame Pandas.
Ajout de la fonctionnalité de traduction en utilisant Claude d'Anthropic
Intégrez la fonctionnalité de traduction en créant une fonction qui envoie la transcription à Claude pour traduction, en suivant avec une invite utilisateur pour diriger Claude efficacement.
Ajout de la fonctionnalité de génération de doublage en utilisant l'API d'ElevenLabs
Intégrez la fonctionnalité de génération de doublage en utilisant ElevenLabs, en utilisant le modèle multilingue pour générer un discours naturel basé sur le texte traduit.
Dernière touche - Combinaison de la vidéo avec les doublages générés
Combinez la vidéo et l'audio en utilisant ffmpeg, en veillant à ce que l'ensemble du processus fonctionne sans accroc avant de le présenter à l'utilisateur.
Test du service de doublage automatique
Maintenant, testons notre application en cliquant sur le bouton "Transcrire !" et en vérifiant que tout fonctionne comme prévu, y compris la lecture de la vidéo avec les nouveaux doublages.
Conclusion
Ce tutoriel a démontré une approche innovante pour générer des doublages de traduction pour les vidéos YouTube en utilisant l'API d'ElevenLabs. La combinaison de Whisper d'OpenAI, Claude d'Anthropic, et les capacités multilingues d'ElevenLabs aboutit à une expérience utilisateur fluide. Grâce à Streamlit, nous avons pu présenter toutes les fonctionnalités nécessaires dans une interface conviviale.
Nous pouvons maintenant générer automatiquement des doublages pour les vidéos YouTube, démontrant le potentiel de la combinaison de divers services d'IA pour obtenir des résultats remarquables !
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.