Instruções aos Autores de Contribuições para o SIBGRAPI

Transcrição

Instruções aos Autores de Contribuições para o SIBGRAPI
Um Ambiente Computacional Interativo e Imersivo para a Síntese Evolutiva de Cantos de Pássaros
José Fornari1, Francisco Barretto2
1
Núcleo Interdisciplinar de Comunicação
Sonora (NICS) – Rua da Reitoria, 165 Cidade Universitária "Zeferino Vaz" – CEP:
13.083-872 – fone/fax: +55 (19) 3521 7923
– Universidade Estadual de Campinas
(UNICAMP) – Campinas – SP – Brazil
2
Laboratório de Pesquisa em Arte
Computacional (Midialab). Departamento
de Artes Visuais. Instituto de Artes.
Universidade de Brasília (UnB). Brasília –
DF – Brasil
{tutifornari,kikobaretto}@gmail.com
Abstract. Birdsongs are a ubiquitous sound component in several natural soundscapes.
They can be seen as agents, in an ecological network, where their interaction self-organizes
a sonic texture, with similar cognitive features and distinct acoustic aspects. This article
presents a computer model for the generation of artificial soundscapes of birdsongs. Such
synthetic environment is created by an Evolutionary Algorithm, the ESSynth model, that
continuously generates control parameters for models of syrinx sound synthesis, which is
capable of emulating a broad variety of birdsongs. The result is an interactive soundscape
coupled with an interactive computer animation, both influenced by the instant text
messages transmitted from the micro-blog Twitter.
Resumo. Os cantos de pássaros são parte integrante de diversas paisagens sonoras
naturais. Estes podem ser vistos como agentes de uma rede ecológica cuja interação autoorganiza um sistema sonoro de características cognitivas similares e aspectos acústicos
dinamicamente originais. Este artigo apresenta um sistema computacional desenvolvido
para a geração de paisagens sonoras artificiais de cantos de pássaros. Tal ambiente
artificial é criado por um algoritmo evolutivo, o ESSynth, que gera continuamente
parâmetros de controle para modelos computacionais de siringe, capazes de emular uma
ampla variedade de cantos de pássaros. O resultado é uma paisagem sonora e animação
digital interativa; ambas dinamicamente influenciadas por mensagens instantâneas
(tweets) do microblog: Twitter.
1. Introdução
É espantosa a quantidade e variedade de ambientes onde é possível escutar o canto de
pássaros. Estes trocam informações sonoras com outros indivíduos, através de seus característicos
cantos, formando sua rede de comunicação social que constitui para nós uma paisagem sonora. Tal
textura de sons orgânicos, dinâmicos e similares, muitas vezes, se mescla com os ruídos urbanos de
máquinas e pessoas, criando um ambiente imersivo cibernético (Wiener, 1968), composto da interação
entre agentes orgânicos e maquinais, criando um complexo sistema sonoro, emergente, acusticamente
auto-organizado e cognitivamente auto-similar.
A estrutura fisiológica, que permite aos pássaros gerar cantos tão diversos e complexos, é de
sofisticação impar. Existem modelos computacionais já desenvolvidos do aparato orgânico, em
essência, a siringe. Porém, os modelos computacionais da siringe possuem um grande número de
parâmetros de controle, o que, muitas vezes, torna a sua exploração manual dificultosa e até mesmo
inarticulável.
Controlar um grande número de parâmetros simultaneamente é uma das tarefas de extrema
complexidade que o cérebro realiza com larga facilidade. Um exemplo disto é o controle da posição e
deslocamento corporal, e consequentemente, da expressão gestual, que é realizado pela maioria das
pessoas praticamente de modo automático e até mesmo inconsciente. Uma alternativa de simular tal
controle é através de modelos computacionais inspirados nas estratégias naturais e biológicas da
resolução de tais problemas. Este é o ramo tratado pela Inteligência Artificial, inspirados em dois
processos naturais de resolução de problemas complexos: o cérebro, de onde advêm metodologias tais
como as redes neurais; e a Evolução Natural, que trata do desenvolvimento não-supervisionado de
sistemas complexos (tais como o próprio cérebro) e que motivou a criação de Algoritmos Evolutivos
(AE); onde está baseada a abordagem deste trabalho. Para tanto, desenvolvemos um modelo
computacional de AE que permite não apenas o controle de um modelo de canto de pássaros, mas da
simulação de um pequeno ecossistema destes, formado por uma população, com tamanho variável de
indivíduos, que são modelos computacionais de siringes. Cada indivíduo é o instanciamento de uma
sub-rotina em Pure Data (www.puredata.info) de síntese sonora procedural, que realiza o
modelamento físico do processo acústico onde o pássaro gera e modula o som do seu canto, ao invés
de utilizar amostras de áudio de sons gravados dos pássaros. Tais indivíduos têm seu próprio genótipo,
constituído por um arquivo de texto contendo os parâmetros de cada síntese sonora. Dentro da
população, os indivíduos nascem, reproduzem-se e morrem, compondo assim uma paisagem sonora
evolutiva, dinâmica, cognitivamente similar e acusticamente original.
Para tornar este sistema aberto, foi estabelecido um segundo grau de interatividade. Além de
permitir a livre evolução da população de indivíduos, este sistema também permite a interveniência
externa de múltiplos usuários, que podem inserir dinamicamente novo material genético na população
evolutiva, conforme explicado adiante. Para viabilizar a interatividade simultânea de diversos usuários
com o sistema evolutivo, utilizamos o serviço de microblog conhecido por Twitter (www.twitter.com).
Twitter é uma palavra da língua inglesa que significa “silvar”, ou seja, a sucessão de pequenos sons
emitidos pelos pássaros canoros. A metáfora aferida por tal nome, que compara o canto de pássaros
com a comunicação de pequenos textos numa rede social, encaixa-se perfeitamente na
contextualização deste sistema, posto que descreve com precisão a filosofia por detrás deste
microblog. Os silvos dos pássaros inicialmente podem soar como algo aparentemente desprovido de
significado ou ordem. Porém, o seu contexto é dinamicamente inferido pela cooperação entre as aves,
que os emitem e os escutam. O mesmo se aplica ao Twitter, onde as inúmeras mensagens, vistas
isoladamente, podem parecer completamente aleatórias e/ou desprovidas de sentido, porém
dependem ativamente do seu receptor para estabelecer um significado global que as unifique em um
único contexto (Dorsey, 2009).
Utilizou-se aqui a metáfora dos pássaros como base fundamental para o desenvolvimento
deste trabalho. Neste trabalho, o Twitter fornece o canal de inserção de novo material genético para a
síntese evolutiva do AE. Cada modelo de canto de pássaros é visto como um indivíduo na população do
AE. Cada modelo de siringe utiliza 16 parâmetros de controle. Tais parâmetros correspondem ao gene
do DNA. Por simplicidade, optamos por utilizar o código ASCII dos caracteres das mensagens do
Twitter, como o DNA dos indivíduos da população. O sistema AE é implementado em PD. Já o cliente
Twitter foi implementado em Java. Ao receber uma nova mensagem, este a transforma num vetor de
números inteiros, correspondendo aos caracteres ASCII, normalizados entre 0 e 1, e representando o
DNA utilizado pela síntese evolutiva.
A cada instante que uma nova mensagem é recebida, um novo indivíduo, contendo este
respectivo DNA é inserido na população evolutiva. Este indivíduo corresponde a um novo objeto
sonoro, ou seja, um novo canto de pássaro. Cada objeto sonoro tem um período de vida limitado, onde
pode reproduzir, ser selecionado e, por fim, morrer. A resultante sonora de todos os indivíduos ativos
(vivos) a cada momento da evolução da População, conforme explicado adiante, se auto-organiza na
forma de uma Paisagem Sonora (PS). Em paralelo, um outro modelo computacional, desenvolvido em
Processing (www.processing.org) foi implementado, para a geração de uma Paisagem Visual (PV) em
correspondência à PS. Esta é controlada pelos mesmos genótipos, ou seja, parâmetros dos modelos de
síntese da siringe, que são compartilhados através do protocolo OSC (www.opensoundcontrol.org) e
complementam a experiência imersiva de criação dinâmica e interativa da PS, coletivamente composta
e interativamente experimentada.
2. O Som da Siringe
As aves canoras (aves que cantam) fazem parte da ordem biológica dos Passeriformes. Seus
integrantes são chamados de pássaros ou passarinhos. O grupo é bastante numeroso e diversificado,
com cerca de 5.400 espécies, que representam mais da metade do total das aves catalogadas. Os
passeriformes se dividem em: 1) Tyranni (Suboscines, ou "aves gritadoras") e 2) Passeri (Oscines, ou
"aves canoras, que cantam"). Ambos possuem siringe; o principal órgão responsável pela produção e
emissão de sons nos pássaros (Clarke, 2004).
Diferente dos humanos, as aves canoras podem controlar independentemente cada pulmão, o
que as permite simultaneamente inspirar com um pulmão enquanto expiram com o outro. Isto
possibilita que estes cantem aos mesmo tempo que respiram, e assim gerem frases sonoras muito
longas; muto além da capacidade volumétrica de seus pulmões. A siringe no pássaro é o
correspondente da laringe humana. Esta possui 3 grupos musculares que permitem constringir
independentemente a traquéia e os 2 brônquios, modificando a intensidade e frequência do som
produzido; conferindo aos pássaros um imenso controle sobre os sons por estes gerados.
A siringe é localizada na extremidade final da traquéia, na união entre os 3 tubos (a traqueia e
os 2 brônquios), onde é localizada a membrana timpânica; uma membrana cartilaginosa suspensa por
uma cavidade; uma espécie de saco inflado de ar; chamado de saco clavicular. Esta membrana pode
mover-se lateralmente, de modo livre e rápido. Desse modo, esta membrana é o oscilador principal da
siringe e pode ser comparada com a palheta de um instrumento musical de sopro, como o Oboé.
Os pássaros canoros podem controlar tanto a entrada do fluxo de ar, que veicula no saco
clavicular, vindo da traqueia, como a sua saída, pelos brônquios. Além disso, estes podem também
controlar a rigidez da própria membrana, através de músculos similares aos dos lábios humanos
(laterais e mediais). A Figura 1 mostra o diagrama esquemático de uma siringe, contendo os três
grupos musculares independentemente controlados e a membrana timpânica, que é a fonte oscilatória
de todo o sistema.
Figura 1. Diagrama esquemático de uma siringe.
Diversos algoritmos computacionais do modelamento físico da siringe, foram desenvolvidos.
Aqui, nos baseamos no modelo computacional de Hans Mikelson, inicialmente desenvolvido para o
ambiente de programação Csound (Mikelson, 2000). Este algoritmo foi posteriormente aperfeiçoado e
implementado em PD por Andy Farnell, que criou um modelo computacional que simula a siringe e
também o processamento sonoro dado pela traquéia e pelo bico (Farnell, 2010). Na Figura 2, tem-se a
imagem da estrutura em PD do modelo computacional de uma siringe. Este é um algoritmo
simplificado da síntese procedural do modelamento físico da síntese sonora e controle paramétrico da
siringe, conforme observada na figura anterior. A Figura 2 também contém a equação da síntese
sonora, controlada por 5 parâmetros.
Figura 2. Implementação em PD do modelo computacional simplificado
da síntese sonora da siringe.
3. A Síntese Evolutiva
Dentre os métodos adaptativos computacionais, a Computação Evolutiva (CE) é aquela
diretamente inspirada na estratégia biológica de busca dinâmica pela melhor solução de um problema
(Eiben, 2007). Em CE, populações de indivíduos se adaptam às variações inesperadas de seu meioambiente. Métodos de CE são normalmente usados na tentativa de encontrar a melhor solução
possível para problemas quando não existe informação suficiente para solucioná-los através de
métodos matemáticos formais (métodos determinísticos). Assim, algoritmos de CE, em geral, são
projetados para realizar a procura não-supervisionada da melhor solução para um problema complexo,
dentro do escopo de uma “paisagem” (landscape) de soluções possíveis.
Existem diversos estudos de metodologias evolutivas alinhadas à criação de obras artísticas e
musicais, tais como os sistemas:
1) VoxPopuli, um sistema capaz de gerar frases musicais complexas e harmônicas,
utilizando Operadores Genéticos (Moroni, 2000);
2) RoBoser, um sistema criado em colaboração com o grupo SPECS da UPF (Barcelona)
que utiliza Controle de Distribuição Adaptativa (CDA) para o desenvolvimento de uma
correlação entre o comportamento adaptativo robótico e as composições
algorítmicas (Manzolli, 2005);
3) ESSynth, o método de síntese evolutiva de segmentos sonoros, utilizado em
RePartitura, que insere mudanças na dinâmica sônica, utilizando Operadores
Genéticos no processo de Reprodução e a Distância de Hausdorff (métrica de
distância entre conjuntos) como função de adequação (fitness) do processo de
Seleção (Fornari, 2008).
A primeira implementação computacional do ESSynth já havia demonstrado sua característica
de gerar sequências de segmentos sonoros perceptualmente similares, mas nunca idênticas, o que é
um dos atributos primordiais de uma PS. Este sistema foi posteriormente aprimorado para incluir a
parametrização da localização espacial dos Indivíduos (objetos sonoros) a fim de criar uma PS através
do mapeamento de objetos gráficos extraídos de uma série de desenhos conceituais, criando assim
uma ponte entre paisagem sonora e visual (Fornari, 2009).
3.1. A codificação do DNA
O sistema evolutivo de criação da PS foi implementado em PD, como um patch (um modelo
computacional): o essynth.pd. Os indivíduos são instanciamentos de um patch auxiliar, chamado em
PD de abstraction: o ind.pd. Cada instanciamento de ind.pd gera um indivíduo pertencente à
população de essynth.pd. Cada indivíduo é um algoritmo de modelamento físico da siringe, similar ao
que foi apresentado na Figura 2. Cada indivíduo possui o seu próprio genótipo, que é correspondente
ao DNA biológico, que mapeia as características sonoras intrínsecas do canto de pássaros, gerado em
cada instanciamento deste modelo computacional.
Este DNA é constituído por um vetor de 140 elementos, correspondente à uma mensagem do
Twitter (tweet). A sequência de DNA é aqui composta de números entre 0 e 127, correspondente aos
caracteres ASCII da mensagem. Cada vetor será normalizado (entre 0 e 1) e cada grupo sequencial de
16 elementos equivalendo a um gene, que representa um bloco de parâmetros do modelo
computacional da siringe, utilizado no algoritmo do indivíduo da síntese evolutiva. Teremos assim 9
genes por DNA, correspondo a 9 etapas de parametrização de cada modelo computacional da siringe.
Afim de completar os 9 genes de 16 elementos (perfazendo 144 elementos), os últimos 4 elementos do
DNA (da mensagem de 140 caracteres) serão elementos nulos (zero).
Os 16 elementos formadores de cada gene que constituem o DNA, são números escalares
normalizados entre 0 e 1. Cada gene controla uma etapa no tempo, da parametrização do modelo
computacional da siringe. Esta utiliza 16 parâmetros para controlar a síntese procedural. Os elementos
são respectivamente: 1) Articulação do bico, 2) taxa de aleatoriedade dos silvos, 3) freqüência do
primeiro formante da siringe, 4) amplitude do primeiro formante da siringe, 5) freqüência do segundo
formante da siringe, 6) amplitude do segundo formante da siringe, 7) freqüência de base, 8) extensão
da variação da freqüência de base, 9) taxa de modulação, 10) base da modulação, 11) primeiro
formante da traquéia, 12) base do primeiro formante da traquéia, 13) segundo formante da traquéia,
14) base do segundo formante da traquéia, 15) ressonância do filtro da traquéia, 16) amplitude global.
3.2. A função de adequação (fitness)
A fim de criar uma PS auto-organizada, a função de adequação, ou fitness, é dada por uma
métrica de distanciamento psicoacústico, que constitui o processo de seleção do patch essynth.pd.
Este processo mede a distância entre cada indivíduo da população e elimina aqueles mais distantes do
cluster populacional; o grupo de indivíduos da População evolutiva mais próximos entre si, segundo tal
métrica. Esta é calculada pela distância Euclidiana entre os valores de 3 descritores psicoacústicos: 1)
Loudness, 2) clareza de Pitch e 3) centroide Espectral, conforme demonstrado na equação a seguir:
D= √
(( L1− L2)2+ (P1− P2)2 + (E1− E2)2)
(1)
3.3. Os operadores genéticos
Utilizamos aqui os operadores genéticos tradicionalmente usados em EAs: recombinação
(crossover) e mutação. Estes manipulam os 9 genes (de 16 elementos) de cada DNA (de 144
elementos).
A recombinação mistura os valores dos genes entre os DNAs de 2 indivíduos (A e B), criando
assim um novo DNA, correspondente a um novo indivíduo (C). Os genes que serão misturados são
escolhidos aleatoriamente. A mistura é a combinação convexa dos 16 elementos de cada gene. A taxa
de mistura é determinada pela taxa de recombinação tr; um valor escalar, entre -1 e 1, que determina
o grau de mistura entre os genes dos indivíduos A e B. Se tr = -1, os valores dos genes escolhidos para
a recombinação em C, serão idênticos aos de A. Se tr = 1, os valores dos genes escolhidos para
recombinação em C, serão idênticos aos de B. Se tr = 0, os valores dos genes escolhidos para
recombinação em C, serão dados pela média aritmética dos 16 valores dos respectivos genes de A e B.
A mutação é o operador que insere informação original no DNA do novo indivíduo. Este
operador genético também possui uma taxa de mutação tm, porém que varia entre 0 e 1. Este
determina o grau a variabilidade inserida no código genético do DNA do novo indivíduo. Tal variação é
dada através da multiplicação do vetor de 144 elementos por um vetor de valores aleatórios, entre [(1tm), 1]. Se tm = 0, não existe qualquer perturbação inserida no DNA recém-criado, uma vez que o DNA
é multiplicado por um vetor de valores unitários. Se tm = 1, o vetor de multiplicação possui valores
aleatórios entre [0, 1] e assim a perturbação é máxima.
Os valores das taxas de recombinação e mutação, são contínuos e dinamicamente variáveis,
no entanto, costumam ser mantidos em taxa de recombinação tr = 0.5 e taxa de mutação tm = 0.1,
afim de representarem padrões usuais, empiricamente constatados como suficientes para garantirem
a atuação eficiente destes operadores genéticos no processo evolutivo do sistema.
4. A Paisagem Sonora (PS)
PS, (Soundscape) é um termo cunhado por Murray Schafer, que se refere ao ambiente sônico
imersivo, percebido por ouvintes que podem interagir com este, de forma passiva, ouvindo e o
reconhecendo; e/ou de forma ativa, sendo um dos agentes de sua composição (Schafer, 1994). Deste
modo, uma PS é, em si, o fruto da percepção sonora do ouvinte. Sendo assim, esta pode ser
reconhecida pelos seguintes aspectos cognitivos: 1) Primeiro plano; 2) Plano de fundo; 3) Contorno; 4)
Ritmo; 5) Espaço; 6) Densidade; 7) Volume e 8) Silêncio. De acordo com Schafer, PSs podem ser
formadas por 5 categorias de conceitos sônicos analíticos. Elas são: 1) Tônicas; 2) Sinais; 3) Marcas
sonoras; 4) Objetos sonoros e 5) Símbolos sonoros. A Tônica é formada pelos sons vivos e onipresentes,
usualmente no Plano de fundo da percepção do ouvinte. Os Sinais são os sons no Plano de frente, que
chamam a atenção consciente do ouvinte – uma vez que eles podem conter informações importantes.
As Marcas sonoras são os sons exclusivamente encontrados em cada PS. Os Objetos sonoros são os
componentes atômicos de uma PS. Como definido por Pierre Schaeffer – que cunhou o termo – um
Objeto Sonoro é um evento acústico formado por aspectos que levam o ouvinte a uma percepção
sônica, particular e única. Por fim, os Símbolos sonoros são sons que evocam respostas cognitivas e
afetivas, baseadas no contexto sociocultural e pessoal do ouvinte.
Tais unidades cognitivas são características emergentes do processo de auto-organização de
sistemas complexos e abertos. Como tal, estas unidades podem ser encontradas e analisadas por
descritores acústicos, mas não são suficientes para definir um processo real de geração de PSs. Afim de
fazê-lo, é necessário definir não apenas a representação acústica de objetos sonoros, mas também as
suas características intrínsecas, que podem ser usadas como regras no modelamento computacional da
síntese sonora de um conjunto de objetos sonoros semelhantes e originais.
Em termos da catalogação sistêmica de uma PS, estas podem ser vistas como sistemas autoorganizados, complexos e abertos, formados por objetos sonoros atuando como agentes dinâmicos.
Juntos, estes orquestram um ambiente sonoro que é sempre original no âmbito acústico, mas que,
perceptualmente, retém auto-similaridade suficiente para permitir sua identificação e discriminação,
por similaridade cognitiva. Tal similaridade variante é uma característica encontrado em qualquer PS.
Afim de se gerar computacionalmente uma PS artificial, é necessário um algoritmo capaz de criar
objetos sonoros com invariância psicoacústica e variância acústica, o que levou à utilização da classe de
métodos computacionais adaptativos, tais como a CE.
5. Interatividade Multimídia
Neste trabalho, a interatividade entre a paisagem sonora e a visual se dá pela utilização de
sistemas autônomos que permitem a inserção de informação genotípica no sistema evolutivo
programado em PD (o ESSynth) através de mensagens do Twitter. Para tal, são extraídos deste
microblog os tweets (mensagens de até 140 caracteres) que mencionam “@evopio”. Uma vez
coletadas estas mensagens, cada uma delas é enviada ao sistema evolutivo do ESSynth, sob a forma de
genótipos, onde são utilizados para criar os indivíduos, cuja expressão fenotípica é um objeto sonoro.
Estes pertencem à População evolutiva que se auto-organiza em uma PS. Para cada indivíduo
instanciado como objeto sonoro, é também criado um objeto gráfico no ambiente Processing,
conforme explicado adiante. O conjunto destas animações sincronizadas aos objetos sonors integra a
PV. A comunicação entre PD e Processing ocorre através do protocolo Open Sound Control (OSC).
5.1 Twitter
O histórico das trocas de mensagens instantâneas, que fomentou o surgimento de vários
microblogs, teve início em 1988, com o surgimento do Internet Relay Chat (IRC), desenvolvido para
permitir a troca de mensagens curtas em grupo. Em seguida, com a popularização dos telefones
celulares, foi criado o Short Message Service (SMS) que opera com mensagens de até 160 caracteres,
sendo 20 destinados ao nome e número telefônico do remetente, seguidos de 140 caracteres
alfanuméricos, alocados ao conteúdo da mensagem (Akcora, 2010).
O Twitter foi fundado em 2006, sob o formato de uma rede social que focava no serviço de
microblogging, caracterizado pela curta extensão das mensagens. Este tipo de serviço também foi
oferecido por outras redes sociais, como Facebook e o Orkut. No entanto, o Twitter difere dos demais
por sua simplicidade; não oferecendo quaisquer outros recursos, como o compartilhamento de áudio
ou imagens. Segundo Jack Dorsey; criador deste serviço, a conceito do Twitter foi inspirado no controle
auto-organizado no tráfego urbano, por cada agente (carros e/ou bicicletas) que, ao circularem, devem
notificar uns aos outros, através de sinais visuais e sonoros, onde estão, o que estão fazendo e o que
pretendem fazer (Dorsey, 2009). O Twitter chama a postagem, ou mensagem, de tweet, que significa,
em Inglês, um silvo de um pássaro. Cada tweet tem a tamanho limite de 140 caracteres herdado das
mensagens SMS (Java, 2007).
Segundo Akcora e Dermibas, o sucesso do Twitter pode ser atribuído a dois fatores: 1) a
Elegância de seu projeto e 2) a Simplicidade de sua integração. O primeiro fator se expressa no limite
de caracteres de cada mensagem, atribuído como uma das razões da popularidade desta rede social.
Nos blogs “convencionais”, onde não há limite no tamanho das mensagens, há a necessidade por parte
do usuário de ter um bom domínio de escrita, bem como de extenso conteúdo para criar textos
interessantes, ao passo que a utilização do Twitter não requer um domínio aprofundado da escrita ou
longas reflexões sobre um tópico qualquer. Já o segundo fator – a simplicidade de integração do
Twitter – deve-se o fato dos posts inseridos no microblog, além de outros dados, poderem ser
acessados por aplicativos desenvolvidos por terceiros, através de uma Interface de Programação de
Aplicações (Application Programming Interface - API) própria, gratuitamente disponibilizada pelo
próprio Twiter. Existem inúmeros aplicativos desenvolvidos visando a integração com o Twitter e
oferecendo os mais diversos aprimoramentos, como: a busca por outros usuários afins, ou a escrita de
resenhas sobre livros (Akcora, 2010). Uma outra diferença entre os blogs e microblogs é a frequência
de atualização pelo seu usuário mantenedor: enquanto o blog é normalmente atualizado
esporadicamente, o microblog pode ser atualizado inúmeras vezes em um mesmo dia (Java, 2007).
A maior parte dos aplicativos para Twitter foi desenvolvida por seus próprios usuários, na
medida em que detectavam necessidades específicas. No entanto, os aplicativos desenvolvidos não se
limitam apenas a estender as funcionalidades desta rede social. A simplicidade no acesso aos dados
desta rede e a metáfora do Twitter incitam também aplicações artísticas, que podem utilizar estes
dados como inputs em sistemas de composição algorítmica ou na construção de modelos
computacionais generativos.
Um destes aplicativos com finalidade artística é o Ciberintervenção Urbana Interativa
(CIURBI), cuja proposta relaciona o espaço-tempo das cidades e os espaços cibernéticos em rede
através da exploração da estética da arte grafite no contexto da arte computacional. O CIURBI é um
projeto audiovisual completamente emergente: tanto o texto exibido quanto o som gerado depende
diretamente das interações realizadas via Twitter, e das inferências realizadas por meio de um
algoritmo de Inteligência Artificial (Barretto, 2010). Os tweets inseridos na rede social são captados e
transformados em som e imagem, que são, por sua vez, projetados em tempo-real em locais da
cidade. O aplicativo CIURBI captura os posts inseridos pelos usuários, quebra a mensagem em palavras
e as projeta sobre obras arquitetônicas. Além disso, alguns parâmetros do tweet controlam a síntese
de áudio enquanto que um algoritmo de lógica fuzzy controla a velocidade com que os parâmetros são
modificados (Venturelli, 2010).
5.2. Protocolo OSC
O Open Sound Control (OSC) é um protocolo de comunicação entre computadores,
sintetizadores de som e outros dispositivos multimídia utilizando a arquitetura cliente/servidor, cuja
especificação 1.0 foi publicada em 2002 (Wright, 2002). Os dados OSC são transmitidos em unidades de
dados chamadas packets. Qualquer aplicativo ou dispositivo físico que envia OSC packets é
denominado “cliente” enquanto aquele que os recebe é denominado “servidor” (Wright, 2003).
A unidade básica do OSC é a message, conforme mostrado na figura 3. Esta consiste em um
padrão de endereço (address pattern), uma string de especificação de tipo e argumentos. O padrão de
endereço é uma string que especifica a entidade ou entidades dentro do servidor OSC, para o qual, a
mensagem é endereçada. A string de especificação de tipo, denota o tipo de cada argumento,
enquanto os argumentos são os dados em si (Wright, 2002).
Figura 3: Estrutura de uma mensagem OSC, segundo (Schmeder et. al. 2010)
A possibilidade de enviar inúmeros parâmetros, com tipos distintos, permite que, através da
estruturação destes dados, seja possível não apenas controlar instrumentos virtuais, substituindo o
protocolo MIDI, como também a comunicação entre diferentes aplicações. O suporte do PD ao OSC se
dá através dos objetos sendOSC e dumpOSC que respectivamente enviam e recebem pacotes OSC.
Estes funcionam utilizando o protocolo UDP/IP 1. O objeto sendOSC é programado para enviar os
pacotes para um socket UDP (um IP e uma porta específica UDP). A recepção deste pacote é feita pelo
objeto dumpOSC que, por sua vez, instancia uma porta UDP e passa a monitorar eventuais mensagens
OSC endereçadas para esta porta. A cada mensagem recebida, o conteúdo é “desempacotado” e
endereçado internamente para os diversos objetos, através do routeOSC (Wright, 2003).
5.3. Processing
O Processing (http://processing.org/) é uma linguagem de programação de código-livre,
orientada-a-objeto e baseada em Java (www.java.com). Criada em 2001 por Casey Reas e Benjamin
Fry, para ensinar os fundamentos da programação dentro de um contexto visual, Processing relaciona
alguns conceitos de software, como: os princípios visuais, um ambiente de desenvolvimento e, uma
metodologia de ensino dentro de um sistema unificado. Isto permite que estudantes, artistas,
1
User Datagram Protocol (UDP) é um protocolo de rede da camada de
transporte, descrito na RFC 78 (http://tools.ietf.org/html/rfc768) que trafega sobre a
rede Internet Protocol (IP).
programadores e pesquisadores utilizem o Processing no aprendizado, pesquisa, prototipação e
produção artística (Reas, 2007).
A linguagem de programação utilizada no Processing foi especialmente projetada para gerar e
transformar imagens. Os métodos complexos utilizados no desenvolvimento de softwares que
trabalham com CG (Computer Graphics) foram abstraídos em métodos mais simples, que pudessem ser
compreendidos pelos estudantes. Exemplificando; para desenhar um retângulo, existe um método
simplificado chamado rect() para o qual especifica-se apenas a posição x e y, a largura e altura do
retângulo; não sendo necessário defini-lo linha-por-linha ou desenhá-lo ponto-por-ponto. Para o
desenvolvedor experiente, é possível criar bibliotecas Java e incorporá-las ao Processing como
“projetos”, ou importar o próprio Processing como uma biblioteca, num ambiente integrado de
desenvolvimento de software (Reas, 2007).
6. A Paisagem Visual (PV)
A PV foi desenvolvida utilizando o Processing, e também é baseada na metáfora dos cantos de
pássaros, do mesmo modo que o Twitter, e descrita por (Dorsey, 2009). Enquanto que, na PS esta
metáfora se expressa através de uma população de indivíduos – objetos sonoros da síntese de cantos
dos pássaros – na PV esta se expressa na visualização da animação computacional destes indivíduos
que se movimentam em um espaço virtual. Cada canto de pássaro existente na PS tem uma
representação visual correspondente em PV.
Considerando que a População tem muitos indivíduos, e estes irão interagir através de
processos evolutivos, fez-se necessário a utilização de um algoritmo capaz de mediar estas interações
visuais, da forma mais “natural” possível. Para tanto, foi empregado aqui o algoritmo Boids, de
simulação de comportamento de grupos de indivíduos, como o de animais sociais, desenvolvido por
(Reynolds, 1987). O movimento sincronizado de um grupo de animais, tal como um bando de pássaros,
possui várias peculiaridades. Estes são formados por indivíduos independentes porém a movimentação
geral durante o vôo é fluída e contínua; conceitualmente simples, porém visualmente complexa.
O movimento de bando pode ser definido de forma simplificada através de um modelo de
indivíduo que siga três regras: 1) Evitar a colisão: deve evitar a colisão com outros indivíduos próximos;
2) Equivalência de velocidade: deve tentar manter aproximadamente a mesma velocidade dos
indivíduos próximos; 3) Centro do bando: deve tentar manter-se sempre próximo do centro do bando.
Outras regras podem ser implementadas para aperfeiçoar o modelamento do comportamento do
bando, como por exemplo, os indivíduos: 1) seguirem um “líder”, 2) tentarem atingir um objetivo ou 3)
desviar de obstáculos ou “predadores”.
Estas regras foram utilizadas para modelar o comportamento do grupo de indivíduos que
integra o sistema de animação gráfica da PV. Afim de manter uma correspondência fidedigna entre PS
e PV, a sincronização é realizada através da troca de mensagens entre as partes (visual e sonora)
através do protocolo OSC. Cada animação descreve um formato em “V”, lembrando as asas de um
pássaro. Esta é formada pela mensagem (tweet) que define o genótipo deste indivíduo. A figura 4
mostra alguns exemplos das animações criadas em Processing, simbolizando os indivíduos da
população evolutiva que gera a PS.
Figura 4: Exemplo de três pássaros virtuais, cujas asas são formadas pelo texto das
respectivas mensagens (tweets) .
7. Discussão e Conclusões
Este trabalho apresentou os fundamentos de criação de um sistema computacional para a
criação de paisagens sonoras através do algoritmo evolutivo ESSynth, que se estende do campo sonoro
para o visual, através da implementação de um ambiente de simulação gráfica dos agentes formadores
da paisagem sonora, e sua representação sincrônica num ambiente computacional de paisagem visual.
A paisagem sonora criada por tal sistema é inspirada na rede social da natureza, gerada pelos pássaros,
através de seus cantos. Uma das características marcantes do ESSynth é criar uma textura sonora
similar e variante. Isto é dado por um conjunto de objetos sonoros que evoluem ao longo do tempo,
através dos processos computacionais que simulam a reprodução e a seleção, conforme observadas na
natureza, em populações biológicas. O som resultante de todos os objetos sonoros, é cognitivamente
similar, ao mesmo tempo que é acusticamente distinto.
Pelo que consideramos, esta é uma das características fundamentais das paisagens sonoras
naturais. Assim, o ESSynth possibilita gerar paisagens sonoras artificiais. Os objetos sonoros são os
indivíduos pertencentes ao conjunto de tamanho variável; a População evolutiva. Os indivíduos têm
um código genético que parametriza o processo de síntese sonora do modelamento físico da siringe.
Este genótipo é modificado pelo processo de reprodução e medido pelo processo de seleção. Assim,
estes indivíduos reproduzem em pares, gerando novos indivíduos, com características genotípicas
similares a de seus predecessores. Estes são selecionados com base na similaridade de seus genótipos,
com o da média da população. Os indivíduos têm um tempo de vida limitado. Quando um indivíduo
morre, seu genótipo é eliminado da população, e nunca mais se repete. Assim, não existem clones na
população evolutiva do ESSynth.
Neste trabalho, os indivíduos são instanciamentos do modelo de síntese sonora procedural de
cantos de pássaros. Utilizamos a adaptação em PD do modelo inicialmente criado por Hans Mikelson,
que simula a siringe. O modelo foi estendido por Andy Farnell, para incorporar a geração de frases
melódicas aleatórias, nos moldes que observamos os pássaros cantarem na natureza. Cada indivíduo
da População evolutiva de ESSynth é o instanciamento destes modelos físicos do canto de pássaros. Os
genótipos são dados por vetores de parâmetros destes modelos. Estes advêm de mensagens (tweets)
do Twitter, o que permite que a População de objetos sonoros de ESSynth passe de um sistema
fechado para aberto, caracterizando assim um CAS (Complex Adaptive Systems). Este é um sistema
complexo e aberto, que apresenta características auto-similares, formado por agentes (indivíduos)
independentes, mas que interagem entre si. O CAS apresenta propriedades emergentes, ou autoorganizadas, como são os sistemas naturais, criados pela evolução natural (Holland, 2006).
Deste modo, o sistema aqui apresentado permite a interatividade de múltiplos usuários
externos, que enviam mensagens para o sistema evolutivo, através do Twitter. Para criar a
realimentação entre o usuário e o sistema, foi desenvolvido um modelo de animação gráfica dos
indivíduos. Estes podem ser vistos pelos usuários que enviaram mensagens, na forma da metáfora
visual de uma animação lembrando o vôo de um pássaro, cujas asas são formadas pela mensagem
enviada. Assim, o usuário pode identificar a sua inserção no pool genético da população evolutiva. Com
isso, temos duas camadas de interatividade sistêmica; a interna e a externa. A interna, se dá pelos
indivíduos do ESSynth, que compõem a paisagem sonora, formada pela síntese dos diversos cantos de
pássaros, similares e variantes, e engendradas pelos processos evolutivos de reprodução e seleção. A
externa, é formada pelos tweets dos múltiplos usuários que alteram a composição genética da
população e (eventualmente) podem identificar visualmente os indivíduos que criaram e os
correlacionar com seus objetos sonoros correspondentes. Ambas esferas de interação são conectadas
pela metáfora do microblog Twitter; cujo desenvolvimento também se baseou na rede social formada
através dos cantos dos pássaros, que se auto-organizam em paisagens sonoras.
9. Referências
Akcora, C. G., Demirbas, M. (2010) "Twitter: Roots, Influence, Applications." Technical, Department of
Computing Science and Engineering, State University of New York at Buffalo, New York.
Barretto, F. P. (2010) "Arte Inteligente: Abordagens para o Desenvolvimento de Sistemas Criativos." In
Anais do 9º Encontro Internacional de Arte e Tecnologia, edited by Suzete Venturelli, 171-180.
Brasília.
Clarke, Julia A. (2004) "Morphology, Phylogenetic Taxonomy, and Systematics of Ichthyornis and
Apatornis (Avialae: Ornithurae)". Bulletin of the American Museum of Natural History 286: 1–179.
Dorsey, Jack. (2009) "Twitter creator Jack Dorsey illuminates the site's founding document." L.A. Times.
David Sarno. February 18, 2009. http://latimesblogs.latimes.com/technology/2009/02/twittercreator.html (accessed May 17, 2010).
Eiben, A.E., Smith, J. E., (2007) "Introduction to Evolutionary Computing". 2nd Ed., Springer, Natural
Computing Series.
Farnell, A. (2010) “Designing Sound”. MIT Press, Cambridge, Massachusetts, London, England.
Fornari, J., Maia, A., Manzolli J., (2008) “Soundscape Design Through Evolutionary Engines”. Journal of
the Brazilian Computer Society, 2008, Volume 14, Number 3, Pages 51-64
Fornari, J., Shellard, M., Manzolli, J. (2009) “Creating evolutionary soundscapes with gestural data”.
Article and presentation. SBCM - Simpósio Brasileiro de Computação Musical.
Holland, J. (2006) "Studying Complex Adaptive Systems." Journal of Systems Science and Complexity 19
(1): 1-8.
Java, A., X. Song, T. Finin, and B. Tseng. (2007) "Why We Twitter: Understanding Microblogging Usage
and Communities." Edited by Computer Science and Electrical Engineering. Procedings of the Joint
9th WEBKDD and 1st SNA-KDD (University of Maryland).
Manzolli, J., Verschure, P. (2005) “Roboser: A real-world composition system”. Computer Music Journal
29(3), 55–74. 2005.
Mikelson, Hans. (2000) Bird calls. Csound Magazine, Winter, 2000.
Moroni A., Manzolli, J., Von Zuben, F., Gudwin, R. (2000) “Vox populi: an interactive evolutionary
system for algorithmic music composition”. Leonardo Music Journal 10, 49–54.
Reas, C., Fry, B. (2007) “Processing: a programming handbook for visual designers and artists”. 1st
Edition. London: The MIT Press.
Reynolds, C. W. (1987) "Flocks, Herds, and Schools: A Distributed Behavioral Model." ACM SIGGRAPH
'87 Conference Proceedings. Anaheim - California: Computer Graphics: 25-34.
Schafer, M., R. (1994) “The soundscape: our sonic environment and the soundscape”. Destiny Books
Schmeder, A., A. Freed, and D. Wessel. (2010) "Best Practices for Open Sound Control." Linux Audio
Conference '10.
Venturelli, S., Barretto, F. P., Loch, C., Modesto, F., Valentim, V., and Ribeiro, R. (2010)
"Ciberintervenção Urbana Interativa." In Anais do 9º Encontro Internacional de Arte e Tecnologia,
edited by Suzete Venturelli, 89-93. Brasília.
Wiener, N. (1968) "Cibernética e sociedade: o uso humano de seres humanos". São Paulo: Cultrix.
Wright, M. (2002) “Open Sound Control 1.0 Specification”. http://opensoundcontrol.org/spec-1_0
(accessed May 17, 2011).
Wright, M., A. Freed, and A. Momeni. (2003) "OpenSound Control: State of the Art." Proceedings of the
2003 Conference on New Interfaces for Musical Expression (National University of Singapore): 153160.

Documentos relacionados