AI

Tutorial: Construyendo un Servicio de Doblaje Automático Usando ElevenLabs

Thumbnail for Auto Dubbing Service Tutorial, showcasing various technologies involved.

Introducción

La llegada de tecnologías de conversión 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 la tecnología de conversión de texto a voz del pasado. Recientemente, una compañía llamada ElevenLabs ha elevado la apuesta al proporcionarnos funciones centradas en la generación de voz. Desde la creación y diseño de voces personalizadas hasta la síntesis de discursos utilizando las voces que creamos o utilizando voces predefinidas proporcionadas por ElevenLabs.

En este tutorial, construiremos un servicio de doblaje automático utilizando la tecnología de conversión de texto a voz de ElevenLabs. No solo eso, sino que también identificaremos los pasos necesarios desde la recuperación de un video desde un enlace de YouTube hasta la combinación del video con los doblajes generados.

Introducción a ElevenLabs

ElevenLabs es una compañía altamente innovadora que ofrece una API poderosa y fácil de usar para la generación de voz. Presumen de una tecnología de vanguardia con su API de generación de voz, entrenada en vastas colecciones de audiolibros y pódcast, resultando en la capacidad de generar discursos con sonido natural y expresivo. Así, 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.

Introducción a Whisper de OpenAI

Whisper es un servicio de transcripción de audio, o de voz a texto, desarrollado por OpenAI. Se informa que ha sido entrenado con 680,000 horas de datos supervisados multilingües y multitarea recopilados de la web, asegurando consistencias mejoradas en la detección de acentos, ruido de fondo y lenguaje técnico. Whisper también 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 la promoción y el entrenamiento de sistemas de IA útiles, honestos y inofensivos. Está diseñado para ayudar en varios casos de uso centrados en el lenguaje, como la resumación de textos, escritura colaborativa, preguntas y respuestas, y programación. Las primeras reseñas de varios usuarios informaron que Claude es particularmente efectivo en la producción de respuestas seguras y confiables, lo que facilita el trabajo con él y lo hace más intuitivo. Esto hace que Claude sea ideal para construir servicios que se espera que ofrezcan una experiencia de usuario humana y excelente. Usaremos Claude para ayudar a traducir nuestra transcripción de video.

Requisitos Previos

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

Esquema

  • Identificación de los Requisitos
  • Inicialización del Proyecto
  • Agregando Función de Transcripción de Video usando Whisper de OpenAI
  • Agregando Función de Traducción usando Claude de Anthropic
  • Agregando Función de Generación de Doblajes usando la API de ElevenLabs
  • Toque Final - Combinando el Video con los Doblajes Generados
  • Probando el Servicio de Doblaje Automático

Discusión

Antes de sumergirnos en la parte de codificación, reflexionemos sobre las funciones que nuestro servicio de doblaje automático debería incluir. Al considerar los requisitos y los casos de uso previstos, podemos asegurar que nuestro servicio ofrezca soluciones adecuadas. Con eso en mente, ¡comencemos!

Identificación de los Requisitos

Para generar doblajes para videos de YouTube, necesitamos rastrear los pasos involucrados:

1. Recuperar el Video desde el Enlace de YouTube

Podemos usar la popular biblioteca de Python, pytube, para recuperar los flujos de video y audio, así como metadatos como título, descripción y miniatura. Proporcionaremos un campo de entrada de texto para el enlace de YouTube y un botón para activar el proceso de descarga del flujo.

2. Transcribir el Flujo de Audio

Una vez que se descarga el flujo de audio, podemos transcribirlo usando Whisper de OpenAI a través de la biblioteca Whisper. Para mejorar el rendimiento, cortaremos el audio en duraciones de un minuto antes de la transcripción. La transcripción se mostrará en un DataFrame.

3. Traduciendo la Transcripción

A continuación, utilizaremos la biblioteca anthropic para acceder a Claude, enviando un aviso para solicitar la traducción de la transcripción, que originalmente está en inglés.

4. Generando los Doblajes

Después de recibir la respuesta de Claude, generaremos doblajes usando la API de ElevenLabs, empleando el modelo multilingüe para acomodar traducciones no inglesas.

5. Combinando los Doblajes con el Video

Finalmente, recuperaremos el flujo de video del enlace de YouTube y combinaremos el audio generado con el video usando ffmpeg.

Inicializando el Proyecto

Usaremos la biblioteca streamlit para construir nuestra interfaz de usuario. El proyecto implicará crear un único archivo de Python y seguir los pasos para asegurar un funcionamiento fluido:

Creando el Directorio del Proyecto

Primero, navega a tu directorio de proyectos de código y crea un directorio de proyecto.

Creando y Activando el Entorno Virtual

Crea el entorno virtual y actívalo para prevenir conflictos de dependencia.

Instalando las Dependencias

Usando comandos pip, instalaremos todas las dependencias necesarias, incluyendo Streamlit, Anthropic, ElevenLabs, Pytube, Pydub, Whisper y otras mencionadas. Asegúrate de abordar cualquier problema potencial como errores en Pytube e instalación de ffmpeg.

Creando el Archivo Secreto de Streamlit

Almacena claves API e información sensible en un archivo secrets.toml dentro del directorio del proyecto por seguridad.

Creando el Archivo auto_dubs.py

Usando un editor de código, escribe el diseño inicial de la aplicación con un título, campo de entrada de texto, caja de selección para idiomas y un botón que activa el proceso de transcripción.

Agregando Función de Transcripción de Video usando Whisper de OpenAI

Agrega un controlador al botón "¡Transcribir!" para descargar el flujo de audio, cortar el audio y procesar la transcripción con la biblioteca Whisper, mostrando los resultados en un DataFrame de Pandas.

Agregando Función de Traducción usando Claude de Anthropic

Incorpora la función de traducción creando una función que envíe la transcripción a Claude para su traducción, siguiendo con un aviso para dirigir a Claude de manera efectiva.

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

Incorpora la función de generación de doblajes usando ElevenLabs, utilizando el modelo multilingüe para generar discursos con sonido natural basados en el texto traducido.

Toque Final - Combinando el Video con los Doblajes Generados

Combina video y audio usando ffmpeg, asegurando que el proceso general funcione sin problemas antes de presentarlo al usuario.

Probando el Servicio de Doblaje Automático

Ahora, probemos nuestra aplicación haciendo clic en el botón "¡Transcribir!" y verificando que todo funcione como se espera, incluyendo la reproducción del video con los nuevos doblajes.

Conclusión

Este tutorial ha demostrado un enfoque innovador para generar doblajes de traducción para videos de YouTube utilizando la API de ElevenLabs. La combinación de Whisper de OpenAI, Claude de Anthropic y las capacidades multilingües de ElevenLabs resulta en una experiencia de usuario fluida. A través de Streamlit, pudimos presentar todas las funciones necesarias en una interfaz fácil de usar.

¡Ahora podemos generar automáticamente doblajes para videos de YouTube, mostrando el potencial de combinar varios servicios de IA para lograr resultados notables!

Puede que te interese

A demonstration of Cohere's text embedding capabilities for machine learning.
Llama 2 Model integration 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.