MusicAgent — это MAS (мультиагентная система), которая программирует песни в Sonic Pi. Он использует генеративный искусственный интеллект для создания структур песен, аранжировок, текстов… на основе предпочтений пользователя. В этом руководстве представлены инструкции по установке, настройке и созданию песен. Он еще не генерирует певческие голоса (вы можете включить их с помощью семплов, только инструментальные версии.
Посмотрите Music Agent в действии
Мы определили разных помощников, каждый из которых выполнял разные роли на этапах сочинения и написания песни. Он будет обрабатывать различные шаги, начиная с первоначального ввода пользователя.
Различные роли помощников: разные роли определены в ArtistConfig.json.
Все роли принимают участие на разных этапах написания песни.
Фактическое создание сценария sonic pi, первоначальное воспроизведение, повторение агентской или человеческой проверки с последующей перепиской кода.
В зависимости от конфигурации исполнителя включает в себя создание файла сценария sonic pi, обложку альбома, буклет и дополнительную запись песни.
В конечном итоге получается буклет с обложкой альбома (опционально, записью, в зависимости от выбранной конфигурации) и, конечно же, закодированной песней в файле *.rb.
Музыкальные агенты также работают с OpenAI и Anthropic API (в настоящее время Anthropic не обеспечивает генерацию изображений, поэтому обложки альбомов создаваться не будут). Чтобы переключиться между ними, обязательно установите обе переменные в файле конфигурации или переменных среды.
OPENAI_API_KEY: установите как переменную системной среды или в ArtistConfig/mITyJohn/ArtistConfig.json
.
На МАК:
export OPENAI_API_KEY= ' '
В Windows (с использованием PowerShell):
$env :OPENAI_API_KEY= ' '
ANTHROPIC_API_KEY: установите как системную переменную среды или в ArtistConfig/mITyJohn/ArtistConfig.json
.
На МАК:
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 можно запустить двумя разными способами: через CLI или через веб-приложение.
Запуск веб-приложения позволит вам взаимодействовать с MusicAgent через веб-интерфейс.
python app.py
Приложение визуализирует различные этапы процесса создания музыки и позволяет взаимодействовать с MusicAgent. Вы также сможете общаться в чате с разными агентами.
Кроме того, вы можете проверить различные версии Sonic Pi, отправив их даже в Sonic PI IDE.
Более подробную информацию о том, как использовать веб-приложение Music Agent, можно найти в README приложения Music Agent.
Запуск CLI позволит вам взаимодействовать с MusicAgent через командную строку.
python run.py
После запуска вы сможете пройти несколько критериев:
Примеры Sonic PI можно найти в папке «SonicPi/Examples».
MusicAgent сгенерирует следующее в папке песен в подкаталоге с именем трека:
Если вы используете конфигурацию mITyJohn_Full при запуске агента и ваше записывающее устройство правильно настроено (в настоящее время только в Windows), запись будет производиться автоматически.
Music Agent изначально был разработан mITyJohn. Проект имеет открытый исходный код и доступен на GitHub для сообщества, которое может внести свой вклад и улучшить (просто потому, что это весело!).