AI Tutorial

Cómo Crear un Servicio de Doblaje Automatizado con ElevenLabs y OpenAI

Creating an Automated Dubbing Service with AI Technologies.

Introducción

La llegada de tecnologías de texto a voz altamente avanzadas en los últimos años ha abierto las puertas a muchos productos innovadores y de vanguardia impulsados por IA. Ya no estamos limitados a los discursos sintetizados torpes y robóticos generados por las tecnologías de texto a voz anteriores. Una empresa llamada ElevenLabs ha elevado la apuesta al proporcionar características centradas en la generación de voces. Desde la creación y diseño de nuestras voces personalizadas hasta la síntesis de discursos utilizando nuestras creaciones o las prehechas, ElevenLabs ofrece herramientas poderosas.

En este tutorial, te guiaremos a través de la creación de un servicio de doblaje automático utilizando la tecnología de texto a voz de ElevenLabs. Además, identificaremos los pasos necesarios, desde recuperar videos a través de enlaces de YouTube hasta fusionar los videos con los doblajes generados.

Introducción a ElevenLabs

ElevenLabs es una empresa altamente innovadora que ofrece una API fácil de usar para la generación de voz. Su API de generación de voz de vanguardia está entrenada con audiolibros y pódcast extensos, lo que resulta en la capacidad de producir discursos naturales y expresivos. Como resultado, la API de ElevenLabs puede servir eficazmente a una variedad de productos centrados en la voz, incluidos narraciones de historias/audiolibros y voiceovers de videos.

Introducción al Whisper de OpenAI

Whisper es un servicio de transcripción de audio, o módulo de voz a texto, desarrollado por OpenAI. Está entrenado en impresionantes 680,000 horas de datos supervisados multilingües y multitarea recopilados de diversas fuentes en línea, asegurando un mejor rendimiento en la detección de acentos y lenguaje técnico en medio del ruido de fondo. Notablemente, Whisper es capaz de transcribir discursos en múltiples idiomas y traducir de idiomas que no son inglés.

Introducción al Modelo Claude de Anthropic

Claude es un modelo de IA avanzado desarrollado por Anthropic, enfocado en promover sistemas de IA útiles, honestos y seguros. Se destaca en diversas tareas centradas en el lenguaje, incluida la resumación de textos, escritura colaborativa, preguntas y respuestas, y programación. Los comentarios de los usuarios indican que Claude es mucho menos propenso a producir respuestas dañinas, es fácil de usar y permite a los usuarios lograr los resultados deseados con un esfuerzo mínimo.

En última instancia, Claude está diseñado para producir respuestas similares a las humanas, lo que lo hace ideal para servicios destinados a ofrecer experiencias de usuario humanas y excelentes. En este tutorial, utilizaremos Claude para ayudar a traducir las transcripciones de nuestros videos.

Requisitos

  • Conocimientos básicos de Python; la familiaridad con Streamlit es un plus.
  • Acceso a la API de ElevenLabs.
  • Acceso a la API de Anthropic.

Esquema

  1. Identificación de los Requisitos
  2. Inicializando el Proyecto
  3. Agregando la Función de Transcripción de Video utilizando el Whisper de OpenAI
  4. Agregando la Función de Traducción utilizando el Claude de Anthropic
  5. Agregando la Función de Generación de Doblajes utilizando la API de ElevenLabs
  6. Toque Final - Combinando el Video con los Doblajes Generados
  7. Prueba del Servicio de Doblaje Automático

Identificación de los Requisitos

Para construir un servicio de doblaje automático para videos de YouTube, debemos considerar las características esenciales para el proceso de doblaje: recuperar el video, transcribir flujos de audio, traducir texto, generar doblajes y, finalmente, combinar los doblajes con el video.

Recuperar el Video desde el Enlace de Youtube

Para recuperar el video y los flujos de audio junto con metadatos como títulos y miniaturas, utilizaremos la biblioteca pytube. Los usuarios introducirán el enlace de YouTube en un campo de texto y harán clic en un botón para iniciar el proceso de descarga.

Transcribir el Flujo de Audio

Después de descargar el flujo de audio, el siguiente paso es la transcripción, utilizando el Whisper de OpenAI a través de la biblioteca Whisper. Por razones de rendimiento, el audio se dividirá en segmentos de un minuto antes de la transcripción. Un DataFrame mostrará el contenido transcrito, enumerando los tiempos de inicio, los tiempos de finalización y los textos hablados.

Traduciendo la Transcripción

Usando el modelo Claude de Anthropic, traduciremos la transcripción del inglés al idioma seleccionado. Ejecutaremos esto utilizando una llamada a la biblioteca antropic.

Generando los Doblajes

Al recibir los resultados de traducción de Claude, generaremos el audio utilizando la API de ElevenLabs. Al importar funciones relevantes de la biblioteca de ElevenLabs, podemos sintetizar el discurso utilizando una voz prehecha y el modelo multilingüe para soportar traducciones en otros idiomas.

