Post on 18-Apr-2015
Raciocínio de Agentes MusicaisComposição Algorítmica, Vida artificial e
Interatividade emSistemas Multiagentes Musicais
Raciocínio de Agentes MusicaisComposição Algorítmica, Vida artificial e
Interatividade emSistemas Multiagentes Musicais
Santiago Dávila Benavides
Exame de Qualificação de MestradoCiência da Computação – IME/USP
11 de julho de 2011
Sumário
Santiago Dávila Benavides (sbenavid@ime.usp.br)Raciocínio de Agentes Musicais
1. Introdução▫ Motivação
2. Fundamentação Teórica▫ Sistemas Multiagentes Musicais▫ Agente Musical▫ Raciocínio e Vida Artificial
3. Decisões Composicionais ▫ Metodologia Técnica e Perspectiva
Artística▫ Raciocínio do Agente
4. Decisões Computacionais ▫ Perfil do Usuário▫ Definição dos Aplicativos▫ Formulação de novos Raciocínios
5. Implementações▫ EARScript▫ Integração com ISO▫ Gerador de Material Eletroacústico▫ Espacialização com Avatares▫ Piano Preparado
6. Conclusões▫ Conclusões Parciais▫ Trabalhos Futuros▫ Cronograma
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
IntroduçãoFundamentação TeóricaDecisões Composicionais
Motivação
Introdução
3
Decisões Computacionais ImplementaçõesConclusões
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Introdução
Motivação
•O computador na composição▫Cálculo pré-composicional ▫Produção de material sonoro
•Composição Algorítmica▫Controle de textura, harmonicidade e densidade de
acontecimentos•Novos paradigmas▫Interatividade▫Vida Artificial▫Sistemas Multiagentes Musicais
4
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Introdução
Motivação
•Valor estético questionável
•Perspectiva multidisciplinar▫Whalley 2005
•Surgimento de novas Ferramentas▫Ensemble▫ISO
• Importância da Perspectiva interna▫Raciocínios
5
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Motivação
Motivação
• Relevância dos Sistemas Multiagentes para o problema composicional▫ “Espaços de busca”▫ Divisão de funções▫ Adaptação em tempo real
• Facilitar a criação de sistemas Multiagentes musicais▫ Alternativas acessíveis e direcionadas
• Necessidade de aprofundamento nas novas Ferramentas ▫ Ensemble▫ ISO
• Validação com iniciativas de expressão artística
• Utilização de Áudio• Espacialidade• Integração entre plataformas
6
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Sistemas Multiagentes Musicais
Sistemas Multiagentes MusicaisAgente MusicalRaciocínio e Vida Artificial
•Agentes Computacionais▫Autonomia, Habilidade Social, Reatividade, Pro - atividade
• Características dos Sistemas Multiagentes▫ Interconexão e interoperação de vários sistemas ▫ Interface cooperativa homem-máquina mais natural
• Aplicabilidade no Contexto musical▫Paradigmas diferentes de representação musical e sonora▫ Interatividade e cooperação entre um usuário e o sistema
• Ambiente Virtual▫Representação Física▫Representação Ecológica
7
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Agente Musical
Sistemas Multiagentes MusicaisAgente MusicalRaciocínio e Vida Artificial
8
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
•Um agente computacional especializado em processar informações musicais e sonoras.
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Raciocínio e Vida Artificial
Sistemas Multiagentes MusicaisAgente MusicalRaciocínio e Vida Artificial
9
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
• Raciocínio▫Mecanismo interno do agente▫Utiliza informação dos sensores e da base de
conhecimento▫Processos de análise e síntese.
• Vida artificial▫Simulação de alguns aspectos biológicos▫Capacidade de interação social▫Mapeamento musical e sonoro
Comportamentos extra-musicais Reprodução e sobrevivência Abordagem Cultural
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Metodologia Técnica e Perspectiva ArtísticaRaciocínio do Agente
Decisões Composicionais
10
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Metodologia Técnica e Perspectiva Artística
Metodologia Técnica e Perspectiva ArtísticaRaciocínio do Agente
11
Decisões Computacionais ImplementaçõesConclusões
IntroduçãoFundamentação TeóricaDecisões Composicionais
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Raciocínio do Agente
Metodologia Técnica e Perspectiva ArtísticaRaciocínio do Agente
12
Decisões Computacionais ImplementaçõesConclusões
IntroduçãoFundamentação TeóricaDecisões Composicionais
•Decisões no Raciocínio ▫Comportamentos Musicais e sonoros▫Movimentação ▫Vida Artificial
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Perfil do UsuárioDefinição dos AplicativosFormulação de novos Raciocínios
Decisões Computacionais
13
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Perfil do Usuário
14
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Perfil do UsuárioDefinição dos AplicativosFormulação de novos Raciocínios
•Pouco interesse nas ferramentas existentes por parte de compositores e cientistas (Whalley 2009)
•Tipos de Usuários▫Interessados na computação musical com
conhecimento técnico▫Compositores e artistas de outras disciplinas
•Não podemos supor que os usuários possuem conhecimentos avançados de programação.
• Importância de aproveitar e melhorar as interfaces e atalhos.
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Arquitetura Ensemble
15
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Perfil do UsuárioDefinição dos AplicativosFormulação de novos Raciocínios
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Interface Externas
16
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Perfil do UsuárioDefinição dos AplicativosFormulação de novos Raciocínios
• Integração de bibliotecas externas ▫LibXtract - Extração de características do som▫Aubio - Processamento de sinais
• Open Sound Control(OSC)▫Troca de Mensagens▫Pure Data, CSound, LogicPro, Max/MSP, SuperCollider,
Ardour, ISO•Direcionamento a Interfaces de áudio ▫JavaSound▫PortAudio▫Jack
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
VST - Virtual Studio Technology
17
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Perfil do UsuárioDefinição dos AplicativosFormulação de novos Raciocínios
• Interface desenvolvida pela Steinberg (1996)•Vantagens ▫Reutilização ▫SDK em várias linguagens (C++, Java, Delphi, .NET)
•Tipos de VST▫Plugins▫Instrumentos Virtuais (VSTi)▫Efeitos MIDI▫Sintetizadores
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
XML de Inicialização
18
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Perfil do UsuárioDefinição dos AplicativosFormulação de novos Raciocínios
• Ambiente<ENVIRONMENT_AGENT_CLASS NAME="ENVIRONMENT“ CLASS="ensemble.EnvironmentAgent"><WORLD CLASS="ensemble.world.World">
<ARG NAME="dimensions" VALUE="3" /><ARG NAME="structure" VALUE="continuous" /><ARG NAME="form" VALUE="cube:100:loop" />
<LAW CLASS="ensemble.movement.MovementLaw"><ARG NAME="friction_coefficient" VALUE="0.0" /><ARG NAME="gravity" VALUE="10" />
</LAW> </WORLD>
• Servidores de Eventos<EVENT_SERVER CLASS="ensemble.audio.AudioEventServer" COMM="ensemble.comm.direct.CommDirect" PERIOD="40 10 30 100">
<ARG NAME="MASTER_GAIN" VALUE="10.0" /><ARG NAME="SAMPLE_RATE" VALUE="44100" /><ARG NAME="SPEED_SOUND" VALUE="343.3" /><ARG NAME="INTERPOLATION_MODE" VALUE="POLYNOMIAL" /><ARG NAME="NUMBER_POINTS" VALUE="4" />
</EVENT_SERVER><EVENT_SERVER CLASS="ensemble.movement.MovementEventServer" COMM="ensemble.comm.direct.CommDirect" PERIOD="50 0" />
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
XML de Inicialização
19
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Perfil do UsuárioDefinição dos AplicativosFormulação de novos Raciocínios
• Definição do tipo de Agente<MUSICAL_AGENT_CLASS NAME="MUSICIAN" CLASS="ensemble.MusicalAgent"><COMPONENTS>
<REASONING NAME="MicInputReasoning" CLASS="ensemble.audio.jack.JACKInputReasoning" />
<ACTUATOR NAME="Mouth" CLASS="ensemble.Actuator" EVENT_TYPE="AUDIO" COMM="ensemble.comm.direct.CommDirect" />
<ACTUATOR NAME="Legs" CLASS="ensemble.Actuator" EVENT_TYPE="MOVEMENT" COMM="ensemble.comm.direct.CommDirect" />
<SENSOR NAME="Eyes" CLASS="ensemble.Sensor" EVENT_TYPE="MOVEMENT" COMM="ensemble.comm.direct.CommDirect" /> </COMPONENTS></MUSICAL_AGENT_CLASS>
• Instâncias de Agentes
<MUSICAL_AGENT NAME="Voice" CLASS="MUSICIAN"><ARG NAME="POSITION" VALUE="(1;3;0)" /><ARG_COMP COMP="MicInputReasoning" NAME="mapping" VALUE="Mouth-system:capture_1" /></MUSICAL_AGENT>
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Formulação de Novos Raciocínios
20
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Perfil do UsuárioDefinição dos AplicativosFormulação de novos Raciocínios
• Uso de Java▫ Comunicação via comandos▫ Coordenação de raciocínios (Memória Sonora, Estados)
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
EARScriptIntegração com ISOGerador de Material EletroacústicoEspacialização com AvataresPiano Preparado
Implementações
21
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
EARScript
22
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
•Motivação▫Reduzir as tarefas de programação do usuário▫Tomar o XML de inicialização como referência
•STEP (Scripting Technology for Embodied Persona)▫Conveniência▫Semântica composta▫Redefinição▫Parametrização▫Interação
EARScriptIntegração com ISOGerador de Material EletroacústicoEspacialização com AvataresPiano Preparado
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
EARScript - Estrutura da Linguagem
23
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
•Variáveis do Mundo virtual•Definições de Servidores de eventos•Variáveis do Servidor de Eventos•Definições de parâmetros
EARScriptIntegração com ISOGerador de Material EletroacústicoEspacialização com AvataresPiano Preparado
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
EARScript
24
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
•Definições de Ações Básicas•Definições de ações compostas•Scripts
EARScriptIntegração com ISOGerador de Material EletroacústicoEspacialização com AvataresPiano Preparado
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Integração com ISO (Interactive Swarm Orchestra)
25
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
• Inspirado no fenômeno biológico dos enxames
•API modular▫Ênfase na movimentação▫Representação Visual
• Integração via OSC•Envio e recepção de posições▫Simulações no Ensemble▫Ambientes representados no
ISO
EARScriptIntegração com ISOGerador de Material EletroacústicoEspacialização com AvataresPiano Preparado
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Gerador de Material Eletroacústico
26
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
•Objetivos▫Explorar modos de criação sonora, texturas sonoras▫Composição algorítmica e vida artificial▫Aplicar transformações e efeitos
•Elementos do agente gerador▫Tipo de processamento sonoro▫Envoltória▫Tipo de movimentação▫Perfil de agente▫Ações
EARScriptIntegração com ISOGerador de Material EletroacústicoEspacialização com AvataresPiano Preparado
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Espacialização de uma agrupação musical
27
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
• Interesse performático•Entradas de áudio
externas, com processamentos internos
•Controle de parâmetros em tempo real
•Espacialização
EARScriptIntegração com ISO
Gerador de Material EletroacústicoEspacialização com AvataresPiano Preparado
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Piano Preparado
28
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
• Projeto Mobile, com a compositora Michelle Agnes
• Piano como um multiplicador de timbres e ruídos (Cage)
• Características ▫ Experimentação sem demoradas
preparações▫ Vida Artificial ▫ Agentes abafadores e outros
• Cauda virtual: ▫ Divisão do mundo virtual por
frequências• Pitch tracking
▫ Aubio ▫ VST
EARScriptIntegração com ISO
Gerador de Material EletroacústicoEspacialização com AvataresPiano Preparado
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Conclusões ParciaisTrabalhos FuturosCronograma
Conclusões
29
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Conclusões Parciais
30
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
• Necessidade de criar vínculos com artistas e usuários (Manuais, Expansões, GUI, Colaborações)
• Manter contatos iniciados com músicos ▫ Piano preparado▫ Improvisação
• Importância do suporte a bibliotecas de áudio ▫ Portabilidade ▫ Compatibilidade
• Limitações da plataforma Java e do Arcabouço
• Relevância e desafios do EARScript
Conclusões ParciaisTrabalhos FuturosCronograma
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Trabalhos Futuros
31
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
• Desenvolvimento do EARScript no Ensemble
• Bibliotecas de Raciocínios em Java
• Processamentos em VST, mapeados e acessíveis
• Documentação mais abrangente e focada
• Experiências com Games, Instalações e outros formatos
• Estudo do Interactive Swarm Orchestra
Conclusões ParciaisTrabalhos FuturosCronograma
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Cronograma
32
IntroduçãoFundamentação TeóricaDecisões Composicionais
Decisões Computacionais ImplementaçõesConclusões
Conclusões ParciaisTrabalhos FuturosCronograma
Santiago Dávila Benavides (sbenavid@ime.usp.br)Ensemble: Um arcabouço para sistemas multiagente musicaisRaciocínio de Agentes Musicais
Obrigado
33