MusicAgent est un MAS (Multi Agent System) qui programme des chansons dans Sonic Pi. Il utilise l'IA générative pour générer des structures de chansons, des arrangements, des paroles, ... en fonction des préférences de l'utilisateur. Ce manuel fournit des instructions sur l'installation, la configuration et la génération de morceaux. Il ne génère pas encore de voix chantées (vous pouvez les inclure à l'aide d'échantillons, uniquement des versions instrumentales).
Regardez Music Agent en action
Nous avons défini différents assistants, ayant tous un rôle différent tout au long des phases de composition et d'écriture d'une chanson. Le gérera les différentes étapes, à partir de la saisie initiale de l'utilisateur.
Les différents rôles d'assistant : Différents rôles sont définis dans ArtistConfig.json
Tous les rôles y participent à différentes phases de composition d'une chanson.
La création réelle du script Sonic Pi, la lecture initiale, l'itération sur l'agent ou l'examen humain suivi d'une réécriture du code.
Selon la configuration de l'artiste, comprend la génération de fichiers de script Sonic Pi, la couverture de l'album, le livret et l'enregistrement de chansons en option.
Le résultat final est un livret avec une couverture d'album (éventuellement un enregistrement selon la configuration choisie), et bien sûr la piste de chanson codée dans un fichier *.rb.
Les agents musicaux fonctionnent également avec l'API OpenAI et Anthropic (Anthropic ne fournit actuellement pas de génération d'images, donc aucune couverture d'album ne sera générée). Pour basculer entre les deux, assurez-vous de définir les deux variables dans votre fichier de configuration ou vos variables d'environnement.
OPENAI_API_KEY : défini comme variable d'environnement système ou dans ArtistConfig/mITyJohn/ArtistConfig.json
.
Sur MAC :
export OPENAI_API_KEY= ' '
Sous Windows (en utilisant PowerShell) :
$env :OPENAI_API_KEY= ' '
ANTHROPIC_API_KEY : défini comme variable d'environnement système ou dans ArtistConfig/mITyJohn/ArtistConfig.json
.
Sur MAC :
export ANTHROPIC_API_KEY= ' '
Sous Windows (en utilisant PowerShell) :
$env :ANTHROPIC_API_KEY= ' '
# Clone the repository
git clone [repository link]
# Install dependencies
pip install -r requirements.txt
En raison des dépendances anthropiques, vous devrez également installer RUST : https://www.rust-lang.org/tools/install
Définissez OPENAI_API_KEY dans ArtistConfig/mITyJohn/ArtistConfig.json
s'il n'est pas défini en tant que variable système. Ajustez les paramètres dans ArtistConfig.json si nécessaire.
Par défaut, l'artiste mITyJohn sera exécuté avec la chaîne de base de création musicale. Mais si vous souhaitez une évaluation supplémentaire de Sonic Pi ou même démarrer un enregistrement, vous pouvez choisir l'une des autres configurations d'agent =
Pour ces chaînes étendues, une configuration supplémentaire est nécessaire :
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
ou chargez simplement Sonicpi/Setup/recording.rb
dans votre Sonic PI.
MusicAgent peut être exécuté de 2 manières différentes : via la CLI ou via l'application Web.
L'exécution de l'application Web vous permettra d'interagir avec MusicAgent via une interface Web.
python app.py
L'application visualise les différentes phases du processus de création musicale et vous permet d'interagir avec le MusicAgent. Vous pourrez également suivre la conversation par chat avec les différents agents.
De plus, vous pouvez consulter les différentes versions de Sonic Pi, et les envoyer même à l'IDE Sonic PI.
Des informations plus détaillées sur l'utilisation de l'application Web Music Agent sont disponibles dans le fichier README de l'application Music Agent.
L'exécution de la CLI vous permettra d'interagir avec MusicAgent via la ligne de commande.
python run.py
Une fois lancé, vous pourrez répondre à plusieurs critères :
Des exemples de Sonic PI peuvent être trouvés dans le dossier « SonicPi/Examples ».
MusicAgent générera les éléments suivants dans le dossier des chansons dans un sous-répertoire appelé par nom de piste :
Si vous utilisez la configuration mITyJohn_Full lors de l'exécution de l'agent et que votre périphérique d'enregistrement est correctement configuré (uniquement sous Windows actuellement), un enregistrement sera effectué automatiquement.
Music Agent a été initialement développé par mITyJohn. Le projet est open-source et disponible sur GitHub pour la communauté pour des contributions et des améliorations (juste parce que c'est amusant !).