AI Tutorial

Comment créer un service de doublage automatisé avec ElevenLabs et OpenAI

Creating an Automated Dubbing Service with AI Technologies.

Introduction

L'arrivée de technologies avancées de synthèse vocale ces dernières années a ouvert la voie à de nombreux produits innovants et à la pointe de la technologie alimentés par l'IA. Nous ne sommes plus limités aux discours synthétisés, maladroits et robotiques générés par les anciennes technologies de synthèse vocale. Une entreprise nommée ElevenLabs a rehaussé la barre en offrant des fonctionnalités centrées sur la génération de voix. De la création et la conception de nos voix personnalisées à la synthèse de discours utilisant nos créations ou des voix préconçues, ElevenLabs propose des outils puissants.

Dans ce tutoriel, nous vous guiderons à travers la création d'un service de doublage automatique utilisant la technologie de synthèse vocale d'ElevenLabs. De plus, nous identifierons les étapes nécessaires, de la récupération de vidéos via des liens YouTube à la fusion des vidéos avec les doublages générés.

Introduction à ElevenLabs

ElevenLabs est une entreprise hautement innovante offrant une API conviviale pour la génération de voix. Leur API de génération de voix à la pointe de la technologie est entraînée sur des audiobooks et des podcasts étendus, permettant de produire des discours ayant un son naturel et expressif. En conséquence, l'API d'ElevenLabs peut effectivement servir une gamme de produits axés sur la voix, y compris des livres narratifs / audiobooks et des voix-off vidéo.

Introduction à Whisper d'OpenAI

Whisper est un service de transcription audio, ou module de speech-to-text, développé par OpenAI. Il est entraîné sur une impressionnante base de données de 680 000 heures de données supervisées multilingues et multitâches collectées à partir de diverses sources en ligne, garantissant une performance améliorée dans la détection des accents et du langage technique dans un bruit de fond. Notamment, Whisper est capable de transcrire des discours dans plusieurs langues et de traduire à partir de langues non anglaises.

Introduction au Modèle Claude d'Anthropic

Claude est un modèle d'IA avancé développé par Anthropic, axé sur la promotion de systèmes d'IA utiles, honnêtes et sûrs. Il excelle dans une variété de tâches axées sur le langage, y compris la résumé de texte, l'écriture collaborative, les questions-réponses et le codage. Les retours des utilisateurs indiquent que Claude est beaucoup moins susceptible de produire des réponses nuisibles, est convivial et permet aux utilisateurs d'atteindre leurs résultats souhaités avec un minimum d'effort.

En fin de compte, Claude est conçu pour produire des réponses semblables à celles d’un humain, ce qui le rend idéal pour les services visant à offrir des expériences utilisateur humaines et excellentes. Dans ce tutoriel, nous utiliserons Claude pour aider à traduire nos transcriptions vidéo.

Prérequis

  • Connaissances de base en Python ; une familiarité avec Streamlit est un plus.
  • Accès à l'API d'ElevenLabs.
  • Accès à l'API d'Anthropic.

Plan

  1. Identification des exigences
  2. Initialisation du projet
  3. Ajout de la fonctionnalité de transcription vidéo en utilisant Whisper d'OpenAI
  4. Ajout de la fonctionnalité de traduction en utilisant Claude d'Anthropic
  5. Ajout de la fonctionnalité de génération de doublages en utilisant l'API d'ElevenLabs
  6. Dernière touche - Combinaison de la vidéo avec les doublages générés
  7. Test du service de doublage automatique

Identification des exigences

Pour construire un service de doublage automatique pour les vidéos YouTube, nous devons considérer les fonctionnalités essentielles pour le processus de doublage : récupérer la vidéo, transcrire les flux audio, traduire le texte, générer les doublages, et finalement, combiner les doublages avec la vidéo.

Récupérer la vidéo à partir du lien Youtube

Pour récupérer la vidéo et les flux audio ainsi que des métadonnées telles que les titres et les vignettes, nous utiliserons la bibliothèque pytube. Les utilisateurs saisiront le lien YouTube dans un champ de texte et cliqueront sur un bouton pour déclencher le processus de téléchargement.

Transcrire le flux audio

Après avoir téléchargé le flux audio, l'étape suivante est la transcription, utilisant Whisper d'OpenAI via la bibliothèque Whisper. Pour des raisons de performance, l'audio sera divisé en segments d'une minute avant la transcription. Un DataFrame affichera le contenu transcrit, listant les temps de début, les temps de fin et les textes prononcés.

Traduire la transcription

En utilisant le modèle Claude d'Anthropic, nous allons traduire la transcription de l'anglais vers la langue sélectionnée. Nous exécuterons cela en utilisant un appel de bibliothèque anthropique.

Générer les doublages

À réception des résultats de traduction de Claude, nous générerons l'audio en utilisant l'API d'ElevenLabs. En important les fonctions pertinentes de la bibliothèque d'ElevenLabs, nous pouvons synthétiser un discours en utilisant une voix préfabriquée et le modèle multilingue pour soutenir les traductions en langues autres que l'anglais.

