MusicAgent คือ MAS (Multi Agent System) ที่ตั้งโปรแกรมเพลงใน Sonic Pi ใช้ generative AI เพื่อสร้างโครงสร้างเพลง การเรียบเรียง เนื้อเพลง ... ตามความต้องการของผู้ใช้ คู่มือนี้ให้คำแนะนำเกี่ยวกับการติดตั้ง การกำหนดค่า และการสร้างเพลง ยังไม่มีเสียงร้อง (คุณสามารถรวมไว้โดยใช้ตัวอย่างได้ เฉพาะเวอร์ชันเครื่องดนตรีเท่านั้น)
ชมการทำงานของ Music Agent
เรากำหนดผู้ช่วยที่แตกต่างกัน โดยทุกคนมีบทบาทที่แตกต่างกันตลอดขั้นตอนการแต่งและเขียนเพลง จะจัดการขั้นตอนต่างๆ โดยเริ่มจากการป้อนข้อมูลเริ่มต้นของผู้ใช้
บทบาทผู้ช่วยที่แตกต่างกัน: บทบาทที่แตกต่างกันถูกกำหนดไว้ใน ArtistConfig.json
ทุกบทบาทมีส่วนร่วมในขั้นตอนต่างๆ ของการแต่งเพลง
การสร้างสคริปต์ sonic pi จริง การเล่นครั้งแรก การวนซ้ำผ่านเอเจนต์หรือการตรวจสอบโดยมนุษย์ ตามด้วยการเขียนโค้ดใหม่
ขึ้นอยู่กับการกำหนดค่าของศิลปิน รวมถึงประเภทไฟล์สคริปต์ sonic pi ปกอัลบั้ม หนังสือเล่มเล็ก และการบันทึกเพลงเสริม
ผลลัพธ์สุดท้ายคือหนังสือเล่มเล็กที่มีปกอัลบั้ม (เป็นทางเลือกสำหรับการบันทึก ขึ้นอยู่กับการกำหนดค่าที่เลือก) และแน่นอนว่าเป็นแทร็กเพลงที่เข้ารหัสในไฟล์ *.rb
ตัวแทนเพลงทำงานได้ดีกับ OpenAI & Anthropic API (ปัจจุบัน Anthropic ไม่มีการสร้างภาพ ดังนั้นจึงไม่มีการสร้างปกอัลบั้ม) หากต้องการสลับระหว่างทั้งสอง ตรวจสอบให้แน่ใจว่าได้ตั้งค่าตัวแปรทั้งสองในไฟล์กำหนดค่าหรือตัวแปรสภาพแวดล้อม
OPENAI_API_KEY: ตั้งค่าเป็นตัวแปรสภาพแวดล้อมของระบบหรือใน ArtistConfig/mITyJohn/ArtistConfig.json
บน MAC:
export OPENAI_API_KEY= ' '
บน Windows (โดยใช้ PowerShell):
$env :OPENAI_API_KEY= ' '
ANTHROPIC_API_KEY: ตั้งค่าเป็นตัวแปรสภาพแวดล้อมของระบบหรือใน ArtistConfig/mITyJohn/ArtistConfig.json
บน MAC:
export ANTHROPIC_API_KEY= ' '
บน Windows (โดยใช้ PowerShell):
$env :ANTHROPIC_API_KEY= ' '
# Clone the repository
git clone [repository link]
# Install dependencies
pip install -r requirements.txt
เนื่องจากการพึ่งพามานุษยวิทยา คุณจะต้องติดตั้ง RUST ด้วย: https://www.rust-lang.org/tools/install
ตั้งค่า OPENAI_API_KEY ใน ArtistConfig/mITyJohn/ArtistConfig.json
หากไม่ได้ตั้งค่าเป็นตัวแปรระบบ ปรับการตั้งค่าใน ArtistConfig.json ตามต้องการ
ตามค่าเริ่มต้น ศิลปิน mITyJohn จะทำงานโดยใช้สายโซ่พื้นฐานของการสร้างสรรค์ดนตรี แต่ถ้าคุณต้องการการประเมิน sonic pi เพิ่มเติม หรือแม้แต่เริ่มการบันทึก คุณสามารถเลือกจากการกำหนดค่าเอเจนต์อื่นๆ= ได้
สำหรับสายโซ่ขยายเหล่านี้ จำเป็นต้องมีการตั้งค่าเพิ่มเติม:
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
หรือเพียงแค่โหลด Sonicpi/Setup/recording.rb
ใน Sonic PI ของคุณ
MusicAgent สามารถเรียกใช้ได้ 2 วิธี: ผ่าน CLI หรือผ่านเว็บแอปพลิเคชัน
การเรียกใช้เว็บแอปพลิเคชันจะช่วยให้คุณสามารถโต้ตอบกับ MusicAgent ผ่านทางเว็บอินเตอร์เฟสได้
python app.py
แอปนี้จะแสดงภาพขั้นตอนต่างๆ ของกระบวนการสร้างเพลง และช่วยให้คุณสามารถโต้ตอบกับ MusicAgent ได้ คุณยังสามารถสนทนาผ่านแชทกับตัวแทนต่างๆ ได้อีกด้วย
นอกจากนี้ คุณสามารถตรวจสอบเวอร์ชันต่างๆ ของ Sonic Pi ได้ โดยส่งไปยัง Sonic PI IDE ได้ด้วย
ข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้แอปพลิเคชันเว็บ Music Agent สามารถพบได้ในแอป Music Agent README
การรัน CLI จะทำให้คุณสามารถโต้ตอบกับ MusicAgent ผ่านทางบรรทัดคำสั่งได้
python run.py
เมื่อเปิดตัวแล้ว คุณจะสามารถผ่านเกณฑ์ต่างๆ ได้:
ตัวอย่าง Sonic PI สามารถพบได้ในโฟลเดอร์ 'SonicPi/Examples'
MusicAgent จะสร้างสิ่งต่อไปนี้ในโฟลเดอร์เพลงในไดเร็กทอรีย่อยที่เรียกตามชื่อแทร็ก:
หากคุณใช้การกำหนดค่า mITyJohn_Full เมื่อเรียกใช้ตัวแทน และอุปกรณ์บันทึกของคุณได้รับการกำหนดค่าอย่างถูกต้อง (เฉพาะบน Windows ในปัจจุบัน) การบันทึกจะถูกสร้างขึ้นโดยอัตโนมัติ
Music Agent ได้รับการพัฒนาโดย mITyJohn โปรเจ็กต์นี้เป็นโอเพ่นซอร์สและพร้อมใช้งานบน GitHub สำหรับชุมชนสำหรับการสนับสนุนและการปรับปรุง (เพียงเพราะมันสนุก!)