Escolar Documentos
Profissional Documentos
Cultura Documentos
Algorítmica
Rodolfo Coelho de Souza1, Regis Rossi Alves Faria1
1
Departamento de Música – Faculdade de Filosofia, Ciências e Letras de Ribeirão Preto
– Universidade de São Paulo
Av. Bandeirantes, 3900 – 14040-030 – Ribeirão Preto – SP – Brasil
rcoelho@usp.br, regis@usp.br
Resumo. Este artigo propõe que a criatividade na composição algorítmica é
uma propriedade emergente resultante de um processo simbiótico entre a mente
humana e um algoritmo computacional por ela inventado. A criatividade, como
propriedade emergente, é fruto de uma combinação inesperada (sob algum
ponto de vista) de elementos distintos, que, para ser percebida como um ato
criativo, deve passar por um processo de interpretação semiótica que permite o
reconhecimento de seu valor significante. Postula-se uma taxonomia de três
classes de algoritmos: os que usam regras de formação e Ars Combinatoria, os
que usam modelos evolutivos, e os que rejeitam as abstrações tradicionais da
música instrumental e trabalham o processo gerativo transformando a própria
forma da onda sonora. Dois exemplos são estudados para constatar a
emergência de propriedades criativas de um algoritmo.
Palavras-chave: composição algorítmica, criatividade musical, taxonomia de
algoritmos
Abstract. This paper proposes that creativity in algorithmic composition is an
emergent property that results from a symbiotic process between the human mind
and a computational algorithm invented by it. Creativity, as an emerging
property, is the product of a (somehow) unexpected combination of distinct
elements, that, to be perceived as a creative act, needs to go through a semiotic
process of interpretation which allows the recognition of its significant value.
This article postulates the taxonomy of three classes of algorithms: the first class
uses formative rules and Ars Combinatoria, the second employs evolutionary
models, and the third substitute generative processes that transform directly the
sound waveform for the traditional abstractions of instrumental music. Two
examples are analyzed to verify the creativity properties that emerge from an
algorithm.
Key-words: algorithmic composition, musical creativity, taxonomy of algorithms.
Introdução
“Computadores fazem arte, artistas fazem dinheiro.
Computadores avançam, artistas pegam carona.
Cientistas criam o novo, artistas levam a fama.”
(letra de canção de Chico Science e Nação Zumbi)
O problema que buscamos responder deve ser equacionado num plano mais
conceitual do que pragmático: um programa de computador pode ser criativo? Ele pode
compor uma música de fato original1?
Para prosseguir é preciso definir primeiro o que seja criatividade e como medi-la.
Mas não precisamos enveredar por essa senda porque há um amplo corpus de literatura
sobre o tema que estabelece fundações sólidas sobre as quais podemos construir nosso
argumento. Boden resume suas influentes pesquisas na área da criatividade com a seguinte
definição: “criatividade é a habilidade de gerar idéias ou artefatos que sejam novos,
surpreendentes e valiosos” (Boden, 2010, p.29; itálicos da autora). Tomamos esta
afirmação de Boden como ponto de partida de nosso estudo.
1
A distinção é necessária uma vez que, segundo Boden (2010, p.30), a criatividade psicológica não implica
em originalidade, mas a criatividade histórica, sim.
O objetivo deste artigo é refletir sobre a natureza, a nosso ver ainda
insuficientemente estudada, das propriedades criativas que podem eventualmente emergir
durante um processo de composição algorítmica. De início será necessário fazer uma
revisão de alguns aspectos teóricos da questão, antes que possamos relatar e analisar as
experiências sobre as quais baseamos nossas conclusões.
O reconhecimento da criatividade
A criatividade pode ser vista sob a forma de uma propriedade emergente que é observada
a partir da combinação imprevista de elementos distintos. A atribuição de alguma
qualidade criativa ao novo elemento é, entretanto, um processo que ocorre nos domínios da
mente humana, estando correlacionado à interpretação da significação do novo elemento.
A figura 1 abaixo sugere que a combinação de dois ou mais elementos distintos produz um
novo elemento que é diferente da mera soma dos componentes que lhe deram origem. É
nesse novo elemento que a criatividade é observada.
propriedade
emergente
observação
criatividade interpretação
valoração
novidade
surpresa
Figura 1: A emergência da criatividade num processo de síntese (à esquerda) e de
análise/interpretação (à direita). Enquanto o primeiro se processa de forma independente,
como resultado da ação da máquina, o segundo se processa dentro dos domínios da mente
humana.
Boden propõe ainda quatro questões importantes para a reflexão sobre a natureza
da criatividade artificial, as quais ela batiza de Questões de Lovelace, numa referência às
argumentações precursoras de Ada Lovelace acerca da inerente limitação do computador
em fazer somente o que seu programa permite. A primeira questão é se idéias
computacionais podem nos ajudar a entender como a criatividade humana funciona. A
segunda questão é se os computadores (agora ou no futuro) podem fazer coisas que pelo
menos pareçam ser criativas. Boden considera que as respostas para estas duas primeiras
questões são “sim”. Primeiro porque as idéias computacionais podem realmente nos ajudar
a compreender como a criatividade humana é possível, a despeito de ela ser previsível ou
não. Quanto à segunda questão, há exemplos documentados de programas que, mesmo
sujeitos a questionamentos e contestações, parecem ser – e para esta questão isto basta –
criativos em suas produções. Não se pode esquecer que a avaliação da criatividade em
qualquer caso pressupõe uma teoria ou modelo de referência para o pensamento criativo
em que se basear. A lista de exemplos de programas que muitos consideram ser criativos
ou capazes de produzir alguma novidade (embora limitações possam ser identificadas sem
muitas dificuldades) inclui programas que desenham (ex: AARON, de Harold Cohen), que
criam músicas novas seguindo (ou imitando) estilos musicais reconhecidos (ex: EMMY,
de David Cope), que criam piadas (ex: JAPE, Joke Analysis and Production Engine, de
Kim Binsted), que improvisam em tempo real tocando com um instrumentista (ex:
IMPROVISOR de Paul Hodgson), somente para mencionar alguns dos exemplos
analisados por Boden (Boden, 2004).
Por outro lado, ainda que não se veja um computador propor uma teoria, eles são
fenomenais quando se trata de validar uma hipótese ou implementar uma solução. Porém
nem a própria validação ou refutação de uma teoria os computadores são capazes de fazer.
A interpretação dos dados, confirmando ou negando uma hipótese, depende sempre de
decisões humanas ex-machina, ainda que os critérios decisórios possam ser inseridos no
algoritmo.
Turner destaca outro ponto do nosso problema: “todos reconhecemos que soluções
criativas devam ser originais [...] mas as diferenças também devem ser significativas. [...]
A novidade significante distingue uma solução criativa de outras que são apenas
adaptações de soluções antigas” (Turner apud Cope, 2005, p.9).
Ora, a música, como qualquer outra linguagem humana, tem todos os três níveis
operacionais acima mencionados. Por isso um computador consegue auxiliar o compositor
nos níveis icônicos e indiciais da linguagem musical, mas não no nível do simbolismo
peirceano. Entretanto a organização formal do discurso musical – motivos, fraseologia,
morfologia – pertence ao campo simbólico, assim como os processos de significação
musical – referências, intertextualidade, tópicas, etc. Sem eles a música não alcança sua
completude como linguagem. Mas isso, é claro, depende de estarmos adotando uma
concepção quiçá conservadora sobre o que é música. Se aceitarmos uma definição aberta,
ao estilo de John Cage, de que qualquer fenômeno sonoro pode ser entendido como
música, então o computador seria sim capaz de realizar composições acabadas e nossos
programas já são plenamente criativos. Mas essa abordagem também esgarça todos os
critérios de valoração das obras musicais e nosso problema se dissolve no ar: compor
algoritmicamente porquê e para quê, se qualquer sucessão de sons for considerada
musicalmente interessante? Nesse caso seria suficiente abrir a janela e ouvir os sons da
natureza em vez de perder tempo na frente de uma tela de computador.
Encontra-se em Gareth Loy uma reflexão acurada sobre esse problema. Diz ele:
Isso levou nossa pesquisa a postular uma terceira categoria de algoritmos gerativos.
Ela se diferencia das duas categorias anteriores pelo tipo de objeto que se propõe a
manipular e não necessariamente pelo método de manipulação. Em suma, ela decorre da
distinção clássica entre matéria e forma, tomando a perspectiva da matéria. Os algoritmos
gerativos dessa terceira categoria prescindem do conceito de nota como noção abstrata
estruturante e se dedicam a gerar diretamente a forma da onda sonora em representação
digital. Qual o ganho que esses algoritmos representam? Em primeiro lugar consideremos
que uma condição necessária à atribuição de algum grau de criatividade inovadora ao
trabalho executado pela máquina é que as contribuições desta estejam além do que o
homem consegue fazer. É plausível imaginar que a máquina exiba criatividade onde e
quando ela faz coisas que o homem não pode fazer, a despeito de que o reconhecimento de
qualquer criatividade ainda estará sujeita à interpretação e aceitação pelo homem. Ora, a
manipulação digital das qualidades intrínsecas do som musical é uma tarefa que demanda
controle de uma quantidade de informações tão grande e de tal complexidade que este
paradigma surge como uma oportunidade ideal para o desenvolvimento de novos
algoritmos gerativos.
A composição algorítmica encontra aqui um limite em que ela se torna quase que
indistinta da técnica da síntese sonora, por ambas operarem no nível da forma de onda. Um
bom exemplo disso é o trabalho de Roads sobre micro-sons (Roads, 2001) que detalha
alguns algoritmos em que a geração do som tem o potencial de se tornar a própria geração
de parte de uma música acabada. Continuaremos a elaborar este tópico quando analisarmos
um fragmento do Concerto para Computador e Orquestra de Coelho de Souza.
2
A gravação desta peça encontra-se disponível no primeiro volume da coleção Música Eletroacústica
Brasileira editada pela Sociedade Brasileira de Música Eletroacústica (CD SBME 001, 1996).
velocidades, de modo que, não só respondia a dinâmicas, como permitia certo grau de
variação do timbre, em função da característica do ataque e da não-linearidade
psicoacústica na percepção das oitavas, variações certamente de amplitude limitada, mas
que conferiam alguma diversidade de timbre ao resultado final.
Naquela época a pesquisa sobre fractais estava na moda. Um encontro em Nova
York com o pesquisador e compositor Charles Dodge e o subsequente convite para que ele
participasse da Bienal de Artes de São Paulo de 1989, despertou o interesse de Coelho de
Souza pelo tema da música fractal, a partir de um artigo escrito por Dodge (1988).
Metrópolis de fato não leva às últimas conseqüências as implicações da matemática fractal,
apenas se inspira em algumas de suas características formais. As experiências iniciais logo
comprovaram que as dificuldades de implementação de uma peça integralmente fractal
eram insuperáveis com a tecnologia disponível na época. Optou, por isso, por um
compromisso parcial com o pensamento fractal no que ele sugere a possibilidade de
relações entre números irracionais, projetados sobre as proporções rítmicas, e quanto ao
uso do princípio da auto-similaridade, que poderia evocar as técnicas clássicas da imitação
e da transformação motívica. O princípio da auto-similaridade fractal utilizado baseava-se
na formulação de Stevens (1989, p.26) que postula: “a maioria dos fractais é auto-similar,
de modo que a forma que identificamos no desenho de uma curva fractal repete a si
mesmo em uma escala cada vez menor à medida que alargamos a imagem mais e mais.”
Na Figura 2 ilustramos a simulação de um princípio fractal no nível rítmico de
Metrópolis. Esta figura apresenta a transcrição, em notação musical, da lista de dados
MIDI de quatro passagens produzidas pelo algoritmo de geração da peça. Esses momentos
aparecem em seções sucessivas da peça, representando um mergulho progressivo em
texturas cada vez mais densas. O projeto da peça propõe que ela se auto-recicle em
sucessivas variações progressivas dos mesmos materiais. A cada novo ciclo, o algoritmo
gerativo calcula a inserção de uma imagem proporcional da cadeia original, ritmicamente
diminuída, que é aplicada sobre a nota, ou notas, de maior duração. Note-se que, embora
as classes de alturas das notas inseridas permaneçam as mesmas, sua ordem, suas
dinâmicas e seus registros são alterados por cálculos de permutação. As dinâmicas,
escalonada em cinco gradações (p, mp, mf, f, ff), aparecem convertidas em números de 60
a 100 que indicam velocidades de ataque.
Figura 2. Progressão da diminuição fractal em quatro seções sucessivas de Metrópolis
Podemos postular então que a constatação de que existe um limite perceptivo para
o processo de diminuição rítmica pseudo-fractal, qual é esse limite, e como atingi-lo com
um propósito musical, constituem a propriedade emergente criativa propiciada pelo uso de
um algoritmo. Na música do passado os processos de diminuição estavam limitados pela
capacidade de coordenação motora do executante. Experiências com instrumentos
mecânicos, como os Estudos para pianola de Conlon Nancarrow, expandiram esses
limites, mas também prenunciaram a existência de barreiras intransponíveis. O algoritmo
de Metrópolis concretiza esse limite, que depende apenas da percepção humana e não da
técnica de geração de novos eventos de duração cada vez mais curta. A tentativa de um
quinto nível fractal, para além dos quatro implementados na peça, demonstrou-se inviável
para a capacidade de decodificação do ouvido humano.
De acordo com Boden (2010, p.1) “os três caminhos para a surpresa são as três
formas de criatividade: combinatória, exploratória e transformacional”. Pode-se
reconhecer que o programa de computador que gerou Metrópolis atuou nesses três níveis.
As operações algorítmicas de permutação na ordem e no registro das notas, assim como de
suas dinâmicas, inseridas nas sucessivas variações incrementaram a qualidade das texturas
sonoras da peça, o que pode ser considerado um ganho criativo combinatório. Entretanto
há que se reconhecer que isso poderia ter sido feito pelo compositor, bastando que
dedicasse tempo suficiente à tarefa. Não fosse pelo volume de dados gerados, essa tarefa
seria quase trivial. Nesse caso o computador realizou aquilo que, como se sabe, ele faz
melhor que o homem: lidar com grande quantidade de dados, em tarefas repetitivas,
viabilizando a obtenção de resultados em curto tempo.
Esta análise demonstra que a criatividade algorítmica não está localizada apenas no
programa, mas nos resultados de “uma simbiose entre o cérebro humano e o algoritmo
computacional por ele criado, interagindo em processos que buscam uma autonomia de
expressão” (McCormack, et al. 2009, p.354). Enfim, o que se reconhece é uma extensão
das habilidades criativas humanas que não existiria sem a participação do processamento
algorítmico de um computador.
Um compositor com esse tipo de interesse, afirma Wishart (2009, p.155), “se
compraz com a possibilidade de descobrir novas maneiras (algorítmicas) de produzir e
transformar materiais sonoros, uma vez que isto cria novas possibilidades formais para a
composição musical”. Cremos que isso não é essencialmente diferente do que terá sido
para Beethoven exercitar sua competência instrumental com as primeiras gerações de
pianos, desenvolvendo, na interação com eles, uma nova linguagem composicional.
Selecionamos um fragmento do Concerto para Computador e Orquestra3 (2000)
de Coelho de Souza como um segundo caso de estudo para se verificar a emergência de
propriedades criativas de um algoritmo. Em sua composição foram utilizados os chamados
instrumentos complexos de Csound que viabilizam uma abordagem probabilística da
composição algorítmica através da ferramenta Csound4. Apesar de Pinkston (2000, p.352)
considerar que tais “instrumentos de música aleatória controlada provavelmente não sejam
a melhor maneira para se gerar composições algoritmicamente”, entendemos, pelo
contrário, que eles oferecem um paradigma bastante eficiente para a integração do
pensamento composicional algorítmico com a manipulação integral das características do
som. Pinkston certamente tinha em mente apenas o modelo da composição com notas.
Por outro lado, estes instrumentos, ainda segundo Pinskton, apresentariam sérias
limitações para a geração de eventos múltiplos porque seus mecanismos de controle de
disparo “timout/reinit” não permitem sobreposições. Efeitos de síntese granular ou
composições polifônicas estariam, portanto, fora do alcance desses instrumentos, embora
fossem rotineiramente sintetizáveis com outros recursos de Csound. Na observação final
de seu texto, Pinkston sugere, porém, que o uso de múltiplas cópias desses instrumentos
possivelmente permitiria superar esse obstáculo. Essa sugestão certamente baseou-se nas
experiências para o Concerto para Computador e Orquestra, que se realizavam, naquele
momento, sob sua supervisão. De fato diversas passagens de composição utilizam uma
variedade de soluções algorítmicas que comprovam a viabilidade da hipótese de se realizar
polifonias de instrumentos complexos.
3
A gravação desta peça encontra-se disponível no CD Rodolfo Coelho de Souza (1952) – Obras para
Instrumentos e Sons Eletrônicos da Série Música na Universidade Federal do Paraná (CDGA001, 2002).
4
O programa de acesso livre Csound é usado para gerar sons através da manipulação digital direta da forma
da onda. Para mais informações consultar Boulanger (2000) em que está o capítulo de Pinkston citado.
Figura 3. Espectrograma (acima) e Sonograma (abaixo) do output do instrumento Csound
“Bellchimes” do anexo 1. Em seus 18s de duração, podemos ver no sonograma a evolução da
densidade textural e as características morfológicas dos grãos, em que predominam os
ataques. No espectrograma pode-se constatar a ampla distribuição de frequências das
fundamentais aparentes e a predominância de componentes inarmônicos. A propriedade
criativa emergente é a complexidade espectro-morfológica desta amostra que só poderia ter
sido concebida através de recursos algorítmicos.
O anexo 1 traz um programa em Csound, do tipo “instrumento complexo”,
utilizado para aquela obra, que sintetiza uma textura de densidade variável em que os
eventos individuais que a compõem, gerados algoritmicamente, apresentam significativas
variações de todos os parâmetros do som, não só os convencionais – como alturas,
durações e dinâmicas – mas também outros relacionados a qualidades do timbre. Este
fragmento eletroacústico sobrepõe-se, na audição da obra acabada, a eventos instrumentais
ao vivo.
Conclusões
Se, por um lado, ainda não temos uma resposta conclusiva à pergunta “pode um
computador realmente exibir criatividade intrínseca?”, por outro lado parece certo que já
podemos responder positivamente a uma versão mais restrita dessa questão: projetos que
realizam uma simbiose entre a mente humana e a capacidade lógica do computador de fato
permitem a geração de produtos em que podemos reconhecer qualidades criativas. Essas
qualidades estão diretamente relacionadas a propriedades que emergiram da interação
entre a mente humana e a “mente” computacional. A soma das duas é capaz de criar coisas
com características novas que não teriam existido sem essa parceria. Do ponto de vista
pragmático isso justifica o esforço empregado em pesquisas na área, ainda que a utopia da
criatividade computacional intrínseca possa nunca ser alcançada.
Entre os paradigmas que tem produzido resultados convincentes enfatizamos a
categoria que trabalha processos de composição algorítmica interligados à síntese sonora
direta. Essa concepção de composição algorítmica, que abdica de reduções formais
clássicas, como o princípio da nota musical, favorece a exploração das capacidades
idiomáticas do computador porque opera sobre quantidades de dados que requerem uma
velocidade de processamento muito acima das habilidades humanas. As experiências
analisadas neste artigo apontam que resultados mais satisfatórios de criatividade
algorítmica são obtidos quando se caminha nessa direção.
Referências
;"BELLCHIMES.ORC"
instr 1
idurph = p3 ;duration of the phrase
iamp = p4 ;average amplitude of +-1.5*iamp
ipch = p5 ;average pitch
ipchrng = p6 ;range of variation of pitches in %octave
idens = p7 ;density factor: 0.5(denser)-->3(less dense)
ilfac = sqrt(p8) ;left panning factor
irfac = sqrt(1-p8) ;right panning factor
iatack = p9 ;envelope: attack proportion
idecay = p10 ;envelope: decay proportion
iseed1 = p11 ;seed 1 for random generation
iseed2 = p12 ;seed 2 for random generation
iseed3 = p13 ;seed 3 for random generation
iseed4 = p14 ;seed 4 for random generation
iseed5 = p15 ;seed 5 for random generation
kgateph linen iamp,iatack*idurph,idurph,idecay*idurph ;phrase envelope
idurnt init .1
kcycle randh 24.5,1,iseed1 ;kcycle=-24.5...+24.5
kcycle = kcycle+25 ;kcycle= +0.5...+49.5
kcycle = kcycle/idens
kdurnt = 4/kcycle
reset: idurnt = i(kdurnt)
timout 0,idurnt,contin
reinit reset
contin:
kgate expon 1,idurnt,0.0000001 ;note envelope
rireturn
kgatent = kgate*kgateph
;randon variation for note amplitude
kvramp randh .5,kcycle,iseed2
kgatent = kgatent*(1+kvramp)
;generating randon pitches around average pitch
kvroct randh ipchrng,kcycle,iseed3
iaveoct = octpch(ipch)
knoteoct = iaveoct+kvroct
knotecps = cpsoct(knoteoct)
;generation of randon fmod1 in the range 5...105
kfmod1 randh 1,kcycle,iseed4
kfmod1 = (((kfmod1+1)*100)+10)/2
;generation of randon deviation in the range 10...30
kdev randh 1,kcycle,iseed5
kdev = (2+kdev)*10
amod1 oscili kdev,kfmod1,1
amod2 oscili kdev,amod1,1
afreq = amod2+knotecps
aout oscili kgatent,afreq,1
outs aout*ilfac,aout*irfac
endin
;"BELLCHIMES.SCO"
f01 0 512 10 1 .25 .1 .05
f02 0 8192 10 1
f03 0 512 10 1 .5 .33333 0 .2 .16667 .14286 0
.11111 .1000 .090909 0 .07692 .071428 .06667 0 0.05882
f04 0 513 7 0 512 1
f05 0 512 10 1 0 0.1111 0 0.04 0 0.0204 0
0.01234 0 0.00826
t00 80
;instr start durphr amp pitch pchrang density ilfac iatack idecay iseed1 iseed2
iseed3 issed4 iseed5
i01 0 24 4000 8.50 1 0.9 .3 .25 .075 .129548 .234398
.344579 .453462 .015688
i01 0 24 5000 8.70 1.2 1.1 .7 .25 .075 .660944 .782485
.894622 .952341 .563547
i01 4 16 15000 8.80 1 .7 .5 .22 .23 .11111 .22222
.33333 .44444 .9999
i01 4 16 15000 8.90 2 1.2 .75 .15 .16 .563547 .660944
.782485 .894622 .952341
i01 5 14 15000 7.78 1 1.1 .5 .24 .23 .9999 .11111
.22222 .33333 .44444
i01 5 14 15000 7.92 2 .9 .7 .17 .13 .952341 .563547
.660944 .782485 .894622
i01 6 12 13000 6.83 1 .8 .55 .27 .24 .44444 .9999
.11111 .22222 .33333
i01 6 12 13000 6.61 1.5 1.2 .35 .14 .15 .344579 .453462
.015688 .129548 .234398
i01 6 12 13000 6.96 2 1.3 .65 .13 .16 .894622 .952341
.563547 .660944 .782485
i01 8 8 10000 4.79 1 .8 .65 .26 .22 .22222 .33333
.44444 .9999 .11111
i01 8 8 10000 4.87 2 1.2 .7 .16 .14 .660944 .782485
.894622 .952341 .563547
e