AI tutorial

Tutorial sobre la Construcción de un Servicio de Doblaje Automatizado con Tecnologías de IA

Creating an automated dubbing service using AI technologies like ElevenLabs and OpenAI.

Introducción

La llegada de tecnologías de texto a voz altamente avanzadas en los últimos años ha abierto la puerta a muchos productos innovadores y de vanguardia impulsados por IA. Ya no estamos limitados a los discursos sintéticos torpes y robóticos generados por la tecnología de texto a voz de antaño. Recientemente, una empresa llamada ElevenLabs ha elevado la apuesta al proporcionarnos 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 las voces que creamos o voces predefinidas proporcionadas por ElevenLabs.

En este tutorial, construiremos un servicio de doblaje automático utilizando la tecnología de texto a voz de ElevenLabs. No solo eso, también identificaremos los pasos necesarios para recuperar el video del enlace de Youtube y combinarlo con los doblajes generados.

Introducción a ElevenLabs

ElevenLabs es una empresa altamente innovadora que ofrece una poderosa pero fácil de usar API para la generación de voces. Presumen de tecnología de vanguardia, su API de generación de voces, que está entrenada en grandes porciones de audiolibros y pódcast, lo que resulta en la capacidad de generar discursos sonando naturales y expresivos. Por lo tanto, la API de ElevenLabs puede servir como una opción ideal para una amplia gama de productos centrados en la voz, como la narración de cuentos/audiolibros y la voz en off para videos.

¿Qué es Whisper de OpenAI?

Whisper es un servicio de transcripción de audio, o de voz a texto, desarrollado por OpenAI. Se informa que fue entrenado en 680,000 horas de datos supervisados multilingües y multitask recopilados de la web, proporcionando consistencias mejoradas en la detección de acentos, ruido de fondo y lenguaje técnico. Whisper es capaz de transcribir discursos en múltiples idiomas, así como de traducir desde idiomas no ingleses.

Introducción al Modelo Claude de Anthropic

Claude es un modelo de IA avanzado desarrollado por Anthropic, basado en su investigación sobre cómo promover y entrenar sistemas de IA útiles, honestos e inofensivos. Está diseñado para ayudar con varios casos de uso centrados en el lenguaje, como la resumición de texto, la escritura colaborativa, preguntas y respuestas, y codificación. Las primeras reseñas de varios usuarios informaron que Claude es mucho más reacio a producir respuestas cuestionables y dañinas, más fácil e intuitivo de manejar y más "dirigible". En resumen, Claude puede producir respuestas similares a las humanas, lo que lo hace perfecto para construir servicios que esperan proporcionar una experiencia de usuario humana y excelente. Debido a la reconocida excelencia de Claude en el manejo de tareas centradas en el lenguaje, utilizaremos Claude para ayudarnos a traducir nuestra transcripción de video.

Requisitos previos

  • Conocimientos básicos de Python, experiencia con Streamlit es un plus
  • Acceso a la API de ElevenLabs
  • Acceso a la API de Anthropic

Esquema

  1. Identificando los Requisitos
  2. Inicializando el Proyecto
  3. Agregando la Funcionalidad de Transcripción de Video usando Whisper de OpenAI
  4. Agregando la Funcionalidad de Traducción usando Claude de Anthropic
  5. Agregando la Función de Generación de Doblajes usando la API de ElevenLabs
  6. Últimos Toques - Combinando el Video con los Doblajes Generados
  7. Probando el Servicio de Doblaje Automático

Identificando los Requisitos

Preguntémonos de nuevo, ¿qué funcionalidades necesita nuestro servicio como generador automático de doblajes para videos de YouTube? Bueno, rastreamos los pasos involucrados en la generación de doblajes. Comenzando desde la recuperación del video hasta la combinación de los doblajes con el video.

Recuperar el Video del Enlace de YouTube

Podemos usar la popular librería de Python pytube para este propósito. Al proporcionar el enlace a la función de YouTube, podemos recuperar los flujos de video y audio, junto con los metadatos como el título, la descripción y la miniatura. Para este paso, necesitaremos un campo de entrada de texto para el enlace de YouTube y un botón para iniciar el proceso de descarga del flujo.

Transcribir el Flujo de Audio

Después de descargar el flujo de audio del video de YouTube, podemos comenzar a transcribir el audio con Whisper de OpenAI. Por razones de rendimiento, primero cortaremos el audio en duraciones de un minuto antes de la transcripción. Después de obtener la transcripción, la mostraremos en un DataFrame que enumere el inicio, fin y el texto hablado en puntos de tiempo específicos.

Traducir la Transcripción