Combinando los Doblajes con el Video

Finalmente, recuperaremos el flujo de video del enlace de YouTube proporcionado anteriormente y lo combinaremos con los archivos de audio de doblaje generados. El software de línea de comandos ffmpeg facilitará este último paso. Después del proceso de combinación, un reproductor de video se mostrará en nuestra interfaz de usuario!

Inicializando el Proyecto

Streamlit se utilizará para crear la interfaz de usuario para nuestro servicio de doblaje automático, permitiéndonos consolidar nuestro trabajo en un solo archivo de Python. Algunos pasos iniciales cruciales asegurarán que nuestro proyecto funcione sin problemas.

Crear el Directorio del Proyecto

  • Abre tu terminal y navega al directorio de tus proyectos de codificación.
  • Crea el directorio del proyecto y entra en él.

Crear y Activar el Entorno Virtual

A continuación, crearemos y activaremos nuestro entorno virtual, evitando que las dependencias se filtren en el entorno global. Tu terminal debería indicar cuándo se activa el entorno virtual.

Instalando Dependencias

Ahora, instala las dependencias necesarias a través de pip. Esto puede tardar un poco, así que toma un descanso durante el proceso. Aquí tienes un desglose de las bibliotecas que estamos instalando:

  • Streamlit: Usado para construir la interfaz de usuario.
  • Anthropic: Conecta a la API de Anthropic.
  • ElevenLabs: Sirve como un envoltura para la API de ElevenLabs.
  • Pytube: Recupera metadatos y flujos de YouTube.
  • Pydub: Maneja y edita archivos de audio fácilmente.
  • Whisper: Transcribe audio descargado.
  • MoviePy: Inicialmente destinado a combinar video/audio rápidamente pero cambiado a ffmpeg.
  • Pydantic: Debe instalar la versión bloqueada para evitar errores en ElevenLabs.

Solucionando Problemas Conocidos

A medida que configures tu proyecto, ten en cuenta los problemas potenciales que podrían surgir:

  1. Solucionando el Bug de Pytube: Navega al directorio de la biblioteca Pytube, localiza el archivo cipher.py y elimina el punto y coma del patrón regex problemático en la línea 287.
  2. Instalando ffmpeg: Puedes encontrar instrucciones detalladas de instalación en línea. Una instalación exitosa permitirá que el comando ffmpeg se ejecute en tu terminal.

Crear el Archivo de Secretos de Streamlit

Nuestra aplicación de doblaje automático utilizará varios servicios de IA que requieren claves de acceso. Es mejor practicar gestionar estas claves en un archivo separado. Streamlit utiliza un archivo secrets.toml para almacenar información sensible. Después de crear este archivo, especifica tus claves de API en consecuencia.

Crear el Archivo autodubs.py

Crea un nuevo archivo autodubs.py en tu directorio de proyecto. Comienza a escribir tu aplicación, incorporando elementos de UI adicionales y funcionalidades.

Agregando la Función de Transcripción de Video utilizando el Whisper de OpenAI

A continuación, agrega un manejador para nuestro botón "¡Transcribir!". Esto descargará el flujo de audio y lo transcribirá utilizando el Whisper de OpenAI. Importa las bibliotecas necesarias y define funciones para manejar el audio antes de invocar la función eco.

Agregando la Función de Traducción utilizando el Claude de Anthropic

Desarrolla una función de traducción para enviar mensajes a Claude utilizando la biblioteca antropic, instruyendo a este para que realice la traducción sin comentarios preliminares.

Agregando la Función de Generación de Doblajes utilizando la API de ElevenLabs

Genera doblajes definiendo la función correspondiente, utilizando la API de ElevenLabs para crear una salida de audio a partir del texto traducido.

Toque Final - Combinando el Video con los Doblajes Generados

Recupera el flujo de video y combínalo con el archivo de audio del doblaje generado utilizando ffmpeg. Asegúrate de que este proceso complete con éxito antes de mostrar el video combinado en tu interfaz de usuario.

Prueba del Servicio de Doblaje Automático

Ejecuta tu aplicación, prueba su funcionalidad y asegúrate de que todo funcione correctamente. El reproductor de video aparecerá, permitiendo a los usuarios disfrutar del video recién doblado.

Conclusión

A lo largo de este tutorial, construimos con éxito un servicio de doblaje automático para videos de YouTube. Con herramientas como el Whisper de OpenAI para transcripción, el Claude de Anthropic para traducción y ElevenLabs para generación de voz, hemos creado un proceso de doblaje automático fluido y efectivo. ¡Muchísimas gracias a la biblioteca Streamlit por simplificar el desarrollo de nuestra interfaz de usuario!

Puede que te interese

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

Dejar un comentario

Todos los comentarios se revisan antes de su publicación.

Este sitio está protegido por hCaptcha y se aplican la Política de privacidad de hCaptcha y los Términos del servicio.