MusicAgent é um MAS (Multi Agent System) que programa músicas no Sonic Pi. Ele usa IA generativa para gerar estruturas musicais, arranjos, letras, ... com base nas preferências do usuário. Este manual fornece instruções sobre instalação, configuração e geração de músicas. Ainda não gera vozes cantadas (você pode incluí-las usando samples, apenas versões instrumentais.
Veja o Agente Musical em ação
Definimos diferentes assistentes, todos com funções diferentes ao longo das fases de composição e escrita de uma música. Ele cuidará das diferentes etapas, começando pela entrada inicial do usuário.
As diferentes funções de assistente: Diferentes funções são definidas em ArtistConfig.json
Todos os papéis participam de diferentes fases da composição de uma música.
A criação real do script sonic pi, reprodução inicial, iteração sobre o agente ou revisão humana seguida de reescrita do código.
Dependendo da configuração do artista, inclui geração de arquivo de script Sonic Pi, capa do álbum, livreto e gravação opcional de música.
A saída final é um livreto com a capa do álbum (opcionalmente uma gravação dependendo da configuração escolhida) e, claro, a faixa da música codificada em um arquivo *.rb.
Os agentes musicais também funcionam com a API OpenAI e Anthropic (a Anthropic atualmente não fornece geração de imagens, portanto, nenhuma capa de álbum será gerada). Para alternar entre ambos, certifique-se de definir ambas as variáveis em seu arquivo de configuração ou variáveis de ambiente.
OPENAI_API_KEY: definido como uma variável de ambiente do sistema ou em ArtistConfig/mITyJohn/ArtistConfig.json
.
No MAC:
export OPENAI_API_KEY= ' '
No Windows (usando PowerShell):
$env :OPENAI_API_KEY= ' '
ANTHROPIC_API_KEY: definido como uma variável de ambiente do sistema ou em ArtistConfig/mITyJohn/ArtistConfig.json
.
No MAC:
export ANTHROPIC_API_KEY= ' '
No Windows (usando PowerShell):
$env :ANTHROPIC_API_KEY= ' '
# Clone the repository
git clone [repository link]
# Install dependencies
pip install -r requirements.txt
Devido às dependências antrópicas, você também precisará instalar o RUST: https://www.rust-lang.org/tools/install
Defina OPENAI_API_KEY em ArtistConfig/mITyJohn/ArtistConfig.json
se não estiver definido como uma variável do sistema. Ajuste as configurações em ArtistConfig.json conforme necessário.
Por padrão, o artista mITyJohn será executado com a cadeia básica de criação musical. Mas se você quiser uma avaliação adicional do Sonic Pi ou até mesmo iniciar uma gravação, você pode escolher uma das outras configurações do agente =
Para essas cadeias estendidas é necessária uma configuração adicional:
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
ou apenas carregue Sonicpi/Setup/recording.rb
em seu Sonic PI.
O MusicAgent pode ser executado de 2 maneiras diferentes: via CLI ou através do aplicativo web.
A execução do aplicativo web permitirá que você interaja com o MusicAgent por meio de uma interface web.
python app.py
O aplicativo visualiza as diferentes fases do processo de criação musical e permite interagir com o MusicAgent. Você também poderá conversar por chat com os diferentes agentes.
Além disso, você pode conferir as diferentes versões do Sonic Pi, enviando-as até mesmo para o IDE do Sonic PI.
Informações mais elaboradas sobre como usar o aplicativo da web Music Agent podem ser encontradas no README do aplicativo Music Agent
A execução da CLI permitirá que você interaja com o MusicAgent por meio da linha de comando.
python run.py
Depois de lançado, você poderá passar por vários critérios:
Exemplos do Sonic PI podem ser encontrados na pasta 'SonicPi/Examples'.
O MusicAgent irá gerar o seguinte na pasta songs em um subdiretório chamado por trackname:
Se você estiver usando a configuração mITyJohn_Full ao executar o agente e seu dispositivo de gravação estiver configurado corretamente (atualmente apenas no Windows), uma gravação será feita automaticamente.
O Music Agent foi originalmente desenvolvido por mITyJohn. O projeto é de código aberto e está disponível no GitHub para a comunidade contribuir e melhorar (só porque é divertido!).