Lección 7 · 5 min · Gratis

Generación de Música con ElevenLabs (Python)

En esta lección, aprenderás a crear un script de Python para generar música a partir de un prompt de texto utilizando el SDK de ElevenLabs. Esta habilidad es increíblemente útil para desarrolladores que buscan integrar capacidades de generación de audio en sus aplicaciones, ya sea para crear bandas sonoras dinámicas, efectos de sonido o contenido multimedia interactivo. Al final de esta lección, tendrás un script funcional que puede transformar tus ideas textuales en archivos de audio MP3.

Antes de escribir cualquier código, invoca la habilidad /music para aprender los patrones correctos del SDK de ElevenLabs.

main.py

Crea un script mínimo que genere una pista de música MP3 a partir de un prompt de texto usando el SDK de Python de ElevenLabs.

Para comenzar, asegúrate de tener instalada la biblioteca de ElevenLabs. Puedes instalarla usando pip install elevenlabs. También necesitarás una clave de API de ElevenLabs, la cual se recomienda configurar como una variable de entorno llamada ELEVEN_API_KEY para mayor seguridad.

  • Importa todo al principio. Llama a load_dotenv() después de las importaciones, luego pasa api_key=os.environ["ELEVENLABS_API_KEY"] explícitamente al cliente ElevenLabs.
  • Este paso asegura que todas las funciones y clases necesarias del SDK estén disponibles y que el cliente de ElevenLabs se inicialice correctamente, utilizando la clave de API para la autenticación.

  • Lee el prompt de los argumentos de la CLI; si no se proporciona, usa A chill lo-fi beat with jazzy piano chords.
  • Esto permite que tu script sea flexible, aceptando prompts directamente desde la línea de comandos o usando un valor predeterminado si no se especifica ninguno.

  • Usa client.music.compose con music_length_ms=10000.
  • Aquí es donde se define la lógica principal para la generación de música, especificando el modelo y el prompt que se utilizarán para crear la pista de audio.

  • Escribe el flujo de audio devuelto en output.mp3.
  • Una vez que la API genera el audio, este paso guarda el resultado en un archivo MP3 local, haciendo que la música sea accesible para su reproducción.

  • Imprime un mensaje de éxito con la ruta de salida absoluta.
  • Confirmar la finalización exitosa y proporcionar la ruta del archivo es crucial para la experiencia del usuario, indicando dónde encontrar el archivo de música generado.

  • Maneja la falta de ELEVENLABS_API_KEY con un error legible.
  • Es fundamental validar la entrada del usuario. Si el prompt es un requisito y no se proporciona, el script debe informar al usuario de manera clara.

  • Si la API devuelve una respuesta bad_prompt de material con derechos de autor, muestra el prompt de reemplazo sugerido cuando esté disponible.
  • La API de ElevenLabs puede detectar contenido con derechos de autor. Este manejo de errores específico ayuda a los usuarios a entender por qué su solicitud fue rechazada y cómo pueden modificar su prompt para cumplir con las políticas.

  • Maneja otros errores con un mensaje legible.
  • Un manejo de errores robusto es clave para cualquier aplicación. Este punto asegura que cualquier otro problema inesperado de la API se comunique claramente al usuario.

Resumen

  • Hemos aprendido a inicializar el SDK de ElevenLabs y a autenticarnos con una clave de API.
  • Hemos implementado la lectura de prompts desde la línea de comandos y el uso de un prompt predeterminado.
  • Hemos utilizado la función de generación de música de ElevenLabs para crear un archivo MP3.
  • Hemos añadido manejo de errores para prompts faltantes, contenido con derechos de autor y otros problemas de la API.
  • Hemos guardado el audio generado en un archivo local y hemos proporcionado retroalimentación al usuario.
Lección del curso «ElevenLabs Examples» de ElevenLabs, publicado con licencia MIT. Traducción y adaptación al español de IA con Clase. IA con Clase no está afiliado a ElevenLabs. Ver el original · Licencia
Esta lección es gratuita. El resto del curso se abre con la Membresía de IA con Clase, que incluye todos los cursos del catálogo. Ver precios