Resumo
A pesquisa aqui exposta busca demonstrar a aplicabilidade de movimentos de murmurações de estorninhos como modelo para a espacialização sonora. A partir de uma transdução a ser adotada em diversos níveis, este estudo propõe a aplicação e desenvolvimento de um modelo no qual se operem controle dinâmico e perspectiva espacial a partir da abstração de murmurações e sistemas dinâmicos. Para tanto é utilizado o software Max/Msp/Jitter para implementar no meio computacional o modelo de Boids para a representação do comportamento de murmurações, que é utilizado para a espacialização sonora.
Palavras-chave:
Espacialização musical; Murmurações; Boids; Max MSP Jitter; Ambisonia
Abstract
The research presented here aims to demonstrate the applicability of starling murmuration movements as a model for sound spatialization. Through a transduction process to be adopted at various levels, this study proposes the application and development of a model that enables dynamic control and spatial perspective based on the abstraction of murmurations and dynamic systems. For this purpose, the Max/Msp/Jitter software is used to implement the Boids model computationally, representing the behavior of murmurations, which is then applied to sound spatialization.
Keywords:
Music spatialization; Murmurations; Boids; Max MSP Jitter; Ambisonics
Murmuração é o termo utilizado para descrever o comportamento específico de grupos de estorninhos em voo. O comportamento de tais pássaros em voo constitui formas complexas, com padrões dinâmicos emergentes das interações entre elementos geradores de estruturas móveis e coordenadas, que mudam rapidamente de forma e direção. Tais comportamentos são aqui utilizados como referência para um modelo de espacialização sonora, que será explorado a partir da perspectiva técnica de sua implementação, assim como através de seu escopo teórico. A murmuração é um exemplo de sistema dinâmico complexo1, onde a formação de padrões fluidos e altamente organizados é gerada pela interação contínua entre as aves, permitindo uma resposta rápida e eficiente a predadores e obstáculos. Este fenômeno tem sido utilizado como referência em estudos voltados sobre auto-organização e a dinâmica de sistemas coletivos em diversas áreas da ciência, incluindo biologia, física e ciências da computação.
Uma pesquisa interdisciplinar que se volta sobre o fenômeno de murmurações é realizada pelo físico italiano Giorgio Parisi, que dedicou sua pesquisa sobre as relações entre física e biologia e sistemas complexos2. Sua pesquisa se encontra publicada no livro In a flight of starlings, the wonders of complex systems, publicado em 2021, no qual o autor expõe como movimentos aparentemente caóticos, mas extremamente sincronizados constituem o fenômeno de murmuração.
Parisi nota a presença de um comportamento coletivo e coordenado na movimentação coletiva dos estorninhos, mas sem a presença de um membro organizador. O autor se volta sobre sua pesquisa com o intuito de descobrir como uma ordem sofisticada se faz presente em um evento aparentemente caótico. Parisi baseia sua premissa sobre o fato de que elementos individuais de um sistema que seguem regras simples de comportamento poderem dar origem a padrões altamente complexos, uma pesquisa que se volta sobre princípios da física e da biologia. Através de sua pesquisa o autor localiza as seguintes regras como responsáveis por coordenar o voo dos estorninhos: Manter uma certa distância dos outros pássaros, ajustar a velocidades de acordo com o movimento do grupo e alinhar sua direção de acordo com os pássaros mais próximos. A partir deste simples pacote de regras, a dinâmica complexa de movimento das murmurações se forma. Esse fenômeno está relacionado ao conceito de comportamento emergente, na qual especificações de padrões e regularidades surgem a partir das interações das unidades que as compõe3.
O pesquisador italiano demonstra, através de estudos matemáticos em física estatística e simulações, que tais movimentos complexos podem ser implementados. O entendimento de que distintos movimentos complexos, encontrados na natureza, surgirem a partir de inúmeras interações coordenadas a partir de um conjunto de regras simples, permite a transposição e aplicação de tais modelos para outros meios, como o tecnológico, por exemplo. O que permitiria reproduzir computacionalmente sua complexidade e coerência que emergem a partir de tais interações. As interações locais dos pássaros dentro de seu coletivo são operadas por equações diferenciais e algoritmos para simular as contínuas variações e ajustes realizados entre os estorninhos. A movimentação estocástica de cada pássaro contribui para as constantes transformações da murmuração, o que ilustra a sujeição a altos índices de variabilidade, condição latente de sistemas indeterminísticos e caóticos. As implementações de Parisi foram efetivas em reproduzir o movimento de murmurações.
Neste contexto, tal fenômeno oferece uma analogia poderosa para compreender a auto-organização em sistemas complexos. A auto-organização é o processo pelo qual um sistema, composto por várias partes interagindo localmente, forma padrões ou estruturas organizadas sem controle externo. Essas interações simples geram um comportamento global complexo e ordenado de forma espontânea, permitindo que o sistema se adapte e mantenha equilíbrio dinâmico4.
Assim como na murmuração, onde padrões emergentes são gerados a partir de interações locais simples sem liderança centralizada, a abordagem ecológica contemporânea pode se beneficiar de uma compreensão mais profunda de como sistemas naturais, através de comportamentos emergentes, respondem a pressões externas. A análise da murmuração pode fornecer perspectivas valiosas sobre como padrões de auto-organização e resiliência podem ser aplicados na busca por soluções para a crise ecológica, enfatizando a importância da cooperação e da interdependência em escala global.
No ambiente da criação musical, a integração de noções relacionadas à problemática ecológica aliada ao uso de representações matemáticas de fenômenos em ferramentas como Max/MSP/Jitter pode ser explorada a partir de determinada modelagem sonora ao incorporar comportamentos de bandos para gerar estruturas musicais; a exploração de estruturas emergentes proporciona o desenvolvimento orgânico de padrões e estruturas musicais por meio de interações entre grupos de animais. A simulação sonora de ecossistemas pode ser realizada usando representações matemáticas, como a do modelo denominado por boids, como uma tradução matemática de modelos naturais que simulem atividades em ecossistemas, capturando seus comportamentos dinâmicos e complexos (Reynolds, 1987).
1. Natureza e a problemática ecológica
A problemática ecológica contemporânea está profundamente enraizada nas dinâmicas do capitalismo global e nas ideologias de consumo que promovem a exploração ilimitada dos recursos naturais. A ideia de "natureza" como um recurso passivo à disposição da humanidade vem sendo cada vez mais contestada por abordagens que reconhecem a agência dos ecossistemas e a interdependência entre todas as formas de vida. Tradicionalmente, a natureza é vista como uma entidade separada da humanidade, um recurso externo a ser explorado ou um cenário passivo sobre o qual a vida humana se desenvolve. Tal visão a posiciona como um objeto de controle e dominação, fomentando uma relação de exploração que tem contribuído para as crises ambientais atuais. No entanto, essa concepção convencional de natureza como algo subordinado à humanidade tem sido amplamente questionada por teóricos ecológicos contemporâneos. Filósofos como Slavoj Žižek argumentam que a crise ecológica não é apenas um problema de gestão ambiental, mas sim um sintoma das falhas estruturais do sistema capitalista, que opera sob a lógica da acumulação infinita e do crescimento incessante (Žižek, 2010). Essa perspectiva revela a necessidade de uma reavaliação das nossas relações com a natureza. Ao reconhecê-la como um processo contínuo de interação, torna-se possível desenvolver abordagens mais sustentáveis em relação ao meio ambiente, baseadas na interdependência e na responsabilidade compartilhada.
A ideia de que os ecossistemas e todas as formas de vida possuem agência própria - ou seja, que estão intrinsecamente conectados e desempenham papéis ativos - desafia profundamente a visão tradicional de exploração e dominação, predominante nas sociedades industrializadas. Essa crítica ressalta a necessidade de uma transição para sistemas mais justos e equilibrados, que não se baseiam na acumulação infinita e na exploração desenfreada de recursos, mas promovam uma relação ética e sustentável com o planeta.
A emergência da ecologia como uma nova matriz filosófica nos convida a repensar a relação entre o humano e a natureza. Essa abordagem, que pode ser interpretada como um microcosmo das dinâmicas que regem os ecossistemas, revela a interconexão e a complexidade inerente à vida. A música, a partir desta perspectiva, torna-se um espaço de experimentação para a construção de um novo paradigma, onde o humano não se coloca como mestre da natureza, mas como um participante ativo em uma rede complexa de relações.
A justificativa para adotar uma abordagem ecológica na modelização de murmurações no ambiente da composição musical contemporânea se baseia na interconexão e complexidade inerente ao fenômeno das murmurações e à ecologia. Tal processo pode ser interpretado ecologicamente como um microcosmo das dinâmicas que regem os ecossistemas, onde a interdependência entre os elementos resulta em um equilíbrio dinâmico e auto-organizado.
Ao aplicar essa abordagem à composição musical, procurou-se traduzir essas dinâmicas naturais em estruturas sonoras, criando um âmbito que não apenas simula o comportamento das murmurações, mas que também reflete os princípios ecológicos subjacentes, como a emergência, a adaptação e a interdependência. Essa perspectiva permite explorar novas formas de organização espacial de elementos sonoros, em que os fenômenos musicais emergem de interações complexas entre elementos sonoros, análoga à forma como os sistemas ecológicos operam na natureza. Dessa maneira, a modelização das murmurações se torna não apenas uma ferramenta estética, mas também um meio de investigar e representar musicalmente as interações e lógicas internas que caracterizam os sistemas ecológicos.
2. Murmurações e o modelo de Boids
O fenômeno de murmuração refere-se ao comportamento coletivo de grandes grupos de pássaros, particularmente observado em bandos de estorninhos, que aos milhares se movem em padrões fluidos e altamente coordenados sem que ocorra qualquer colisão entre as aves, e sem uma liderança central. Esse evento ocupa o céu com formas complexas e em constante transformação. Essas aglomerações de estorninhos podem ocorrer às vésperas de seus movimentos migratórios, com registros ao sul da Dinamarca que atingem algo acima a um milhão de pássaros. Ao pôr do sol, antes de se recolherem, performam no céu suas habilidades de voar em conjunto, transformando a paisagem com um espetáculo visual único, por vezes intensificado a partir da colaboração de aves de rapina que atacam a murmuração em busca de alimento. A figura 1 ilustra o fenômeno de murmuração, caracterizado pelo movimento coordenado e sincronizado de grandes grupos de estorninhos em voo.
Este comportamento é modelado matematicamente pelo modelo Boids (versão abreviada de “bird-oid objects”, livremente traduzido por objetos com aspectos de pássaros), proposto por Craig Reynolds em 1986. O modelo simula a movimentação de partículas (boids) seguindo três regras simples: coesão, que mantém os boids próximos uns dos outros; separação, que evita colisões; e alinhamento, que leva os boids a se moverem na mesma direção. Se faz necessário destacar a proximidade análoga das regras de Reynolds com as regras apresentadas por Parisi, que se referem a velocidade, distância e direção.
A emergência de fenômenos é central na aplicação do modelo boids para a espacialização sonora, pois permite que complexos padrões auditivos surjam a partir de interações locais entre os agentes. No contexto da síntese e processamento de áudio, a emergência se manifesta quando múltiplos boids, seguindo regras básicas de comportamento coletivo, como coesão, separação e alinhamento, geram texturas sonoras e padrões espaciais que não foram explicitamente programados, mas que emergem da interação contínua entre os elementos do sistema. Essa propriedade emergente é particularmente valiosa na composição musical, pois possibilita a criação de ambientes sonoros que evoluem de maneira imprevisível e orgânica, sem a necessidade de intervenção direta do compositor em todos os detalhes do processo. A emergência de padrões confere ao sistema uma qualidade de autossuficiência, em que o comportamento global do campo sonoro se constrói a partir de regras locais simples, resultando em paisagens sonoras que podem ser tanto controladas quanto exploradas em tempo real. Essa técnica oferece novas possibilidades para a composição musical, onde a espacialização é explorada como um elemento composicional fundamental, refletindo as interações e a fluidez do movimento coletivo dos agentes sonoros em um ambiente acústico virtual (Blackwell & Young, 2004; Smalley, 2007).
3. Implementação do modelo de Boids em Max/MSP
A opção de utilizar o programa Max para a modelização de murmurações ocorreu devido à sua flexibilidade e capacidade de lidar com processamento em tempo real. O programa Max permite a criação de algoritmos personalizados que implementam e controlam comportamentos complexos, como o movimento coletivo dos boids, através de sua interface gráfica modular, facilitando a experimentação e ajuste detalhado dos parâmetros de simulação. Além disso, sua integração com o Jitter para visualizações e o suporte para áudio espacializado em ambisonia tornam o ambiente ideal para traduzir fenômenos naturais em modelizações interativas e dinâmicas.
Para a implementação do modelo de Boids na plataforma Max foram tomadas como referência implementações realizadas em outras linguagens de programação, tomando como ponto de partida o trabalho de Daniel Shiffman, que publicou sua pesquisa em torno da exploração e simulação de sistemas e modelos de comportamento encontrados na natureza. Uma versão de seu trabalho é voltada para a implementação no programa Processing5 (Shiffman, 2012) e a outra para a implementação em linguagem JavaScript (Shiffman, 2024). Um dos modelos implementados pelo autor é justamente o modelo de Boids, e sua obra aparece como referência no trabalho de outros pesquisadores que buscam implementar modelos naturais no ambiente de programação, como é o caso do pesquisador Federico Foderaro, empregado pela Cycling74 e membro da equipe responsável pela elaboração e desenvolvimento de Jitter em Max. Foderaro possui um canal na internet6 dentro da qual disponibiliza tutoriais e explicações sobre o funcionamento e programação em Jitter, e dentro de seu acervo se encontra referências para a exploração de campos de partículas assim como para a implementação de modelos em flocking7 e Boids.
Outra contribuição advém do pesquisador Eric Singer, que implementou na década de 90 um objeto intitulado Boids8, que oferecia o mapeamento em duas dimensões do movimento de partículas coordenadas por uma série de parâmetros, alguns baseados nas análises de Reynolds, outros acrescidos por Singer. O compositor David Kim-Boyle (2006) explora as possibilidades de espacialização de tal objeto para síntese granular, e o realiza na versão 4.5 do programa Max9. A integração entre granulação e o objeto Boids de Singer é elaborado no artigo para um sistema quadrifônico, realizado através do movimento simples de fontes sonoras entre as quatro caixas de som, sem explorar o espaço através de ambisonia.
Outra importante implementação do modelo de Boids existente para o programa Max se encontra na biblioteca cage10, através do objeto cage.boids, que utiliza a modelização de Boids como um substrato referencial para operar uma síntese sonora ou para ser utilizado como um controlador destinado a amostragens sonoras previamente definidas. O uso do modelo de Boids para a espacialização pode ser encontrado no pacote Bangor Audio Toolkit11, com um módulo de espacialização que não opera em ambisonia e que possui um limite sobre o número de partículas que podem servir como fonte sonora.
A proposta da pesquisa aqui exposta visa complementar os modelos existentes, implementando a modelização de Boids em um sistema ambisônico, cuja limitação de partículas passíveis de serem utilizadas como fontes sonoras estarem sujeitas somente a capacidade de processamento computacional disponível.
A implementação do modelo de Boids no programa Max envolve a utilização de objetos e abstrações que permitem a simulação em tempo real do comportamento coletivo de agentes. As regras básicas de coesão, separação e alinhamento são implementadas através de operações matriciais ou de listas, utilizando operadores aritméticos e condicionais para calcular as forças resultantes que influenciam o movimento de cada partícula. A cada ciclo de processamento, o sistema recalcula as posições e direções das partículas com base nas interações locais, utilizando objetos específicos para garantir a atualização contínua das variáveis em intervalos regulares. O resultado é uma simulação interativa e visualmente clara do fenômeno de murmuração, que pode ser ajustada em tempo real para explorar diferentes parâmetros e seus comportamentos emergentes.
Para tanto, e a partir do material de referência, a implementação de um modelo de comportamento de partículas análogo a murmurações foi implementada no programa Max através do objeto codebox. O objeto codebox opera através do uso de uma linguagem de programação similar a JavaScript, o que viabiliza a adaptação do código de referência elaborado por Shiffman. E o objeto codebox é utilizado dentro do modelo operacional de Jitter, inscrito no subpatcher do objeto jit.gen, o que permite gerenciar cada célula das matrizes em Jitter. Assim, dentro das possibilidades operacionais disponíveis em Jitter, se torna possível visualizar o modelo implementado em conjunto de seu comportamento espacial no programa Max.
Certas considerações sobre o modelo de espacialização foram delimitadas previamente para que o modelo de murmurações implementado pudesse servir de modelo para tanto. Optamos por um espaço circular e uniforme, dentro do qual as fontes sonoras poderiam se movimentar dentro de certas delimitações, e essas fontes sonoras seriam nossos pássaros, nossas partículas dentro do modelo de Boids. Portanto três parâmetros iniciais são estabelecidos: o raio limite, que define a margem dentro da qual a movimentação das partículas pode ocorrer (boundary radius), a força de repulsão dessa margem (boundary force) e o limite de tolerância dessa margem (boundary threshold). Através desses três parâmetros se define o espaço de circulação permitido para as partículas. Os quatro parâmetros seguintes definem o comportamento das partículas dentro do espaço delimitado, sendo eles a velocidade de movimento (max speed), a força de repulsão entre as partículas (max force), a distância desejada entre as partículas (desired separation) e a distância entre partículas vizinhas (neighboring distance). Com os últimos parâmetros referenciados se opera o comportamento das partículas dentro do espaço previamente delimitado.
O número de partículas é definido previamente às operações expostas. Os objetos jit.noise e jit.matrix possuem como parâmetro o número de células a serem operadas, e através desses valores são estabelecidos o número de partículas desejadas, onde cada célula equivale a uma partícula. A informação processada pelos objetos jit.noise e jit.matrix é então operada através dos protocolos definidos em forma de código dentro do objeto codebox dentro do subpatcher jit.gen. A fim de garantir que o modelo possa ser executado em tempo real, mantendo a fidelidade às características emergentes do fenômeno, optou-se por limitar o número de partículas, equilibrando assim a precisão da simulação com a viabilidade técnica e a capacidade de processamento disponível para o processamento.
4. Espacialização em ambisonia em Max a partir do modelo de Boids
Com o intuito de utilizar a distribuição espacial fornecida pelo modelo de Boids como base para a espacialização sonora, se fez necessário optar por uma família de objetos em Max que fornecesse certa equivalência espacial. Para tanto, após extensa pesquisa em torno das possibilidades de espacialização disponíveis em Max, foi decidido utilizar a biblioteca de ambisonia criada pelo Institute for Computer and Sound Technology (ICST) da Universidade de Artes de Zurique, biblioteca essa denominada ICST Ambisonics. Através da biblioteca especificada se torna possível operar o trajeto de fontes sonoras no espaço da sala de concerto, e tais fontes sonoras podem ser referenciadas e tratadas como partículas cujas trajetórias são definidas a priori. A pesquisa aqui exposta, portanto, se beneficia de tal modelo de espacialização, pois a partir da implementação do modelo de Boids se faz possível reproduzir a trajetória de cada partícula, de cada Boid, sobre o campo disponível para o mapeamento espacial. Dessa forma cada partícula passa a ser uma fonte sonora disponível que circula pelo espaço acústico através com seu trajeto delineado pelas especificações do algoritmo de Boids. Assim o espaço acústico é ocupado por uma nuvem de fontes sonoras, que possuem comportamento análogo àquele das murmurações dos estorninhos, e são passíveis de manipulação.
O primeiro passo para que esse emprego se torne possível é a conversão dos dados utilizados em Jitter, para que se tornem informações e dados compreensíveis pela biblioteca de ambisonia, ou seja, valores numéricos. E para além de tal transferência de dados, se fez necessário que o código utilizado dentro do objeto jit.gen, que opera o algoritmo de Boids, oferecesse as coordenadas x, y e z de cada partícula que constitui a conjunto total, e que foi implementado no código, o que oferece a opção de realizar a espacialização em um espaço em duas dimensões ou três dimensões, a partir da decisão de omitir, ou não, a coordenada z. O objeto jit.cellblock foi empregado para receber as coordenadas de cada partícula, uma vez que permite o armazenamento e transmissão dos dados de cada célula de dados utilizadas no Jitter. Para tanto, cada frame de operação do Jitter dispara uma mensagem dump sobre o jit.cellblock, que recebe e ejeta as coordenadas que recebe do objeto jit.gen que opera o código do algoritmo de Boids, como pode ser visto abaixo em recorte do patch, exposto na figura 2.
O objeto jit.world encapsula a funcionalidade de vários objetos Jitter. Com o argumento attractive e os atributos @floating 1 e @fsaa 1, a tela de representação gráfica é configurada para exibir as partículas em ação de forma otimizada. As partículas são geradas pelo objeto jit.noise, utilizando os argumentos 3, referente ao número de planos; float32, para que o objeto trabalhe com valores decimais; e 100 e 1, onde o par especifica as dimensões da matriz de informações, que será aplicada para gerar a quantidade de partículas presentes no modelo. Esses dados são então referenciados pelo objeto jit.matrix, que especifica os operadores de velocidade e das posições das partículas. Esse conjunto de dados é então recebido pelo objeto jit.gen que contém o código relativo à implementação do modelo de Boids. O objeto jit.gl.mesh com atributos @draw_mode points @color 1 1 1 1 @point_size 5 @antialias 1 desenha as partículas em interação no sistema de projeção visual.
Para operar a espacialização as informações são enviadas a partir do código que opera o módulo de Boids, e então são convertidas de linguagem Jitter para valores numéricos, que são organizados em listas de tamanho equivalente ao número de partículas utilizadas no algoritmo de Boids, quantidade essa arbitrária e decidida previamente. As listas são então alinhadas com um valor para a indexação de cada elemento, organização essa necessária para a espacialização de cada partícula, e tal indexação será também utilizada para a futura referenciação das fontes sonoras para que possam receber sinais de áudio. A visualização espacial é realizada através do objeto ambimonitor, que permite a possibilidade de operar diversas fontes sonoras em movimento contínuo, e aceita a parametrização dos eixos x, y e z para cada partícula, permitindo que o espaço possa ser explorado em duas ou três dimensões. Como pode ser visto na figura 3 o objeto referido recebe quatro variáveis (cada cifrão se refere a uma variável). A primeira variável se refere a indexação de cada partícula, e as três variáveis seguintes definem as três coordenadas que cada partícula possui. A indexação das listas, além de seu agrupamento com as coordenadas de cada partícula, recebe uma saída exclusiva (corda saindo à esquerda da imagem), uma vez que ela deve ser referida para que cada partícula possa ser utilizada como fonte sonora.
Captura de tela de um frame em duas dimensões do objeto ambimonitor com a projeção de 150 partículas distribuídas de acordo com o algoritmo de Boids.
Os objetos mc.ambiencode~ e mc.ambidecode~ são os operadores que convertem diversas fontes sonoras para a projeção em ambisonia. O primeiro objeto realiza a encodagem em um formato ambisônico para múltiplos canais, para em seguida ser decodificado pelo segundo objeto para realizar a espacialização em número predeterminado de fontes sonoras. O primeiro parâmetro de ambos objetos se refere a ordem de ambisonia, na qual cada novo grau incrementa a imagem espacial projetada, assim quanto maior a ordem maior a precisão da imagem espacial projetada, o que exige também um número maior de caixas sonoras para a projeção espacial. O segundo parâmetro do mc.ambiencode~ especifica o número de entradas necessárias para objeto e o segundo parâmetro do mc.ambidecode~ especifica o número de saídas de áudio que serão utilizadas. As entradas de sinais de áudio são conectadas no objeto mc.ambienconde, e tal objeto estar disponível no modelo multicanal possibilita uma maior flexibilização para a lida com sinais de áudio, uma vez que permite a entrada de um número equivalente entre canais de áudio e fontes de projeção de áudio, através de uma única conexão entre objetos. Através de tal maleabilidade ofertada pelo modelo multicanal se torna possível discretizar sinais de áudio ou os agrupar em conjuntos de sinais, sem qualquer restrição que parta da funcionalidade do patch.
O módulo de objetos operadores de listas é responsável pela ordenação das listas emitidas pelos outputs individuais do jit.gen, cada qual correspondendo a um eixo (x, y, z) dentro da matriz Jitter. O objeto jit.gen projeta as raízes da equação em listas de informações distintas entre as posições dos pontos individuais nos eixos espaciais. O objeto jit.cellblock atualiza em lista todos os elementos advindos do jit.gen, aportando as raízes das três variáveis da equação em coordenadas espaciais. Tais elementos são projetados em listas contendo 3 argumentos. O atributo outmode com o argumento 1 (padronizado pelo software) especifica a extração das informações agrupadas em uma única lista. Como cada jit.cellblock está atrelado a um eixo específico, o módulo conta com três objetos jit.cellblock, cada um correspondendo a uma instância (posição espacial) de cada partícula no sistema. A mensagem dump que ativa a atualização das coordenadas em listas é operada a partir de oscilações geradas por cada variação de frame (fps).
O comportamento emergente dos Boids pode ser utilizado para modelar interações sonoras autônomas ou reagir a estímulos externos, como inputs de sensores ou dados ambientais. Esse enfoque cria uma experiência auditiva tridimensional, onde a espacialização não é apenas um efeito, mas um componente fundamental da composição, refletindo as dinâmicas coletivas e a interação entre os elementos sonoros dentro de um espaço acústico virtual.
Resultados obtidos
A utilização de ferramentas computacionais e a inspiração em teorias ecológicas possibilitam a criação de paisagens sonoras dinâmicas e complexas, abrindo novas possibilidades para a experimentação musical e a exploração de temas como a auto-organização e a emergência. Ao adotar o modelo de Boids na composição musical, a criação se torna um ecossistema em si, em que elementos sonoros interagem de forma complexa e imprevisível, mimetizando os padrões da natureza. Essa abordagem não apenas amplia as possibilidades estéticas da música, mas também a posiciona como um veículo para a reflexão sobre a crise ambiental.
Os resultados obtidos nesta pesquisa demonstram o potencial da modelagem de murmurações de estorninhos como ferramenta para a criação de experiências sonoras dinâmicas e imersivas. A implementação do modelo de Boids no ambiente Max permitiu a geração de paisagens sonoras complexas e evolutivas a partir de comportamentos emergentes, onde a espacialização sonora desempenha um papel fundamental. A flexibilidade do sistema e a possibilidade de adaptação a diferentes parâmetros abrem portas para uma ampla gama de aplicações artísticas, desde instalações sonoras até composições musicais interativas. Este estudo demonstra a viabilidade da abordagem proposta e abre caminho para futuras investigações, como a exploração de outros modelos de simulação e a criação de interfaces mais intuitivas para a interação com o sistema.
AGRADECIMENTOS
O presente trabalho foi realizado com apoio da Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Brasil (CAPES) - Código de Financiamento 001.
REFERÊNCIAS
- BLACKWELL, Tim., & YOUNG, Michael. Self-organized Music. Organised Sound, 9(2), 123-136, 2004.
- KIM-BOYLE, David. Spectral and Granular Spatialization with Boids. Proceedings of the International Computer Music Conference Proceedings, San Francisco: Michigan Publishing, pp. 139-142, 2006.
- PARISI, Giorgio. In a Flight of Starlings, The Wonders of Complex Systems. Nova York: Penguin Press, 2021.
- PRIGOGINE, Ilya, & STENGERS, Isabelle. Order out of chaos: Man’s new dialogue with nature. New York: Bantam Books, 1984.
- REYNOLDS, Craig. Flocks, Herds and Schools: A Distributed Behavioral Model. Computer Graphics, 21(4), California: ACM SIGGRAPH, pp. 25-34, 1987.
- SHIFFMAN, Daniel. The Nature of Code: Simulating Natural Systems with Processing. São Francisco: No Starch Press, 2012.
- SHIFFMAN, Daniel. The Nature of Code: Simulating Natural Systems with Java Script. São Francisco: No Starch Press, 2024.
- SMALLEY, Dennis. Space-form and the acousmatic image. Organised Sound, 12(1), 35-58, 2007.
- STROGATZ, Steven Henry. Nonlinear Dynamics and Chaos: With Applications to Physics, Biology, Chemistry, and Engineering. Cambridge, MA: Perseus Books, 1994.
- ŽIŽEK, Slavoj. Living in the End Times. Verso Books, 2010.
-
1
Sistema dinâmico complexo é um sistema integrado de diversos elementos em interação não linear. Assim, o comportamento do todo não é justificável pelas interações locais entre as partes individuais. Esses sistemas exibem características como auto-organização, adaptabilidade e sensibilidade às condições iniciais, o que pode levar a grandes mudanças a partir de pequenas variações. O livro Nonlinear Dynamics and Chaos: With Applications to Physics, Biology, Chemistry, and Engineering de Steven H. Strogatz é uma referência clássica sobre dinâmica não linear e sistemas complexos, abordando como pequenas interações locais podem levar a comportamentos globais emergentes.
-
2
O pesquisador recebeu o prêmio Nobel de física em 2021, juntamente com os pesquisadores Syukuro Manabe e Klaus Hasselmann, por conta de seus estudos voltados para a investigação da mecânica estatística de sistemas complexos.
-
3
A abrangência da pesquisa de Parisi pode ser localizada quando o autor relaciona fenômenos da sincronização de elementos dentro de um sistema, comparando o voo de estorninhos com a sincronização da bioluminescência de vagalumes, cardumes de peixes, enxames de insetos, multidões de pessoas e neurônios no cérebro humano, movimentos e fluxos sincronizados sem a presença de um controle central, atestando a importância das regras que moldam interações locais.
-
4
O químico Ilya Prigogine em seu livro Order Out of Chaos: Man’s New Dialogue with Nature, de 1984, explora a noção de auto-organização em sistemas em desequilíbrio e como a ordem pode surgir a partir do caos em sistemas complexos.
-
5
Processing é um software de programação integrado com uma biblioteca gráfica. Ver: https://processing.org/
-
6
https://www.youtube.com/@AmazingMaxStuff
-
7
Flocking pode ser traduzido por “andar em bando”, o termo pode ser referir a rebanhos, murmurações e cardumes.
-
8
https://github.com/diablodale/boids_max
-
9
A versão atual do programa Max, no período de elaboração deste artigo, é 8.6.5.
-
10
A biblioteca cage pode ser encontrada no organizador de pacotes (package manager) do programa Max.
-
11
https://www.andrewlewis.org.uk/software.php




Fonte: iStock.
Fonte: Captura de tela de patch no programa Max.
Fonte: Captura de tela de patch no programa Max.