Generación de MP3 con ElevenLabs Text-to-Speech (TypeScript)
Antes de escribir cualquier código, invoca la habilidad /text-to-speech para aprender los patrones correctos del SDK de ElevenLabs.
En esta lección, construirás un script básico en Python que convierte texto en voz utilizando la API de Text-to-Speech de ElevenLabs. Esta habilidad es fundamental para aplicaciones que requieren interacción de voz, como asistentes virtuales, narración de contenido o herramientas de accesibilidad. Aprenderás a configurar tu entorno, manejar entradas de texto y guardar el audio generado en un archivo MP3.
index.ts
Crea un script mínimo que genere un MP3 a partir de texto usando ElevenLabs Text-to-Speech.
Este script será el punto de partida para cualquier proyecto de síntesis de voz. Nos enfocaremos en la simplicidad y la robustez, asegurando que el proceso de generación de audio sea claro y que los errores sean manejados de forma elegante.
- Carga las variables de entorno desde
.env. - Lee el texto de los argumentos de la CLI; si no se proporciona, usa una frase corta por defecto.
- Genera voz con
voiceId: "JBFqnCBsd6RMkjVDRZzb"ymodelId: "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.
Es crucial cargar las variables de entorno, como tu clave de API de ElevenLabs, desde un archivo .env para mantener tus credenciales seguras y fuera del código fuente. Esto facilita la gestión de diferentes entornos (desarrollo, producción) sin modificar el código.
El script debe ser flexible, permitiendo al usuario proporcionar el texto a convertir directamente desde la línea de comandos. Si no se especifica ningún texto, se utilizará una frase predeterminada para demostrar la funcionalidad.
Aquí es donde ocurre la magia. Utilizarás las funciones específicas del SDK de ElevenLabs para enviar tu texto a la API y recibir el flujo de audio generado. Asegúrate de seleccionar una voz adecuada y otros parámetros si es necesario.
Una vez que el audio ha sido generado, es esencial guardarlo en un archivo local, en este caso, un archivo MP3. Esto permite reproducir, almacenar o integrar el audio en otras aplicaciones.
Una buena práctica es informar al usuario que la operación se completó con éxito y dónde puede encontrar el archivo de audio generado. Esto mejora la experiencia del usuario.
Los errores pueden ocurrir por diversas razones (problemas de red, clave de API inválida, texto demasiado largo). Es fundamental capturar estas excepciones y mostrar mensajes de error claros y útiles al usuario, en lugar de rastreos de pila crudos.
Requisitos previos
Para seguir esta lección, necesitarás:
- Una cuenta de ElevenLabs y una clave de API. Puedes obtenerla en el panel de control de ElevenLabs.
- Python 3.x instalado en tu sistema.
- El SDK de ElevenLabs para Python. Puedes instalarlo con
pip install elevenlabs. - La biblioteca
python-dotenvpara cargar variables de entorno:pip install python-dotenv.
Resumen
- Aprendiste a inicializar el SDK de ElevenLabs y a cargar variables de entorno.
- Desarrollaste un script para convertir texto en voz usando la API de Text-to-Speech.
- Implementaste la lectura de texto desde argumentos de línea de comandos y un valor por defecto.
- Guardaste el audio generado en un archivo MP3 local.
- Incorporaste el manejo de errores para una mejor experiencia de usuario.