El proceso de traducción comenzará inmediatamente después de obtener la transcripción. Usaremos la librería anthropic para acceder al modelo Claude y enviar nuestro mensaje para la traducción de la transcripción originalmente en inglés.

Generar los Doblajes

Una vez que recibamos la respuesta de Claude, procederemos a generar audio utilizando la API de ElevenLabs. Al importar funciones de la librería de elevenlabs, podemos generar discursos utilizando voces pregrabadas y un modelo multilingüe, específicamente para traducciones de no inglés.

Combinar los Doblajes con el Video

Finalmente, recuperaremos el flujo de video del enlace de YouTube y lo combinaremos con el audio generado. Para esta tarea, utilizaremos un software de línea de comandos llamado ffmpeg. Una vez que el video esté combinado con los doblajes, lo mostraremos a través de un reproductor en nuestra interfaz de usuario!

Inicializando el Proyecto

Para construir la interfaz de usuario de nuestro servicio de doblaje automático, utilizaremos la librería Streamlit, lo que nos permitirá gestionar todo este proyecto en un solo archivo de Python. Algunos pasos adicionales garantizarán que nuestro proyecto funcione sin problemas.

Crear el directorio del proyecto

Navegue a su directorio de proyectos de codificación en la terminal, cree un directorio de proyecto y acceda a él:

Crear y activar el entorno virtual

A continuación, cree y active su entorno virtual. Esto previene problemas de dependencias al asegurarse de que las dependencias de nuestro proyecto no se filtren en el entorno global. La terminal debería mostrar el nombre de su entorno virtual activado.

Instalando las dependencias

Instale todas las dependencias necesarias utilizando pip. Esto puede tomar algo de tiempo, así que siéntase libre de ir a tomar un café! Las principales librerías instaladas incluyen:

  • Streamlit: Para construir la interfaz de usuario fácilmente.
  • Anthropic: Para conectarse a la API de Anthropic.
  • ElevenLabs: Para manejo de solicitudes a la API de ElevenLabs.
  • Pytube: Para recuperar los metadatos del video de YouTube y descargar flujos.
  • Pydub: Para crear doblajes y gestionar archivos de audio.
  • Whisper: Para transcribir el audio descargado.
  • MoviePy: Usado para manipulación de video y gestión de flujos.
  • Pydantic: Asegura la compatibilidad de versiones con la librería de ElevenLabs.

Corregir el error de Pytube

Navegue al directorio de la librería Pytube para editar cipher.py, específicamente eliminando el punto y coma de la expresión regular para corregir RegexMatchError.

Instalando ffmpeg

Refiérase a la documentación oficial para la instalación de ffmpeg en varios sistemas operativos.

Crear nuestro archivo secreto de Streamlit

Cree un archivo secrets.toml para gestionar claves API sensibles y credenciales necesarias para diferentes servicios de IA utilizados en esta aplicación.

Crear el archivo autodubs.py

Cree autodubs.py, añada elementos esenciales de la interfaz de usuario como título, entrada de texto y botón.

Agregando la Funcionalidad de Transcripción de Video usando Whisper de OpenAI

Comenzamos añadiendo funcionalidad al botón "¡Transcribir!" utilizando las librerías Pytube y Whisper para descargar flujos de audio y transcribirlos. Después, los resultados se mostrarán en un DataFrame de Pandas.

Agregando la Funcionalidad de Traducción usando Claude de Anthropic

Una nueva función añadida generará traducciones utilizando Claude basado en la transcripción anterior. Esta función devolverá directamente los resultados sin texto adicional.

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

Utilizando la API de ElevenLabs, generaremos doblajes del texto traducido usando una voz pregrabada. Escribiremos un archivo mp3 a partir del habla generada.

Últimos Toques - Combinando el Video con los Doblajes Generados

En esta penúltima sección, descargaremos el flujo de video y lo fusionaremos con el audio generado utilizando ffmpeg, actualizando finalmente la interfaz de usuario para mostrar el video doblado con éxito.

Probando el Servicio de Doblaje Automático

Ejecute la aplicación, haga clic en el botón "¡Transcribir!" y espere a que finalice todo el proceso, incluidas las solicitudes a las API y las manipulaciones de archivos. Una vez hecho todo, el video con los doblajes debería estar listo para verse en el reproductor de video.

Conclusión

En este detallado tutorial, exploramos uno de los emocionantes usos de la API de ElevenLabs para generar doblajes para videos de YouTube. Al combinar Whisper de OpenAI para la transcripción, Claude para la traducción y ElevenLabs para los doblajes, construimos un servicio de doblaje automático completo aprovechando la tecnología de IA líder en la industria!

Puede que te interese

Illustration showing text embedding process using Cohere API and neural networks.
A visual guide to integrating Llama 270-B model with Langchain on Clarifai.

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.