MusicAgent adalah MAS (Multi Agent System) yang memprogram lagu dalam Sonic Pi. Ia menggunakan AI generatif untuk menghasilkan struktur lagu, aransemen, lirik, ... berdasarkan preferensi pengguna. Manual ini memberikan petunjuk tentang instalasi, konfigurasi, dan pembuatan lagu. Itu belum menghasilkan suara nyanyian (Anda dapat memasukkannya menggunakan sampel, hanya versi instrumental.
Tonton Agen Musik beraksi
Kami mendefinisikan asisten yang berbeda-beda, semuanya memiliki peran berbeda sepanjang fase pembuatan dan penulisan lagu. Ini akan menangani langkah-langkah yang berbeda, mulai dari masukan awal pengguna.
Peran asisten yang berbeda: Peran yang berbeda ditentukan di ArtistConfig.json
Semua peran mengambil bagian di sana dalam fase berbeda dalam pembuatan lagu.
Pembuatan skrip sonic pi yang sebenarnya, pemutaran awal, iterasi melalui agen atau tinjauan manusia diikuti dengan penulisan ulang kode.
Tergantung pada konfigurasi artis, termasuk pembuatan file skrip sonic pi, sampul album, buklet, dan rekaman lagu opsional.
Output akhirnya adalah sebuah buklet dengan sampul album (opsional rekaman tergantung pada konfigurasi yang dipilih), dan tentu saja trek lagu berkode dalam file *.rb.
Agen musik juga bekerja dengan OpenAI & Anthropic API (Anthropic saat ini tidak menyediakan pembuatan gambar, jadi sampul album tidak akan dibuat). Untuk beralih di antara keduanya, pastikan untuk menyetel kedua variabel di file konfigurasi atau variabel lingkungan Anda.
OPENAI_API_KEY: Tetapkan sebagai variabel lingkungan sistem atau di ArtistConfig/mITyJohn/ArtistConfig.json
.
Di MAC:
export OPENAI_API_KEY= ' '
Di Windows (menggunakan PowerShell):
$env :OPENAI_API_KEY= ' '
ANTHROPIC_API_KEY: Tetapkan sebagai variabel lingkungan sistem atau di ArtistConfig/mITyJohn/ArtistConfig.json
.
Di MAC:
export ANTHROPIC_API_KEY= ' '
Di Windows (menggunakan PowerShell):
$env :ANTHROPIC_API_KEY= ' '
# Clone the repository
git clone [repository link]
# Install dependencies
pip install -r requirements.txt
Karena ketergantungan antropik, Anda juga perlu menginstal RUST: https://www.rust-lang.org/tools/install
Tetapkan OPENAI_API_KEY di ArtistConfig/mITyJohn/ArtistConfig.json
jika tidak ditetapkan sebagai variabel sistem. Sesuaikan pengaturan di ArtistConfig.json sesuai kebutuhan.
Secara default, artis mITyJohn akan dijalankan dengan rantai dasar pembuatan musik. Tetapi jika Anda ingin evaluasi sonic pi tambahan atau bahkan memulai rekaman, Anda dapat memilih konfigurasi agen lainnya=
Untuk rantai yang diperluas ini diperlukan pengaturan tambahan:
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
atau cukup muat Sonicpi/Setup/recording.rb
di Sonic PI Anda.
MusicAgent dapat dijalankan dengan 2 cara berbeda: melalui CLI atau melalui aplikasi web.
Menjalankan aplikasi web akan memungkinkan Anda berinteraksi dengan MusicAgent melalui antarmuka web.
python app.py
Aplikasi ini memvisualisasikan berbagai fase proses pembuatan musik dan memungkinkan Anda berinteraksi dengan MusicAgent. Anda juga dapat melakukan percakapan obrolan dengan agen yang berbeda.
Selain itu, Anda dapat memeriksa berbagai versi Sonic Pi, mengirimkannya bahkan ke Sonic PI IDE.
Informasi lebih lengkap tentang cara menggunakan aplikasi web Agen Musik dapat ditemukan di Aplikasi Agen Musik README
Menjalankan CLI akan memungkinkan Anda berinteraksi dengan MusicAgent melalui baris perintah.
python run.py
Setelah diluncurkan, Anda akan dapat memenuhi beberapa kriteria:
Contoh Sonic PI dapat ditemukan di folder 'SonicPi/Examples'.
MusicAgent akan menghasilkan yang berikut ini di folder lagu di subdirektori yang dipanggil dengan nama track:
Jika Anda menggunakan konfigurasi mITyJohn_Full saat menjalankan agen, dan perangkat rekaman Anda dikonfigurasi dengan benar (saat ini hanya di windows), rekaman akan dibuat secara otomatis.
Agen Musik awalnya dikembangkan oleh mITyJohn. Proyek ini bersumber terbuka dan tersedia di GitHub bagi komunitas untuk memberikan kontribusi dan peningkatan (hanya karena menyenangkan!).