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 上供社区贡献和改进(只是因为它很有趣!)。