MusicAgent es un MAS (Multi Agent System) que programa canciones en Sonic Pi. Utiliza IA generativa para generar estructuras de canciones, arreglos, letras,... en función de las preferencias del usuario. Este manual proporciona instrucciones sobre instalación, configuración y generación de canciones. Aún no genera voces de canto (puedes incluirlas usando samples, solo versiones instrumentales).
Mira Music Agent en acción
Definimos diferentes asistentes, cada uno con un rol diferente a lo largo de las fases de composición y escritura de una canción. Se encargará de los diferentes pasos, comenzando desde la entrada inicial del usuario.
Los diferentes roles de asistente: los diferentes roles se definen en ArtistConfig.json
Todos los roles intervienen en diferentes fases de la composición de una canción.
La creación real del script de Sonic Pi, la reproducción inicial, la iteración sobre el agente o la revisión humana seguida de la reescritura del código.
Dependiendo de la configuración del artista, incluye generación de archivos de script de Sonic Pi, portada del álbum, folleto y grabación de canciones opcional.
El resultado final es un folleto con la portada del álbum (opcionalmente una grabación dependiendo de la configuración elegida) y, por supuesto, la pista de la canción codificada en un archivo *.rb.
Los agentes musicales también funcionan con OpenAI y Anthropic API (Anthropic actualmente no proporciona generación de imágenes, por lo que no se generará ninguna portada de álbum). Para alternar entre ambos, asegúrese de configurar ambas variables en su archivo de configuración o variables de entorno.
OPENAI_API_KEY: establecido como una variable de entorno del sistema o en ArtistConfig/mITyJohn/ArtistConfig.json
.
En MAC:
export OPENAI_API_KEY= ' '
En Windows (usando PowerShell):
$env :OPENAI_API_KEY= ' '
ANTHROPIC_API_KEY: establecido como una variable de entorno del sistema o en ArtistConfig/mITyJohn/ArtistConfig.json
.
En MAC:
export ANTHROPIC_API_KEY= ' '
En Windows (usando PowerShell):
$env :ANTHROPIC_API_KEY= ' '
# Clone the repository
git clone [repository link]
# Install dependencies
pip install -r requirements.txt
Debido a las dependencias antrópicas, también necesitarás instalar RUST: https://www.rust-lang.org/tools/install
Establezca OPENAI_API_KEY en ArtistConfig/mITyJohn/ArtistConfig.json
si no está configurado como una variable del sistema. Ajuste la configuración en ArtistConfig.json según sea necesario.
De forma predeterminada, el artista mITyJohn se ejecutará con la cadena básica de creación musical. Pero si desea una evaluación adicional de Sonic Pi o incluso iniciar una grabación, puede elegir una de las otras configuraciones del agente =
Para estas cadenas extendidas se necesita una configuración adicional:
live_loop :listen do
use_real_time
script = sync " /osc*/run-code "
begin
eval script[0]
osc_send ' 127.0.0.1 ' , 4559, ' /feedback ' , ' MusicAgent Code was executed successfully '
rescue Exception = > e
osc_send ' 127.0.0.1 ' , 4559, ' /feedback ' , e.message
end
end
o simplemente cargue Sonicpi/Setup/recording.rb
en su Sonic PI.
MusicAgent se puede ejecutar de dos maneras diferentes: mediante la CLI o mediante la aplicación web.
La ejecución de la aplicación web le permitirá interactuar con MusicAgent a través de una interfaz web.
python app.py
La aplicación visualiza las diferentes fases del proceso de creación musical y te permite interactuar con MusicAgent. También podrás recorrer la conversación por chat con los diferentes agentes.
Además, puedes consultar las diferentes versiones de Sonic Pi, enviándolas incluso al IDE de Sonic PI.
Puede encontrar información más detallada sobre cómo utilizar la aplicación web Music Agent en el archivo README de la aplicación Music Agent.
Ejecutar la CLI le permitirá interactuar con MusicAgent a través de la línea de comando.
python run.py
Una vez iniciado, podrás cumplir varios criterios:
Los ejemplos de Sonic PI se pueden encontrar en la carpeta 'SonicPi/Examples'.
MusicAgent generará lo siguiente en la carpeta de canciones en un subdirectorio llamado por nombre de pista:
Si está utilizando la configuración mITyJohn_Full cuando ejecuta el agente y su dispositivo de grabación está configurado correctamente (actualmente solo en Windows), se realizará una grabación automáticamente.
Music Agent fue desarrollado originalmente por mITyJohn. El proyecto es de código abierto y está disponible en GitHub para que la comunidad realice contribuciones y mejoras (¡solo porque es divertido!).