Combiner les doublages avec la vidéo

Enfin, nous récupérerons le flux vidéo à partir du lien YouTube précédemment fourni et le combinerons avec les fichiers audio de doublage générés. Le logiciel de commande ligne ffmpeg facilitera cette dernière étape. Après le processus de combinaison, un lecteur vidéo sera affiché dans notre interface utilisateur !

Initialisation du projet

Streamlit sera utilisé pour créer l'interface utilisateur de notre service de doublage automatique, nous permettant de consolider notre travail dans un seul fichier Python. Certaines étapes initiales cruciales garantissent que notre projet fonctionne sans accroc.

Créer le répertoire du projet

  • Ouvrez votre terminal et naviguez jusqu'au répertoire de vos projets de codage.
  • Créez le répertoire du projet et entrez dedans.

Créer et activer l'environnement virtuel

Ensuite, nous allons créer et activer notre environnement virtuel, empêchant les dépendances de fuir dans l'environnement global. Votre terminal devrait indiquer quand l'environnement virtuel est activé.

Installer les dépendances

Maintenant, installez les dépendances nécessaires via pip. Cela peut prendre un certain temps, donc faites une pause pendant le processus. Voici un aperçu des bibliothèques que nous installons :

  • Streamlit : Utilisé pour construire l'interface utilisateur.
  • Anthropic : Se connecte à l'API d'Anthropic.
  • ElevenLabs : Sert de wrapper pour l'API d'ElevenLabs.
  • Pytube : Récupère les métadonnées et les flux à partir de YouTube.
  • Pydub : Gère et édite facilement les fichiers audio.
  • Whisper : Transcrit l'audio téléchargé.
  • MoviePy : Initialement prévu pour la combinaison rapide de vidéos/audio mais remplacé par ffmpeg.
  • Pydantic : Doit installer la version verrouillée pour éviter les erreurs dans ElevenLabs.

Résoudre les problèmes connus

Lorsque vous configurez votre projet, gardez à l'esprit les problèmes potentiels qui pourraient survenir :

  1. Résoudre le bug de Pytube : Naviguez jusqu'au répertoire de la bibliothèque Pytube, localisez le fichier cipher.py et supprimez le point-virgule du motif regex problématique à la ligne 287.
  2. Installer ffmpeg : Des instructions d'installation détaillées peuvent être trouvées en ligne. Une installation réussie permettra à la commande ffmpeg de s'exécuter dans votre terminal.

Créer le fichier secret de Streamlit

Notre application de doublage automatique utilisera divers services d'IA qui nécessitent des clés d'accès. Il est préférable de gérer ces clés dans un fichier séparé. Streamlit utilise un fichier secrets.toml pour stocker des informations sensibles. Après avoir créé ce fichier, spécifiez vos clés d'API en conséquence.

Créer le fichier autodubs.py

Créez un nouveau fichier autodubs.py dans votre répertoire de projet. Commencez à écrire votre application, en incorporant des éléments et des fonctionnalités d'interface utilisateur supplémentaires.

Ajouter la fonctionnalité de transcription vidéo en utilisant Whisper d'OpenAI

Ensuite, ajoutez un gestionnaire pour notre bouton "Transcrire !". Cela téléchargera le flux audio et le transcrira en utilisant Whisper d'OpenAI. Importez les bibliothèques nécessaires et définissez des fonctions pour gérer le traitement audio avant d'invoquer la fonction echo.

Ajouter la fonctionnalité de traduction en utilisant Claude d'Anthropic

Développez une fonction de traduction pour envoyer des requêtes à Claude en utilisant la bibliothèque anthropique, lui demandant de passer directement à la traduction sans remarques préliminaires.

Ajouter la fonctionnalité de génération de doublages en utilisant l'API d'ElevenLabs

Générez des doublages en définissant la fonction correspondante, en utilisant l'API d'ElevenLabs pour créer une sortie audio à partir du texte traduit.

Dernière touche - Combiner la vidéo avec les doublages générés

Récupérez le flux vidéo et combinez-le avec le fichier audio de doublage généré en utilisant ffmpeg. Assurez-vous que ce processus se termine avec succès avant d'afficher la vidéo fusionnée dans votre interface utilisateur.

Tester le service de doublage automatique

Exécutez votre application, testez son fonctionnement et assurez-vous que tout fonctionne correctement. Le lecteur vidéo apparaîtra, permettant aux utilisateurs de profiter de la nouvelle vidéo doublée.

Conclusion

Tout au long de ce tutoriel, nous avons réussi à construire un service de doublage automatique pour les vidéos YouTube ! Avec des outils tels que Whisper d'OpenAI pour la transcription, Claude d'Anthropic pour la traduction et ElevenLabs pour la génération de voix, nous avons créé un processus de doublage automatique rationalisé et efficace. Merci beaucoup à la bibliothèque Streamlit pour avoir simplifié notre développement UI !

En lire plus

Screenshot of RAG application developed with TruLens and Google Cloud Vertex AI.
Using Llama 2 Model with Langchain on Clarifai tutorial guide

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.