Escolar Documentos
Profissional Documentos
Cultura Documentos
o Uso de Algoritmos
Eduardo Dias Camaratta, Leonardo Garcia Fischer
Instituto de Informtica Universidade Federal do Rio Grande do Sul (UFRGS)
Caixa Postal 15.064 91.501-970 Porto Alegre RS Brasil
{edcamaratta,lgfischer}@inf.ufrgs.br
1. Introduo
A criatividade essencial para a criao de arte. Dentre as diversas formas de arte, a
msica destaca-se, sendo a mais difundida. E, por tocar no intelecto e na emoo
humana, a composio de msica por computador um desafio s reas de pesquisa em
inteligncia artificial e computao musical. Esse desafio to grande que, ainda hoje,
poucos foram os avanos na rea de simulao convincente da criatividade.
Dentre as diversas reas de pesquisa em cincia da computao, sempre houve
um foco especial implementao de sistemas com intuito de simular a inteligncia e
criatividade humana. A inteligncia artificial sempre se preocupou com o
desenvolvimento de sistemas que ajudem a resolver problemas, do mesmo modo como
os humanos raciocinam sobre o assunto. Outra rea pesquisada pela inteligncia
artificial a simulao da criatividade humana pelo computador.
Por outro lado, a utilizao de algoritmos para a composio de msica j
realizada desde muito antes da popularizao dos computadores. Tais algoritmos, apesar
de no simularem a criatividade, auxiliaram muito a criao de melodias. Mozart e John
Cage so exemplos de msicos que utilizaram algoritmos para compor algumas de suas
obras.
Portanto, algoritmos podem ser teis na composio de melodias, mesmo
quando implementados das mais diversas formas. E, com o desenvolvimento e
2. Histrico
Dentre as diversas possibilidades de diviso histrica do uso de algoritmos para a
criao de msica, podemos dizer que a popularizao do computador representa um
grande marco para a composio algortmica. Isso devido ao fato que o uso do
computador permitiu o uso de novos algoritmos baseados em conceitos matemticos de
grande complexidade, tal como o uso de fractais, alm do fato de o computador ser
naturalmente algortmico. Apesar de tudo, devemos destacar que o surgimento do
computador no extinguiu o uso de algoritmos sem o uso de computador, mas apenas
abriu um novo leque de possibilidades.
2.1. Histrico Pr-Computador
Desde a Grcia antiga so utilizados processos e formalismos para criao de msica.
Pitgoras, por exemplo, acreditava que a msica era inseparvel dos nmeros. Ptolomeu
e Plato traaram relaes da msica com o movimento dos planetas, idia que ressurgiu
na idade mdia, com Shakespeare e Milton.
Apesar de os matemticos gregos terem criado sistemas musicais com os quais o
msico se guiava, a performance era quase totalmente improvisada. No entanto, apesar
da msica grega antiga no ter suas origens de natureza algortmica, a sua importncia
nesse estudo inegvel pela sua tendncia em processos formais no humanos.
A msica cannica no sculo XV deu uma nova viso a esse assunto, com a
introduo de regras que davam instrues de como os cantores deveriam prosseguir.
Era um tipo de algoritmo e, ao contrrio do que os gregos imaginavam, ficou claro que o
compositor estava sendo removido de grande parte do processo de composio, no qual
ele apenas criava o ncleo da msica e o restante era construdo automaticamente.
Em 1787, Mozart criou uma espcie de jogo para a criao de melodias. Nele,
dados eram jogados e ento se escolhia aleatoriamente pequenos pedaos de
composies pr-prontas, de forma a criar uma nova melodia. John Cage tambm
utilizou algoritmos em suas composies. Em sua obra intitulada Atlas Eclipticalis ele
sobreps uma partitura sobre um atlas astronmico, colocando as notas nos pontos onde
as estrelas do atlas apareciam.
Modelos matemticos;
Gramticas;
Mtodos evolucionrios;
Sistemas de aprendizado;
Sistemas hbridos.
uma composio pouco expressiva (gerada a partir de um outro mtodo, por exemplo),
adicionar ou modificar trechos, de modo a torn-la mais expressiva.
Assim, o mtodo consiste em analizar trechos de composies j realizadas,
encontrar notas de entrada semelhantes a esse trecho, e ento modificar um outro trecho
de entrada, de forma a se tornar semelhante aos trechos encontrados. Desse modo, uma
nota de entrada modificada para que possua semelhanas trechos dos trabalhos j
feitos.
Um exemplo de sistema implementado com este mtodo o SaxEx. Ele
implementa um Sistema Baseado em Casos em trs passos. O primeiro a obteno,
onde uma srie de notas ou trechos similares uma composio original so
selecionados. O segundo a adaptao, onde o sistema decide as modificaes a serem
feitas nas notas selecionadas no primeiro passo, e a melodia composta. Por fim, o
resultado obtido incorporado base de problemas j resolvidos.
O primeiro e o segundo passos so implementados com a ajuda de modelos
baseados em espectro, de forma a extrair informaes de expressividade do trecho
analisado (como a dinmica, vibrao, articulao e ataque). Um exemplo de modelo
baseado em espectro o SMS (Spectral Modeling Synthesis). Este modelo permite a
manipulao dos parmetros da msica citados, sem perda de qualidade.
Deste modo, o SaxEx consegue analisar composies j realizadas, compar-las
com as notas de entrada, e ento modific-las para compor uma nova melodia.
3.3 Gramticas
A gramtica pode ser utilizada para composio de msica. A partir de uma gramtica
musical, podemos definir as regras que regem o possvel desenvolvimento da msica.
Tambm possvel adicionar gramtica elementos que coordenem caractersticas da
msica, tal como o ritmo e a harmonia.
Diversos tipos de gramticas podem ser utilizadas para a composio de msica.
Utilizando uma abordagem baseada em gramticas de Chomsky regulares, sensveis ao
contexto e livres do contexto, a msica composta a partir da gramtica, e durante a sua
reproduo, cada um dos smbolos da string formada deve ser substituido pelas notas ou
acordes correspondentes. Utilizando linguagens livres do contexto, tambm possvel
se trabalhar em n dimenses, de forma que cada dimenso possa representar um atributo
particular da msica.
Existem outros modelos de gramtica, que tambm podem ser adaptados para a
composio musical, do mesmo modo que as gramticas de Chomsky podem ser.
Lindenmayer props, em 1968, um modelo de gramtica, chamdo L-System. Os LSystems so baseados em gramticas livres do contexto, com a adio de um axioma,
adicionado s produes possveis. Esse axioma tem a forma . Com isso, a
derivao de uma string pode ser feita em paralelo, em at um nmero pr-determinado
de nveis. A string gerada com at n nveis interpretada como informao msical,
gerando a composio. Uma das caractersticas dos L-Systems a gerao de strings
com um certo grau de repetio, uma caracterstica comum s composies musicais.
Existem outras estenses aos L-Systems, que podem ser utilizadas na
composio musical. Com L-Systems paramtricos, podemos associar nmeros ao
smbolos, de forma que possam ser interpretados durante derivao da string. Outras
extenses, com L-Systems diferenciais (Differential L-Systems) ou L-Systems
hierrquicos (Hierarchical L-Systems) tambm podem ser utilizados para a composio
musical.
Nos L-Systems hierrquicos, a derivao de um simbolo pode resultar em uma
outra gramtica, com as suas prprias regras de derivao. A derivao da nova
gramtica derivada ocorre de forma independente da primeira gramtica. Porm, a
primeira gramtica pode passar parmetros gramtica que derivada. Desse modo, a
derivao naturalmente hierarquica da gramtica facilita a construo da estrutura da
msica.
Um outro tipo de gramtica so as gramticas estocsticas. Nelas, atribumos
uma probabilidade cada regra de derivao. Ento, as derivaes so feitas de forma
aleatria, considerando as probabilidades utilizadas. Um exemplo de uso desse tipo de
gramtica a criao de cadeias de Markov que, conforme citado no item 3.1, tambm
podem ser utilizados para a composio de msica.
3.4 Mtodos Evolucionrios
Os mtodos evolucionrios para criao de msica so baseados em algoritmos
genticos. A composio feita atravs de conceitos do processo evolucionrio. Atravs
de mutao e seleo natural, diferentes solues convergem para uma pea musical. A
ao interativa do algoritmo corta solues ruins e cria boas novas solues atravs dos
indivduos sobreviventes ao processo de evoluo. Nesses mtodos o resultado
observado por um crtico, uma parte vital do algoritmo, que controla a qualidade das
composies criadas.
Um dos primeiros trabalhos nessa rea foi a linguagem procedural Flavors Band
(1984), baseada em LISP, para estilos especficos de Jazz e msica popular. Ela permite
a gerao de partituras em um estilo pr-determinado, atravs de modificaes em uma
partitura fornecida como entrada. Permite tambm a combinao de funes randmicas
e parmetros musicais para gerao de variaes de improvisao.
Biles, em 1994, construiu um sistema (GenJam) que modelava um msico de
Jazz aprendendo a improvisar, atravs de algoritmos genticos. Um crtico humano
deveria calibrar as funes de avaliao atravs da atribuio de notas para as
improvisaes. Papadopoulos e Wiggins tambm utilizaram algoritmos genticos para
criar improvisaes de melodias de Jazz em determinadas progresses. Ao contrrio do
GenJam, esse programa incluia uma funo de avaliao que classificava a melodia
improvisada em oito diferentes aspectos, como durao de notas, intervalo entre as
notas e contorno meldico.
Em 2001, Franklin usou redes neurais para aprender como improvisar solos de
Jazz, a partir de improvisaes solo do saxofonista Sonny Rollins. Um outro algoritmo
de aprendizado era utilizado como reforo para o comportamento da rede neural. A
funo de recompensa avaliava o solo em termos de harmonia do Jazz e do estilo de
Rollins.
Tambm em 2001, Thom, com o sistema Band-Out-of-a-Box (BoB), posicionou
o problema de improvisao em tempo real entre o msico e seu sistema. O sistema era
5. Concluses
De uma forma geral, todos os modelos estudados no conseguem colocar expressividade
nas composies de uma forma eficaz. Isso, logicamente, devido ao fato de ser de
grande complexidade a implementao de sentimentos, emoes e intenes.
Porm, todos os mtodos tentam, de alguma forma, diminuir a artificialidade das
msicas geradas por computador.
5. Referncias
Gil, M. Gmez-Zamalloa; Sistema
Aproximaciones Preliminares
de composicin
musical
automtica -