MusicAgent 是一個 MAS(多代理系統),用於在 Sonic Pi 中編程歌曲。它使用生成式人工智慧根據使用者偏好生成歌曲結構、編曲、歌詞…。本手冊提供有關安裝、配置和歌曲生成的說明。它尚未產生歌聲(您可以使用樣本包含它們,僅使用樂器版本。
觀看音樂經紀人的實際操作
我們定義了不同的助手,他們在歌曲的創作和創作階段扮演不同的角色。將從使用者的初始輸入開始處理不同的步驟。
不同的助理角色: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
如果未設定為系統變量,請在ArtistConfig/mITyJohn/ArtistConfig.json
中設定OPENAI_API_KEY 。根據需要調整 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
或直接在您的 Sonic PI 中載入Sonicpi/Setup/recording.rb
。
MusicAgent 可以透過 2 種不同的方式運作:透過 CLI 或透過 Web 應用程式。
運行 Web 應用程式將允許您透過 Web 介面與 MusicAgent 互動。
python app.py
該應用程式可視化音樂創作過程的不同階段,並允許您與 MusicAgent 互動。您也可以與不同的代理商進行聊天對話。
此外,您還可以查看不同的 Sonic Pi 版本,甚至將它們傳送到 Sonic PI IDE。
有關如何使用 Music Agent Web 應用程式的更多詳細信息,請參閱 Music Agent 應用程式自述文件
運行 CLI 將允許您透過命令列與 MusicAgent 互動。
python run.py
啟動後,您將能夠通過多個標準:
Sonic PI 範例可以在「SonicPi/Examples」資料夾中找到。
MusicAgent 將在歌曲資料夾中由曲目名稱呼叫的子目錄中產生以下內容:
如果您在執行代理程式時使用 mITyJohn_Full 配置,且您的錄音裝置已正確配置(目前僅在 Windows 上),則會自動進行錄音。
Music Agent 最初由 mITyJohn 開發。該專案是開源的,可在 GitHub 上供社群貢獻和改進(只是因為它很有趣!)。