Generación de MP3 con ElevenLabs Text-to-Speech (Python)
En esta lección, aprenderás a utilizar el SDK de ElevenLabs para convertir texto en audio MP3. Esta habilidad es fundamental para crear aplicaciones interactivas, asistentes de voz o cualquier proyecto que requiera una salida de audio dinámica a partir de contenido textual. Antes de escribir cualquier código, invoca la habilidad /text-to-speech para aprender los patrones correctos del SDK de ElevenLabs.
main.py
Crearemos un script mínimo en Python que genera un archivo MP3 a partir de texto utilizando la funcionalidad Text-to-Speech de ElevenLabs.
Para empezar, es una buena práctica importar todas las dependencias necesarias al inicio de tu script. Luego, inicializaremos el cliente de ElevenLabs.
- Importa todo lo necesario al principio de tu script. Llama a
load_dotenv()después de las importaciones, luego pasaapi_key=os.environ["ELEVENLABS_API_KEY"]explícitamente al clienteElevenLabs. - Lee el texto de los argumentos de la línea de comandos; si no se proporciona, usa una oración corta predeterminada.
- Genera el discurso con
voice_id="JBFqnCBsd6RMkjVDRZzb"ymodel_id="eleven_multilingual_v2". - Escribe el audio de salida en
output.mp3. - Imprime un mensaje de éxito con la ruta de salida.
- Maneja los errores con un mensaje legible.
Este paso configura tu entorno para interactuar con la API de ElevenLabs. Asegúrate de tener tu clave de API de ElevenLabs configurada correctamente, ya sea como una variable de entorno o pasándola directamente al cliente.
Esto hace que tu script sea flexible, permitiendo a los usuarios especificar el texto a convertir o usar un valor predeterminado para pruebas rápidas.
Aquí es donde ocurre la magia. Estas funciones del SDK de ElevenLabs toman tu texto y lo transforman en datos de audio.
Una vez que el audio ha sido generado, lo guardamos en un archivo MP3 para que puedas reproducirlo o usarlo en otras aplicaciones.
Confirmar al usuario que el proceso fue exitoso y dónde encontrar el archivo de salida mejora la experiencia del usuario.
Es crucial incluir manejo de errores para depurar problemas y proporcionar retroalimentación útil si algo sale mal, como una clave de API incorrecta o problemas de red.
Requisitos
- Una cuenta de ElevenLabs.
- Una clave de API de ElevenLabs (puedes encontrarla en tu panel de control de ElevenLabs).
- Python 3.7 o superior.
- El SDK de ElevenLabs instalado (
pip install elevenlabs).
Resumen
- Aprendiste a inicializar el cliente de ElevenLabs.
- Configuraste tu script para aceptar texto de entrada flexible.
- Utilizaste las funciones clave del SDK para la síntesis de voz.
- Guardaste el audio generado en un archivo MP3.
- Implementaste un manejo básico de errores para una mejor robustez.