MusicAgent ist ein MAS (Multi Agent System), das Songs in Sonic Pi programmiert. Es nutzt generative KI, um Songstrukturen, Arrangements, Texte usw. basierend auf Benutzerpräferenzen zu generieren. Dieses Handbuch enthält Anweisungen zur Installation, Konfiguration und Songgenerierung. Es werden noch keine Singstimmen generiert (Sie können diese nicht über Samples einbinden), sondern nur Instrumentalversionen.
Sehen Sie Music Agent in Aktion
Wir haben verschiedene Assistenten definiert, die alle in den Phasen des Komponierens und Schreibens eines Songs eine unterschiedliche Rolle spielen. Der übernimmt die verschiedenen Schritte, beginnend mit der ersten Eingabe des Benutzers.
Die verschiedenen Assistentenrollen: In ArtistConfig.json sind verschiedene Rollen definiert
Alle Rollen nehmen dort an verschiedenen Phasen der Komposition eines Liedes teil.
Die eigentliche Erstellung des Sonic-Pi-Skripts, die anfängliche Wiedergabe, die Iteration über einen Agenten oder eine menschliche Überprüfung, gefolgt von der Neufassung des Codes.
Beinhaltet je nach Künstlerkonfiguration die Generierung von Sonic Pi-Skriptdateien, Albumcover, Booklet und optionale Songaufnahme.
Die endgültige Ausgabe ist ein Booklet mit einem Albumcover (optional einer Aufnahme, abhängig von der gewählten Konfiguration) und natürlich dem codierten Songtitel in einer *.rb-Datei.
Musikagenten funktionieren auch mit der OpenAI- und Anthropic-API (Anthropic bietet derzeit keine Bildgenerierung, daher wird kein Albumcover generiert). Um zwischen beiden zu wechseln, stellen Sie sicher, dass Sie beide Variablen in Ihrer Konfigurationsdatei oder Umgebungsvariablen festlegen.
OPENAI_API_KEY: Als Systemumgebungsvariable oder in ArtistConfig/mITyJohn/ArtistConfig.json
festgelegt.
Auf MAC:
export OPENAI_API_KEY= ' '
Unter Windows (mit PowerShell):
$env :OPENAI_API_KEY= ' '
ANTHROPIC_API_KEY: Als Systemumgebungsvariable oder in ArtistConfig/mITyJohn/ArtistConfig.json
festgelegt.
Auf MAC:
export ANTHROPIC_API_KEY= ' '
Unter Windows (mit PowerShell):
$env :ANTHROPIC_API_KEY= ' '
# Clone the repository
git clone [repository link]
# Install dependencies
pip install -r requirements.txt
Aufgrund anthropischer Abhängigkeiten müssen Sie auch RUST installieren: https://www.rust-lang.org/tools/install
Legen Sie OPENAI_API_KEY in ArtistConfig/mITyJohn/ArtistConfig.json
fest, wenn es nicht als Systemvariable festgelegt ist. Passen Sie die Einstellungen in ArtistConfig.json nach Bedarf an.
Standardmäßig wird der Künstler mITyJohn mit der grundlegenden Kette der Musikerstellung ausgeführt. Wenn Sie jedoch eine zusätzliche Sonic-Pi-Auswertung wünschen oder sogar eine Aufnahme starten möchten, können Sie eine der anderen Agentenkonfigurationen wählen
Für diese erweiterten Ketten ist eine zusätzliche Einrichtung erforderlich:
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
oder laden Sie einfach Sonicpi/Setup/recording.rb
in Ihren Sonic PI.
MusicAgent kann auf zwei verschiedene Arten ausgeführt werden: über die CLI oder über die Webanwendung.
Wenn Sie die Webanwendung ausführen, können Sie über eine Webschnittstelle mit dem MusicAgent interagieren.
python app.py
Die App visualisiert die verschiedenen Phasen des Musikerstellungsprozesses und ermöglicht die Interaktion mit dem MusicAgent. Sie können auch an der Chat-Konversation mit den verschiedenen Agenten teilnehmen.
Darüber hinaus können Sie die verschiedenen Sonic Pi-Versionen ausprobieren und sie sogar an die Sonic PI-IDE senden.
Ausführlichere Informationen zur Verwendung der Music Agent-Webanwendung finden Sie in der README-Datei zur Music Agent-App
Wenn Sie die CLI ausführen, können Sie über die Befehlszeile mit dem MusicAgent interagieren.
python run.py
Nach dem Start können Sie mehrere Kriterien erfüllen:
Sonic PI-Beispiele finden Sie im Ordner „SonicPi/Examples“.
MusicAgent generiert Folgendes im Ordner „Songs“ in einem Unterverzeichnis namens „Trackname“:
Wenn Sie beim Ausführen des Agenten die mITyJohn_Full-Konfiguration verwenden und Ihr Aufzeichnungsgerät korrekt konfiguriert ist (derzeit nur unter Windows), wird automatisch eine Aufzeichnung erstellt.
Music Agent wurde ursprünglich von mITyJohn entwickelt. Das Projekt ist Open Source und steht der Community auf GitHub für Beiträge und Verbesserungen zur Verfügung (einfach weil es Spaß macht!).