Você está na página 1de 158

M

usica Evolutiva: Uma Abordagem


Computacional para Composic
ao
Algortmica

Alan Robert Resende de Freitas


Universidade Federal de Ouro Preto

Dissertacao submetida ao
Instituto de Ciencias Exatas e Biologicas
Universidade Federal de Ouro Preto
para obtencao do ttulo de Mestre em Ciencia da Computacao

F866m

Freitas, Alan Robert Resende de.


Msica evolutiva [manuscrito] : uma abordagem computacional para composio
algortmica / Alan Robert Resende de Freitas. 2011.
xxviii, 128 f.: il. color.; grafs.; tabs.
Orientador: Prof. Dr. Frederico Gadelha Guimares.
Dissertao (Mestrado) - Universidade Federal de Ouro Preto. Instituto de Cincias
Exatas e Biolgicas. Departamento de Computao. Programa de Ps-graduao em
Cincia da Computao.
rea de concentrao: Otimizao e Inteligncia Computacional.
1. Composio musical por computador - Teses. 2. Algoritmos genticos - Teses.
3. Inteligncia artificial - Inteligncia computacional - Teses. 4. Inteligncia artificial Computao evolucionria - Teses. I. Universidade Federal de Ouro Preto. II. Ttulo.
CDU: 004.421:78.02

Catalogao: sisbin@sisbin.ufop.br

CDU: 669.162.16

ii

Dedico este trabalho a meus pais, Francisco e Maria L


ucia, ambos exemplos de
coragem, determinacao e bondade para minha vida.

iii

iv

M
usica Evolutiva: Uma Abordagem Computacional para
Composic
ao Algortmica
Resumo

Este trabalho descreve uma abordagem para composicao algortmica baseada em algoritmos geneticos. Sao desenvolvidos dois modulos principais, que sao os geradores
melodico e harmonico. Um dos maiores problemas quando se usa algoritmos geneticos
para evoluir melodias e criar uma medida esteticamente consciente de fitness. Neste
trabalho, descreve-se uma nova abordagem com uma medida mnima de fitness na qual
um conjunto de boas melodias e retornado no fim do processo. Logo depois, uma abordagem multiobjetivo e usada para harmonizacao da melodia. O algoritmo evolucionario
multiobjetivo define mudancas de acordes com diferentes graus de simplicidade e dissonancia. Experimentos foram feitos e comparados a julgamento humano dos resultados.
As descobertas sugerem ser possvel desenvolver funcoes de fitness que refletem intencoes
humanas para m
usica.

vi

Evolutionary Music: A Computational Approach for


Algorithmic Composition
Abstract

This work describes an approach for algorithmic composition based on genetic algorithms. Two main modules are described, which are the melodic and harmonic generators. One of the greatest problems when using genetic algorithms to evolve melodies is
creating an aesthetically conscious measure of fitness. In this work, we describe a new
approach with a minimum measure of fitness in which a set of good melodies is returned
at the end of the process. Afterwards, a multiobjective approach is used for melody
harmonization. This multiobjective evolutionary algorithm defines chord changes with
diering degrees of simplicity and dissonance. Experiments were held and compared to
human judgment of the results. The findings suggest that it is possible to devise fitness
functions which reflect human intentions for music.

vii

viii

Declarac
ao

Esta dissertacao e resultado de meu proprio trabalho, exceto onde referencia explcita e
feita ao trabalho de outros, e nao foi submetida para outra qualificacao nesta nem em
outra universidade.

Alan Robert Resende de Freitas

ix

Agradecimentos

Agradeco a todos que me ajudam direta ou indiretamente neste trabalho.


Agradeco a meus pais, pela paciencia.
Agradeco a minha famlia, pelo aconchego.
Agradeco aos professores, pela preocupacao.
Agradeco aos amigos, pelos conselhos.
Agradeco ao Frederico, meu orientador.
Agradeco a` UFOP e Ouro Preto, pelos ensinamentos.
Agradeco aos esquecidos nao mencionados explicitamente aqui.
Agradeco ao Conselho Nacional de Desenvolvimento Cientfico e Tecnologico (CNPq).
Muito Obrigado.

xi

xii

Pref
acio

Esta dissertacao descreve uma pesquisa sobre aspectos da utilizacao de Computacao


Evolutiva para Composicao Algortmica. Sao propostos algoritmos para a geracao de
melodias e harmonias. Como toda pesquisa interdisciplinar, nem todos os leitores podem
estar habituados com as terminologias especficas. Os captulos 2 e 3 dao definicoes de
termos importantes para compreensao total dos conceitos e argumentos. Para mais
detalhes relativos `a terminologia musical, Kennedy & Bourne (2004) podem prover uma
boa referencia.
Inicialmente, e definida a proposta do trabalho, com sua devida justificativa e objetivos. Uma revisao bibliografica descreve abordagens utilizadas anteriormente e suas diferentes implicacoes. Metodos mais antigos de composicao algortmica eram normalmente
fundamentados em algoritmos baseados em regras enquanto neste trabalho descreve-se
uma abordagem baseada em Inteligencia Artificial atraves de Algoritmos Geneticos, que
sao metodos estocasticos para a resolucao de problemas. Neste ponto, problemas da
utilizacao de Computacao Evolutiva para criacao musical sao brevemente analisados,
descrevendo solucoes ja propostas para soluciona-los.
Em seguida, sao dadas as definicoes especficas de Composicao Algortmica e sua
terminologia relativa. Para compreender o funcionamento do processo de composicao,
seja ele algortmico ou nao, e necessario analisar alguns elementos basicos formadores
do som e quais fatores podem fazer sua uniao ser definida como m
usica. Estes fatores
sao fortemente culturais e dependem do contexto no qual a m
usica esta inserida.
Neste trabalho sao descritas as abordagens utilizadas para o desenvolvimento de experimentos. Inicialmente, os conceitos basicos de um Algoritmo Genetico sao definidos.
Sugere-se essa leitura tambem para os ja habituados com os conceitos da Computacao
Evolutiva pois varias implicacoes de seu uso no domnio musical estao tambem descritas
xiii

nesta secao. Logo apos, sao definidas as abordagens especficas deste trabalho para a
geracao de melodias e harmonias.
No gerador de melodias, medidas mnimas de fitness sao utilizadas para retornar um
grupo de bons indivduos que representam compassos de uma melodia. Sao descritos
detalhes da implementacao e operadores geneticos especficos. Define-se uma Matriz de
Takeover para medir as relacoes entre diferentes geracoes, levando em conta um valor
de compromisso entre originalidade e diversidade. Atraves desta matriz de Takeover, o
proprio processo evolutivo pode ser usado como um criterio de decisao em vez de se usar
apenas simples medidas individuais de fitness.
Apresentam-se alguns resultados experimentais utilizando-se a melodia da m
usica
Samba de uma nota so (Jobim & Mendonca 1959), composicao de Tom Jobim e Newton
Mendonca, com varias interpretacoes disponveis em portugues e ingles.
Ja para a geracao de harmonias, existem varios metodos e resultados possveis para
uma melodia de entrada, considerando padroes musicais gerais da m
usica ocidental.
Uma abordagem multiobjetivo e utilizada para a geracao de harmonias. Algumas regras
podem ser extradas da teoria musical, porem alguns aspectos harmonicos podem ser
definidos apenas por preferencias do compositor. Por isso, a abordagem multiobjetivo
pode ser u
til para permitir que o processo evolucionario procure um conjunto de solucoes
que represente o trade-o entre funcoes objetivo distintas.
Por final, sao descritos os resultados dos experimentos feitos e suas devidas conclusoes. Sao apresentadas as medidas esteticas de qualidade das solucoes utilizadas no
trabalho assim como suas implicacoes. As primeiras implicacoes importantes sao as do
gerador melodico, onde sao analisados os resultados provenientes do uso da Matriz de
Takeover. A populacao inicial contem um papel fundamental neste tipo de algoritmo,
que pode ser utilizado tanto para desenvolver novas melodias como para estender melodias ja criadas anteriormente. A abordagem multiobjetivo para a geracao de harmonias
cria progressoes harmonicas com varios graus de simplicidade e dissonancia. A comparacao dos resultados a uma avaliacao humana sugere como a definicao automatica de
fitness pode refletir suposicoes humanas sobre a qualidade de diferentes harmonias.

xiv

Sum
ario

Lista de Figuras

xix

Lista de Tabelas

xxiii

Nomenclatura

1 Introduc
ao

1.1

Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2

Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3

Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.4

Revisao Bibliografica . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

1.5

Organizacao do Texto

16

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Composic
ao Algortmica
2.1

2.2

17

Definicoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.1.1

Altura Tonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

2.1.2

Volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

2.1.3

Timbres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

2.1.4

Outras terminologias . . . . . . . . . . . . . . . . . . . . . . . . .

26

Definicoes de M
usica . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

xv

2.3

2.2.1

A Arte da M
usica . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

2.2.2

M
usica como IHC . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

3 Metodologia
3.1

3.2

3.3

41

Algoritmos Geneticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

3.1.1

Biologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

3.1.2

Representacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

3.1.3

Inicializacao e Estrutura da Populacao . . . . . . . . . . . . . . .

49

3.1.4

Selecao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

3.1.5

Operadores Geneticos . . . . . . . . . . . . . . . . . . . . . . . . .

53

3.1.6

Funcao de Avaliacao e Definicao do Fitness

. . . . . . . . . . . .

57

3.1.7

Substituicao dos Pais . . . . . . . . . . . . . . . . . . . . . . . . .

63

3.1.8

Consideracoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65

Gerador Melodico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

66

3.2.1

Estrutura de Dados e Parametros . . . . . . . . . . . . . . . . . .

67

3.2.2

Operadores Geneticos . . . . . . . . . . . . . . . . . . . . . . . . .

71

3.2.3

Fitness Implcito Mnimo . . . . . . . . . . . . . . . . . . . . . .

74

3.2.4

Avaliacao das Solucoes e Selecao pela Matriz de Takeover . . . . .

75

Gerador Harmonico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

3.3.1

Representando Harmonias . . . . . . . . . . . . . . . . . . . . . .

84

3.3.2

Operadores Geneticos . . . . . . . . . . . . . . . . . . . . . . . . .

87

3.3.3

Harmonizacao Multiobjetivo . . . . . . . . . . . . . . . . . . . . .

88

3.3.4

Avaliacao das Solucoes . . . . . . . . . . . . . . . . . . . . . . . .

91

3.3.5

Executando a harmonia . . . . . . . . . . . . . . . . . . . . . . .

94

xvi

3.4

Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Resultados

95
97

4.1

Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

97

4.2

Gerador de Melodias . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

97

4.2.1

Base de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

97

4.2.2

Resultados e Discussao . . . . . . . . . . . . . . . . . . . . . . . .

99

4.3

4.4

Gerador de Harmonias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105


4.3.1

Parametros e Dados de Entrada . . . . . . . . . . . . . . . . . . . 105

4.3.2

Resultados e Discussao . . . . . . . . . . . . . . . . . . . . . . . . 106

Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

5 Conclus
oes

115

5.1

Conclusoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

5.2

Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Refer
encias Bibliogr
aficas

119

Indice Remissivo

127

xvii

xviii

Lista de Figuras
1.1

A complexidade de um sistema aumenta entre a ordem e a desordem


(Galanter 2008) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1

Representacao Esquematica do Processo de CA . . . . . . . . . . . . . .

18

2.2

Representacao de uma Onda de Som Senoidal . . . . . . . . . . . . . . .

19

2.3

Representacao de Ondas de Diferentes Frequencias . . . . . . . . . . . . .

20

2.4

Representacao das Alturas Tonais pela Posicao das Notas na Pauta . . .

20

2.5

Representacao de uma mesma nota com diferentes amplitudes . . . . . .

23

2.6

Representacao de diferentes gradacoes dinamicas em uma partitura . . .

24

2.7

Sinais de Crescendo e Decrescendo

25

2.8

Formatos de onda de alguns instrumentos

. . . . . . . . . . . . . . . . .

26

2.9

Exemplo de melodia de Parabens a Voce . . . . . . . . . . . . . . . . . .

28

2.10 Exemplos de Formulas de Compasso . . . . . . . . . . . . . . . . . . . .

33

2.11 Modelo de Norman para Interacao do Usuario (Norman 1988) e seu relativo musical (Biles 2007b) . . . . . . . . . . . . . . . . . . . . . . . . . .

37

3.1

Representacao Esquematica de um Algoritmo Evolutivo . . . . . . . . . .

44

3.2

Metodo da Roleta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

3.3

Duas Maneiras Possveis de Fazer uma Selecao baseada em Posicoes . . .

52

3.4

Operadores de Cruzamento e Mutacao . . . . . . . . . . . . . . . . . . .

54

xix

. . . . . . . . . . . . . . . . . . . . .

3.5

Exemplo de Cruzamento a nvel de bits e a nvel de notas . . . . . . . . .

55

3.6

Notas em um Piano: as teclas brancas acionam as notas naturais . . . . .

68

3.7

Ponteiros para a posicao dos indivduos . . . . . . . . . . . . . . . . . . .

70

3.8

Cruzamento Melodico . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

71

3.9

Mutacoes do Gerador Melodico . . . . . . . . . . . . . . . . . . . . . . .

72

3.10 Configuracao de uma Populacao na qual Ocorreu um Takeover . . . . . .

77

3.11 Melodia com os marcadores da populacao inicial . . . . . . . . . . . . . .

79

3.12 Metodo de Classificacao do NSGA-II . . . . . . . . . . . . . . . . . . . .

90

3.13 Dois Compassos em Do Maior Criados Pelo Gerador Harmonico . . . . .

95

4.1

16 compassos de Samba de Uma Nota So. . . . . . . . . . . . . . . . . . .

98

4.2

Escala Cromatica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

98

4.3

Melodia de Parabens a Voce . . . . . . . . . . . . . . . . . . . . . . . . .

98

4.4

N
umero de geracoes para alcancar o takeover . . . . . . . . . . . . . . . .

99

4.5

Valores de compromisso de 56 geracoes . . . . . . . . . . . . . . . . . . . 100

4.6

Um resultado utilizando o verso da m


usica . . . . . . . . . . . . . . . . . 100

4.7

Um resultado utilizando o refrao da m


usica . . . . . . . . . . . . . . . . . 101

4.8

Um resultado utilizando todos os compassos como populacao inicial . . . 102

4.9

Utilizando uma escala cromatica como populacao inicial . . . . . . . . . . 103

4.10 Utilizando Parabens a Voce como populacao inicial . . . . . . . . . . . . 104


4.11 Melodia de Parabens a Voce . . . . . . . . . . . . . . . . . . . . . . . . . 105
4.12 Perfil de fitness atraves das geracoes . . . . . . . . . . . . . . . . . . . . 107
4.13 Solucao 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.14 A harmonia original . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.15 Solucao 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
xx

4.16 Evolucao do hipervolume . . . . . . . . . . . . . . . . . . . . . . . . . . . 110


4.17 Evolucao das frentes de pareto . . . . . . . . . . . . . . . . . . . . . . . . 111

xxi

xxii

Lista de Tabelas

2.1

Notacoes para representacao das notas. . . . . . . . . . . . . . . . . . . .

22

2.2

Gradacoes dinamicas mais frequentes. . . . . . . . . . . . . . . . . . . . .

24

2.3

Exemplo de possvel relacao entre intensidade e velocidade. . . . . . . . .

24

2.4

Intervalos de notas mais comuns . . . . . . . . . . . . . . . . . . . . . . .

29

2.5

Exemplos de graus de intervalos . . . . . . . . . . . . . . . . . . . . . . .

29

2.6

Quatro tipos basicos de trades . . . . . . . . . . . . . . . . . . . . . . .

31

2.7

Escalas de tempo musicais (Roads 2001) . . . . . . . . . . . . . . . . . .

34

3.1

Escalas que podem auxiliar o mapeamento do genotipo de uma melodia


em fenotipo
(Biles 2007b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

3.2

Mapeamento possvel para uma representacao baseada em posicao . . . .

49

3.3

Um indivduo formado com o mapeamento da Tabela 3.2 . . . . . . . . .

49

3.4

Representacao de uma Solucao do Gerador Melodico

. . . . . . . . . . .

67

3.5

Matriz com Percentual de Origem das Notas em Dois Casos Diferentes .

81

3.6

Calculo de um Valor de Compromisso . . . . . . . . . . . . . . . . . . . .

82

3.7

Notas do Campo Harmonico Natural de Do . . . . . . . . . . . . . . . .

84

3.8

Notas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85

3.9

Representacao de uma harmonia . . . . . . . . . . . . . . . . . . . . . . .

86

xxiii

3.10 Operadores Geneticos do Gerador Harmonico . . . . . . . . . . . . . . .

89

3.11 Parametros na avaliacao do fitness

94

. . . . . . . . . . . . . . . . . . . . .

4.1

Definindo uma escala de referencia para a harmonia . . . . . . . . . . . . 106

4.2

Pesquisa sobre a qualidade das solucoes . . . . . . . . . . . . . . . . . . . 112

xxiv

Lista de Algoritmos
3.1

AG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

3.2

Calculo do Crowding Distance dos indivduos


(Deb, Agrawal, Pratap & Meyarivan 2000) . . . . . . . . . . . . . . . . . .

91

xxv

xxvi

Music is the eort we make to explain to ourselves how our brains work.
We listen to Bach transfixed because this is listening to a human mind.
Lewis Thomas

xxvii

xxviii

Nomenclatura
AE

Algoritmo Evolucionario

AG

Algoritmo Genetico

Bemol

CA

Composicao Algortmica

CE

Computacao Evolutiva

dB

Decibeis

Hz

Hertz

IA

Inteligencia Artificial

IHC

Interacao Homem-Computador

ME

M
usica Evolutiva

MIDI

Musical Instrument Digital Interface

NSGA-II

Non-dominated Sorting Genetic Algorithm - II

RNA

Redes Neurais Artificiais

SST

Sound Synthesis Technique

Sustenido

Captulo 1
Introduc
ao
1.1

Introduc
ao

Este trabalho apresenta uma possvel abordagem para Composicao Algortmica (CA),
processo no qual determinado algoritmo pode criar uma composicao de maneira automatica. Para a criacao destes algoritmos, e comum estudar como padroes ocorrem
em metodos tradicionais de composicao e como estes influenciam a formacao de novas
m
usicas. Existem varios padroes de composicao que podem ser algortmicos ou nao.
A criacao feita desta maneira e muito intrigante pois alem de haver a necessidade
de desvendar os padroes de composicao que podem ser algortmicos, e preciso trabalhar
com d
uvidas que surgem sobre os conceitos pessoais em relacao a` arte em questao e as
expectativas sobre a habilidade de computadores para produzir obras de arte.
Os algoritmos para CA sao normalmente (i) estocasticos; (ii) baseados em regras;
ou (iii) baseados em IA, sendo que nos u
ltimos se encontram os metodos evolucionarios
(Miranda & Biles 2007).
Metodos baseados em Computacao Evolutiva (CE) podem ser empregados em diversas aplicacoes. Varias delas sao tarefas musicais, em uma area que se convencionou
chamar de M
usica Evolutiva (ME). A CE tem grande potencialidade para auxiliar estas
tarefas musicais, ja que estas sao altamente relacionadas com tarefas de decisao.
A estrutura de um Algoritmo Genetico (AG) se adapta bem aos problemas de composicao musical pois ambos funcionam com base em experiencias passadas que levam a
novas criacoes. Algoritmos geneticos podem comecar com um conjunto de informacoes
3

Introduc
ao

de material ja existente e criar novas m


usicas, evoluindo a populacao e aplicando variacoes nela por todo o processo evolucionario. Neste sentido, o processo evolucionario
compartilha similaridades com o processo criativo que ocorre em composicao. Neste
trabalho serao discutidos os maiores problemas na aplicacao destes tipos de metodos,
incluindo a maneira como as solucoes sao avaliadas.
Para definir quais tarefas podem ser solucionadas por estes tipos de algoritmos, devese ponderar quais sao as tarefas executadas por m
usicos que poderiam ser auxiliadas por
estes metodos. Baseando-se no que m
usicos fazem, ha algumas classes de tarefas musicais
(Biles 2007a) fundamentais que podem ser definidas como:
Composi
c
ao Estao includas nesta tarefa a criacao e desenvolvimento de harmonias,
melodias, arranjos e estruturas musicais. Este trabalho esta focado nesta tarefa.
Execuc
ao Para tentar desenvolver uma execucao mais expressiva de uma representacao
musical.
Processamento Tarefa focada no tratamento de execucoes que nao sao exclusivamente
ac
usticas. Algoritmos podem ajudar tanto na mixagem de audio (equalizacao e
reverberacao, por exemplo) como na sntese de sons (achar um som alvo ou criar
novos timbres).
Audic
ao Ouvintes artificiais podem tentar predizer a proxima nota de uma melodia
e ate serem usados como agentes geradores de medidas de avaliacao para composicoes.

1.2

Justificativa

Algoritmos, ou regras para a resolucao de um problema em um n


umero finito de passos,
sempre foram utilizados por compositores como parte do processo criativo na m
usica
ocidental. Sem embargo, nem todos os processos musicais sao fielmente baseados em
algoritmos especficos, o que gera a porcao artstica do problema. Alguns processos
de composicao podem levar em consideracao experiencias passadas ou apenas serem
baseados na aleatoriedade de algumas decisoes.
Apenas estudos com estas consideracoes podem levar em conta a experiencia pessoal
de cada um, assim como estas refletem em produtos diferentes e como estas conclusoes

Introduc
ao

podem ajudar no esclarecimento de questoes sobre a codificacao de aspectos que sao


puramente esteticos.
Contudo, o calculo da aptidao, ou o fitness, de um indivduo na maioria dos sistemas
evolucionarios para arte e m
usica requerem um julgamento estetico, o que nao e facil de
se modelar ou implementar como um algoritmo. Por isso, estes sistemas normalmente
utilizam algum nvel de interacao com o usuario, dando assim uma resposta ao sistema
sobre julgamentos esteticos subjetivos, como por exemplo em (Graf & Banzhaf 1995,
Lewis 2000, Moroni, Manzolli, Zuben & Gudwin 2000). Quando a arte em questao se
trata de imagens estaticas, a avaliacao interativa nao apresenta grandes problemas pois
varias alternativas podem ser exibidas ao usuario em paralelo, por exemplo, em uma
grade (Lewis 2008). Alem disso, existem alguns estudos e estrategias para minimizar
o n
umero de opcoes apresentadas ao usuario, o que reduz a fadiga em AE interativos
(Takagi 2001).
Por outro lado, em obras de arte temporais, tais como animacao e m
usica, a avaliacao
interativa das solucoes pode exigir grande atencao do mentor, que sempre pode estar
suscetvel a ficar cansado, entediado, perder a atencao e outros problemas do tipo.
Esse aspecto e conhecido na literatura como fitness bottleneck, ou gargalo de fitness
(Biles 2001).
Dada a dificuldade de se basear sistemas musicais evolucionarios em avaliacao humana, alguns autores estudaram o desenvolvimento de sistemas automaticos, que poderiam desenvolver pecas de musicais ou de arte sem intervencao humana. Algumas
ideias incluem co-evolucao (Greenfield 2002), o desenvolvimento de medidas esteticas
confiaveis (Ross, Ralph & Zong 2006) e a evolucao de crticos adaptativos (Machado,
Romero, Santos, Cardoso & Manaris 2004).
No contexto musical, uma abordagem interessante para tratar o problema de gargalo
de fitness e apresentada por Biles (2001), onde o uso de fitness como metodo de pressao
seletiva e eliminado do sistema evolucionario, criando uma versao de seu algoritmo, o
GenJam, livre de fitness. O algoritmo inicia com uma populacao de compassos selecionados de um banco de dados e evolui esta populacao usando operadores geneticos
cuidadosamente selecionados, sem qualquer avaliacao de fitness. As populacoes finais
contem novas melodias originais. Apesar desta abordagem levantar questoes sobre a
pureza do Algoritmo Evolucionario1 , o autor argumenta que seu sistema ainda e um
1

Com Algoritmo Evolucion


ario Puro, pretendemos denotar aquele com os seguintes aspectos:
representac
ao, avaliac
ao, selec
ao e operadores geneticos.

Introduc
ao

AG, ou e pelo menos baseado em CE (Biles 2001).


Alem disto, com abordagens baseadas em CE , e possvel o desenvolvimento de novos
padroes musicais, ja que no processo evolutivo diferentes modelos podem levar a novos
estilos ainda nao explorados. Assim, fazendo uso da CE, um estudo sobre as necessidades
matematicas do problema e compulsoriamente desenvolvido ao longo do projeto. Com
a tecnica, novos paradigmas de composicao podem ser explorados entao com base em
analises musicais anteriores, definido-se quais podem ser considerados algortmicos ou
nao. Alem disso, simples abordagens para composicao podem ser desenvolvidas para
compositores inexperientes ou para aqueles que queiram ajuda para desenvolver ideias
pre-formuladas.

1.3

Objetivos

Um passo inicial para qualquer tipo de desenvolvimento artstico, algortmico ou nao,


e delinear o que pode ser considerado arte dentro do possvel espaco de solucoes. Este
tipo de delineamento pode ser feito inclusive pela propria modelagem do algoritmo, ja
que arte nao prevista por um modelo de representacao de um algoritmo nao podera ser
gerada por ele.
Este delineamento pode ser feito com a definicao de algumas regras, que ficam normalmente mais claras quando compondo para um estilo particular. Assim, o espaco de
importante definir
busca pode ser restringido para algo mais facil de ser explorado. E
tambem se as regras serao criadas com base em definicoes de apostilas musicais ou com
base em experiencias existentes de outros compositores, decisao que pode levar a um
sistema mais ou menos criativo. Alem disso, em algoritmos evolutivos, as diferencas
entre mais de um estilo musical podem ser exploradas para gerar novos resultados.
Para mostrar a complexidade efetiva na modelagem destes problemas, aspectos aleatorios, como barulho, acabam sendo menosprezados enquanto aspectos com estruturas
com conceitos bem definidos acabam sendo algoritmicamente comprimidos, abstrados
ou generalizados. Estruturas que nao podem entao ser bem comprimidas desta maneira
aparecem como as mais complexas (Galanter 2008). A Figura 1.1 exemplifica esta ideia.
O objetivo deste trabalho sera o desenvolvimento de aplicacoes que gerem composicoes com melodia e harmonia, que podem entao ser unidas por uma estrutura de
nvel mais alto. Esta u
ltima e uma proposta de algoritmo para geracao de m
usicas de

Introduc
ao

Complexidade Efetiva

Vida Artificial

Fractais

Simetria

Ordem

Sistemas
Caticos

Aleatoriedade

Desordem

Figura 1.1: A complexidade de um sistema aumenta entre a ordem e a desordem


(Galanter 2008)

maneira top-down, ou seja, definindo estruturas de nvel mais alto primeiro e depois
criando a m
usica de acordo com o arcabouco criado em nveis mais baixos.
Estruturas de nvel mais alto podem representar partes de uma m
usica, como refroes
e versos, podem definir parametros, como volume e timbre, ou ate mesmo definir quais
instrumentos serao utilizados em uma composicao, enquanto estruturas de nvel mais
baixo podem representar elementos musicais tao simples quanto frequencias. As melodias
e harmonias, que estarao em estruturas de nvel mais baixo, terao suas definicoes guiadas
pelas estruturas de nvel mais alto.
Para a criacao de m
usica, modulos de nveis mais baixos devem ser criados. Estes sao
os geradores de melodia e harmonia descritos neste trabalho. Cada um destes modulos
pode utilizar informacoes recebidas por estruturas de mais alto nvel ou por outros
modulos.
Se um algoritmo evolucionario livre de fitness e usado para a geracao de melodias,

Introduc
ao

o n
umero de geracoes utilizadas e arbitrario e depende da experiencia do usuario. Se
o n
umero de geracoes e muito pequeno, a melodia final pode se parecer muito com a
desejavel que a solucao final seja original em
inicial e nao ter muita originalidade. E
relacao `a melodia inicial, especialmente quando seu autor nao e o usuario do algoritmo.
Apos um certo n
umero de geracoes, um takeover 2 ocorrera, mesmo com a ausencia de
uma funcao de fitness que force uma pressao seletiva, devido ao fenomeno de deriva
genetica3 . Apos isto, todas as alteracoes na populacao serao provenientes da mutacao
apenas. Ocorre entao um compromisso entre originalidade e diversidade: durante o
processo evolucionario, a originalidade aumenta enquanto a diversidade diminui.
A procura de harmonias e outro campo de estudo, normalmente com a vantagem
de ter funcoes de fitness mais faceis de serem especificadas. Mostrou-se que algoritmos
podem criar harmonias com sucesso (Papadopoulos & Wiggins 1999). Varios destes
trabalhos descrevem sistemas para gerar harmonias de quatro partes para uma dada
melodia (chamada tambem de harmonizacao SATB). Neste problema, os algoritmos
propostos normalmente procuram um grupo de notas para cada nota original na melodia e este problema pode ser facilmente contornado quando a progressao harmonica e
tambem dada com a melodia (Horner & Ayers 1995). De maneira analoga a metodos
para a geracao de melodias, o desenvolvimento de metodos de harmonizacao focados em
estilos particulares podem ser interessantes (McIntyre 1994).
Quando criam-se progressoes harmonicas para melodias ja existentes, e necessario
definir alguns fatores que devem ser penalizados ou recompensados no fitness de um
indivduo. Contudo, estes fatores sao normalmente subjetivos e se baseiam fortemente
em preferencias do usuario. Assim, neste trabalho, apresenta-se uma abordagem de otimizacao multiobjetivo para harmonizacao que seja capaz de evoluir harmonias enquanto
se trabalha o equilbrio entre harmonias com ou sem tensao4 .
importante basear metodos de composicao em aspectos formais desenvolvidos para
E
m
usica tonal. Contudo, respeitar algum conjunto basico de regras nao garante que o
resultado tera sentido musical ou sera interessante. Criatividade e novas ideias podem
ate mesmo surgir da violacao de algumas regras, mas o problema e saber quais regras
violar e quando faze-lo. Nestes casos, e necessario a analise de algoritmos que tratem
2

Em um Algoritmo Evolucion
ario, um takeover ocorre quando todos os indivduos sao iguais e a
populac
ao n
ao apresenta diversidade alguma.
3
A n
ao ser que haja uma taxa de mutacao tao alta que se sobreponha ao efeito do cruzamento de
herdar caractersticas de indivduos de populacoes passadas.
4
Tens
ao e criada em um acorde atraves de inclusao de uma nota dissonante extra que cria a necessidade de relaxamento ou liberac
ao para o ouvinte.

Introduc
ao

varios objetivos para encontrar um conjunto de solucoes que representa um compromisso


entre regras em funcoes objetivo diferentes, levando ao menos a um conjunto de solucoes
que possam ser consideradas harmonias interessantes.
Criar um sistema de harmonizacao automatica demanda informacao suficiente sobre
o domnio especfico, assim como em qualquer aplicacao computacional. Este trabalho
apresenta metodos possveis para embutir este tipo de informacao nao apenas atraves
da definicao de uma funcao de fitness mas tambem implicitamente pelas operacoes do
AG. O modo como estes aspectos do algoritmo sao codificados faz uma distincao crucial
nos resultados encontrados pela aplicacao ja que e uma aplicacao para a simulacao de
comportamentos e criatividade humanos.
Neste trabalho, Algoritmos Geneticos sao inicialmente apresentados e alguns exemplos de como seus aspectos podem ser decididos no contexto musical. Assim, da-se uma
definicao mais especfica de alguns termos musicais relativos a composicao que sao importantes para compreender como os experimentos sao definidos. Faz-se, entao, uma
discussao sobre como uma funcao de fitness multiobjetivo pode ajudar usuarios com
preferencias diferentes ou mesmo desconhecidas.
Desta maneira, pode-se definir os principais objetivos deste trabalho como sendo a
analise de:

Como o espaco de busca deve ser delineado de modo a nao limitar demasiadamente
a criatividade do sistema e nem levar a solucoes inadequadas
Como atingir um bom equilbrio entre originalidade e diversidade neste tipo de
evolucao artificial de melodias
Quais criterios que podem ser utilizados para selecionar uma melodia entre varios
candidatos gerados pelo processo evolucionario
Como pode ser feita a geracao de material artstico sem intervencao humana
Quais seriam indivduos u
teis para a geracao de m
usica em diferentes contextos de
tarefas musicais
Como podem ser gerados operadores geneticos que sao musicalmente cientes
Como representar melodias e harmonias que podem ser mono ou polifonicas

10

Introduc
ao

Como contornar o problema de gargalo de fitness quando avaliadores humanos sao


utilizados na evolucao dos indivduos
Quais criterios podem ser utilizados para terminar a execucao destes algoritmos
ou, em outras palavras, quando um resultado pode ser considerado suficientemente
evoludo neste contexto
Como resolver problemas derivados do fenomeno de deriva genetica neste contexto
Como diferencas de referencias de compositores podem ser tratadas com estes
metodos
Em uma abordagem de representacao que utilize uma certa granularidade para
representar uma solucao, quais seriam valores convenientes
Como o conhecimento sobre o domnio musical pode ser embutido em um AG alem
da funcao de fitness
Esta dissertacao resultou nas seguintes publicacoes:
Freitas, A. R. R., Guimaraes, F. G. (2011). Originality and Diversity in the Artificial Evolution of Melodies. Genetic and Evolutionary Computation Conference
(GECCO 11).
Freitas, A. R. R., Guimaraes, F. G. (2011). Melody Harmonization in Evolutionary
Music Using Multiobjective Genetic Algoritms. 8th Sound and Music Computing
Conference (SMC 11).

1.4

Revis
ao Bibliogr
afica

Quando se pensa em CA, pode haver equvocos ao relaciona-los com metodos computacionais complexos. Na verdade, a utilizacao de algoritmos para criar composicoes e muito
mais antigo. Uma grande exemplo e em 1757, quando Johann Kimberger, tutelado de
Bach, publica um livro para ensinar leitores a compor polonaises e minuetos (Kirnberger
& Kupper 1994).
Depois da morte de Mozart, foi publicada e atribuda a ele a autoria de Musikalisches
W
urfelspiel (Jogos de Dados Musicais), metodo que tambem criava composicoes atraves

Introduc
ao

11

de n
umeros jogados em dados (Mozart 1787), o metodo foi publicado em 1793. O dado
e jogado para escolher aleatoriamente pequenas secoes de m
usica, que sao juntadas ao
final para formar uma peca inteira. Versoes computacionais do mesmo metodo foram
implementadas (Chuang 1995).
Os computadores com certeza criaram opcoes para as finalidades de composicao. Ja
no seculo XIX, em 1840, Ada Lovelace propoe a utilizacao da maquina analtica para a
criacao de m
usica:
Supposing, for instance, that the fundamental relations of pitched sound
in the signs of harmony and of musical composition were susceptible of such
expression and adaptations, the engine might compose elaborate and scientific
pieces of music of any degree of complexity or extent. 5 (Alpern 1995)
Outro algoritmo para composicao utilizado na epoca em que computadores ainda
nao eram utilizados e o serialismo dodecafonico, ou metodo de doze tons, criado por
Arnold Schonberg na decada de 1920 (Hyde 1985). Neste metodo ocorre a repeticao de
um elemento atomico que sofre transformacoes. Decisoes sobre a peca eram tomadas em
relacao a series pre-formadas, o que automatizava bastante o processo de composicao.
O metodo dodecafonico assegura igualdade no n
umero de ocorrencias de cada nota
da escala temperada. Com uma base inicial, chamada de prime series, que e uma
permutacao das 12 notas da escala, percebe-se que e um metodo um pouco mais flexvel,
ja que existem 12! (ou 4, 7 108 ) prime series possveis. A composicao e feita por um
n
umero aleatorio de repeticoes das prime series, que a cada repeticao ha transformacoes,
que podem ser retrogadas ou inversas.
Ainda nos metodos algortmicos sem a utilizacao de computadores, John Cage, compositor inovador e polemico por suas composicoes semi-aleatorias, cria em 1951 um
metodo para composicao com a utilizacao do I-Ching como oraculo para tomar varias
decisoes, como qual nota usar e quando inclu-la na composicao (Pritchett 1996). O
metodo foi utilizado na composicao Imaginary Landscape no 4, onde 24 interpretes utilizam 12 radios em tempo real.
A considerada primeira composicao gerada por computador e The Illiac Suite for
String Quartet, gerada por Lejaren Hiller e Leonard Isaacson. Varios artifcios eram
5

Supondo, por exemplo, que as relac


oes fundamentais dos sons com suas alturas tonais nos sinais de
harmonia e de composic
ao musical fossem de tais expressoes e adaptacoes, a maquina poderia compor
pecas musicais cientficas e elaboradas de qualquer grau de complexidade ou extensao

12

Introduc
ao

usados, incluindo cadeias de Markov (Hiller 1981). A composicao foi feita em 1957 e
conseguiu codificar parametros estilsticos. O processo de composicao foi primeiramente
geracao de material pelo computador, depois modificar este material de acordo com
funcoes estabelecidas e por final selecionar os melhores resultados de acordo com o
conjunto de regras (Alpern 1995). Esse paradigma de geracao, modificacao e selecao
seria mais vezes utilizado no futuro.
O metodo de Hiller e proposto da seguinte maneira: primeiramente as notas sao
distribudas com probabilidade uniforme. Apos esta etapa, notas comecam a sofrer
restricoes. As regras utilizadas sao regras classicas, como escalas, e depois regras do
serialismo. Finalmente as notas recebem funcoes que sao aplicadas em relacao a`s notas
anteriores (Hiller 1959).
Um outro exemplo deste tipo de composicao e o formula composition (Felder &
Stockhausen 1977), criado por Karlheinz Stockhausen em 1970. O formula composition
e derivado do serialismo dodecafonico e conjuntos de formulas melodicas.
Para todos os algoritmos de CA existe uma enorme dificuldade para a introducao
de parametros externos ao processo de composicao. Exemplos destes parametros sao
dados do passado, como experiencias e dados culturais do ouvinte que influenciam na
maneira como ele interpretara a peca, e dados do presente, como formulas e teorias que
nao restrinjam demais as possibilidades do algoritmo ao mesmo tempo que nao gera
muito material musicalmente inadequado ou que nao seria considerado m
usica na maior
parte dos contextos.
Os metodos ate entao descritos foram basicamente estocasticos e baseados em regras,
o que leva `a geracao de m
usicas muito pouco diversas na maioria das vezes. Como alternativa a estes metodos, existem os metodos baseados em Inteligencia Artificial (IA), que
incluem Redes Neurais Artificiais (RNA), Automatos Celulares e Algoritmos Geneticos,
o foco deste trabalho. Atualmente, grande parte dos algoritmos modernos para assistencia a m
usicos estao nesta categoria.
Algoritmos Geneticos tem uma grande extensao de aplicacoes em ciencia e engenharia, em problemas complexos para os quais uma solucao especfica e difcil de se
encontrar. A capacidade de busca de AG chamou o interesse de varias comunidades
cientficas, incluindo ate aplicacoes de arte e m
usica (Corne & Bentley 2001, Miranda
& Biles 2007, Romero & Machado 2007, Todd & Latham 1992). Houve varios estudos
envolvendo computacao evolucionaria e arte tentando entender a influencia possvel de
sistemas bioinspirados e arte, tecnologia e avaliacao estetica (Romero & Machado 2007).

Introduc
ao

13

O uso de Algoritmos Geneticos para a evolucao artificial e criacao de arte e m


usica e
um ramo conhecido como Arte ou M
usica Evolutiva (Miranda & Biles 2007).
Varias aplicacoes foram desenvolvidas na area de execucao musical. Madsen & Widmer (2005) estudaram como tendencias estilsticas de um certo artista podem ser exploradas com um Algoritmo Evolucionario (AE). Tambem relativa a` execucao, a audiencia
pode influenciar uma execucao, de acordo com suas respostas (Biles & Eign 1995). Esta
resposta dos ouvintes tambem pode ocorrer online, como mostra o estudo feito por Putnam (1996), ou atraves de sensores de presenca, como descrito por Woolf & Yee-King
(2003). Experiencias tambem foram feitas com bio-feedback para ajudar a avaliacao e a
escolha das m
usicas por um DJ eletronico (Grahan-Rowe 2001).
Existem tambem varios estudos para aplicacoes musicais na quais as execucoes nao
sao exclusivamente ac
usticas. Estas aplicacoes estao baseadas nas areas de sntese e mixagem. Em relacao ao u
ltimo, AE podem ser muito u
teis na aplicacao de efeitos e filtros
(Sharman & Esparcia-Alcazar 2003) ou para descobrir parametros de reverberacao que
correspondam `as caractersticas de uma sala especfica (Mrozek & Wakefield 1996). Ja na
area de sntese de sons, dois problemas principais se destacam: a procura de parametros
que alcancam um som-alvo (Vuori & Valimaki 1993) e a procura por novos timbres
(Horner, Beauchamp & Haken 1993). Mandelis (2001) desenvolveu uma aplicacao, chamada Genophone, para o desenvolvimento de novos sons sem que o usuario conheca
detalhes da tecnica de Sound Synthesis Technique (SST) empregada.
Em relacao a` audicao de m
usicas, muitas aplicacoes u
teis podem surgir, principalmente para o desenvolvimento de ouvintes avaliadores que podem co-evoluir com m
usicas
nos AG, ja que a avaliacao e um dos maiores problemas para o desenvolvimento de sistemas evolutivos de CA. Um modulo ouvido (Jacob 1995) pode ser desenvolvido como
avaliadores de aptidao (Jacob 1996). Ja Federman (2003) desenvolveu um sistema para
predizer qual a proxima nota em uma sequencia melodica. Outra aplicacao neste sentido
envolve a coevolucao de cantores machos e crticas femeas (Todd & Werner 1999), o que
so permite a evolucao de material relacionado.
Todas estas tarefas musicais estao relacionadas de algum modo com CA, que tem
varias aplicacoes baseadas em AE. CE pode ser utilizada primeiramente para gerar novas ideias melodicas. Estas novas ideias podem se dar atraves de sequencias de notas
sem ritmo (Ralley 1995), sequencias de ritmo sem notas (Horowitz 1995) ou sequencias
de notas e ritmos (Biles 1994). Um dos estudos importantes desta area envolve maneiras mais criativas de se tratar o problema da definicao de uma funcao de avaliacao

14

Introduc
ao

(Waschka II 2007).
Brown (2002) descreve como varias aplicacoes de AG para analise musical e sntese
de sons foram bem sucedidas. Uma das utilizacoes principais de AG neste contexto
e a formacao de melodias. Um algoritmo para a criacao de solos de jazz em tempo
real e proposto por Biles (1994), mostrando como o desenvolvimento de composicao
automatizada para um genero particular de m
usica pode ser abordado com AG. Isso e
feito com um AG que considera varias tarefas musicais, como audicao e improvisacao.
Apesar de varios resultados interessantes, a M
usica Evolucionaria ainda encara varios
desafios (McCormack 2005).
A criacao de m
usica com programas de computador tem algumas caractersticas
comum ver prodistintas quando comparadas a problemas classicos de otimizacao. E
cedimentos onde um indivduo de uma populacao representa um compasso que pode
ser usado em uma composicao final. Isso faz com que procurar uma boa populacao
com indivduos diversos seja mais importante que a procura de um indivduo otimo
(Waschka II 1999). Isso e uma caracterstica particular a ser explorada em sistemas
feitos para criar arte.
Alguns compositores podem tambem querer estender ideias melodicas a partir de
uma ideia inicial. Neste sentido, AG podem gerar variacoes melodicas ou contra melodias (Polito, Daida & Bersano-Begey 1997). Ja Jacob (1995) estudou como fragmentos
melodicos tambem podem ser combinados em linhas maiores. Alem de melodias, AE
tambem podem ser usados para determinar harmonias correspondentes a uma dada melodia. Algoritmos podem gerar partes harmonicas (McIntyre 1994) ou gerar mudancas de
acordes (Horner & Ayers 1995). A tarefa de harmonizacao tambem pode ser direcionada
a um estilo especfico, como demonstra o trabalho de Maddox & Otten (2000).
Para a criacao de arranjos, o problema nao e normalmente estudado diretamente, e
outras aplicacoes para o desenvolvimento de melodias sao normalmente usados (Jacob
1995), podendo ter certos ajustes para que as melodias se adaptem a instrumentos
especficos.
Assim, AG podem ser utilizados para criacao e extensao de melodias, harmonias e
arranjos. Alem disso, e possvel criar sistemas que trabalhem com estruturas musicais
de mais alto nvel como refroes e versos de maneira top-down (Unemi & Senda 2002)
ou bottom-up (Jacob 1996).
No sentido de explorar similaridades entre o processo evolutivo e o musical (mais

Introduc
ao

15

especificamente de serem processos temporais), Moroni, Manzolli, Zuben & Gudwin


(2000) desenvolveram um sistema em que a propria evolucao e uma composicao e a
interacao entre os indivduos define o que ocorrera na proxima geracao. Isso demonstra
uma faceta de varios sistemas adaptativos para CA desenvolvidos ultimamente, que e a
busca por uma populacao de boa qualidade, em vez de uma solucao otima.
Dentre as diferentes analogias feitas com o processo biologico para geracao de m
usica,
outro trabalho no qual o processo evolutivo em si representa uma m
usica e o de Waschka II (2007), no qual cada indivduo representa um compasso e metodos menos convencionais de avaliacao das solucoes sao utilizados. Desta maneira, o ouvinte percebe que
o material entre uma geracao e a outra e relacionado, porem coerentemente modificado.
Processos de geracao musical em tempo real tambem podem ser utilizados, como feito
por Biles (2002a), que desenvolveu um sistema robusto para geracao de solos de jazz em
performances ao vivo. Sua aplicacao, GenJam, ou Genetic Jammer, faz improvisacoes
que sao calibradas com m
usicas cujas progressoes harmonicas sao complexas. A tarefa
de improvisacao pode ser muito estimulante pois tem caractersticas de varias tarefas
musicais, como a audicao e a composicao, e precisa de algoritmos robustos, ja que o
improviso nao pode ser editado ao final do processo.
O algoritmo de Biles (2002a) pode improvisar tanto sozinho quanto em resposta
a outra pessoa e tem uma base de dados com varias m
usicas nas quais pode fazer
improvisos. Neste caso, varias ideias podem ser aproveitadas como potenciais indivduos,
como um banco de dados com compassos relacionados ao estilo e a` propria m
usica. O
sistema tem a qualidade de escutar o m
usico com o qual esta interagindo para criar
novas frases. Isso ocorre com a utilizacao de interface que pode converter alturas tonais
para codigos MIDI.
Alem da CE mais comum, outros artifcios podem ser muito u
teis no desenvolvimento
de sistemas de CA. Por exemplo, co-evolucao (Hillis 1990) pode ser utilizada para o
desenvolvimento simultaneo de composicoes (ou cantores) e crticos, que avaliarao as
m
usicas criadas. Nestes casos, medidas de aptidao de indivduos podem surgir das
interacoes entre os indivduos.
O mesmo ocorre no trabalho de McCormack (2003), onde mundos artificiais sao
criados e neles seus agentes podem mover, criar ou ouvir sons; e no trabalho de GartlandJones (2003), no qual blocos criam frases musicais com a interacao com outros blocos e
cada bloco carrega sempre uma respectiva frase. Trabalhos similares a estes podem ser
utilizados para criar frases que tenham uma relacao tematica entre si, sendo o caminho

16

Introduc
ao

percorrido no processo evolutivo potencial material intermediario. Uma m


usica alvo
pode ser utilizada para medir a aptidao de indivduos e forcar que estes convirjam para
algo parecido com este alvo.
AE podem ser uma ferramenta muito u
til para m
usicos e aplicacoes em varias areas
podem existir com relativo sucesso, dependendo do domnio em questao. Os domnios
especficos devem reger como os avancos tecnologicos se darao e esta fase se apresenta
iminente, de tal modo que m
usica ja pode ser considerado um domnio no qual CE pode
ser, de fato, u
til.

1.5

Organizac
ao do Texto

O texto desta dissertacao encontra-se organizado da seguinte forma:


No Captulo 2 sao apresentados alguns aspectos importantes sobre CA e, para isso,
algumas definicoes necessarias para entender as composicoes. Neste captulo serao definidos propriedades importantes dos sons, como altura tonal, volume e timbre, e como estas
caractersticas afetarao as decisoes tomadas ao desenvolver um sistema de composicao
automatica.
No Captulo 3 sao discutidas as metodologias utilizadas para o desenvolvimento do
trabalho. Inicialmente sao apresentados os aspectos fundamentais de algoritmos evolutivos e como estes devem ser definidos para a criacao de sistemas de composicao. Em
seguida, sao apresentadas as metodologias referentes aos geradores de melodia e harmonia, e como seus parametros foram definidos.
No Captulo 4 estao os resultados obtidos com o algoritmo desenvolvido e cada um
de seus modulos. Sao feitos experimentos com cada um dos modulos e apresentadas
comparacoes de abordagens.
No Captulo 5, conclusoes sobre o assunto sao discutidas e uma serie de possveis
trabalhos futuros sao definidos.

Captulo 2
Composic
ao Algortmica
Neste captulo sera apresentada uma discussao sobre Composicao Algortmica (CA),
alem de nocoes sobre conceitos musicais que sao importantes para qualquer aplicacao
computacional musical.
Pelo menos ao se tratar de m
usica ocidental, pode-se dizer que compositores sempre
usam, de uma maneira ou de outra, processos algortmicos1 para a criacao de suas
composicoes. Algoritmos fazem parte do processo criativo.
Nao obstante, a definicao de onde estao os processos algortmicos e mais difcil. Isso
ocorre pois nem todos os processos sao intrinsecamente algortmicos, ja que se trata de
uma arte contextual. Assim, um passo inicial para se determinar um sistema de CA e
delinear limites entre o que e ou nao fundamentalmente algortmico. Alem disso, alguns
processos podem ser algortmicos, porem com um certo grau de aceitacao para quando
as regras deste algoritmo sejam quebradas para levar a resultados mais criativos.
A maioria dos compositores aplicam regras e especialmente passos especficos quando
compoem. Porem, sistemas que coletem um grande conjunto de regras se assemelhara
a um livro de instrucoes musicais. Isso levara `a criacao de musicas u
teis para treino
musical mas nao muito artsticas em si.
Analisando como compositores trabalham, pode-se tambem deduzir que essas regras
podem ser utilizadas ou nao de acordo com um estilo particular de composicao, o que faz
com que a criacao de algoritmos especializados para um estilo especfico normalmente
funcionem melhor.
1

Com algortmico, denomina-se um processo ou conjunto de regras bem definidas a serem seguidas
em operac
oes de c
alculo ou soluc
ao de problemas.

17

18

Composic
ao Algortmica

De qualquer maneira, o processo de CA e aquele no qual um conjunto de parametros


e passado para um algoritmo que retornara automaticamente uma resposta, que no caso
contera uma representacao musical. Este processo esta resumidamente apresentado na
Figura 2.1.

Informao

Algoritmo

Msica

Figura 2.1: Representacao Esquematica do Processo de CA

2.1

Definic
oes

Para a criacao de um sistema que criara musicas, e necessario compreender os elementos que formam a m
usica, ou seja, entender como definir a m
usica entre um conjunto
preciso antes entender o som, como onda
maior dos sons organizados temporalmente. E
mecanica, para que se possa criar algoritmos que gerem resultados em seus subconjuntos
musicais.
Os sons sao um grande emaranhado de sinais, porem um som monotonico pode ter
a sua frequencia medida em hertz (Hz) e sua amplitude medida em decibeis. Assim,
e possvel representar um onda sonora assim como na Figura 2.2. O eixo horizontal
representa o tempo enquanto o eixo vertical representa a amplitude da onda.
Os sons tem varias propriedades, sendo que as mais importantes para algoritmos de
composicao sao a altura tonal, o volume e o timbre. Para outras aplicacoes musicais, outras caractersticas tambem devem ser analisadas, como o comprimento de onda, n
umero
de onda, intensidade, velocidade e direcao.
Neste captulo, algumas definicoes importantes serao apresentadas. Para mais detalhes sobre os conceitos relacionados a teoria musical, Kennedy & Bourne (2004) oferece
uma boa referencia.

19

Amplitude

Composic
ao Algortmica

Tempo

Figura 2.2: Representacao de uma Onda de Som Senoidal

2.1.1

Altura Tonal

As notas musicais sao definidas pelas frequencias sonoras, ou seja, cada nota musical
corresponde a uma frequencia especfica. A frequencia indica o n
umero de ocorrencias
de um certo evento, no caso, ciclos de onda. Essas frequencias sonoras sao medidas em
oscilacoes por segundo, que e a unidade de medida hertz (Hz), em honra a Heinrich
Hertz. O ouvido humano e limitado em relacao `a percepcao das frequencias, sendo que
apenas frequencias entre 20 e 20.000 Hz podem ser percebidas e criar sensacoes neurais.
As frequencias podem ser compreendidas como notas pelo ouvido humano, e a os
conceitos de altura tonal de cada nota devem ser utilizados. Quando a frequencia da
onda e muito baixa, ou seja, ocorre um menor n
umero de ciclos de onda por unidade de
tempo, diz-se que a nota e grave (ou baixa). Caso contrario, esta sera uma nota aguda
(ou alta). O conceito de altura tonal esta assim relacionado a` frequencia percebida de um
som. Nao uma propriedade fsica mas um atributo subjetivo do som (Plack, Oxenham,
Fay & Popper 2005). Trata-se da maneira como humanos percebem estas frequencias e
as colocam em um certo contexto.
Representacoes de varias ondas senoidais de varias frequencias estao na Figura 2.3.
As ondas superiores tem as maiores frequencias, representando as notas mais agudas.
Novamente o eixo horizontal representa o tempo enquanto o eixo vertical representa a
amplitude da onda.
Varias frequencias estao relacionadas a uma nota, mas estes conceitos nao sao sinonimos.
Nas doze notas existentes em uma escala temperada, cada uma esta relacionada com

Composic
ao Algortmica

Ampl i tude

20

Te mp o

Figura 2.3: Representacao de Ondas de Diferentes Frequencias

mais de uma frequencia pois se uma frequencia x representa uma nota y, a frequencia
2x ainda representa a nota y, porem diz-se que a nota y esta em uma oitava musical
mais aguda. Em conceitos musicais, uma oitava e um intervalo entre uma nota e outra
com o dobro ou metade de sua frequencia. Este nome vem da sequencia das notas de
uma escala natural (do, re, mi, fa, sol, la, si, do), pois o segundo do e dito estar uma
oitava acima do primeiro.
Assim, pode-se deduzir que a relacao entre altura tonal e frequencia de onda e logartmica. Isto quer dizer que precisa-se dobrar a frequencia para se avancar as 12 notas
da escala cromatica (do, do sustenido ou re bemol, re, re sustenido ou mi bemol, mi, fa,
fa sustenido ou sol bemol, sol, sol sustenido ou la bemol, la, la sustenido ou si bemol,
si, do) ou 7 notas de uma escala natural (do, re, mi, fa, sol, la, si, do) - considerando-se
ainda uma escala temperada.
Em partituras, as notas - com suas respectivas frequencias - sao representadas em
relacao a` posicao da nota na pauta, como representado na Figura 2.4. Quanto mais acima
a nota esta representada na pauta, mais aguda ela e. A primeira nota representada e um
do, assim como a oitava nota na mesma pauta. Ambas as notas sao dos, porem o segundo
e mais agudo que o primeiro, tendo uma frequencia duas vezes maior (Olson 1967).

" # ! ! ! ! ! ! ! !
Mi F Sol L
D R

Si D

Figura 2.4: Representacao das Alturas Tonais pela Posicao das Notas na Pauta

Composic
ao Algortmica

21

Quando a frequencia e multiplicada ou dividida por dois, a nota correspondente e a


mesma, porem em uma oitava diferente. Ja para definir quais notas estao neste intervalo
de frequencias duplicadas e necessario um esquema que e definido temperamento musical
(Mathieu 1997). Cada esquema pode representar estilos ou padroes de uma determinada
epoca. O esquema de afinacao normalmente utilizado no ocidente e aquele no qual uma
oitava e dividida em 12 notas, sendo que a distancia entre uma nota e a proxima e
sempre igual - um semitom. A vantagem deste temperamento em relacao aos outros e
que pode-se usar qualquer tonalidade sem preferencia, ja que cada tom esta tao afinado
(ou desafinado) quanto o outro.
Em relacao ao nome das notas, duas nomenclaturas principais sao comumente utilizadas para representar a escala igualmente temperada: a latina e a anglo-saxonica
(Nattiez 1990). A diferenca esta representada na Tabela 2.12 . Para aplicacoes computacionais, a nomenclatura anglo-saxonica e normalmente utilizada.

2.1.2

Volume

O volume esta relacionado com a amplitude de uma onda. Quando se quer definir sons
de diferentes volumes, os conceitos de sons altos e baixos nao podem ser usados, ja que
estes sao relacionados `a altura tonal do som. Para se especificar a intensidade do som,
os sons devem ser definidos como sons fortes e fracos.
Sons mais fortes tem uma amplitude de onda maior. Na Figura 2.5, a amplitude da
nota representada dobra a partir do momento marcado no centro do grafico. Isso indica
que o volume sera duas vezes mais forte, apesar da nota ter a mesma altura.
Formalmente, a amplitude e a medida da magnitude da maxima perturbacao do meio
em um ciclo da onda, o que faz com que a unidade apropriada para medir a amplitude
dependa do tipo de onda. A amplitude de ondas sonoras costuma ser medida em decibeis
(dB), pois e u
til nesse caso uma unidade de medida logartmica.
Quando o ouvido humano percebe um som, o conceito de intensidade se aplica mais
do que o conceito de amplitude. Assim como frequencia e altura tonal nao sao sinonimos
e sim logaritmicamente relacionados, a percepcao da intensidade pelo ouvido humano e
2

Os outros valores de frequencia que correspondem `as mesmas notas podem ser calculados multiplicando ou dividindo a frequencia por 2

22

Composic
ao Algortmica

Nomenclatura Latina

Nomenclatura Anglo-Sax
onica

Frequencia (Hz)

Do

261,63

Do sustenido

C#

ou

ou

Re bemol

D[

Re

Re sustenido

D#

ou

ou

Mi bemol

E[

Mi

329,63

Fa

349,23

Fa sustenido

F#

ou

ou

Gol bemol

G[

Sol

Sol sustenido

G#

ou

ou

La bemol

A[

La

La sustenido

A#

ou

ou

Si bemol

B[

Si

B
Tabela 2.1: Notacoes para representacao das notas.

277,18
293,66
311,13

369,99
392,00
415,30
440,00
466,16
493,88

Composic
ao Algortmica

23

Ampl i tude

Amplitude 1
Amplitude 2

Te mp o

Figura 2.5: Representacao de uma mesma nota com diferentes amplitudes

logartmica. O ser humano so percebe variacoes lineares na intensidade do som quando


a amplitude varia exponencialmente.
Para diferentes frequencias, a percepcao da intensidade do som pode tambem ser
diferente, principalmente proximo aos limites de 20 e 20.000 Hz. A faixa de frequencia
em que a percepcao e mais sensvel pode ser melhor utilizada para m
usica, pois permite
que a dinamica musical seja melhor percebida.
O termo dinamica musical e usado para definir a notacao musical impressa para indicar a dinamica de uma peca. Diferentemente da amplitude, a dinamica nao determina
nveis especficos de volume e sim como a execucao deve ser feita em relacao ao conjunto.
Todos os sinais sao derivados de palavras italianas. As gradacoes dinamicas relativas
mais basicas sao p (piano), que indica sons fracos, e f (forte), para sons fortes. Para
variacoes mais sutis, outras gradacoes podem ser utilizadas, como mostra a Tabela 2.2
(Kennedy & Bourne 2004).

Estas indicacoes sao relativas e sao quase totalmente deixadas a` interpretacao do


m
usico, a` medida que as le como escritas na Figura 2.6. O mais importante e que a
organizacao de intensidade relativa seja respeitada. Em alguns programas de notacao
musical, existe uma relacao padrao entre o parametro de velocidade da Musical Instrument Digital Interface (MIDI) (parametro utilizado para controle de intensidade nesta
interface) para cada intensidade. Alguns programas podem dar a opcao desta configuracao ao usuario. A Tabela 2.3 representa a relacao entre as gradacoes dinamicas e a
velocidade MIDI padrao no programa Logic Pro 8.

24

Composic
ao Algortmica

Smbolo

Nome

Intensidade

ppp

molto pianissimo

tao fraco quanto possvel

pp

pianissimo

muito fraco

piano

fraco

mp

mezzo-piano

moderadamente fraco

mf

mezzo-forte

moderadamente forte

forte

forte

fortissimo

muito forte

molto fortissimo

tao forte quanto possvel

Tabela 2.2: Gradacoes dinamicas mais frequentes.

!
!
" # !
ppppp pppp ppp
10

" !
fff

!
ffff

!
fp

!
pp
!
sf

!
p

!
mp

!
sff

!
sp

!
mf

!
f

!
ff

!
spp

!
sfz

!
rfz

Figura 2.6: Representacao de diferentes gradacoes dinamicas em uma partitura

Mudancas graduais tambem podem ocorrer na m


usica. Os conceitos mais comuns
sao o crescendo e o decrescendo, que indicam um aumento e uma diminuicao - respectivamente - gradual na intensidade. Os smbolos sao linhas que sao juntas na esquerda,

Gradac
ao

Velocidade

ppp

16

pp

33

49

mp

64

mf

80

96

112

126

Tabela 2.3: Exemplo de possvel relacao entre intensidade e velocidade.

Composic
ao Algortmica

25

indicando que deve haver um aumento gradual de intensidade, ou na direita, indicando


o contrario. O smbolo pode estar ao longo de varias notas e e normalmente escrito
abaixo da partitura. Um exemplo destes smbolos em uma partitura estao representados
na Figura 2.7.

# " ! ! ! ! ! ! ! !
Figura 2.7: Sinais de Crescendo e Decrescendo

2.1.3

Timbres

Sons que tem a mesma altura e volume, ainda tem claramente outra caracterstica que
os fazem substancialmente distinguveis: o timbre. Ondas com diferentes timbres geram
sensacoes muito variadas ao ouvido humano e esta caracterstica tambem nao pode ser
negligenciada (Ward 1970).
Quando o som e produzido por diferentes instrumentos musicais, pode-se identificar
os sons como sendo a mesma nota mas as caractersticas sonoras sao muito distintas.
Alem do formato da onda, o modo como ouvimos o som tambem influencia o timbre dos
instrumentos.
Quando um objeto produz sons, varias ondas senoidais sao produzidas. A frequencia
mais baixa e a nota fundamental mas outros sobretons sao criados, e podem incluir
harmonicos. O harmonicos sao criados a partir de m
ultiplos da frequencia fundamental.
Somando-se a amplitude da frequencia fundamental `a dos harmonicos, a forma da onda
nao e mais senoidal. Assim, cada instrumento produz um formato de onda diferente.
Na Figura 2.8 estao representados os timbres de alguns diferentes instrumentos.

Envelope Sonoro
Alem da forma da onda existe um segundo aspecto que determina o timbre de um
instrumento: o envelope sonoro (Erickson 1975). O envelope sonoro depende da forma
como o som comeca, se mantem e termina ao longo do tempo.
O envelope sonoro tem 4 momentos principais:

Composic
ao Algortmica

Ampl i tude

26

Violoncelo
Flauta
Obo
Piano
Xilofone

Te mp o

Figura 2.8: Formatos de onda de alguns instrumentos

Ataque O incio de cada nota.


Decaimento Apos o ataque, ocorre um decaimento ate que o som se estabilize.
Sustentac
ao A duracao da nota pelo instrumento. Isso pode ser controlado pelo m
usico
na maioria dos casos mas em alguns instrumentos, principalmente os de percussao,
isso nao e possvel.
Relaxamento Fim da nota, quando a intensidade diminui. Pode ser brusco ou lento.
Esses momentos sao importantes para a identificacao de um certo instrumento. Um
som de piano seria muito dificilmente reconhecido se tivesse um ataque lento, ja que um
ataque rapido ao se pressionar uma tecla e muito caracterstico deste instrumento.
De acordo com estes momentos principais, pode-se perceber tambem que a ac
ustica
de um ambiente pode influenciar no timbre de instrumento. Isso ocorre principalmente
em relacao a` duracao que estes momentos tem em diferentes ambientes.

2.1.4

Outras terminologias

Outros conceitos tambem sao importantes para a compreensao do metodos computacionais propostos neste trabalho. Segue uma lista com os principais itens importantes:
Notas e frequ
encias A ideia de nota pode se referir ao smbolo usado para representar
uma altura tonal e duracao ou a` altura tonal de uma certa nota. Notas sao

Composic
ao Algortmica

27

a discretizacao de fenomenos musicais que facilitam a execucao, compreensao e


analise musical (Nattiez 1990). A relacao entre alturas tonais e frequencias e
logartmica, como pode ser visto na Tabela 2.1.
Como melhor definido na secao 2.1.1, e importante nao entender nota como sinonimo
de frequencia, mesmo cada nota tendo uma frequencia. A nota e uma percepcao
do ouvido humano enquanto a frequencia e uma nocao fsica para o osciloscopio
(Pierce 1999).
Percuss
ao Instrumentos de percussao sao normalmente aqueles que produzem sons
quando sao batidos com a mao, varas, ou sao sacudidos. Apesar de ser um conceito
relativamente aberto, estes instrumentos incluem baterias, chimbais, xilofones, sinos e chocalhos.
Os instrumentos de percussao podem ter altura determinada ou nao. Os instrumentos de altura indeterminada sao usados normalmente para funcoes rtmicas por
seus timbres. Neste tipo de instrumento, a altura tonal dos sons nao pode ser bem
determinada por motivos diversos. Isso faz com que estes instrumentos possam
acompanhar bem uma m
usica independente da harmonia da m
usica em questao.
Ja instrumentos de percussao de altura determinada permitem a afinacao de suas
notas. Esses instrumentos podem fazer o papel melodico ou harmonico de uma
m
usica, alem da funcao meramente rtmica dos instrumentos de altura indeterminada.
Melodia Uma sequencia de notas musicalmente satisfatoria pode ser considerada uma
melodia. Uma melodia pode ser descrita por suas notas e tempos de execucao. A
melodia precisa fazer sentido musicalmente e seus sons normalmente tem diferentes
duracoes. Assim, uma sequencia aleatoria de notas nao pode ser considerada uma
melodia. A Figura 2.9 apresenta um exemplo de melodia, com sua respectiva
harmonia acima da pauta e letra abaixo.
A sucessao de notas de uma melodia deve ser percebida como uma entidade u
nica.
uma ideia musical ou fragmento musical recorrente, de alguma importancia
Motivo E
ou caracterstico na composicao (Nattiez 1990). O motivo pode ter aspectos
melodicos, harmonicos ou rtmicos, porem e normalmente imaginado em termos
melodicos.
o uso simultaneo de varias alturas tonais. M
Harmonia E
usicas orientadas por harmonias que se movem em progressoes sao uma marca forte da m
usica ocidental

28

Composic
ao Algortmica

% & ! ! "

! !

Pa ra bns pra vo
5

"

! !

fe

li

ci

"'

! ! "

Ne ssa da

! ! "
! ! #
da des

Mui tos a

! ! # ! !

ta que ri da

nos de

Mui tas

! ! $
vi da

Figura 2.9: Exemplo de melodia de Parabens a Voce

(Malm 1996). O estudo da harmonia envolve progressoes de acordes que normalmente governam a m
usica. A harmonia e o aspecto vertical da m
usica, enquanto
a melodia define seu aspecto horizontal.
Existem algumas tradicoes na m
usica ocidental que implicam em certas regras
harmonicas.
Apesar da harmonia se tratar de notas que soam simultaneamente, e possvel
deduzir uma harmonia atraves de uma melodia que faca o uso de arpejos. Varias
pecas contem a harmonia implcita em sua melodia.
Na Tabela 2.4 estao os nomes dos intervalos mais comuns entre as notas.

Combinacoes de notas com seus intervalos (acordes) definem a harmonia. Por


exemplo, no acorde C, ha 3 notas: C, E e G. Cada nota representa um grau da
escala e pode ser utilizada para formar um acorde.
Nenhuma nota corresponde sempre ao mesmo grau da escala, ja que a nota tonica
pode ser qualquer uma das 12 notas. Enquanto os nomes das notas sao fixos, o
conceito de intervalo e relativo. A grande implicacao disto e que qualquer m
usica
pode ser tocada em qualquer tom. A m
usica sera sempre a mesma, desde que os
intervalos empregados sejam os mesmos.
A Tabela 2.5 mostra um exemplo dos graus das escalas de do, mi e sol. Quando os
intervalos ultrapassam o oitavo grau, estes sao denominados intervalos estendidos.

Composic
ao Algortmica

Tonica

29

Terceira Maior

Terceira Menor

Quinta

E[

D[

F[

A[

F#

E[

G[

B[

G#

A[

A#

C#

B[

A[

C[

E[

C#

B[

D[

D#

F#

F#

Tabela 2.4: Intervalos de notas mais comuns

Grau
Nota

F#

G#

C#

D#

F#

Tabela 2.5: Exemplos de graus de intervalos

30

Composic
ao Algortmica

Os intervalos podem ser consonantes ou dissonantes. Estes sendo considerados


como produzindo sensacao de tensao enquanto aqueles produzem sensacao de relaxamento.
Os intervalos consonantes sao o unssono, a oitava, a quinta, a quarta e as terceiras
maiores e menores. O terceiro deles e considerado imperfeito enquanto o segundo
e considerado perfeito. Em alguns casos, o intervalo de quarto grau pode ser
considerado dissonante.
Os outros intervalos, considerados dissonantes, dependem de resolucao de tensao
e certa preparacao que depende do estilo de m
usica.
Intervalos A combinacao de duas notas - tambem chamada de dade - forma um intervalo. Os intervalos verticais, quando duas notas ocorrem ao mesmo tempo, se
referem `a harmonia. Ele pode ser classificado em relacao a` distancia entre as notas.
Os intervalos horizontais - ou lineares -, se relacionam com a melodia, quando uma
nota e executada apos a outra. Pode ser classificado ascendente, se a segunda
nota e mais aguda que a primeira, ou descendente, caso contrario. O intervalo
horizontal e considerado conjunto se as notas tem uma distancia tonal de 1 ou 2
semitons.
um conjunto de notas que tem relacao harmonica e sao percebidos como
Acordes E
soando em conjunto. As notas podem soar simultaneamente ou sucessivamente.
Os acordes mais comuns sao os compostos de 3 notas (trades).
As notas que formam o acorde sao normalmente definidas pela nota principal,
a fundamental, e dois ou mais intervalos. O acorde pode ser entendido mesmo
quando todas as suas notas nao podem ser ouvidas simultaneamente. Nattiez
(1990) cita que podemos encontrar acordes purosem um trabalho musical mas
frequentemente devemos ir de um suposto pessoal para uma representacao mais
abstrata dos acordes sendo usados.
As quartas, quintas e oitavas eram consideradas intervalos perfeitos e as trades
maiores e menores se tornaram a sonoridade padrao na m
usica ocidental. Tais
trades podem ser descritas com uma nota fundamental, sua terceira e sua quinta.
O que define se o acorde e menor ou maior e se sua terceira e menor ou maior.
Tendo que a escala de do e C D E F G A B C, o acorde C maior (a trade de do),
sera o proprio C (nota fundamental), E (terceira) e G (quinta). O acorde e maior
pois o intervalo de C para E e de 4 semitons - ou dois tons. Um acorde com a

Composic
ao Algortmica

31

Trade

Terceira

Quinta

Exemplo

Smbolos

Maior

Maior

Perfeita

C-E-G

C, CM, Cma, Cmaj

Menor

Menor

Perfeita

C-E[-G

Cm, Cmi, Cmin, C-

Aumentada

Maior

Aumentada

C-E-G#

C+, C+, Caug

Diminuta

Menor

Diminuta

C-E[-G[

Cm([5), Co , Cdim

Tabela 2.6: Quatro tipos basicos de trades


fundamental em D poderia ser construdo utilizando-se a mesma escala (D F A).
Este acorde, porem, seria denominado D menor, ja que o intervalo entre D e F e
de apenas 3 semitons. Qualquer trade construda com esta escala sera menor ou
maior, com excecao da trade de B, que sera diminuta.
Acordes de 4 notas, com setimas tambem sao amplamente utilizados. Uma vasta
quantidade de m
usica contemporanea e produzida com combinacoes trades e
acordes com 7a s. Algumas excecoes incluem m
usica classica moderna e jazz, que
nao raramente incluem acordes de pelo menos 5 notas.
Os acordes podem ser classificados em relacao ao n
umero de notas. Intervalos
de duas notas apenas podem nao ser considerados acordes (Surmani, Surmani
& Manus 2004) podendo ser chamados assim de dades ou intervalos. Porem,
os acordes normalmente utilizados em m
usica ocidental estao tao firmados como
conceito que dades ou apenas melodias podem ser ouvidas com acordes implcitos,
ja que o cerebro pode completaro acorde. Isso faz com que alguns autores
nao sejam tao restritivos em relacao ao n
umero mnimo de notas de um acorde
(Schellenberg, Bigand, Poulin-Charronnat, Garnier & Stevens 2005).
Outra classificacao u
til para acordes e a relativa aos graus da escala. No tom de
do maior, o primeiro grau da escala, chamado de tonica, e o proprio do. Assim, o
acorde do maior, construdo sobre a primeira nota, pode ser notado com o numeral
romano I. Mesmo que o acorde do maior seja encontrado em outras escalas como
nas escalas de la menor ou sol maior , ele sera marcado com diferentes numerais.
Essa numeracao permite entender a funcao do acorde na tonalidade corrente.
O acorde normalmente tem a nota fundamental como a nota mais grave. Quando
isto nao acontece, o acorde pode ser definido como invertido.
Existem quatro tipos basicos de trades que estao representados na Tabela 2.6.

32

Composic
ao Algortmica

Ja os acordes com setima sao construdos pela adicao de uma quarta nota a` trade.
Existem varios tipos de acordes de setimas e eles dependem da trade e da setima
adicionada (que pode ser maior ou menor).
Acordes estendidos sao aqueles que tem notas alem da setima nota da escala, como
a nona, a decima-primeira ou a decima-terceira. Estes acordes sao construdos com
adicao de notas que estao fora das sete notas iniciais da escala diatonica.
As notas aqui citadas que para compor um acorde podem tambem ser alteradas
por acidentes3 . Estas marcacoes sao feitas nas notas que estao sendo mudadas.
Estes acordes sao denominados acordes alterados.
Em alguns acordes, a terceira pode dar lugar a uma outra nota vizinha, a segunda
ou a quarta. Estes sao os acordes suspensos.
Ritmo Na terminologia musical, o ritmo define como os sons e silencios sao organizados
no tempo. Na m
usica ocidental, esta sempre relacionado com uma metrica. A
duracao de cada unidade de pulso e o tempo. O tempo e uma medida de quao
rapido os pulsos devem fluir.
Diferentes estilos de m
usica fazem uso diferente do ritmo e a notacao musical pode
ter informacao adaptada para instrumentos de percussao de altura tonal indefinida.
Estes instrumentos sao muitas vezes utilizados para manter os outros instrumentos
respeitando a metrica.
Compasso Os pulsos de uma m
usica tem uma duracao definida pelo tempo da m
usica e
podem ser agrupados em segmentos chamados de compassos. Uma m
usica normalmente consiste em varios compassos de mesmo tamanho e o n
umero de pulsos de
cada compasso e especificado no comeco da partitura (Nickol 1999). A formula do
compasso e escrita no incio da composicao e quando ocorre mudanca de formula.
O numerador da formula do compasso indica o n
umero de pulsos de um compasso
enquanto o denominador indica em quantas partes uma semibreve deve ser dividida
para formar uma unidade de tempo. A Figura 2.10 mostra a formula de uma
compasso 4/4. Isso quer dizer que uma unidade de tempo tem duracao de 1/4 da
semibreve e o compasso tem 4 unidades de tempo.
Na verdade, os conceitos de numerador e denominador nao podem ser aplicados
a formulas de compasso. Numerador e denominador devem estar com um traco e
tem a funcao de dividir o valor do numerador pelo do denominador. Ja em uma
3

No caso de alterac
oes na nota fundamental ou na terceira, o nome do acorde deve mudar

Composic
ao Algortmica

! 42 " 44 #

33

3 "$
4

Figura 2.10: Exemplos de Formulas de Compasso

formula de compasso 2/4 nao se pode multiplicar o numerador e o denominador


por um dado n
umero e obter uma formula equivalente.
Em termos computacionais, um compasso pode ser especificado pelos elementos
(i , ti , i ), onde i representa a altura tonal de uma nota, ti sua posicao de incio
no tempo, i sua duracao e i = 1, . . . , n e o n
umero de notas em um compasso.
No gerador melodico deste trabalho, por exemplo, cada compasso e um indivduo
e se um indivduo nao contem nota alguma, ele e considerado uma pausa. Esta
populacao de compassos se une para formar uma melodia. Assim, o objetivo nao e
entao encontrar o melhor indivduo, mas sim uma boa populacao de indivduos. No
final do processo varios deles podem ser escolhidos de uma maneira musicalmente
ciente para formar o resultado.
Timbre Sao as caractersticas ou qualidade do som distintas da altura tonal e intensidade. O timbre diferencia o som de diferentes instrumentos, mesmo quando
executam a mesma nota.
Formas musicais Alem dos elementos basicos, os sons tambem podem ser organizados
em estruturas de mais alto nvel. Estas estruturas podem ser predefinidas, como
blues de 12 compassos ou formas de sonatas, levando a formas de composicao
top-down. Varios compositores ignoram estas estruturas e compoes de maneira
bottom-up, ou seja, iniciando com elementos de mais baixo nvel. Assim, notas
podem formar frases, que por sua vez, formam versos.
Todavia, as estruturas musicais tendem a ser hierarquicas. Porem, nem sempre as
estruturas formadas pelo compositor e pelo ouvinte sao iguais.
Roads (2001) descreve escalas musicais de tempo (Tabela 2.7) que podem ser
usadas para organizar ideias musicais. Ao projetar um algoritmo de composicao,
a escala de tempo do produto do algoritmo deve ser considerada. Isso influencia
fundamentalmente nas formas de representacao a serem utilizadas.

34

Composic
ao Algortmica

Escala de tempo

Perodo de tempo

Exemplos musicais

Infinito

Infinidade

Ondas de seno ideais da teoria de Fourier

Supra

Dias, meses, anos, seculos

Concerto, album, estilo musical

Macro

Minutos ate horas

Composicao individual

Meso

Segundos ate minutos

Frases, partes de uma peca

Objeto de som

Segundos ou frac
oes de segundos

Nota, som discernvel

Micro

Milissegundos

Partcula de som, grao

Amostra

Microssegundos

Amostra digital individual

Subamostra

Nanosegundos

Eventos acima da frequencia de Nyquist

Infinitesimal

Zero

Funcao de impulso ideal

Tabela 2.7: Escalas de tempo musicais (Roads 2001)


As escalas entre segundos e horas sao normalmente comuns para m
usicos. Nestas
escalas estao inclusas pecas, frases, harmonias e melodias. A escala de objetos de som
trata das notas que sao percebidas individualmente. A escala de microtempo e utilizada
para sntese de som ou fenomenos que ocorram abaixo do limiar do que pode ser percebido como uma unidade individual. As escalas de amostra e subamostra sao unidades
de representacoes digitais de audio.
Por fim, a escala infinitesimal e utilizada apenas para modelos teoricos musicais que
podem ser u
teis em alguns contextos especficos, onde a duracao de um evento deve ser
a mais proxima possvel de zero. No extremo oposto temos a supra-escala, que pode
determinar um perodo estilstico de um genero ou carreira de um artista, e a escala
infinita para qualquer coisa alem disto.

2.2

Definic
oes de M
usica

Qualquer problema a ser resolvido precisa primeiramente ser bem definido. A definicao
de m
usica, todavia, pode nao ser tao trivial do ponto de vista computacional.
Varias pessoas podem afirmar que alguns sons nao sao m
usica e sim barulho, o
que pode levar a pensar que barulho e a anttese de m
usica. Todavia, e difcil delimitar
exatamente quais sons sao barulho e quais sao m
usica pois estes conceitos sao individuais
e dependem das experiencias culturais do ouvinte.
Pode ser comum tambem imaginar que alguns ouvintes podem nao entender muito
bem de m
usica mas saberem de quais sons gostam. Ora, estas mesmas pessoas podem na

Composic
ao Algortmica

35

verdade estar apenas expressando que gostam do que ja conhecem como m


usica. Assim,
pessoas com diferentes opinioes e profundamente comprometidas com seus pontos de
vista podem achar difcil explica-los.
Assim, m
usica e um domnio muito subjetivo e nao existe definicao de boas m
usicas
que atenda a todas as pessoas. As u
nicas caractersticas concretas que podemos definir
e que m
usica e um meio aural e temporal, o que quer dizer que se deve, computacionalmente, criar sistemas de sons organizados temporalmente.

2.2.1

A Arte da M
usica

Um dos maiores problemas para criacao de sistemas musicais automaticos, assim como
os relativos a outras artes, e a definicao do problema, que leva em consideracao muitos
conceitos individuais para ser formulado matematicamente. A definicao feita pelo criador
do algoritmo pode aumentar ou diminuir substancialmente o espaco de possveis solucoes
de um algoritmo.
A seguinte definicao pode ser encontrada no dicionario de Oxford (McKean 2005):

Music
noun
1. the art or science of combining vocal or instrumental sounds (or both)
to produce beauty of form, harmony, and expression of emotion : he
devoted his life to music.
the vocal or instrumental sound produced in this way : couples were
dancing to the music baroque music.
a sound perceived as pleasingly harmonious : the background music
of softly lapping water.
2. the written or printed signs representing such sound : Tony learned to
read music.
the score or scores of a musical composition or compositions : the
music was open on a stand.

36

Composic
ao Algortmica

Da primeira definicao de m
usica, infere-se que m
usica e considerada mais do que
apenas sons organizados no tempo mas tambem expressao de emocao e deve ter beleza
em sua forma, ou seja, estes sons devem ser organizados de uma forma harmoniosa
para o ouvinte. A maneira como estes sons podem ser organizados e subjetiva e sons
da natureza, como passaros ou cachoeiras, podem ou nao ser considerados musicais de
acordo com as preferencias de um certo ouvinte. Assim, de certo ponto de vista, m
usica
pode ser qualquer coisa desde que as pessoas queiram a reconhecer como tal, enquanto
barulho e reconhecido como perturbador ou desagradavel (Nattiez 1990).
Alem desta definicao, m
usica tambem pode ser vista por alguns como uma linguagem
(Ashby 2004). Deste modo, ela transmite conceitos dos compositores para os ouvintes,
podendo tambem utilizar generos especficos de m
usica.
Como qualquer outra arte, m
usica tambem pode ser vista como algo definido pelo
contexto social do momento (Nattiez 1990). A base cultural de uma pessoa pode determinar fortemente o que sera ou nao considerado m
usica. A exposicao de algumas
pessoas a apenas um tipo de m
usica pode criar conceitos particulares sobre a percepcao
musical. Isso pode fazer com que pessoas de cultura ocidental, por exemplo, sejam mais
acostumados a m
usicas que utilizam a escala diatonica.
Um exemplo de m
usica que desafia as formas da m
usica convencional e a 433,
composta por Cage (1961), que contem 3 movimentos que sao percebidos como apenas
4 minutos e 33 segundos de silencio.
Apesar das possibilidades de tentativa de definir m
usica serem varias, de qualquer
maneira, o conceito ainda permanece subjetivo bastante para ser formulado matematicamente. Assim, mais discussao e necessaria para formularmos a base de um processo
qualquer de CA.

2.2.2

M
usica como IHC

Alem dos conceitos basicos apresentados, e difcil definir modelos matematicos, mesmo
que complexos, para definir m
usica enquanto arte ja que isso implica em codificar
questoes esteticas e subjetivas. Por isso e interessante entender por que e como isto
ocorre. Uma abordagem muito interessante e a tentativa de definicao a partir do modelo
de Norman (1988) para interacao do usuario. Este modelo esta na Figura 2.11.
O diagrama superior da Figura 2.11 mostra o modelo original de interacao do designer

Composic
ao Algortmica

37

Modelo Mental
do Designer

Imagem do
Sistema

Modelo Mental
do Usurio

Modelo Mental
do Compositor

Composio

Modelo Mental
do Ouvinte

Figura 2.11: Modelo de Norman para Interacao do Usuario (Norman 1988) e


seu relativo musical (Biles 2007b)

com o usuario, que na verdade, nao consegue ter relacao direta alguma com o designer. O
designer pode criar recursos para o sistema que o usuario nao entendera completamente
e alguns recursos nao poderao ser usados pelo usuario. De qualquer maneira, a intencao
e que tanto o usuario como o designer tenham a mesma imagem do sistema, o que nunca
e completamente possvel.
Biles (2007b) descreve como o modelo de Norman (1988) pode ser entendido do ponto
de vista musical. Esta analogia esta no diagrama inferior da Figura 2.11 e se baseia em
uma composicao no lugar da imagem do sistema. Agora, esta imagem inclui varios
aspectos definidos pelo designer (o compositor) que vao alem da partitura. A peca, seu
ttulo, suas notas, o local da apresentacao, a aparencia e comportamento dos m
usicos e
as crticas, assim como a partitura, influenciam a imagem sobre a composicao inferida
pela audiencia.
Assim como no modelo de Norman (1988), o modelo intencionado pelo compositor
nunca sera completamente compreendido pelo ouvinte. Da mesma maneira que um
sistema qualquer pode ter varios recursos que nao sao conhecidos ou compreendidos
pelo usuario, a peca tem estruturas de varios nveis. Nuancas sobre as melodias podem
nao ser percebidas por um certo ouvinte.
O usuario, ou o ouvinte, absorve uma composicao tendo como referencia suas experiencias passadas e sua cultura, o que leva diferentes pessoas a terem diferentes percepcoes das mesmas m
usicas. Quando escuta uma m
usica, o ouvinte pode ter um modelo
mental mais desenvolvido para compreender aquele compositor especfico, que pode ter
um estilo musical muito caracterstico. Quando o ouvinte nao tem um modelo desenvolvido para certo estilo musical ou grupo de composicoes, provavelmente se perguntara o

38

Composic
ao Algortmica

que foi a peca que acabou de ouvir, dizer que nao entendeu ou simplesmente nao gostar.
Assim, para a mesma composicao, cada pessoa tem uma resposta diferente. Isso
faz com que seja difcil o desenvolvimento de modelos matematicos para uma m
usica
perfeita, ao mesmo tempo que e um motivo pelo qual as pessoas gostam de m
usica:
as m
usicas nos falam individualmente.
Outra observacao importante que pode ser feita a partir do modelo de Norman (1988)
e que cada pessoa tem uma estrutura para cada m
usica. Quando se refere a` organizacao
das estruturas de alto nvel de uma m
usica, agora, e fundamental perceber que e importante definir se esta organizacao de alto nvel e a pretendida pelo compositor ou a
inferida pelo ouvinte. No papel de designer de algoritmos que criarao composicoes, na
maior parte das vezes se refere ao modelo do compositor.
Dependendo da configuracao do modelo, a organizacao das estruturas do ouvinte
e do compositor podem ser similares ou nao. Um exemplo e um jazz que tenha uma
estrutura muito comum de normalmente se iniciar com um tema, fazer uma improvisacao
e retornar ao tema principal. Varios ouvintes podem nao entender completamente quais
partes da m
usica sao improvisadas e pessoas que nao conhecem o modelo do compositor
podem pensar que toda a improvisacao nao e improvisada. Igualmente, alguns ouvintes
podem nao ter a mnima ideia do que e uma improvisacao.
Apesar disto, varios ouvintes podem nao entender bem o modelo do compositor e
gostarem da m
usica - ou entender bem a estrutura pretendida pelo compositor e odia-la.
Assim, ouvintes diferentes procuram e entendem coisas diferentes de maneiras diferentes.
Isso deixa mais claro ainda a dificuldade implcita na criacao de modelos matematicos
para criacao de composicoes.
Sons da natureza podem ser organizados claramente. Exemplos sao os cantos dos
passaros, as quedas de cachoeiras ou sons naturais do funcionamento de um carro. Por
mais que estes sons tenham sido criados por um compositor nao-humano e nao tenham
uma intencao explcita de serem organizados daquela maneira, estes sons estao organizados no tempo, nao importa quem os organiza e como os organiza. Estruturas podem
ser organizados mesmo com a ausencia de qualquer compositor.

Composic
ao Algortmica

2.3

39

Conclus
ao

Neste captulo foi apresentado o conceito de CA e a terminologia indispensavel para


seguir com a analise de como a CE pode ajudar o ramo.
A seguir definicoes sobre a estrutura do som foram dadas, para que entao fossem
explicados conceitos musicais. O som e uma onda mecanica que pode ser representada
por sua variacao que tem uma frequencia, medida em Hz, uma amplitude, medida em
decibeis, e um timbre, que define o formato desta onda.
Por fim, apresentou-se como a m
usica pode ser percebida de diferentes maneiras e
em particular de acordo com sua analogia como IHC. Este modelo nos faz compreender
como a m
usica e uma peca com a qual o compositor pode passar suas intencoes para o
ouvinte. O ouvinte, porem, nunca confirma sua percepcao artstica diretamente com o
compositor.
Estes conceitos sao fundamentais para a compreensao das metodologias aplicadas
neste trabalho e suas devidas justificativas.

40

Captulo 3
Metodologia
Este captulo descreve a abordagem utilizada neste trabalho para o desenvolvimento de
um sistema de CA.
Inicialmente, sao dadas as definicoes basicas de um AG e suas implicacoes no universo
musical. Nesta secao, alem das definicoes basicas de um AG, estuda-se com mais detalhes
como uma m
usica pode ser representada ou avaliada em relacao a uma medida de fitness.
Com uma definicao de AG, a proxima secao aborda os metodos especficos utilizados
neste trabalho para geracao de m
usica de forma algortmica. Dois algoritmos diferentes
podem formar uma composicao, gerando separadamente melodias e harmonias.

3.1

Algoritmos Gen
eticos

A CE envolve os metodos baseados na evolucao natural (Darwin 2003). Solucoes para


problemas podem se juntar para formar potenciais novas solucoes que serao provavelmente melhores que a primeira em decorrencia de uma pressao seletiva. Estes metodos
foram inicialmente propostos para resolver problemas de otimizacao (Reeves 2010) pois
e uma tecnica u
til para difceis problemas de busca onde ha uma maneira de avaliar
solucoes mas nao se conhece algoritmo capaz de encontrar a solucao otima em tempo
polinomial.
O que estas solucoes podem representar e uma questao muito ampla e inclui especificacoes de motores, programacoes de horarios com restricoes, m
usicas ou controle de
parametros de um processo qualquer. Em consequencia, estes algoritmos se tornaram
41

42

Metodologia

um arcabouco flexvel para varios tipo de aplicacoes, incluindo trabalhos criativos.


Os principais componentes de um AG sao:

Cromossomos com conhecimento sobre a estrutura da solucao. A informacao no


cromossomo mapeia a um fenotipo que passa por um processo de selecao natural. Os cromossomos podem representar informacao musical na forma de notas,
frequencias ou eventos.
Um processo de selecao que julga as solucoes de acordo com uma funcao de avaliacao. Este operador seleciona quais cromossomos devem ter a oportunidade de
se reproduzir e passar parte de seus valores para as geracoes seguintes. Assim,
espera-se que geracoes mais avancadas tenham melhores indivduos. O calculo do
fitness para tarefas musicais e normalmente heurstico, interativo ou baseado em
regras (Miranda & Biles 2007). Cada um deles tem suas vantagens e desvantagens.
Operadores Geneticos que sao estruturados considerando informacao e premissas
sobre como a busca de novas solucoes deve ser conduzida. Neste nvel, estes operadores devem ser capazes de combinar informacao previamente selecionada contida
em solucoes correntes de maneira efetiva e ter potencial para explorar todas as
solucoes possveis. Alem disso, em sistemas musicais, estes operadores podem ser
guiados para nao gerar solucoes consideradas fora de contexto, ou inviaveis.

Estes sistemas podem, por exemplo, encontrar resultados para a tarefa de harmonizar
melodias (Phon-Amnuaisuk, Tuson & Wiggins 1999), porem existem algumas dificuldades. A primeira delas e que nao ha garantia de se encontrar a solucao otima, o que e
compreensvel para programas dos quais se esperam que resolvam tais problemas. A
segunda complicacao e que AG podem se tornar sistemas com alto custo computacional quando muito conhecimento e adicionado ao sistema. Este tipo de conhecimento e
indispensavel para qualquer sistema que produz bons resultados.
fundamental que pelo menos uma mnima base de conhecimento sobre a area seja
E
modelada para o AG para que este possa ao menos distinguir entre solucoes boas e
ruins. Para sistemas de CA, informacao deve ser embutida em todo o sistema para

que ocorram solucoes aceitaveis em termos de alturas tonais, duracoes e harmonia. E


importante considerar como embutir este tipo de informacao nao apenas na funcao de
fitness mas tambem em outras feicoes do algoritmo como a representacao das solucoes,

Metodologia

43

pois um algoritmo nao pode gerar nenhuma solucao nao codificavel em seu formato de
representacao.
Ha muita discussao sobre o papel de sistemas adaptativos em m
usica, principalmente
pela natureza do problema, que pode nao ser tao bem definido como outros problemas
de otimizacao1 . De qualquer maneira, a CE oferece um arcabouco que pode ser extremamente u
til para trabalhos criativos e nesta secao sera feita uma discussao sobre o
papel destes sistemas para aplicacoes musicais.

3.1.1

Biologia

Os AG sao heursticas de busca que copiam de certo modo o comportamento da evolucao


um metodo muito utilizado para a
natural assim como definida por Darwin (2003). E
procura de solucoes para problemas de otimizacao por sua grande flexibilidade.
Assim como na biologia, varias solucoes podem ter um genotipo (sua representacao)
com varios tracos herdaveis. Estes tracos sao transmitidos de geracao a geracao. Quando
um traco e herdado varias vezes, tem-se um sinal de que este seja uma traco positivo
para o problema em questao. Com o passar do tempo alguns indivduos nao sobrevivem e outros dao origem `a nova geracao, com alguns tracos que estarao provavelmente
repetidamente presentes, a qual espera-se ter maior aptidao.
Em seus estudos iniciais, Darwin nao sabia exatamente como as variacoes ocorriam
entre as geracoes. Este problema foi resolvido pela genetica moderna, que criou a base
teorica para explicar os processos geneticos, como mutacoes e recombinacao, que levam a
variar mais substancialmente o genotipo dos novos indivduos. As mutacoes podem gerar
opcoes de exploracao da solucao, que nao seriam exploradas apenas pelo cruzamento.
Como o genotipo leva sempre a um fenotipo, e uma selecao natural atua sobre
este, espera-se que os melhores indivduos tenham maior chance de sobreviver para
as proximas geracoes. A representacao esquematica de um AG esta na Figura 3.1.
No algoritmo, uma populacao que e representada por cadeias de caracteres, chamadas
de cromossomos, formam os indivduos, que nao sao nada mais do que possveis solucoes
para um problema. Com o processo evolutivo, melhores solucoes passam a ser geradas
com o tempo. Um pseudocodigo simplificado de um AG pode ser descrito como no
1

Assim como todas as aplicac


oes destes metodos para criacao de arte

44

Metodologia

Pais
Inicializar
Seleo

Avaliar a
Populao

Recombinao
Mutao

Avaliar
Descendentes
Substituio

Figura 3.1: Representacao Esquematica de um Algoritmo Evolutivo

Algoritmo 3.1.
Algoritmo 3.1: AG
Entrada: Populacao de indivduos, Funcao Objetivo
Resultado: Indivduo
1 enquanto crit
erio de parada nao e satisfeito faca
2
Lista dos Pais
Selecao(Populacao de Indivduos, Funcao Objetivo);
3
Populacao
Reproducao(Lista de Pais);
4
Populacao
Mutacao(Populacao);
5
6

fim
retorna O melhor indivduo analisado durante o processo;

A funcao-objetivo contem uma funcao capaz de analisar a qualidade de um indivduo


e por isso e necessaria para que a lista dos pais seja gerada levando em consideracao
a qualidade destes indivduos. Assim, esses indivduos que provavelmente sao de boa
qualidade geram uma nova populacao que passara pelo mesmo processo.
Estes tipos de algoritmos tem varias funcoes musicais, area normalmente denominada
M
usica Evolutiva (ME). As areas de maior atencao em ME sao composicao e design de
som. Naquela, a funcao-objetivo pode ser a similaridade com um determinado compositor ou estilo, podendo-se assim evoluir pecas `a maneira de um compositor ou estilo

Metodologia

45

especfico, como feito por Biles (1994). Quando o trabalho e desenvolvido no sentido
de um estilo particular de composicao, e mais facil definir criterios que levarao ao objetivo proposto. Ja em trabalhos com a necessidade de composicoes mais criativas ou
inovadoras, a criacao de um algoritmo e mais desafiadora.
Na area de design de som, a tecnica ja tem a sua eficacia comprovada para sintetizar
sons a partir de sons alvos ou desenvolver novos sons (Johnson 2003). O genotipo dos
indivduos pode ser feito pelos parametros que definem os sons. Nos casos em que se
precisa achar sons parecidos com um certo instrumento tradicional, a proximidade com
o dado instrumento pode ser a funcao-objetivo. Ja para o procura de novos sons e mais
difcil a relacao com funcoes objetivo e a avaliacao humana e a norma (Woolf 1999).
A melhor escolha dos operadores geneticos, da forma de representacao, funcao de
avaliacoes, assim como outros pontos da implementacao dependem muito do ramo de
aplicacao do algoritmo e uma analise dos experimentos realizados presentes na literatura
e fundamental para o desenvolvimento de um algoritmo deste tipo.
Talvez uma das mais intrigantes perguntas a serem respondidas antes de determinar
como criar um AE para CA e como determinar a qualidade de uma solucao e, caso esta
determinacao seja feita por um mentor humano, como evitar um gargalo de fitness, ou
seja, o tempo gasto para avaliar varias solucoes que pode atrapalhar ou ate impedir o
mentor de fazer uma avaliacao justa das solucoes. Alem disso, e importante definir quais
serao as solucoes iniciais, que podem ser diversas porem nao musicais, ou musicais e nao
criativas. Em muitos casos a definicao do problema nao e coerente, o que faz o algoritmo
convergir para solucoes corretasque nao atendem ao objetivo inicial.
AG sao sistemas muito complexos e difceis de analisar. Varios resultados puramente
empricos sao encontrados na literatura, sendo a`s vezes inconsistentes para a comparacao
entre metodos para a mesma aplicacao. Porem o entendimento de como os AE funcionam
sempre pode ser obtido por analise de alguns estudos previos que sao u
teis para poupar
tempo consideravelmente no desenvolvimento de novos sistemas.
Nas proximas subsecoes serao analisadas quais questoes precisam de resposta para o
desenvolvimento de sistemas de CA baseados em AG.

46

3.1.2

Metodologia

Representac
ao

A representacao de um indivduo e usualmente feita por uma cadeia de caracteres que


representa a solucao de alguma maneira. Nos AG mais tradicionais, essas cadeias eram
representadas apenas com 0s e 1s.
A representacao da solucao e denominada genotipo e dependendo da aplicacao especfica, genotipos simples podem levar a fenotipos mais complexos. Estes genotipos
podem ter tamanho fixo, como na representacao de uma rota que passe sempre por n
cidades, ou variavel, como na representacao de uma melodia que pode ter um n
umero
indefinido de notas com suas respectivas duracoes.
De qualquer maneira, e sobre o fenotipo que o processo evolutivo atua. Diferentes
genotipos terao o mesmo valor de funcao-objetivo se estes levam a fenotipos iguais. Assim, pode-se inferir que diferentes representacoes podem existir para o mesmo problema.
Estas representacoes, porem, nao sao sempre igualmente boas.
Por exemplo, uma lista de tarefas pode ser representada por um vetor com os n
umeros
das tarefas possveis em sua ordem de execucao ou por uma tabela na qual e marcado 1
quando a tarefa e executada em um certo horario e 0 quando nada acontece. A primeira
opcao provavelmente sera mais maleavel na maioria dos casos.
Em alguns casos a representacao de uma solucao e obvia, isto acontece quando a
solucao representa os parametros de processos. Neste caso, basta guardar os proprios
parametros do processo como genotipo da solucao. Em alguns casos uma representacao
boa pode nao ser tao obvia, como na codificacao de um compasso de uma m
usica.
O conjunto de todas as solucoes possveis e denominado espaco de busca ou espaco
de solucoes. Representacoes ruins levam a uma difcil exploracao deste espaco de busca
e o AE se torna in
util. Em ME, por exemplo, uma representacao mal feita pode gerar
solucoes que sejam ate boas de fato mas que utilizam notas que nao podem ser executadas
por instrumentos reais.
Assim, convem analisar como a representacao genetica dos componentes mais importantes para sistemas de CA pode ser feita. A representacao depende muito da expectativa
do comportamento do gerador musical, que pode respeitar apenas escalas previamente
definidas, utilizar cromatismos entre as notas ou ser totalmente livre. Existem basicamente 3 abordagens utilizadas para representar a altura tonal de cada nota em sistemas
de CA.

Metodologia

47

Absoluta Existem codigos MIDI que se referem a notas especficas. Assim, pode-se usar
um n
umero para representar cada nota de maneira absoluta. A grande vantagem
desta abordagem e sua simplicidade.
Relativa As notas podem tambem ser especificadas em relacao a outra nota de referencia. Assim, apenas a diferenca entre a nota em questao e a nota de referencia
precisa ser especificada. Exemplos de notas que podem ser usadas como notas
de referencias sao a u
ltima nota de uma determinada frase, verso ou compasso; a
primeira nota de uma frase; a base da harmonia, ou seja, a nota fundamental da
harmonia no momento em que a nota e executada; ou qualquer outra nota que sirva
como base para a melodia. Nesta abordagem, quando ocorrem mudancas geneticas
no genotipo, o fenotipo continua sempre a corresponder `a nota de referencia. O
genotipo pode ser mapeado em um fenotipo de acordo com a progressao harmonica
de dado compasso e a referencia de escalas como as da Tabela 3.1 (Biles 1994).
Deslocamento de Escala A harmonia pode ser utilizada para determinar um codigo
para cada nota. Deste modo, se se define que escalas serao sempre respeitadas as
notas poderao ser as notas em relacao `a escala dada. Pode-se inclusive descartar
notas nao pertencentes `as escalas em questao.

Outra abordagem possvel para representacao das notas seria, e claro, o codigo da
frequencia absoluta de cada nota. Esta abordagem e raramente utilizada em sistemas de
composicao, ja que a intencao final e trabalhar com alturas tonais e nao com frequencias.
Alem das notas, e usualmente importante definir como sera representado o ritmo, o
tempo de incio e duracao de cada nota. A representacao mais comum e a orientada por
necessario
ritmo, ou seja, com o tempo definido em relacao a`s pulsacoes da m
usica. E
lembrar de definir a duracao de cada nota quando projetar um modo de representacao
da solucao. Esse tipo de representacao e muito u
til para m
usicas que sao orientadas pela
pulsacao.
Outra abordagem e a absoluta, que e a utilizacao de medidas de tempo reais, como
milissegundos. Estas representacoes fogem ao contexto de m
usicas orientadas a pulsacao
e sao mais apropriadas para composicoes onde eventos acontecem em tempos especficos.
Em alguns casos tambem e necessario codificar sequencias de eventos que podem representar linhas melodicas com seu ritmo e notas. Para isto, as abordagens normalmente
sao:

48

Metodologia

Tabela 3.1: Escalas que podem auxiliar o mapeamento do genotipo de uma


melodia em fenotipo
(Biles 2007b)
Acorde

Escala

Notas
a

Cmaj7

Maior (sem 4 )

CDEGAB

C7

Mixolidiana (sem 4a )

C D E G A B[

Cm7

Menor (sem 6a )

C D E[ F G B[

Cm7[5

Locria (sem 2 )

C E[ F G[ A[ B[

Cdim

Diminuta W/H (Whole/Half )

C D E[ F F# G# A B

C+

Lidiana Aumentada

C D E F# G# A B

C7+

Whole Tone

C D E F# G# A#

C7#11

Lidiana Dominante

C D E F# G A B[

C7#9

Alterada

C D[ E[ E F# G# B[

C7[9

Diminuta H/W (Half /Whole)

C D[ E[ E F# G A B[

Cm7[9

Frgia

C D[ E[ F G A B[

Cmaj7#11

Lidiana

C D E F# G A B

Baseadas em posic
ao para a representacao de compassos ou frases. Nesta abordagem, existe uma posicao de memoria disponvel para cada pulso ou subdivisao de
pulso e a nota a ser executada fica salva nesta posicao. Assim, os genes representam
notas e ritmos ao mesmo tempo, enquanto o tamanho do cromossomo pode ser fixo
e ser definido pela granularidade da divisao tomada como necessaria (Biles 1994).
Por exemplo, com uma codificacao de 4 bits, o smbolo 0 pode representar uma
pausa na melodia, 15 a continuidade da nota anterior e os smbolos de 1 a 14 notas
especficas, assim como na Tabela 3.2 e 3.3.
Baseadas em ordem para resolver tambem o problema de duracao. Nesta abordagem,
as notas sao salvas de acordo com a ordem em que aparecem na m
usica. Cada
nota e representada por sua altura, tempo e duracao.
Baseadas em
arvores para abordagens que definam a m
usica como uma estrutura
hierarquica. Esta abordagem vem da programacao genetica (Johanson & Poli
1998). Os nos interiores podem mapear funcoes musicais como sequencias, repeticoes e acordes. Ja as folhas podem mapear notas, descansos ou melodias.
Assim existe a vantagem de se estender a estruturas de nveis mais altos.

Metodologia

49

Tabela 3.2: Mapeamento possvel para uma representacao baseada em posicao


C
odigo Bin
ario

Valor Decimal

Representac
ao

0000

Pausa

0001

0010

C#

0011

0100

D#

0101

0110

0111

F#

1000

1001

G#

1010

10

1011

11

A#

1100

12

1101

13

1110

14

C#

1111

15

Sustentacao

Tabela 3.3: Um indivduo formado com o mapeamento da Tabela 3.2


Gen
otipo Bin
ario

0010 1111 1111 0111 1100 0010 1111 1111

Gen
otipo Decimal

2 15 15 7 12 2 15 15

Fen
otipo

3.1.3

&
# " !$% !$ $ !$%
'

Inicializac
ao e Estrutura da Populac
ao

Apos decidir a abordagem utilizada para representar o conte


udo musical, e importante
definir como sera a populacao inicial do processo evolutivo.
Do ponto de vista tradicional dos AG, o mais comum seria gerar a populacao inicial
de maneira totalmente aleatoria. Isso da mais probabilidade ao AG de convergir para

50

Metodologia

solucoes boas pois mais opcoes do espaco de busca estao sendo exploradas. Este modo
de inicializar a populacao, apesar de ser natural na perspectiva de AG e normalmente
muito pouco musical e artstico. Isso se deve principalmente ao fato desta abordagem
gerar intervalos horizontais muito largos na composicao. Alem disto, desta maneira,
compassos teriam uma distribuicao aleatoria de notas, o que pode nao ser considerado
muito musical.
Quando a populacao inicial e criada aleatoriamente e um mentor avalia a populacao
para definir sua funcao objetivo, esta avaliacao fica muito difcil. Isso ocorre pois e
extremamente complicado distinguir qual melodia e mais musical em uma populacao
de melodias criadas aleatoriamente. Nesta populacao, provavelmente todas as melodias
serao igualmente ruins, o que impede o processo evolucionario. O importante e que haja
como definir pelo menos quais elementos da populacao sao bons ou ruins. Um exemplo
de uma aplicacao destas foi feita por Burton & Vladimirova (1997).
Para a criacao de um material inicial mais discernvel, pode-se usar uma populacao
inicial semi-aleatoria. Neste caso, usa-se normalmente material realcomo populacao
inicial. Este material tera assim relacao com material real antes de partir para o processo
evolutivo. Assim, o processo evolutivo pode iniciar-se a partir deste material melodico
ate alcancar novas composicoes. Para a geracao deste material inicial semi-aleatorio,
existem aplicacoes utilizando desde geradores fractais (Gardner 1978) ate cadeias de
Markov (Hiller & Isaacson 1958). A ideia e criar inicializadores aleatorios inteligentes,
que pelo menos se assemelhem com m
usica, e assim possibilitar a avaliacao por um
mentor.
Uma terceira possibilidade para inicializar a populacao e a utilizacao de um banco de
dados de m
usicas de qualidade. Neste caso, e garantida a inicializacao da populacao com
indivduos aceitaveis, o que torna o processo evolutivo um pouco mais facil com o que
pode ser considerado uma trapaca do ponto de vista dos AG onde a populacao inicial
e totalmente aleatoria para facilitar a exploracao do espaco de busca. Esta populacao
inicial pode vir tanto do usuario (Ralley 1995) quanto do estudo de um estilo especfico
(Prerau 2001).
Mesmo com indivduos que nao sejam criados de forma aleatoria, e possvel desenvolver outros indivduos muito pouco relacionados com os iniciais, diversos e muito
musicais se existem operadores geneticos musicalmente cientes, como sera analisado na
importante que, caso possvel, a origem de cada um destes compassos seja
secao 3.1.5. E
sempre marcada como modo de manter a diversidade na populacao.

Metodologia

51

Apos a criacao destes indivduos iniciais, a populacao tera os genotipos de seus indivduos e suas informacoes associadas, como o fitness. A populacao e normalmente de
tamanho fixo e muda a cada geracao.

3.1.4

Selec
ao

Quando os indivduos sao selecionados para reproduzir ou para sobreviver, isto nao
ocorre de forma totalmente aleatoria: os indivduos mais aptos tem maior chance de
selecao. Isto e o que faz crer que apos algumas geracoes existirao indivduos melhores
que seus ascendentes.
O modo mais simples para resolver este problema e o metodo da roleta. Neste
metodo, e utilizada uma roleta onde os indivduos mais aptos tem uma maior parte
da roleta. Assim, a roleta gira e os indivduos mais aptos normalmente sobrevivem,
deixando tambem uma chance para os indivduos menos aptos, assim como demonstrado
na Figura 3.2.

A roleta rodada
escolhendo-se um ponto aleatrio

Melhor indivduo tem


maior quota da roleta
Pior indivduo tem
menor quota da Roleta
Figura 3.2: Metodo da Roleta

Neste esquema, sendo o fitness de um indivduo denominado fi , a porcentagem P (x)


referente ao indivduo x na roleta e expressa pela Equacao 3.1, sendo n o tamanho da
populacao.

52

Metodologia

P (x) = fx /

n
X

fi

(3.1)

i=1

Um problema deste metodo e que no incio do processo as disparidades entre os bons


e ruins indivduos sao muito grandes. Assim, este metodo pode favorecer os indivduos
que sao relativamente aptos no incio mas nao seriam bons indivduos finais para o
problema. Isto e denominado convergencia prematura.

Probabilidade de Seleo

Uma maneira simples de resolver este problema e utilizar uma selecao baseada em
posicoes, onde a possibilidade de selecao de um indivduo nao fosse dependente de seu
fitness mas sim de sua posicao entre os melhores e piores indivduos, de acordo com uma
formula especfica, assim como na Figura 3.3.

Mtodo 1
Mtodo 2

Posio

Figura 3.3: Duas Maneiras Possveis de Fazer uma Selecao baseada em Posicoes

Na Figura 3.3, duas funcoes possveis para fazer uma selecao baseada em posicoes
sao representadas. Com esta abordagem, os indivduos sao ordenados do melhor para o
pior, sendo x a posicao do indivduo nesta ordenacao. O valor de fx que define a porcao
deste indivduo na roleta, passa a ser f (x), de acordo com uma funcao como uma das
duas representadas na Figura 3.3. Deste modo, pode-se evitar a diferenca de valores na
roleta entre as primeiras e as u
ltimas geracoes.
O processo de selecao sera dependente do modo como os indivduos sao avaliados.
A selecao pode ser totalmente baseada em aptidao, o que e o mais puro do ponto de

Metodologia

53

vista dos AG. Este e um modo bom de fazer o processo em esquemas de otimizacao
porem pode ser ruim para processos em que se usa a CE para gerar arte. Isso ocorre
pois `as vezes, em arte, nao e importante encontrar o melhor indivduo possvel de acordo
com um criterio e sim achar uma populacao de frases boas e coerentes entre si. Esta
caracterstica destaca bem a diferenca entre otimizacao e exploracao do espaco de busca.
A selecao tambem pode ser musicalmente ciente, onde os indivduos selecionados
dependem da compatibilidade entre si ou existe um mentor humano que avalia os indivduos. A utilizacao de um mentor pode ser boa para sistemas colaborativos mas tem
varias desvantagens sendo a maior delas o gargalo de fitness, onde o longo tempo levado
para a avaliacao atrasa muito o processo evolutivo.
Uma outra sada possvel, e fazer esta selecao aleatoriamente, o que tira a pressao
seletiva, fator fundamental dos AG. Estas abordagens podem ser apropriadas quando
existe uma medida de fitness porem deve-se estudar como a populacao pode melhorar
na falta desta medida. Estas especificidades serao melhor discutidas na secao 3.1.6.
Em sistemas evolutivos que trabalham com arte, e ainda mais importante que nem
sempre apenas os melhores indivduos passem para as proximas geracoes, ja que a manutencao da diversidade pode ser tao importante quanto a geracao de bons indivduos.
Assim como na natureza, nem sempre os melhores indivduos sao os que procriam mais.
Na natureza, errarpode ser um modo importante de testar novas possibilidades. Na
definicao de um sistema destes, e necessario definir o quanto e possvel explorar solucoes
que podem talvez ser vistas no momento como insuficientemente boas para explorar algo
diferente do que pode dominar a populacao.

3.1.5

Operadores Gen
eticos

A criacao de novos indivduos atraves das geracoes e feita pelos operadores geneticos, que
possibilitam que nao so os indivduos iniciais sejam testados mas que tambem ocorra
de fato um processo evolutivo. Os operadores mais comuns sao os de cruzamento e
mutacao, porem diferentes operadores mais complexos podem surgir dependendo da
area de aplicacao.
Estes operadores podem ser cegos ou guiados, ou seja, podem nao ocorrer de forma
totalmente aleatoria. Isto pode ajudar em aplicacoes musicais ja que nem sempre transformacoes totalmente aleatorias sao bem vindas. Se o gene e uma nota, por exemplo, as
mutacoes podem ser guiadas para que certas regras harmonicas ou melodicas nao sejam

54

Metodologia

quebradas no processo.
O processo de cruzamento, via de regra, se baseia em criar um ponto de corte que
possa unir um elemento ao outro para criar um novo indivduo enquanto a mutacao,
normalmente e feita atraves da troca de valor de um gene qualquer2 . Exemplos basicos
destes operadores estao na Figura 3.4.

Cruzamento

Mutao

Figura 3.4: Operadores de Cruzamento e Mutacao

Cruzamento
No operador de cruzamento tradicional e escolhido um ponto de corte aleatorio para
a divisao dos pais e formacao dos filhos. Deste modo, o potencial da populacao pode
ser muito bem explorado ja que mais combinacoes entre os pais podem ser formadas
e os filhos podem ter fenotipos bem diferentes dos pais. Esta e uma boa abordagem
para problemas de otimizacao e problemas musicais que se reduzem a otimizacao, como
combinacao de sons e harmonia.
Quando se trata de ME, o operador de cruzamento quase nunca podera ser usado
plenamente na sua forma tradicional3 pois muitas vezes a intencao e gerar uma populacao
boa e nao um bom indivduo apenas. Com a analise do fenotipo dos indivduos, e possvel
assim escolher pontos de corte que sejam vantajosos para a geracao de material melodico
como, por exemplo, os pulsos de uma m
usica. Alem do ponto de corte, a maneira como
2

Nos casos mais simples, de 1 para 0, ou de 0 para 1.


Como forma tradicional, denota-se a forma antiga de utilizacao do operador: a nvel de bits. Grande
parte das aplicac
oes atuais n
ao utiliza esta forma de cruzamento.
3

Metodologia

55

o material e trocado entre os pais tambem pode ser usada para fazer o operador mais
musicalmente ciente.
Via de regra, em ME, os pontos de corte operam a nvel de notas mais do que a nvel
de bits. Isso ocorre pois a nvel de bits novas notas poderiam ser geradas no cruzamento
e estas novas notas provavelmente levariam a solucoes que ou nao valem a pena ser
consideradas ou nao criam mudanca substancial no indivduo. Essas mudancas seriam
provavelmente intervalos verticais absurdos, como o exemplo da Figura 3.5, onde e usado
como exemplo o mesmo mapeamento da Tabela 3.2 e o cruzamento a nvel de bits cria
eventos que sao inexistentes em ambos os pais e fazem pouco sentido musical.
Pai 1

Pais

$ " # # # # ! # ' # ! # ! # & #% # # # &


!
Filho 1

Filhos 1

$ " # # # # ! # # ! # & ! # & #% ! # ! # ' # ! #


Filho 1

Filhos 2

Pai 2

$ " ####

Filho 2

# ! # & ! # & #% # !# ' # ! #


Filho 2

Indivduo

Corte `a esquerda

Corte a` direita

Em decimal

Pai 1

0110 1100 1010 1101 111

1 1011 1010 1011

6 12 10 13 15 11 10 11

Pai 2

1110 1111 0000 1110 100

0 0110 0010 0000

14 15 0 14 8 6 2 0

Filho 1

0110 1100 1010 1101 111

0 0110 0010 0000

6 12 10 13 14 6 2 0

Filho 2

1110 1111 0000 1110 100

1 1011 1010 1011

14 15 0 14 9 11 10 11

Filho 1

0110 1100 1010 1101 1111

0110 0010 0000

6 12 10 13 15 6 2 0

Filho 2

1110 1111 0000 1110 1000

1011 1010 1011

14 15 0 14 8 11 10 11

Figura 3.5: Exemplo de Cruzamento a nvel de bits e a nvel de notas

Mutac
ao
O operador de mutacao e utilizado para que mais solucoes do espaco de busca possam
ser exploradas e e normalmente feito com uma simples mudanca do valor de um gene
qualquer do indivduo (bit-flop). Esta abordagem raramente funciona em ME, principalmente por gerar deslocamentos horizontais muito grandes na melodia, alem de nao ter
relacao estetica qualquer com a arte em questao. Alem disto, no caso da utilizacao de

56

Metodologia

um mentor, este nao pode ouvir um excesso de opcoes absurdas de melodias geradas por
processos que apenas as mudam mas provavelmente nao as melhoram. Em sistemas que
funcionam em tempo real, tambem existe a expectativa que as geracoes futuras soem
bem logo apos a mutacao.
Em sistemas para criacao de arte e normalmente desejavel que os indivduos mutados
sejam melhores do que seus ancestrais - ou pelo menos nao piores. Assim, em ME os
operadores nao podem ser burrose baseados em baixas probabilidades. As mutacoes
devem ser musicalmente significativas.
Uma alternativa muito simples e que os usuarios possam mutar estes indivduos a
mao (Unemi & Senda 2002). Isso pode tambem ser considerado trapaca em relacao a
abordagens mais convencionais de CE porem pode gerar bons resultados para usuarios
interessados em gerar sons agradaveis mais do que mostrar do que a CE e capaz. Um
problema deste tipo de mutacao e o mesmo da utilizacao de um mentor para avaliacao
musical: o gargalo de fitness.

Operadores Musicais
Podem tambem entrar na fase de mutacao, outros operadores que facam mudancas no
indivduo e que podem funcionar em paralelo. Operadores especficos sempre ocorrem em
problemas de codificacao mais complexa. Alguns exemplos do que operadores musicais
podem fazer sao:
Inverter as posicoes das notas de uma sessao aleatoriamente determinada de um
genotipo
Levar uma sessao de um lugar para outro ou fazer uma troca entre duas partes.
Adicionar copias extras de genes em outra parte da composicao
Apagar partes da melodia ou troca-las por pausas
Mudar a altura tonal de algumas ou todas as notas
Deslizar a posicao das notas em um compasso
Ordenar uma sessao de notas por suas alturas tonais
Inverter os intervalos horizontais de uma melodia, considerando a media das alturas
tonais ou nao

Metodologia

57

Uma mistura das opcoes descritas


Dependendo da maneira como a representacao e feita, estes operadores podem ter
efeitos diferentes sobre as m
usicas. No caso de representacao das notas por sua posicao,
onde e comum definir codigos para pausas ou para sustentacao de uma nota, a estrutura
rtmica de uma frase pode mudar completamente com a utilizacao de alguns destes
operadores. No caso de uma representacao das alturas tonais relativas, heursticas podem
definir que notas repetidas serao substitudas por cromatismos, o que muda a forma como
uma ordenacao de uma sessao pela altura tonal pode atuar em um indivduo.
Operadores tambem podem ser utilizados levando em consideracao condicoes da populacao corrente. Em alguns casos, em que cada indivduo representa um compasso,
dois compassos podem funcionar como um compasso longo que pode sofrer a acao de
operadores especficos.
Operadores especialmente projetados para a aplicacao especfica podem fazer com
que o genotipo cresca ou encolha. Assim, estes devem ser utilizados com cuidados,
podendo ser definidas taxas de utilizacao destes operadores, que podem inclusive ser
modificadas em relacao `a situacao da populacao. Por exemplo, cruzamento 100%, Inversao 50%, Mutacao 5% e a probabilidade de duplicar sessoes depender da quantidade
de apagamento de sessoes utilizada. Em alguns casos, estas proprias taxas podem ser
controladas por um outro AE.

3.1.6

Func
ao de Avaliac
ao e Definic
ao do Fitness

A avaliacao dos indivduos e talvez a area que gera mais questionamentos em sistemas de
CA. Em qualquer sistema de producao artstica automatica e muito difcil decidir como
necessario responder estas
medir o fitness e quais as necessidades de uma boa solucao. E
perguntas para que se defina quem produzira a proxima geracao. No fim do processo,
de uma maneira ou de outra, a qualidade de uma solucao devera ser medida por escalas
numericas.
Um ponto que nao pode ser esquecido e que de qualquer maneira a funcao de avaliacao
de uma solucao deve pelo menos distinguir entre bons e ruins indivduos, pois e isto
que levara o processo adiante. Avaliacao pode ser uma simples funcao matematica ou
resultado de uma simulacao mais complexa. A avaliacao tambem depende muito da
aplicacao especfica de um problema, cuja intencao de avaliacao pode ser a similaridade

58

Metodologia

com uma m
usica alvo, o respeito a teorias musicais ou tecnicas musicais especficas.
A avaliacao de uma melodia, por exemplo, pode incluir varios aspectos esteticos.
Assim, a questao sera como codifica-los em escalas numericas que estejam bem forma difcil criar definicoes matematicas para aspectos puramente esteticos e por
lizadas. E
estas razoes, medidas totalmente automaticas de fitness costumam gerar varios problemas. Como alternativa a estas medidas automaticas, pode-se fazer o processo sem
fitness, com fitness mnimo ou aleatorio, como sera descrito nas proximas subsecoes.
Cada modo de avaliar os indivduos possui problemas especficos. As principais maneiras de se medir o fitness de indivduos sao as seguintes:
Automatico
Heursticas
Baseados em regras
Aprendidos
Interativo
Sem aptidao
Apostilas de formas musicais podem ser consideradas para definir aspectos a serem
avaliados em composicoes e demonstram ser naturalmente algortmicas. Isso ocorre
principalmente com aquelas baseadas em modelos ja existentes de estilos musicais. Um
problema de se basear demais neste metodo de criacao de regras e que pode se perder a essencia artstica dos resultados. O objetivo da ME e sempre criar composicoes
proximas ao que compositores humanos realmente compoem e os metodos podem se
tornar ineficazes quando um excesso de regras e aplicado. O processo criativo nao se
baseia puramente em apostilas e composicoes boas normalmente quebram estas regras
de algum modo.
importante lembrar que um AE sempre sera naturalmente limitado por seu proE
jeto (genotipo, operadores, funcoes) e nao criara aspectos novos para os quais nao foi
programado. Os maiores problemas de avaliacao das solucoes e que nos casos em que a
aptidao e medida de forma automatica, a sada deve ser formalmente codificada e esta
codificacao de aspectos esteticos e muito difcil. Ja na aptidao humana, o problema e
que as solucoes devem ser comprimidas para que o mentor possa escutar pelo menos um
pouco de cada indivduo antes de analisa-los.

Metodologia

59

Assim deve ser definido inicialmente no que sera baseada a avaliacao, em regras ou
em modelos de composicao reais. Mesmo m
usicas que podem ter de algum modo um
modelo especfico podem mudar este modelo com o passar do tempo. Pode ocorrer
inclusive uma juncao destes diferentes modelos para a criacao de novas composicoes mas
nao se sabe se isto poderia ser considerada uma composicao, de fato, livre.
Independente de como as regras do sistema serao definidas, e necessario ter a base do
sistema no que os compositores realmente fazem. A criacao de m
usica nao e simplesmente
baseada em regras simples de composicao, pois estas regras sao definidas apenas quando
um certo perodo musical passado e analisado. Nao se pode entao basear a m
usica
fortemente em modelos que sao normalmente descritos com fins pedagogicos e tem uma
forte tendencia a simplificar ou distorcer em demasia pensamentos que sao complexos
em sua raiz.
Existe um dilema claro na definicao destes parametros ja que um sistema essencialmente baseado em regras provavelmente tera resultados que se assemelharao com
exerccios ou replicas de m
usicas conhecidas. Enquanto isso, para a criacao de material mais criativo, poder-se-ia imaginar um sistema com poucas regras, do qual sairiam
varias ideias criativas. Porem, neste caso a abordagem seria mais uma vez problematica
pois uma quantidade enorme de material inadequado seria gerada sem aproveitamento.
De qualquer maneira, e necessario fornecer opcoes de que algumas regras sejam quebradas em qualquer sistema em que exista a intencao de criar material mais criativo.
Senao, os sistemas serao mais criadores de replicas do que compositores. Tudo que o
computador avalia pode ser feito apenas de maneira algortmica.

Avaliac
ao Autom
atica
Varias funcoes de avaliacoes heursticas foram desenvolvidas e normalmente levam em
um metodo
consideracao avaliacoes e percepcoes do autor do algoritmo (Ames 1992). E
muito usado em melodias e normalmente definem consideracoes sobre intervalos, densidade das notas sobre a quantidade de pausas, variedade rtmica entre outras.
Percepcoes musicais do autor podem levar a conclusoes que ocorrem via de regra sobre
o processo de composicao. Estas percepcoes podem tambem, claro, vir de apostilas de
teoria musical. Usualmente, o autor do algoritmo desenvolve algum conceito e soma a
ele alguns valores. Os conceitos utilizados nestes algoritmos, deste modo, tendem a ser
fracos e ter validade questionavel.

60

Metodologia

Ja os sistemas de avaliacao automatica baseados em regras tem como fundamento


teorias musicais que tem regras constantes. Esses sistemas tenderao deste modo a gerar
m
usicas que sao muito similares entre si e terao dificuldades para perceber e avaliar
positivamente quando algo com alguma especificidade boa aparecer em alguma geracao.
Isso ocorre porque, por se tratar de arte, uma m
usica pode ser teoricamente correta
porem ruim.
O sistema pode ignorar m
usicas boas pois algumas composicoes sao boas justamente
por quebrar as regras propositalmente. Em alguns casos, pode ser ate suficiente encerrar
o algoritmo apos encontrar otimos locais em vez de continuar uma busca por um otimo
global. Estes sistemas baseados em regras tendem a funcionar melhor quando utilizados
para geracao de m
usica de um genero e contexto especficos (Polito, Daida & BersanoBegey 1997).
Uma u
ltima possibilidade e utilizar esquemas de aptidao aprendidos, nos quais sao
utilizadas tecnicas mais robustas de avaliacao, como RNA (Biles, Anderson & Loggi
1996). Com a aplicacao destas tecnicas, espera-se obter funcoes de avaliacao mais robustas, sendo as proprias RNA a tecnica dominante. Estas tecnicas nao incluem por si
so feicoes musicais que sao facilmente computaveis.
As RNA podem utilizar como entrada caractersticas observadas pelo autor, como
nas avaliacoes heursticas, ou a melodia em si. A escolha desta entrada e crucial. Apesar de parecer uma otima escolha para desenvolver avaliadores de sistemas de CA, as
experiencias com RNA mostram que elas nao conseguem desenvolver capacidade de
generalizacao alem do conjunto de exemplos com o qual e treinada (Biles, Anderson
& Loggi 1996). Isso provavelmente ocorre pela falta de caractersticas computaveis e
falta de informacao, no caso das RNA que utilizam o proprio material melodico para
treinamento.

Interativo
Para todos os sistemas evolutivos para criacao de arte, sempre ocorre a discussao de
um modo de avaliacao das solucoes obvio: a avaliacao humana4 . Teoricamente, a avaliacao poderia resolver todos os problemas existentes nos modos de avaliacao automatica.
4

Este tipo de avaliac


ao pode ser utilizado para evoluir uma m
usica ou estilo especfico quando a
intenc
ao e desenvolver um m
usico virtual que funcionara em tempo real mais tarde. Neste caso, o
melhor e que esta evoluc
ao seja direcionada a um estilo especfico, para que o m
usico virtual nao perca
a capacidade de generalizac
ao, alem de n
ao cansar o mentor.

Metodologia

61

Sem embargo, existem tambem varios problemas envolvidos na aplicacao deste modo de
avaliacao.
O primeiro deles, e talvez o mais obvio e simples, e que deve-se desenvolver um
sistema coerentemente funcional e robusto de IHC. A interface da aplicacao deve ser
simples para que o mentor possa focar em sua tarefa. Profissionais com interesse nesta
area precisam dar sua contribuicao para que usuarios com experiencia em m
usica possam
ter assistencia adequada para fazer seus julgamentos de forma simples e intuitiva.
Outro problema, e talvez mais complexo, e o tamanho da populacao. Este tamanho
da populacao normalmente vai de d
uzias a centenas de indivduos e como a m
usica e
uma arte temporal, o usuario precisara de tempo para ouvir todos estes indivduos por
todas as geracoes. Em sistemas de domnio temporais com avaliacao humana, existe este
problema denominado gargalo de fitness.
Uma maneira de resolver o problema do tempo necessario de uma maneira relativamente simples e mostrar apenas alguns trechos da m
usica ao usuario. Por outro lado,
como a avaliacao de apenas um pedaco de uma composicao pode levar a conclusoes
precipitadas, isto gera um outro inconveniente que e uma decisao a ser tomada entre
o tamanho da amostra e a validade da avaliacao. Um ouvinte tambem pode dar uma
avaliacao insensata para a m
usica por ter escutado uma parte que nao gostou pois pessoas diferentes tem diferentes gostos em partes diferentes. Este problema e denominado
problema de granularidade.
Alem disto, a questao vai alem de o usuario ter ou nao tempo para fazer todas as
avaliacoes, ja que tarefas de avaliacao exigem concentracao do usuario, o que em m
usica
se diz quando o m
usico esta com ouvidos frescospara analisar e avaliar uma certa
m
usica. O usuario nao deve apenas avaliar as m
usicas individualmente mas compara-las
e dar notas boas a indivduos que mesmo ruins sejam melhores do que os outros. Assim,
com o passar de pouco tempo, a avaliacao do mentor pode estar tao prejudicada que leve
a medidas de fitness piores do que as automaticas, enquanto deveriam apenas solucionar
seus problemas.

Sem aptid
ao
Em alguns casos, uma abordagem mais minimalista pode ser aplicada tanto ao problema
do gargalo de fitness quanto ao das dificuldades de codificacao de medidas automaticas
de estetica: fazer um AG sem pressao seletiva. Com esta abordagem os problemas

62

Metodologia

principais desaparecem enquanto novas questoes devem ser resolvidas.


A principal questao usando esta abordagem e como se pode obter controle da peca
se o processo de selecao se dara de forma aleatoria, o que tira a pressao seletiva que faz
com que a populacao evolua. A resposta desta questao deve estar fundamentalmente
nos processos que geram a populacao inicial, que devem ser robustos o suficiente para
gerar solucoes ja inicialmente robustas, e nos operadores geneticos, que devem manter a
musicalidade dos indivduos com os quais estao trabalhando.
Nestes sistemas, o principal modo de controle sobre o estilo da peca e atraves da
populacao inicial, como mostram os experimentos de Waschka II (2007), que utilizou
o segundo movimento da Sinfonia no 7 de Beethoven como populacao inicial para criar
sua obra, Empty Frames. As obras criadas por esta abordagem tiveram indicacoes de
sucesso como execucoes em varios pases, gravacoes e crticas positivas.
A vantagem desta abordagem pode ser criar novas melodias baseadas em melodias ja
existentes mesmo quando nao sao conhecidas as regras especficas do estilo de composicao
da melodia de entrada. Assim, nao e necessario se apoiar apenas em regras musicais
antigas de estilos muito bem estudados, que podem levar o algoritmo a solucoes pouco
criativas, nem em percepcoes do autor que podem variar consideravelmente e ser pouco
confiaveis.
Um mentor pode ser utilizado na composicao mas desta vez nao para avaliar os
indivduos e sim para controlar o processo de mutacao, fazendo assim uma trapaca
para embelezar os indivduos para a proxima geracao. Estes artifcios podem ser muito
bons em sistemas em que nao se procura bons indivduos em relacao a uma codificacao
determinada mas sim uma populacao de indivduos musicalmente bons que podem ser
utilizados em situacoes praticas.
Outro ponto e que pode haver certa discussao sobre a utilizacao de CE nestas
condicoes. Na verdade, a utilizacao de metodos biologicamente inspirados ainda se justifica pois todo o arcabouco evolutivo ainda esta presente e u
til no processo, mesmo que a
pressao seletiva seja convenientemente fraca para convergir para solucoes que satisfacam
uma funcao objetivo previamente definida.
Estas medidas aleatorias de aptidao podem funcionar com regras mnimas, que pelo
menos deem menos preferencia a indivduos que nao atendem a algumas expectativas.
Estas regras podem estar includas no processo de avaliacao, como usual, ou embutidas
no proprio processo evolutivo, na escolha dos indivduos. Um exemplo de regra possvel e

Metodologia

63

que pedacos musicais que tenham frequencias muito altas nao possam reproduzir muitas
vezes, o que pode deixar a melodia mais natural.
Esta abordagem sera frequentemente usada quando a populacao inicial e gerada por
m
usicos, que podem criar um banco de dados. Uma populacao criada por m
usicos
dificilmente sera pior do que uma criada sem interferencia humana, ja que os metodos
para faze-lo sao baseados em codificacao da estetica humana. Em muitos casos de
aplicacoes artsticas, apenas mutacoes podem criar indivduos tao bons quanto os pais,
sem ajuda de um mentor, com mudancas puramente artsticas.
Apesar deste modo de avaliacao nao refletir completamente o paradigma mais purista
do funcionamento de AE, pode levar a resultados que agradem ouvintes desinteressados
no modo como a peca foi produzida e sim em sua qualidade. De certo ponto de vista,
algoritmos com este tipo de avaliacao podem nao ser considerados CE. Por outro lado,
podem existir medidas de fitness implcitas quando ocorre a utilizacao de heursticas na
selecao dos compassos que farao cruzamento ou no modo como os operadores geneticos
serao aplicados em relacao a` configuracao da populacao. De qualquer maneira, algoritmos deste tipo sao pelo menos inspirados em CE.
Eliminando-se o gargalo de fitness desta maneira alguns algoritmos podem nao ser
mais considerados CE, mesmo com o fitness implcito dos operadores. Ja sendo inspirado
em CE e tendo operadores geneticos robustos, da perspectiva de algoritmos que geram
e testam solucoes ate certo criterio de parada ser atingido, estes algoritmos podem ser
algoritmos tao bons que nao precisam nem testar as solucoes (Biles 2002b). Isso cria
um paradoxo entre sistemas de arte evolutiva, com operadores geneticos inteligentes e
medidas de fitness burras, e a CE convencional, com operadores burros e medidas de
avaliacao inteligentes.
Finalmente, e importante tirar o foco desta questao na medida em que nao e muito
relevante se tais sistemas sao considerados CE ou nao, desde que funcionem bem.

3.1.7

Substituic
ao dos Pais

O processo de substituicao e usualmente emparelhado com o de selecao. Via de regra,


apenas indivduos indicados pelo processo de selecao substituem os pais, porem, em
alguns casos, elitismo pode ser utilizado e uma certa quantidade dos melhores pais pode
ficar na proxima geracao de modo nao aleatorio.

64

Metodologia

A substituicao tambem pode ser de maneira contnua, `a medida que os filhos sao
gerados, um a um, ou em estilo geracional, ou seja, a populacao inteira e substituda
apos a geracao de todos os filhos.
Como em m
usica, muitas vezes, a busca por uma populacao boa que pode ser usada
em conjunto pode ser mais importante do que a descoberta de uma u
nica solucao otima,
algumas peculiaridades podem ocorrer no processo de substituicao dos indivduos.
Quando e desejavel que haja, alem de varias solucoes de qualidade, solucoes que
sejam diversas entre si para serem usadas em um contexto mais amplo, a diversidade
entre os elementos pode ser levada em consideracao para a escolha dos elementos a serem
substitudos. Essa abordagem deve ser considerada em sistemas onde toda a populacao
sera usada para a geracao de um conte
udo musical mais amplo, como no estudo de Biles
(1994).
O modo como a substituicao ocorrera tambem deve ser bem analisado quando existe
a intencao de se criar algoritmos de CA que funcionem em tempo real, em que o tempo
de espera entre uma geracao e a outra nao pode ser muito longo. Nestes sistemas,
uma caracterstica presente tanto na m
usica quanto na evolucao pode ser aproveitada
de maneira tacita: ambos sao processos temporais (Lischka 1991). Estudos deste tipo
foram feitos por Moroni, Manzolli, Zuben & Gudwin (2000).
As criacoes dos algoritmos realizadas em tempo real devem considerar uma base
harmonica que mudara em tempo real e pode ser uma repeticao da m
usica, uma progressao harmonica baseada no improviso ou uma modificacao de uma progressao ja
presente na m
usica. A consideracao de que o improviso pode ocorrer isoladamente, desenvolvendo ideias com ajuda de um mentor ou com uma base de dados de referencia,
ou em resposta ao improviso de outra pessoa complica substancialmente o problema.
Quando aproveitando a caracterstica temporal da evolucao para geracao de composicoes e importante notar o fato de que apos varias geracoes um processo ocorre em
algoritmos evolutivos: o takeover . Isto quer dizer que apos algumas geracoes os indivduos comecam a ficar semelhantes entre si, o que no caso de uma analogia com o
processo temporal representara uma repeticao de material musical. Nestes casos, alguma
solucao deve ser tomada. Se esta repeticao de material musical leva a um fim coerente
do material musical, o algoritmo provavelmente pode ser encerrado. Se o takeover ocorre
muito prematuramente, uma opcao e reinicializar a populacao, aumentar o tamanho da
populacao inicial ou ambas.

Metodologia

65

Outra u
ltima opcao para o takeover pode ser manter alguns indivduos de geracoes
passadas ainda como candidatos a` reproducao (holdover ). Assim como na biologia,
indivduos podem reproduzir em tempos diferentes e talvez possam esperar mais de uma
geracao e ainda ter uma chance para reproduzir.
Alem disto, caso a populacao inicial nao seja gerada aleatoriamente, a populacao
pode receber indivduos de um banco de dados externo de acordo com necessidades
especficas do problema. Isso pode ocorrer trocando um indivduo ruim por outro que
seja de alguma maneira considerado bom e que pode levar diversidade para a populacao
antes da convergencia para um takeover , esse indivduo pode vir de outras partes da
m
usica quando uma representacao hierarquica da m
usica e utilizada.

3.1.8

Considerac
oes

Talvez o principal fato a ser notado no desenvolvimento de sistemas evolutivos para CA


e que e uma tarefa na qual a discussao no domnio relevante e indispensavel. Qualquer
tentativa de criacao de sistemas de CA sem estudo sobre teoria musical nao sera frutfera.
Quando o projeto passa a se concretizar e a interacao com m
usicos se torna real,
outra vertente pouco abordada tambem vem `a tona: a transformacao do algoritmo
bruto em um sistema robusto com uma interface amigavel ao usuario. Isso faz com que
o sistema seja efetivamente utilizado por m
usicos e esta interacao real com o pessoal
da area aumenta as possibilidades de descoberta de novas potencialidades do algoritmo
em questao. Estas ferramentas para que compositores possam explorar as possibilidades
do programa de maneira mais simpatica sao ainda mais fundamentais para aplicacoes
direcionadas a execucoes ao vivo, uma area bastante promissora.
clara a diversidade de opcoes que se abrem com a CE, como timbres impossveis de
E
se atingir com instrumentos reais, que podem ser criados atraves de sistemas de sntese
de som. Com a CE, um novo paradigma tambem surge para sistemas de composicao, ja
que podem ser criados sistemas que nao sao simplesmente baseados em regras simples e
podem mudar a abordagem na maneira de criar m
usicas mais criativas e elaboradas de
maneira automatica.
Algoritmos tem grande potencial para geracao de m
usicas, pois, assim como ja citado,
o processo de composicao e, de fato, em grande parte algortmico. O comportamento de
varios modelos sao de tal maneira em que se pode perfeitamente estabelecer analogias
com o que m
usicos realmente fazem. As possibilidades criativas de como a estetica pode

66

Metodologia

ser codificada em AE podem acrescentar muito `as praticas tradicionais dos m


usicos.
Assim, mesmo sendo cedo para fazer conclusoes gerais sobre a area de ME, e perceptvel que existe muito potencial para o desenvolvimento de novas aplicacoes e que a
exploracao desta area evolutiva e adaptativa e frutfera sem d
uvida alguma.

3.2

Gerador Mel
odico

O gerador de melodias proposto neste trabalho utiliza uma populacao de compassos com
uma avaliacao de fitness implcita mnima. O processo de composicao e o proprio processo evolucionario e todos os indivduos de todas as geracoes sao candidatos a estarem
na melodia final.
Neste contexto, apresentamos neste trabalho um algoritmo evolucionario para a
evolucao de melodias representadas como uma populacao de varios compassos, sem a
intervencao de um humano como mentor do processo. Contudo, nossa abordagem se
diferencia de abordagens anteriores pelos seguintes aspectos:
O gerador de melodias proposto tem uma populacao de compassos e uma medida
mnima de fitness
A populacao de cada geracao representa uma melodia
O processo de composicao e o proprio processo evolutivo e todos os indivduos sao
candidatos a estarem na melodia final
Os operadores geneticos sao criados e adaptados da literatura
Uma estrategia baseada na ordem das notas e definida
proposto um metodo para monitorar o takeover e estas informacoes sao usadas
E
para selecionar a geracao da qual a populacao formara a melodia final retornada
pelo algoritmo
Evita-se a dificuldade de definir o n
umero de geracoes necessarios para executar o
algoritmo simplesmente com sua execucao ate que ocorra um takeover
Com esta abordagem, tenta-se resolver o compromisso entre originalidade e diversidade em um sistema evolucionario musical. Uma Matriz de Takeover e definida com

Metodologia

67

Tabela 3.4: Representacao de uma Solucao do Gerador Melodico


Faixa

Canal

Nota

Velocidade

Note on

Note o

60

90

0.0

0.5

62

95

0.5

1.0

...

...

...

...

...

...

74

93

10.5

11.0

o objetivo de quantificar a relacao entre as melodias em diferentes geracoes. Atraves


desta Matriz, pode-se decidir qual melodia de um processo evolucionario inteiro pode
ser retornada como melodia final, em vez de usar apenas medidas usuais de avaliacao de
fitness. Esta decisao e baseada na variacao da Matriz de Takeover durante o processo.
Esta secao descreve o gerador de melodias implementado neste trabalho. Inicialmente, apresenta-se o modo como os compassos e melodias sao representados e os operadores geneticos adaptados para esta representacao. Em seguida, da-se a definicao da
Matriz de Takeover, usada para selecionar a melodia final retornada pelo algoritmo.

3.2.1

Estrutura de Dados e Par


ametros

Para a representacao de melodias, o tamanho da representacao de uma solucao pode


` vezes, a representacao de um
ser fixo ou variavel, dependendo de suas necessidades. As
problema pode ser obvia mas isto nao acontece normalmente no processo de composicao
e formas de representacao mal planejadas podem levar a espacos de busca difceis de se
explorar e algoritmos de composicao in
uteis.
O gerador melodico utiliza uma abordagem pela ordem das notas para sua representacao, que tem as alturas tonais representadas de maneira absoluta, o que permite a
designacao de qualquer nota a um instrumento qualquer. Isso faz com que o tamanho
de um indivduo seja variavel. A estrutura basica de como uma solucao, ou conjunto de
solucoes, pode ser representada e mostrada na Tabela 3.4, onde cada linha representa um
evento. Para o gerador de melodias, a representacao de toda a populacao esta definida
em uma matriz em que cada linha representa um evento. Apos a execucao do algoritmo,
esta matriz pode ser convertida em um arquivo de formato MIDI.
As primeiras duas colunas representam a faixa e o canal utilizados para a execucao da

68

Metodologia

respectiva nota. Todas as notas executadas por um mesmo instrumento devem utilizar
a mesma faixa para que estas sigam mais tarde parametros especficos que podem ser
determinados para certo instrumento. Ja cada canal representa um timbre com o qual
as notas podem ser executadas. Desta maneira, podemos ter duas faixas que usam o
mesmo canal para termos o mesmo timbre executando duas partituras diferentes.
As notas sao representadas de forma absoluta. Via de regra, apenas as notas da
escala igualmente temperada podem ser representadas pelo padrao MIDI. Cada n
umero
nao-negativo pode ser usado para representar uma nota, a partir do primeiro do. Como
referencia, quando os n
umeros sao mapeados em notas, a notacao anglo-saxonica (Tabela
2.1) e comumente utilizada.
A distancia tonal entre cada uma destas notas e de meio tom e as notas que nao
sao sustenidas sao consideradas notas naturais, ou as teclas brancas do teclado, como
na Figura 3.6. Assim, a distancia entre notas naturais pode ser de meio ou um tom. O
conjunto das notas naturais compoe tambem a escala natural de do. As notas que estao
entre as notas naturais podem ser consideradas sustenidas em relacao a` mais baixa das
duas notas ou bemol em relacao `a mais alta das duas notas. Quando representamos
notas de forma absoluta na notacao MIDI, normalmente nao se fala em nota bemois
pois o correspondente sustenido e utilizado.

...

$ %
C

' ( "
F

$ %
B

' ( "
F

$
B

...

Figura 3.6: Notas em um Piano: as teclas brancas acionam as notas naturais

A primeira nota que pode ser representada com o n


umero 0 e o C0. Como existem
varias frequencias que correspondem a uma mesma nota, o n
umero 0 apos o C indica
que deve ser executado na frequencia mais baixa possvel. Como existem 12 notas na
escala temperada e um n
umero para cada nota em uma representacao absoluta, qualquer
n
umero m
ultiplo de 12 representara um do.
Da mesma maneira, qualquer m
ultiplo de 12 mais 2 representa um D. Na concepcao
musical, quanto maior o n
umero apos a nota, ou a frequencia utilizada para reproduzi-la,
mais alta e a oitava utilizada. O nome deriva das sete notas da escala natural, sendo

Metodologia

69

que a oitava seria a primeira nota novamente porem em uma frequencia mais alta.
Como as notas sao representadas com valores absolutos, os operadores geneticos tem
a liberdade de gerar qualquer nota, contrastando assim com as formas de representacao
relativas baseadas em escalas musicais.
Na Tabela 3.4 tambem pode-se perceber uma coluna chamada velocidade e esta
pode assumir valores de 7 bits. O conceito de velocidade vem da ideia de que quanto
maior a velocidade com que se ataca um instrumento, maior sera a amplitude do som
gerado por ele. Assim, com os valores de velocidade podemos controlar a intensidade de
uma nota em relacao `as outras.
Por u
ltimo, e necessario especificar quando uma nota deve ser executada e qual sua
duracao. Para isso, e necessario o valor de note on, onde sera especificado quando uma
nota deve ser executada, e o valor de note o que deve ser igual ao valor do note on mais
a duracao desejada para a nota. As medidas sao em unidades de tempo relativas. Se se
tem um compasso de quatro pulsos e quer-se considerar que o tamanho do compasso sao
de 2 unidades relativas de tempo, para o primeiro compasso, temos o pulso 1 iniciando no
tempo 0.0, o pulso 2 em 0.5, o pulso 3 em 1.0 e o pulso 4 em 1.5. Assim, considerando-se
um compasso de tamanho n, qualquer valor k 1 multiplicado por n resulta no tempo
em que o compasso k esta iniciando, sendo k um inteiro positivo.
Os operadores geneticos propostos trabalham basicamente com os valores das colunas
3, 5 e 6, que sao relacionadas aos parametros (i , ti , i ), sendo i 2 {0, . . . , 127} a altura
tonal de uma nota i, ti 2 R+ a posicao de incio desta nota no tempo e i 2 R+ a duracao
desta.
Como uma representacao baseada na ordem das notas e utilizada, melodias sao representadas como uma lista de elementos com alturas tonais e posicoes no tempo (i , ti , i ).
Isso cria a possibilidade de qualquer valor de tempo para ti e i . Este modelo tem feicoes
diferentes das estruturas de cromossomos baseados na posicao dos genes, como feito por
Biles (2007b). Em abordagens baseadas em posicao, cada gene representa uma fracao
de tempo e indivduos tem um tamanho fixo. Cada gene tem um valor de i enquanto
a propria posicao de um gene define ti . Alem das notas, alguns valores adicionais sao
necessarios para representar eventos de pausas ou sustentacoes das notas para parar ou
manter as notas soando. So assim, o valor de i pode ser definido porem apenas como
valores m
ultiplos da duracao de apenas um gene.
Uma melodia com qualquer estrutura rtmica pode ser representada em um esquema

70

Metodologia

de representacao baseado em ordem. Assim, esta opcao e mais apropriada para este
trabalho pois assim resultados com relacao estetica com a populacao inicial podem ser
gerados. Alem disto, outras implicacoes desta escolha ocorrem na aplicacao dos operadores geneticos, como descrito nas proximas secoes.
No gerador de melodias, cada compasso e um indivduo. Se nao existem notas em um
dado compasso, este e considerado uma pausa e pode continuar no processo evolutivo
normalmente. Para nao haver a necessidade de percorrer toda a tabela `a procura de
indivduos, pode ser criado um vetor que aponta para a posicao inicial de cada indivduo,
assim como na Figura 3.7. Deste modo, a populacao deixa de ser a lista de notas e eventos
em si e cada indivduo passa a ser um ponteiro para a posicao da lista onde estao as
notas `as quais e relativo. Os ponteiros que nao apontam para lugar algum da lista nao
tem eventos e representam um compasso de pausa apenas.
Indivduos

xxxxxxxxxxxxxxxxxxxxxxxxx

Eventos/Notas

Figura 3.7: Ponteiros para a posicao dos indivduos

Para a geracao de melodias, e utilizada uma abordagem na qual cada indivduo representa um compasso. Assim, como e muito comum em sistemas de arte evolutiva, o
objetivo maior nao e exatamente a geracao de um indivduo otimo e sim de uma populacao de indivduos bons. Com varios indivduos bons, ao fim do processo, varios
indivduos podem ser escolhidos de maneira musicalmente ciente para formar uma populacao final.
Na selecao projetada para este gerador melodico, algumas vantagens apenas possveis
em sistemas que nao trabalham em tempo real foram exploradas. A principal delas e que
os indivduos utilizados como resposta do algoritmo e considerados como os melhores
nao precisam ser necessariamente os da u
ltima geracao analisada.
Como uma medida boa da qualidade de uma populacao de melodias, tomadas como
um todo para compor uma peca maior, pode ser a diversidade, esta u
ltima pode nao
ser maior na u
ltima geracao analisada, `a medida que o takeover tera ocorrido ou estara

Metodologia

71

iminente. O modo de avaliar a qualidade das solucoes implicitamente por sua diversidade
em relacao aos outros elementos e feito por um metodo criado denominado matriz de
takeover e sera melhor definido na secao 3.2.4.

3.2.2

Operadores Gen
eticos

Mutacoes e cruzamentos entre dois pais, sem consideracao de sexo5 , sao utilizados para
conduzir melodias iniciais a material novo, que tera com certeza relacao com o estilo da
` medida que a evolucao ocorre, a relacao entre o
populacao inicial escolhida pelo autor. A
material musical utilizado e o novo sendo gerado podera ser percebido pelo usuario. Nos
compassos 3 e 4 da Figura 3.8 estao representados dois filhos possveis de um cruzamento
entre os pais dos compassos 1 e 2, tendo o tempo 3 como ponto de corte.

" # ! ! ! ! ! ! ! !
Pai1

" ! ! ! ! ! ! ! !
Filho1

Pai2

! ! ! ! !
! ! !

! ! ! ! ! ! ! !
Filho2

Figura 3.8: Cruzamento Melodico

Os operadores geneticos sao as principais ferramentas para a criacao de novos indivduos e eles podem ser guiados para considerar algum tipo de conhecimento implcito
do problema (Michalewicz & Fogel 2004). Operadores guiados corrigem o genotipo para
que solucoes absurdas nao sejam geradas.
Tradicionalmente a escolha do ponto de corte e feita aleatoriamente, o que e bom
para explorar o potencial da populacao. Isto e apropriado para tarefas musicais que
podem ser reduzidas a um problema de otimizacao, como a combinacao/geracao de
sons e geracao de harmonias. Porem, como a`s vezes nao queremos um indivduo bom
mas uma populacao, o ponto de corte pode ser limitado a pontos que sao vantajosos
musicalmente, analisando-se o fenotipo primeiro.
Nao e interessante para o gerador de melodias ter simplesmente um percentual das
5

A considerac
ao de sexo pode ser comum em ME, ja que a relacao existente entre dois indivduos
com material musical pode ser uma boa medida de fitness

72

Metodologia

primeiras notas de um pai e outro percentual das u


ltimas notas do outro pai pois isto
nao seria musicalmente ciente. Assim, o ponto de corte do gerador de melodias e feito
em relacao aos pulsos do compasso e apenas os valores inteiros sao aceitos. Assim, um
filho gerado de dois pais com o ponto de corte no incio do tempo 3 em um compasso de
4 tempos tera as notas dos tempos 1 e 2 do pai 1 e as notas dos tempos 3 e 4 do pai 2.
Se o pai 2 for uma pausa, todos os pulsos herdados do pai 2 serao pausas.
Ja a mutacao simples e feita dando um novo valor a um gene, isso esta representado
no compasso 2 da Figura 3.9. No exemplo, a quarta nota sofre uma mutacao de meio
tom. Todas as mutacoes da Figura 3.9 estao feitas sobre o compasso 1, que e uma escala
natural de do.

$ ' ! ! ! ! ! ! ! !

! !
!
!
&
!
! ! !
Mutao simples

Escala de D

Inverso do Compasso Inteiro

$ ! ! ! ! ! ! !
!
$ !

! !
!
!
!
!
! !

Inverso dos pulsos 2 a 3

Troca entre pulsos 2 e 3

$ ! ! ! ! ! ! ! !
! ! ! ! %
8
Apagamento
e Pausa
"
! ! !
$ ! ! # ! # ! ! ! !" !
!
6

Duplicao dos pulsos 2 e 3

Apagamento e Sustentao

Figura 3.9: Mutacoes do Gerador Melodico

Este simples bit-flop da mutacao simples raramente gera boas solucoes em tarefas
musicais que nao tem funcoes de avaliacao bem definidas, sendo assim um operador
que nao e recomendavel ser usado `as cegas. Por isto foi determinado que esta mutacao
simples nao seja apenas um bit-flop, mas sim a mudanca do valor de uma nota inteira
que nao podera criar um intervalo vertical muito maior do que o original, o que e o
problema mais serio de simples mutacoes aleatorias de bit-flop nestes tipos de aplicacao.
A mutacao simples deste trabalho pode alterar uma nota no intervalo de no maximo 2

Metodologia

73

semitons.
Os operadores geneticos musicais devem ser guiados, podendo ocorrer correcoes no
genotipos para que estes nao representem solucoes absurdas. Este tipo de controle
pode ser necessario principalmente quando ocorre uma mutacao, que nao respeita regras
musicais para ocorrer, e pode gerar solucoes que nao sao mais consideradas factveis
importante lembrar que por se tratar de arte evolutiva,
para a maioria dos usuarios. E
agora o conceito de solucoes factveis pode depender mais de preferencias do usuario do
que outros problemas de otimizacao onde a definicao de uma funcao de avaliacao e mais
clara. Assim, uma alternativa pode ser dar opcoes para o usuario.
tambem comum definir taxas para a aplicacao de cada um destes operadores,
E
pois eles podem levar a resultados indesejaveis quando taxas inconvenientes sao usadas
(Back, Homeister & Schwefel 1991). Estas taxas podem ate ser ajustadas durante o
processo ou ajustadas por outro algoritmo evolucionario. Neste trabalho, as mutacoes
inicialmente propostas que copiam ou apagam partes da melodia (compassos 7 a 9 da
Figura 3.9) serao definidas com uma taxa de aplicacao de 0%, ja que estas mudam
diretamente o tamanho dos compassos. A utilizacao destes operadores pode levar a uma
rapida perda de material genetico da populacao inicial alem de levar a uma populacao
final com menos notas que a original, no caso do apagamento de notas, ou serem difceis
de trabalhar em uma populacao de compassos se uma duplicacao gasta mais de um
compasso, no caso da duplicacao de um trecho.
Exceto estes dois operadores, todos os outros tem a mesma probabilidade de serem
aplicados.
O uso de uma representacao baseada em ordem das melodias implica em algumas diferencas nos resultados destes operadores. Em uma representacao baseada em posicao,
os genes representam notas mas tambem sustentacoes e pausas. Assim estes eventos
tambem estao suscetveis a serem mudados pelos operadores. Nestes casos, a aplicacao
dos operadores pode mudar os genes em maneiras que criam novos eventos de sustentacao, pausas ou notas, modificando o n
umero e duracao de notas. Em contraste,
em uma representacao baseada na ordem das notas, a posicao das notas no tempo pode
ser mais facilmente herdada dos pais ja que os elementos (i , ti , i ) estao explicitamente
definidos nos cromossomos.

74

Metodologia

3.2.3

Fitness Implcito Mnimo

Um dos maiores problemas para a geracao de m


usica com AG e a definicao de uma
funcao de fitness adequada. Inicialmente, pode-se pensar sobre as necessidades basicas
das solucoes, fazendo processos que compoem em um estilo particular de m
usica mais
eficiente. A intencao deste trabalho, porem, e basear o processo no modo como compositores trabalham de fato (Wiggins, Papadopoulos, Phon-Amnuaisuk & Tuson 1998).
Modelos baseados em regras podem simplificar em demasia a essencia dos processos
musicais para tornar o processo mais simples e ajudar na identificacao de indivduos bons
ou ruins. Porem, algumas m
usicas podem ser definidas como boas justamente quando
quebram regrase isto deve ser previsto algoritmicamente em sistemas criativos de
composicao. Contudo, estes modelos podem nao avaliar como a m
usica e composta de
fato, ja que o comportamento do compositor depende do contexto no qual ele vive. Estes
contextos variam e nao sao excessivamente baseados em regras didaticas.
Outra abordagem possvel e a similaridade com uma m
usica alvo, o que e u
til quando
se cria m
usicas com alguma relacao entre a populacao inicial e a m
usica alvo. Neste
trabalho, a ideia contraria sera utilizada. Ou seja, criar-se-a uma nova melodia tendo-se
uma melodia previamente conhecida como populacao inicial.
Uma abordagem de selecao com um fitness mnimo e aplicada na populacao que vem
de uma melodia pre-definida, permitindo a emergencia de criatividade da aplicacao dos
operadores geneticos. Um fitness mnimo pode permitir eliminar pelo menos solucoes
muito ruins, que seriam musicalmente ineficientes de acordo com um conjunto mnimo de
regras embutido em uma funcao de fitness. Os operadores geneticos devem ser eficientes
e robustos para as melodias pois caso contrario, nao ha pressao seletiva para forcar as
melodias a convergirem a algo melhor novamente.
Em nossos experimentos, duas abordagens serao testadas: (i) selecao livre de fitness
ou nao tendenciosa e (ii) uma funcao de fitness mnima que mantem as notas em uma
escala natural. Na segunda funcao de fitness, a penalizacao e dada a qualquer nota fora
da escala. De qualquer maneira, todos os indivduos terao o mesmo valor de fitness na
maioria dos casos e a selecao de indivduos e nao tendenciosa.
Segue abaixo conceitos utilizados neste gerador melodico.
Fitness Aleat
orio: Uma funcao de fitness aleatoria leva a um sistema evolucionario
livre de fitness. Um modo facil de implementar esta caracterstica e usar a selecao

Metodologia

75

para reproducao uniforme (ou nao tendenciosa), sem pressao seletiva.


Fitness mnimo implcito: Uma funcao de fitness implcita e a funcao que implementa um conjunto mnimo de regras musicais ou restricoes quando analisa-se um
indivduo. Indivduos recebem penalidades e recompensas baseados na satisfacao
destas regras ou restricoes. O problema se torna similar a um Problema de Satisfacao de Restricoes (CSP) (Kumar 1992). Se regras demais sao adicionadas `a
discutvel se deve-se aplicar
funcao de fitness, a criatividade musical e impedida. E
um conjunto de regras pre-existentes ao tentar basear algoritmos no que compositores realmente fazem (Jacob 1996). Compositores nao se baseiam excessivamente
em apostilas musicais que tem apenas intencao de analisar estilos especficos de
m
usica e transmit-los de maneira didatica.
Takeover : Em algoritmos evolucionarios, a palavra takeover se refere ao fenomeno
no qual a populacao se torna copias de um ou poucos indivduos da populacao
(Eiben & Smith 2003). Tipicamente, o tempo de takeover e o n
umero de geracoes
(na media) que o takeover leva para ocorrer, e tem sido usado para caracterizar
metodos de selecao diferentes usados em algoritmos evolucionarios (Goldberg &
Deb 1991). Neste trabalho, os indivduos representam compassos e a populacao
representa a melodia. Neste contexto, o takeover ocorre quando todos os compassos
de uma populacao sao iguais e a habilidade de se gerar material novo fica limitada6 .
O takeover leva entao a melodias com padroes repetitivos.

3.2.4

Avaliac
ao das Soluc
oes e Selec
ao pela Matriz de Takeover

A avaliacao e sempre um processo relativamente complicado na geracao de melodias seja


pela falta de regras, que leva a resultados inadequadas para o contexto, ou pelo excesso,
que leva a resultados previsveis e pouco musicais, o que sera mais proximo de exerccios
dos que m
usica propriamente dita.
Como a geracao de melodias e uma tarefa que demanda muita criatividade e uma
avaliacao com muitas regras pode levar `a criacao de meras replicas ou exerccios, foi utilizada uma abordagem mais proxima de uma selecao sem aptidao com regras mnimas,
o que permite criatividade ao mesmo tempo que elimina as solucoes que seriam inadequadas.
6

Os u
nicos indivduos diferentes da populacao serao devidos ao operador de mutacao.

76

Metodologia

Inicialmente, pode-se pensar em definir apenas necessidades extremamente basicas


da solucao, o que leva processos que desenvolvem m
usica em um estilo particular a obter
sucesso mais facilmente. Com uma aptidao mnima, podem surgir questionamentos sobre
a pureza do AE7 sendo utilizado mas a questao e bem maior que esta. Ora, mesmo nao
havendo um problema do ponto de vista da CE, ainda temos o problema que e criar o
metodo de CA e a questao central prevalece: como melhorar a populacao ao passar do
tempo.
O metodo de selecao e usualmente baseado no fitness dos indivduos. Dados os
valores de fitness, podem ser decididos fatores que intensifiquem a busca, como a maior
probabilidade de selecao para os mais aptos, ou que aumentem a diversidade das solucoes
analisadas, como ajudar indivduos que nao tem muita aptidao a se reproduzirem. Essa
e a forma predominante que mantem a pureza do metodo evolutivo.
Este metodo e muito u
til quando queremos que a melhor solucao apareca apos varias
iteracoes de indivduos que nao sao utilizados. Porem, em m
usica, a`s vezes nao queremos
a melhor frase possvel de um processo evolutivo e sim um conjunto de frases boas. Essa
caracterstica mostra a principal diferenca entre a simples otimizacao em busca de uma
solucao e a exploracao do espaco de busca na intencao de ter um conjunto de solucoes
boas e coerentes entre si.
Para um algoritmo que tem o objetivo de criar novas melodias em tempo real, a
qualidade das solucoes precisa aumentar com o tempo e uma das medidas que pode ser
usada como fitness mnimo e a manutencao da diversidade. No caso deste gerador de
melodias, que nao funciona em tempo real, outra estrategia pode ser utilizada. Como
a populacao pode ser controlada pelo compositor com a populacao inicial, que leva a
resultados diversos e relacionados entre si, o problema da diversidade pode ser tambem
resolvido mais facilmente do que em algoritmo que geram estruturas em tempo real pois
nem todos os resultados gerados pelo algoritmo serao utilizados.
Como a maioria dos indivduos terao o mesmo fitness na maior parte do tempo,
os melhores indivduos nao estao necessariamente nas u
ltimas geracoes do algoritmo.
Na verdade, estas u
ltimas solucoes nem sao desejaveis, ja que estas u
ltimas geracoes
sao caracterizadas por um takeover (mesmo sem uma pressao seletiva que favoreca os
indivduos mais aptos de uma populacao, o takeover ocorre devido ao fenomeno de deriva
genetica). A diversidade nestas geracoes e assim pequena e ha varios pedacos similares
7

Pureza do AE em relac
ao `
a press
ao seletiva, que e fundamental para a geracao de melhores solucoes
em relac
ao `
a func
ao de fitness definida.

Metodologia

77

de melodia por toda a populacao. Como a populacao representa a melodia, o takeover


se torna uma melodia repetitiva, como a da figura 3.10.

$ % ! ! # !" ! ! ! ! ! ! # !" ! ! ! ! ! ! # !" ! ! ! ! ! ! # !" ! ! ! !


5

$ ! ! # !" ! ! ! ! ! ! # !" ! ! ! ! ! ! # !" ! ! ! ! ! ! # !" ! ! ! !


Figura 3.10: Configuracao de uma Populacao na qual Ocorreu um Takeover

Neste processo de takeover , pode-se perceber que um indivduo domina a populacao


inteira. Essa ocorrencia pode ser facilmente identificada em casos nos quais a populacao
passa a se assemelhar a` da Figura 3.10 e o problema deve ser contornado. Com a
populacao inicial tendo grande controle da peca, esta populacao pode ser reiniciada,
trocada ou sofrer alteracoes.
O conjunto de melodias mais interessantes, desta maneira, nao estara nem nas u
ltimas
geracoes, pois havera uma convergencia para o takeover , nem nas geracoes iniciais, onde
a populacao ainda esta muito relacionada com a inicial. Define-se neste trabalho este
equilbrio como compromisso entre originalidade8 e diversidade. Como a mudanca
das solucoes de diversas para originais nao acontece em uma escala linear, selecionar a
geracao que esta no meio do caminho entre estes dois extremos nao e sempre a melhor
escolha. Precisa-se entao de um melhor criterio para selecionar uma melodia entre varios
candidatos gerados pelo processo evolutivo.
Originalidade e diversidade tem um papel importante na definicao de uma boa melodia para ser retornada pelo algoritmo. O compromisso entre originalidade e diversidade
entre melodias de diferentes geracoes pode ser uma alternativa para quantificar se um
grupo de indivduos e realmente bom.
Como o objetivo do gerador de melodias e retornar uma populacao de qualidade
e nao o melhor indivduo de um n
umero de geracoes, tem-se a vantagem de que os
melhores indivduos nao precisam estar nas u
ltimas geracoes. Por isso, a analise de
quais indivduos podem ser retornados em relacao a` analise do fitness por diversidade
entre os indivduos pode ser feita apos todo o processo evolutivo e a populacao que tera
uma maior diversidade nao estara proxima `as u
ltimas geracoes, ja que nestas ha uma
8

Originalidade em relac
ao ao material utilizado como populacao inicial

78

Metodologia

convergencia para um takeover .


Assim, considerando-se que os operadores geneticos sao robustos o suficiente para
gerar solucoes boas por todas as geracoes, o criterio de quais indivduos sao os melhores
para serem retornados fica implicitamente a cargo do compromisso entre a originalidade,
presente nas u
ltimas geracoes, que ja sao muito originais em relacao `as geracoes iniciais,
e a diversidade, que e maior nas primeiras geracoes, quando se esta tao longe quanto
possvel de um takeover .
Como a avaliacao esta implcita no modo em que ocorre a evolucao, o controle de
algoritmo tambem pode ser feito direto no modo como a evolucao ocorre e nao apenas
nas funcoes de avaliacao. Principalmente, no uso conveniente da populacao inicial e no
modo como ela pode ser reinicializada durante a execucao do algoritmo.
Em composicao, tarefa onde a criatividade e altamente relevante, pode ser levada em
consideracao a diversidade que o indivduo gerara em relacao aos indivduos presentes.
Esta e uma medida de qualidade do indivduo que nao conduz a um takeover precipitado
e muitas vezes nao musical ou pelo menos nao criativo como acontece com outras medidas
de fitness.
Como e importante ter-se uma solucao final diversa e consequentemente criativa,
uma boa medida de fitness de um indivduo e o compromisso entre a originalidade e
diversidade que este gera na populacao corrente, que pode ser uma medida tambem
de qualidade da populacao. Quando sao geradas estruturas para execucao em tempo
real, esta tambem e uma otima medida, porem e difcil de se definir quais medidas de
diversidade serao usadas entre melodias diferentes.
Como o gerador de melodias nao tem a intencao de gerar estruturas em tempo real,
outra abordagem foi utilizada. O algoritmo inicia com uma populacao de um dado
tamanho e retorna uma outra populacao de compassos de outro tamanho qualquer.
Assim, e apenas necessario definir qual das geracoes criadas durante o processo devem
ser retornadas. Faz-se entao uma decisao tendo em mente o compromisso existente entre
diversidade e originalidade.
Nas geracoes iniciais, as melodias sao muito parecidas com a melodia inicial e podem
nao ser consideradas suficientemente originais caso a populacao inicial nao tenha sido
criada pelo proprio compositor usuario do algoritmo. Ja nas u
ltimas geracoes, proximas
ao takeover , as solucoes guardam poucos tracos da populacao inicial porem podem ser
pouco musicais. Assim, quando ocorre o takeover , o gerador de melodias deve retornar

Metodologia

79

Individual 3! ! ! !
! ! ! !
!
!
" # ! ! ! ! ! ! ! ! ! ! ! ! ! !
2 2 2 2
3 3 3 3 3 3 3 3
1 1 1 1
Individual 1

Individual 2

1 1 1 1

2 2 2 2

! ! ! !

Crossover 2+3

3 3 3 3

2 2 2 2

Crossover 1+2

! ! ! !

Crossover 1+3

1 1 1 1

2 2 2 2

1 1 1 1

" ! ! ! !

! ! ! !

! ! ! !

! ! ! !
3 3 3 3

Figura 3.11: Melodia com os marcadores da populacao inicial

os indivduos de uma certa geracao intermediaria que equilibre estes dois conceitos.
Assim, o takeover , que seria um motivo para reinicializar a populacao em estruturas
de tempo real, aqui e um motivo para encerramento do algoritmo. Precisamos entao
calcular quando ocorre o takeover .
Para manter a populacao longe de um takeover por um tempo maior, uma abordagem de holdover tambem e utilizada. Apos cada geracao, um de seus indivduos e
escolhido para ser mantido, o que significa que o indivduo tambem sera um candidato
para procriar na proxima geracao. Esta estrategia evita uma rapida convergencia do
algoritmo.
Para descobrir se ja ocorreu o takeover em uma dada populacao, cada nota da populacao inicial foi marcada com um n
umero que lembra de qual compasso da populacao
inicial esta pertencia. Estes valores nao se alteram quando uma nota sofre mutacao. Um
exemplo de aplicacao de cruzamento em uma populacao com os marcadores da populacao
inicial sao mostrados na Figura 3.11. Neste exemplo, os tres primeiros compassos sao
interessante notar
a populacao inicial e os outros sao resultados de um cruzamento. E
que algum material genetico ja foi perdido neste processo (pulsos 3 e 4 do indivduo 1 e
pulsos 1 e 2 do indivduo 3).
Um caso simples no qual e facil de se descobrir quando ocorre o takeover e quando
todas as notas da u
ltima geracao vieram de apenas um indivduo da populacao inicial.
Porem, isto nao ocorre sempre, pois pode ocorrer o aparecimento de indivduos com
notas provenientes de diferentes indivduos da solucao inicial - ja que apenas pontos que
definam um tempo inteiro do compasso sao aceitos para o cruzamento. Esses indivduos
se reproduzem de tal maneira que o takeover ocorre apenas entre eles. Desta maneira,
nenhuma combinacao de cruzamento e capaz de levar os indivduos a terem notas de
apenas um indivduo da solucao inicial.

80

Metodologia

Como os pontos de corte possveis de cruzamento sao apenas os tempos do compasso,


pode-se criar outra solucao para identificar o takeover : verificar a origem das notas que
ocorrem em cada tempo dos compassos. Por exemplo, se todas as notas dos tempos 1 e
2 de todos os indivduos vem do indivduo x da populacao inicial e todos os tempos 3 e
4 vieram do indivduo y da populacao inicial, pode-se igualmente constatar um takeover
que nao seria descoberto pela abordagem descrita anteriormente.
Nestes casos, uma solucao mais geral pode ser utilizada para identificar um takeover .
Verifica-se a origem de cada evento em cada pulso do compasso, ja que estes estao limitadas aos possveis pontos de corte definidos. Por isso, propoe-se a matriz de takeover ,
definida a seguir:

Para cada geracao, a matriz T, com dimensao n p e gerada, onde n e o n


umero
de pulsos em cada compasso e p e o n
umero de indivduos. Cada elemento Tij
da matriz da os valores percentuais de origem de cada evento, de acordo com os
pulsos e considerando os indivduos da populacao inicial.

Inicializando-se a matriz com 0 em todas as suas posicoes, para cada nota da geracao
corrente e acrescentado 1 `a posicao da matriz correspondente ao respectivo indivduo da
populacao inicial e tempo em que esta a nota. Apos este procedimento, todos os valores
da matriz sao divididos pelo somatorio dos valores do tempo correspondente.
A Tabela 3.5 mostra dois exemplos de Matriz de Takeover. A tabela em a) mostra
T para um geracao inicial, onde 25% das notas em cada pulso sao provenientes deste
mesmo indivduo.
Quando a populacao se aproxima de um takeover , estes percentuais se aproximam
de 100%, o que significa que todas as notas de um pulso vem do mesmo indivduo da
geracao inicial. No exemplo b) da Tabela 3.5, todas as notas da suposta populacao no
pulso 3 vem do indivduo 2 da geracao inicial. Neste exemplo, o material genetico do
indivduo 1 foi completamente perdido.
Isto gera uma matriz que representa em valores percentuais a origem de cada nota,
como mostram as matrizes de exemplo da Tabela 3.5. Podemos perceber que todos os
`
valores da tabela serao proximos a 1/n, sendo n o n
umero de pulsos por compasso. A
medida que se aproxima das geracoes finais, os valores da tabela se aproximam de 1,
ja que algumas notas da populacao inicial acabam dominando um tempo especfico da

Metodologia

81

Tabela 3.5: Matriz com Percentual de Origem das Notas em Dois Casos Diferentes
Pulso

Ind.1

Ind.2

Ind.3

Ind.4

0.25

0.25

0.25

0.25

a) 2

0.25

0.25

0.25

0.25

0.25

0.25

0.25

0.25

0.25

0.25

0.25

0.25

Pulso

Ind.1

Ind.2

Ind.3

Ind.4

1.0

b) 2

1.0

1.0

1.0

populacao final. Na matriz de exemplo, todas as notas da populacao no tempo 3 vieram


do indivduo 2.
Mesmo quando ocorrem mutacoes nas notas, elas continuam sendo consideradas de
algum indivduo da populacao inicial pois caso contrario, seria mais difcil de se identificar o takeover enquanto solucoes menos musicais poderiam impedir o algoritmo de
encerrar sua execucao. Quando ocorre o takeover , os valores da matriz param de variar
entre uma geracao e outra.
Os descendentes de uma geracao podem substituir um a um ou substituir a populacao
inteira de uma so vez. Esta u
ltima e a abordagem utilizada em relacao aos indivduos
que sao potenciais reprodutores na proxima geracao. Porem, de fato, todos os indivduos
de todas as geracoes sao guardados para a posterior utilizacao da matriz de takeover .
Alem disto, esta abordagem facilita o artifcio do holdover, no qual um indivduo da
geracao passada e mantido nos potenciais reprodutores da nova geracao, apesar de nao
pertencer a ela.
Ja que e importante ter uma solucao final com alta diversidade assim como original em
relacao `a melodia inicial, especialmente quando seu autor nao e o usuario do algoritmo,
precisa-se agora avaliar o compromisso entre estes objetivos nas geracoes.
Para fazer isto, durante o processo evolucionario, cada geracao (da primeira ate
aquela na qual um takeover foi declarado) recebe um valor definido como valor de com-

82

Metodologia

Tabela 3.6: Calculo de um Valor de Compromisso


Pulso

Ind.1

Ind.2

Ind.3

Ind.4

0.50

0.25

0.15

0.10

0.18

1.00

0.50

0.25

0.25

0.25

0.25

0.20

0.30

0.50

0.10

0.17

Total

0.85

promisso. Este valor de compromisso e definido como:


1. O desvio padrao dos valores de cada pulso (cada linha na matriz de takeover ) sao
calculados. Um alto desvio padrao em um pulso significa que a origem nas notas
deste pulso sao menos igualmente distribudas do que eram no comeco do processo.
2. Os valores de desvio padrao de todos os pulsos sao somados para criar o valor de
compromisso que e designado a` geracao corrente.
Matematicamente, o valor de compromisso c e dado por:

c=

n
X
i=1

2v
u X
n
X
u1 p
t
4
=
(Tij
p j=1
i=1

)2 5

(3.2)

A Tabela 3.6 mostra o calculo de um valor de compromisso de 0, 85. O valor de


compromisso e usado para monitorar o processo, dando a ideia de uma distribuicao
da origem de todas as notas em uma geracao especfica. Se o valor do desvio padrao
acumulado e proximo de 0, as notas sao igualmente distribudas e a geracao corrente
e provavelmente proxima a` melodia original. Por outro lado, um alto valor de desvio
padrao acumulado pode indicar um takeover prestes a ocorrer. Assim, e possvel monitorar o avanco de uma melodia diversa na direcao de uma melodia mais original, `a
medida que esta transformacao nao ocorre linearmente.
Ao final, como explicado acima, o compromisso entre originalidade e diversidade deve
ser trabalhado. Com os valores de compromisso dados pela matriz de takeover , e entao

Metodologia

83

possvel encontrar uma melodia que nao e muito proxima a um takeover nem tao similar
a` melodia original, a ponto de nao ser considerada uma nova melodia. Para fazer isto,
a mediana de todos os valores de compromisso e utilizada para selecionar a geracao
da qual os compassos finais serao retornados como resultado. Geracoes com valores de
compromisso proximos a` mediana formam bons candidatos para o resultado retornado
pelo algoritmo. Escolhe-se arbitrariamente entao os indivduos na geracao com o valor
mais proximo `a mediana para serem retornados como uma nova melodia.

3.3

Gerador Harm
onico

O gerador harmonico tem como entrada uma melodia previamente gerada e gera uma
harmonia com um segundo AG. A tarefa de harmonizar melodias pode ser considerada
de certo modo mais simples do que a tarefa de criacao de melodias, pois esta e mais
dificilmente conversvel em uma tarefa de otimizacao do que aquela.
Para este tipo de abordagem um novo esquema para representacao de harmonias
que define acordes em relacao aos compassos, ou fracoes de compasso, que pode levar a
resultados que diferem daqueles algoritmos normalmente propostos para harmonizacao
SATB, nos quais um grupo de notas e definido para cada nota na melodia. Alem disto,
cinco notas sao permitidas em um acorde, sendo que algumas podem nao ser usadas.
Diferentemente da geracao de melodias, a criacao de harmonias e uma tarefa que
pode ser mais facilmente resolvida com AG ja que a definicao do fitness pode ser a
relacao existente entre a harmonia criada e a melodia em questao. Assim, o AG gera
harmonias em relacao `as notas da melodia dada e do campo harmonico da composicao.
No seu caso mais simples, cada acorde do gerador harmonico sera composto por uma
trade, que inclui as 1a , 3a e 5a notas da escala correspondente. Por exemplo, no campo
harmonico natural de do maior da Tabela 3.7, a trade de do sera do (1a ), mi (3a ) e sol
(5a ). Como o intervalo entre C e E e de 2 tons, este e considerado um acorde maior. No
mesmo campo harmonico, se se quer a trade do acorde que tem base na segunda nota
da escala natural teremos a trade re (1a ), fa (3a ) e la (5a ). Este e um acorde menor, ja
que o intervalo entre a primeira e a terceira nota da trade e de 1 tom e meio.
Tal como para as outras aplicacoes, e necessario compreender a natureza do problema
e tentar transmitir este conhecimento ao algoritmo. As proximas subsecoes descrevem

84

Metodologia

Tabela 3.7: Notas do Campo Harmonico Natural de Do


1

Notacao Anglo-saxonica

Notacao Latina

Do

Re Mi

Fa

Sol

La

Si

como isso e feito em varias partes do processo, incluindo a representacao das solucoes e
no modo que elas interagem entre si na abordagem evolucionaria.

3.3.1

Representando Harmonias

importante ter uma representacao das solucoes que seja conveniente para mapear asE
pectos fundamentais da m
usica ocidental, nomeadamente alturas tonais e acordes. Ainda
considerando regras implcitas de composicao ocidental, o grupo de notas formando a
trade de um acorde especfico e normalmente a base do processo de harmonizacao. As
outras caractersticas de acordes sao normalmente descritas pelo grau da escala no qual
uma nota dada esta.
Como sistemas de afinacao de escalas igualmente temperadas910 sao o padrao na
m
usica ocidental, na maior parte dos casos, pode ser conveniente usar distancias relativas
entre as notas ao inves de valores de altura tonal absolutos. Assim, o resultado final
pode ser normalizado para representar esta solucao em um tom conveniente para o
usuario. Tambem no resultado final, a oitava na qual cada nota sera executada pode ser
convenientemente decidida, assim como a duracao de cada nota do acorde que formara
seu ritmo.
Os nomes das notas estao especificados na Tabela 3.8, com o grau das notas respectivas, considerando a escala natural de do. Existem doze notas, sete delas representando
graus da escala natural (a escala de do e considerada no exemplo da Tabela 3.8). O
grau das notas restantes devem ser representados em relacao ao grau de sua nota mais
proxima (por exemplo, F# pode ser 5-). O intervalo entre duas notas consecutivas e um
intervalo de semitom (por exemplo, C e C#, ou E e F). Um intervalo de dois semitons e
um intervalo de um tom (por exemplo, C e D, ou E e F#). Mais informacao sobre estas
9

O sistema de temperamento igual e baseado na divisao de uma oitava em doze semitons com a
mesma dist
ancia entre si.
10
Uma oitava e o intervalo entre duas notas, uma tendo metade ou o dobro da frequencia da outra.

Metodologia

85

Tabela 3.8: Notas


Notas

C#

D#

F F#

G#

Grau

A A#

definicoes pode ser encontrada em (Kennedy & Bourne 2004).


A representacao deve ser significativa para o domnio especfico, que e apenas a
representacao de harmonias neste segundo AG. Assim, uma harmonia dada e definida
por um grupo de vetores, cada um deles definindo um conjunto especfico de notas, que
devem ser executadas durante este compasso especfico. Este esquema de representacao
considera um grau de granularidade m dos acordes no qual um grau m = 1 significa que
um acorde sera procurado para cada compasso.
comum definir uma granularidade para esquemas de representacao em aplicacoes
E
computacionais para m
usica (Biles 2001) ja que o espaco de busca seria infinito caso
contrario. Se o usuario quer mais acordes por compasso, e apenas necessario aumentar
o valor de m. Desda maneira, m se torna um parametro do algoritmo ou um aspecto do
problema. Outra solucao possvel para a variacao na granularidade dos resultados finais e
ter um banco de dados com algumas progressoes de acordes de diferentes granularidades
que poderiam ser usadas entre acordes do resultado final.
Neste trabalho, propoe-se uma forma de representacao da harmonia como na Tabela
3.9, onde e possvel perceber que as frequencias absolutas das notas nao estao representadas. Estas frequencias nao sao inicialmente relevantes no contexto de harmonias pois
a altura tonal de todas as notas podem ser definidas em relacao `a nota fundamental,
enquanto sua propria altura tonal pode ser previamente definida em relacao a uma nota
conveniente.
A utilizacao de 5 notas torna possvel o uso de uma trade e duas notas extras no
mesmo acorde. A 5a nota pode ser utilizada ou nao, como no compasso 2 da Tabela 3.9,
pois isso levaria a varias penalidades inevitaveis durante a avaliacao de solucoes mais
simples, nas quais notas alem da trade nao sao desejaveis, como sera visto em subsecoes
seguintes. Assim, pode nao haver uma nota na 5a posicao de um compasso e um acorde
pode ter 4 ou 5 notas.
Esta modelagem evita a geracao de solucoes com largos intervalos verticais pois a

86

Metodologia

Tabela 3.9: Representacao de uma harmonia


Compasso
a

...

...

5 Nota

4a Nota

...

3 Nota

...

2a Nota

...

Nota fundamental

...

fundamental e usada como uma ancora para decidir a altura tonal das outras notas. A
nota fundamental define a altura tonal da nota mais grave enquanto as outras notas
sao definidas com o menor intervalo vertical possvel em relacao `a u
ltima nota. Esta
codificacao faz o sistema tambem ser mais flexvel que outros com apenas 4 notas (que
nao tem a capacidade de representar alguns acordes dissonantes) e evita problemas como
intervalos verticais muito largos (por causa da definicao das notas em termos relativos
a` fundamental), que seria provavelmente tratado com penalidades na funcao de fitness
se outras abordagens de representacao fossem usadas.
As notas podem ser representadas por n
umeros inteiros de 1 a 12 pois a codificacao
nao precisa definir a qual oitava pertence a nota. Os n
umeros de 1 a 12 nao precisam necessariamente sempre corresponder `as mesmas notas ja que a harmonia pode ser
transposta para qualquer tom quando o genotipo e passado para o fenotipo. Assim,
na representacao da Tabela 3.9, os nomes das notas sao meramente representativos.
Isso acontece pois um sistema de igual temperamento e usado no trabalho e consequentemente a relacao dos intervalos entre as notas se torna mais importante que o valor
absoluto de cada nota. O conjunto de notas em cada acorde j e representado por:

hj = 1j , 2j , 3j , 4i , 5j , j = 1, . . . , n

onde ij 2 {0, . . . , 12} e 0 significa a ausencia de uma nota.

(3.3)

Metodologia

3.3.2

87

Operadores Gen
eticos

A criacao de novos cromossomos atraves das geracoes e feita por operadores geneticos
cuidadosamente projetados, que de fato permitem a ocorrencia do processo evolucionario.
Os operadores mais comuns sao a mutacao e o cruzamento, apesar de operadores mais
complexos poderem ser projetados para um campo especfico de problemas. Estes operadores podem ser cegos ou guiados, o que significa que eles nem sempre ocorrem de
uma maneira completamente aleatoria. Operadores guiados podem ajudar aplicacoes
musicais ja que mudancas completamente aleatorias em cromossomos nao sao convenientes em algumas situacoes. Por exemplo, se um gene representa uma nota, a mutacao
pode ser guiada para respeitar algumas regras harmonicas ou melodicas.
Alguns operadores musicais comuns sao utilizados na implementacao deste trabalho
para fazer o processo evolucionario mais eficiente. Kennedy & Bourne (2004) descrevem alguns possveis operadores para harmonizacao, porem, com um esquema de representacao diferente. Alem do cruzamento, todos os outros operadores ocorrem na fase de
mutacao. A probabilidade de se entrar na fase de mutacao e de 20% e cada operador de
mutacao tem outra probabilidade de ocorrer. Este valor de 20% e definido relativamente
alto pois algumas das mutacoes possveis que nao afetam muito a qualidade das solucoes
tem uma grande chance de serem escolhidos. A probabilidade de se entrar na fase de
cruzamento e de 90% e apenas um cruzamento musical pode ocorrer. Os operadores
musicais utilizados para evoluir harmonias estao descritos abaixo:

Cruzamento musical O cruzamento implementado neste trabalho nao trabalha a nvel


de bits, ja que isso poderia levar a muitas solucoes aleatorias. Similarmente ao cruzamento comum, um ponto de corte e escolhido entre os pais e estes compartilham
informacao considerando os genes (ou os dados) `a esquerda e `a direita deste ponto
de corte na representacao dos indivduos. Contudo, a informacao de um compasso
e inseparavel e o ponto de corte deve ser entre 2 compassos. A selecao de apenas
um ponto de corte e conveniente pois assim nao se quebram muitas relacoes entre
os compassos, o que e considerado na avaliacao das harmonias. Usar mais pontos
de corte seria muito disruptivo. A probabilidade de um cruzamento e de 90%.
Mutac
ao da altura tonal Mudancas na altura tonal de uma das notas em um compasso. A maior mudanca possvel em uma nota e de 1 tom pois mesmo com alguns
intervalos verticais muito largos sendo aceitaveis, muitos deles levam a resultados
pouco musicais. Um intervalo maior pode ser alcancado pela aplicacao de mais de

88

Metodologia

um operador ou mesmo por varias mutacoes na altura tonal mas nao com uma
u
nica mutacao da altura tonal. Intervalos de no maximo um tom tambem forcam o
algoritmo a explorar mais acordes dissonantes pois uma nota de uma trade nunca
sera mutada para outra nota da trade. Note que intervalos realmente muito largos nao sao mesmo previstos pela representacao. A probabilidade de usar este
operador e de 30%. Se nao ha nota alguma na posicao aleatoriamente selecionada
(apenas possvel na quinta nota de um compasso), o operador nao e aplicado.
Troca entre o mesmo acorde Para trocar a posicao das notas no mesmo compasso.
Este operador cria inversoes em um acorde dado. A probabilidade de usar este
operador e de 50%. Se uma posicao sem nota e selecionada, uma nova posicao e
selecionada.
Reinicializac
ao do acorde Reinicializa todas as notas de um compasso usando uma
trade com uma nota da melodia no compasso correspondente. Isso gera novos
acordes com uma grande possibilidade de serem aceitaveis. Todas as trades tem a
mesma probabilidade de serem escolhidas e a probabilidade de se aplicar o operador
e de 15%.
C
opia Copia a informacao de um compasso para outro, criando a repeticao de alguns
acordes na harmonia. A probabilidade deste operador e de 5%.
A probabilidade de se entrar na fase de mutacao e definida como 20% devido a
algumas mutacoes que nao alteram expressivamente o fitness das solucoes, como a troca
de notas entre o mesmo acorde, que pode apenas interferir na condicao da posicao da
nota fundamental.
A Tabela 3.10 resume os operadores geneticos utilizados neste trabalho com suas
respectivas probabilidades de serem aplicados.

3.3.3

Harmonizac
ao Multiobjetivo

Duas funcoes de avaliacao sao definidas para resolver o compromisso entre dissonancia ou
simplicidade das harmonias. Isto e feito considerando que harmonias contendo acordes
com apenas a trade simples (fundamental, terceira e quinta) ou a trade simples mais
a setima em alguns casos sao boas harmonias de acordo com o criterio de simplicidade.
Nestas harmonias, uma setima nao e considerada uma nota desejavel a nao ser em um

Metodologia

89

Tabela 3.10: Operadores Geneticos do Gerador Harmonico


Operadores Gen
eticos

Probabilidade

Fase de Cruzamento

90%

1: Cruzamento musical

100%

Fase de Mutacao

20%

1: Mutacao de altura tonal

30%

2: Troca entre notas

50%

3: Reinicializacao do acorde

15%

4: Copia de acorde

5%

contexto no qual ela resulta em uma nota apropriada do acorde seguinte. A maximizacao
de uma funcao de fitness definida pela funcao simplicidade f1 representara a avaliacao
deste tipo de harmonias.
Uma segunda funcao de avaliacao a ser maximizada, chamada funcao dissonancia f2 ,
valoriza mais harmonias com dissonancia em seus acordes, e compassos com mais notas
do que a trade sao normalmente recompensados. Apesar desta consideracao, notas alem
da trade que nao se encaixam `a melodia sao penalizados da mesma maneira que seriam
na primeira funcao de avaliacao.
Talvez poderia ser possvel conciliar ambos os objetivos se se soubesse previamente
as preferencias do usuario ou se o projetista do algoritmo se tornasse o proprio usuario
e usasse suas proprias preferencias para pesar opcoes contraditorias. Enquanto alguns
objetivos sao normalmente comuns a todas as harmonias, tal com definir trades especficas para guiar a progressao de acordes, alguns objetivos sao muito contraditorios
de acordo com as preferencias do usuario. Por exemplo, a inclusao de notas dissonantes
necessariamente dara diferentes recompensas e penalidades em funcoes diferentes.
Uma outra ideia poderia ser permitir alguns compassos a atender objetivos diferentes. No caso deste trabalho, isso resultaria em uma harmonia que e dissonante em alguns
compassos e simples em outros. Mesmo com harmonias dissonantes podendo tambem
ter acordes simples em alguns casos, provavelmente esta abordagem teria resultados
que desagradariam a maior parte dos usuarios ja que nenhuma preferencia seria atendida. Fazendo isto, as possibilidades entre harmonias complexas e simples nao seriam
exploradas.

90

Metodologia

Figura 3.12: Metodo de Classificacao do NSGA-II

Assim, a definicao de uma u


nica funcao objetivo envolveria um estagio de definicao de
preferencias do usuario. Mesmo com esta definicao previa de preferencias, cada melodia
tem um conjunto possvel de harmonias que nao e possvel conhecer qual funcao este
conjunto atende mais. Isso significa que a nao ser que a preferencia do usuario seja ter
harmonias que atendam apenas uma funcao o maximo possvel, a harmonia resultante
de uma execucao mono-objetivo pode ter varios resultados simples e dissonantes para
um mesmo conjunto de parametros. Por outro lado, a abordagem multiobjetivo permite
que o usuario conheca as possibilidades do espaco de busca em vez de fazer uma escolha
cega de parametros.
Por estes motivos, uma abordagem multiobjetivo foi aplicada neste trabalho. Com
esta abordagem, o usuario pode obter um conjunto de harmonias que se encaixam a`
melodia e representam o equilbrio entre as regras contidas nas duas funcoes objetivos.
Depois o usuario pode escolher uma harmonia do conjunto de resultados e definir as
preferencias enquanto escuta as possibilidades de solucoes.
Para aplicar a abordagem multiobjetivo para o problema de harmonizacao, empregase neste trabalho o Non-dominated Sorting Genetic Algorithm - II (NSGA-II) (Deb,
Agrawal, Pratap & Meyarivan 2000). Neste metodo, as solucoes sao agrupadas em
conjuntos de solucoes candidatas pertencentes a` mesma frente de Pareto e sao ordenadas
de acordo com seus grupos antes de passar pelos processos reprodutivos do AG. Este
metodo de ordenacao das solucoes esta representado na Figura 3.12.

Metodologia

91

Neste metodo, o fitness de um indivduo e definido pelo n


umero da fronteira nao
dominada ao qual ele pertence, e o problema artificialmente se torna de minimizacao,
tendendo a selecionar os indivduos que tem o menor n
umero de fronteira nao dominada.
A estimativa da densidade das solucoes em volta de um indivduo tambem e considerada no metodo para classificar os indivduos da mesma fronteira (Deb, Agrawal,
Pratap & Meyarivan 2000). A quantidade idistancia e a estimativa da densidade no ponto
de um indivduo e dar mais valor a indivduos em locais menos densos do fronteira ajuda
a exploracao de diversidade das solucoes. Este conceito e definido por Deb, Agrawal,
Pratap & Meyarivan (2000) como crowding distance. O calculo deste valores para cada
indivduo esta detalhado no Algoritmo 3.2.
Algoritmo 3.2: Calculo do Crowding Distance dos indivduos
(Deb, Agrawal, Pratap & Meyarivan 2000)
Entrada: Conjunto de solucoes I
1 l
|I|;
/* n
umero de solu
c~
oes em I
2 para todo i fa
ca
3
I[i]distancia = 0;
/* inicializa as dist^
ancias
4 fim
5 para cada objetivo m fa
ca
6
I
ordenar(I, m);
/* ordena pelo valor da fun
ca
~o objetivo
7
I[1]distancia
I[l]distancia = 1;
/* ajuda os pontos extremos
8
para i
2 at
e (l 1) faca
/* para os outros pontos
9
I[i]distancia = I[i]distancia + (I[i + 1].m I[i 1].m);
10
fim
11

*/
*/

*/
*/
*/

fim

Neste metodo, I[i].m e o valor do indivduo de acordo com a funcao objetivo m. A


ordenacao das solucoes domina a complexidade do algoritmo, que e O(mN log N ) no
pior caso.

3.3.4

Avaliac
ao das Soluc
oes

comum imaginar um mentor humano para avaliar as solucoes quando geradores muE
sicais estao em questao, tendo assim uma avaliacao legtima. Esta nao e sempre uma
abordagem indicada, primeiramente, porque a avaliacao e tendenciosa na direcao das

92

Metodologia

preferencias dos usuarios. Outro fator que nao pode ser negligenciado e que um mentor
humano e sempre suscetvel a ficar cansado, entediado e perder a atencao.
Alem disto, o uso de um mentor humano evitaria o estudo de como a funcao de
fitness deve funcionar, e consequentemente, negligenciar a propria natureza do problema.
Uma questao clara de preferencias do mentor pode ser entre harmonias dissonantes
ou simples, que e objeto de estudo deste gerador harmonico. Alem disto, o objetivo
principal deste trabalho e produzir um sistema automatico capaz de funcionar com base
em conhecimento musical apenas. Isso nos permite analisar o comportamento do sistema.
Para classificar quao boa e uma solucao, e necessario definir como conhecimento
sobre o assunto sera definido no sistema. Como previamente descrito, grande parte
deste conhecimento ja esta implementado nos operadores geneticos mas estes nao sao
capazes de distinguir quais sao boas ou mas solucoes. O fitness de uma solucao e dado
de acordo com as duracoes das notas e intervalos verticais da harmonia.
necessario determinar fatores que podem ou nao ser desejaveis a`s solucoes, como
E
descrito abaixo com as penalidades usadas neste trabalho.

Trades: A trade e a estrutura basica de um acorde na m


usica ocidental. A
ausencia de trades tem uma penalidade de 40 neste trabalho. Se ha uma terceira
mas a quinta esta ausente, a penalidade se reduz a 15 na funcao simplicidade f1
e 5 na funcao dissonancia f2 . Com a trade, ha duas notas livres que podem ser
usadas para criar tensao.
Acordes Dissonantes: Eles podem ou nao ser desejaveis. Este e o aspecto que
mais justifica a utilizacao de duas funcoes objetivo. Neste trabalho, notas fora da
trade sao consideradas dissonantes e sao penalizadas na funcao simplicidade em
10 enquanto sao recompensadas em 10 na funcao dissonancia. Uma setima nao
e penalizada na funcao simplicidade se ela leva a uma outra nota da trade do
compasso seguinte com um intervalo de meio tom. Duas notas dissonantes levam
a uma penalidade de 20 nas duas funcoes se elas estao a uma distancia de meio
tom.
Intervalos largos: Nao e muito usual ter intervalos largos demais nos acordes, tais
como 12 tons entre duas notas consecutivas. Este problema e normalmente tratado
com a penalizacao de intervalos largos. Neste trabalho, este problema e resolvido
pela representacao da solucao, que ja nao considera intervalos extremamente largos

Metodologia

93

pois a distancia entre as notas e definida quando estas sao transcritas do genotipo
para o fenotipo.
Notas e Acordes Inv
alidos: Notas que nao pertencem a`s escalas implicitamente
definidas pela melodia sao penalizadas em 30. Uma nota e considerada invalida na
funcao simplicidade se (i) ela nao pertence `a escala principal implcita da melodia
e (ii) ela nao existe no respectivo compasso da melodia. Uma nota e considerada
invalida na funcao dissonancia se (i) ela nao pertence `a escala implcita principal
de melodia, (ii) ela nao existe no compasso respectivo da melodia, (iii) ela nao
leva a outra nota no acorde seguinte atraves de um cromatismo e (iv) nao ha
notas dissonantes a meio tom de distancia no acorde. A penalidade para esta
restricao e de 30 pois ela deve ser uma penalidade maior que a recompensa por
notas dissonantes na funcao dissonancia.
Evitar unssonos: Nao e desejavel haver unssonos gastando notas que poderiam
ser usadas para formar novos acordes. Unssonos da nota fundamental podem ser
normais enquanto unssonos da terceira nao sao normalmente aceitos. A maior
parte dos unssonos sao penalizados em 5, unssonos das terceiras sao penalizados
em 10 e unssonos com a fundamental nao sao penalizados.
Omiss
ao de notas: Quando a trade nao esta completa. Como ha 5 possveis
notas no esquema de representacao proposto, e possvel ter notas extras sem excluir
notas da trade. A omissao da quinta pode ser considerada normal para se adicionar
notas extras. A u
nica restricao relativa a` ausencia de notas e a ausencia de trades
ja discutidas.
Extens
ao das notas: As notas devem respeitar uma extensao de alturas tonais
para evitar variacoes estranhas entre os acordes. Neste esquema de representacao,
a altura tonal de cada nota e definida quando o genotipo e passado para fenotipo.
Nao ha, assim, necessidade de penalizacao neste aspecto.
S
etimas Significativas: Setimas que levam a outra nota no acorde seguinte sao
recompensadas em 10 na funcao dissonancia. Elas sao recompensadas em 10 na
funcao simplicidade apenas se levam a uma terceira no acorde seguinte.
Progress
oes: Progressoes especficas de acordes ou cadencias na harmonia podem ter algum tipo de preferencia, especialmente quando compondo em um estilo
particular de m
usica. Este tipo de recompensa nao e considerado neste trabalho

94

Metodologia

Tabela 3.11: Parametros na avaliacao do fitness


Condic
ao

Func
ao

Func
ao

Simplicidade

Disson
ancia

1: Ausencia de trade

-40

-40

1.1: Ausencia de quintas

-15

-5

2: Nota dissonante

-10

+10

+10

2.2: Dissonancia de meio tom

-20

-20

3: Unssonos

-5

-5

3.1: Unssono da terceira

-10

-10

-30

-30

5: Setima significativab

+10

+10

6: Posicao da fundamental

+10

+3

2.1: Setima significativa

3.2: Unssono da fundamental


4: Nota Invalida

a
b

Note que as condico


es para que uma nota seja considerada inv
alida s
ao diferentes em cada funca
o.

Note que as condico


es para que uma s
etima seja considerada significativa s
ao diferentes em cada funca
o.

pois na verdade ela recompensa implicitamente alguns generos de m


usica que utilizam estas progressoes muito frequentemente. Estes tipos de regra nao podem ser
consideradas gerais mesmo quando apenas m
usica ocidental e considerada.
Posic
ao da Nota Fundamental: Ter alguma recompensa a acordes com sua nota
fundamental como primeira nota, ou nota mais grave do acorde. Caso contrario,
nao haveria diferenca de fitness entre acordes invertidos e a maior parte do acordes
tenderia sempre a estar invertida. O valor de recompensa e 10 na funcao simplicidade e 3 na funcao dissonancia.
A tabela 3.11 mostra brevemente as condicoes de avaliacao usadas neste trabalho e
a sua influencia associada na funcao de fitness.

3.3.5

Executando a harmonia

Apos a definicao de quais acordes serao tocados em quais compassos, e preciso convertelos em partituras. Essas partituras finais serao representadas da mesma maneira que as

Metodologia

95

Baixo

Guitarra

% & " $ "! " $


!"
"
"
&
' """ "" " " ""

"
#
!
"

"$

""""

!"$
"
"" "! ""
"" "

"
#
!
"

Figura 3.13: Dois Compassos em Do Maior Criados Pelo Gerador Harmonico

melodias do gerador melodico. O resultado de todo este processo sera anexado a novas
faixas (coluna 1 da representacao das melodias, como na Tabela 3.4) no arquivo MIDI
final.
Podem ser definidos ritmos que sempre seguem o mesmo padrao, porem, com acordes
diferentes. Mostramos um exemplo no qual a criacao do baixo e feita com uma variacao
entre a nota base e sua 5a , assim como o exemplo da Figura 3.13, que representa dois
compassos de baixo no qual a base e do maior. As notas utilizadas para o baixo estao
na quinta oitava permitida pela codificacao MIDI.
As notas referentes ao segundo instrumento da base estao uma oitava acima da oitava
central do baixo, na sexta oitava da codificacao. Uma guitarra pode ser utilizada para
representar este instrumento, por exemplo. A base do segundo instrumento normalmente
tem uma relacao com a faixa do baixo e comumente trabalha com as notas do acorde
que ainda nao foram emitidas por outros instrumentos.
No possvel exemplo para execucao da solucao, a faixa do segundo instrumento gerado
para a base contem as mesmas notas do baixo nos mesmos tempos, porem uma oitava
acima. Alem disso, um outro ritmo que inclui as outras notas da trade e colocado junto
a`s notas do primeiro instrumento. Um exemplo de dois compassos criados para guitarra
estao tambem na Figura 3.13.

3.4

Conclus
ao

Neste captulo foram descritas as abordagens utilizadas para os experimentos descritos


a seguir neste trabalho.
Inicialmente, um AG basico e definido e sao demonstradas as suas implicacoes para

96

Metodologia

que seja aplicado a tarefas musicais.


Em seguida, o captulo trata de metodos de geracao de melodia e harmonia separadamente. Assim, os metodos podem ser combinados para gerar uma m
usica completa.
Para o problema proposto nesta dissertacao, diferentes AG devem ser definidos para
resolver os problemas especficos. Particularmente, a evolucao de harmonias pode ser
feita atraves de um AG mais classico, que utiliza funcoes de fitness para dividir bons e
maus indivduos.
Entretanto, abordagens e visoes diferentes devem ser analisadas para que se possa
resolver o problema em questao. Com a geracao de m
usica nao e diferente, e as possibilidades de configuracao dos AG devem ser exploradas.
Nos captulos seguintes, descreve-se os experimentos gerados com estes algoritmos e
suas implicacoes.

Captulo 4
Resultados
4.1

Introduc
ao

Neste captulo, durante a analise das abordagens utilizadas, sao mostrados experimentos
especficos que ajudam a compreensao completa do funcionamento dos algoritmos, seus
valores de compromisso, takeovers e possveis resultados.
Primeiramente, e analisado o funcionamento do gerador de melodias e a influencia de
seus possveis parametros, como a melodia inicial e a medida de fitness. Em seguida, o
gerador de harmonias e analisado em relacao a` sua efetividade e em relacao `a avaliacao
humana dos resultados.

4.2
4.2.1

Gerador de Melodias
Base de dados

Diferentes melodias foram utilizadas para analisar as possibilidades do metodo. Os primeiros experimentos envolvem a geracao de uma nova melodia tendo como referencia
para o algoritmo 16 compassos retirados de Samba de Uma Nota So. Estes compassos
foram retirados de partes diversas do m
usica e sao mostrados na Figura 4.1. Os compassos 1-8 sao retirados do verso enquanto os compassos 9-16 sao retirados do refrao.
Esta pode ser considerada uma boa m
usica para analisar o algoritmo, ja que o verso tem
uma melodia simples, com apenas duas notas e um padrao rtmico repetitivo, enquanto
97

98

Resultados

% ) ! ! ! $ !' $ !' ( ! ! ! ! ! $ !' $ !' (


5
! ! ! $ ! $ ! ( ! ! ! ! ! $ ! $ ! (
%
' '
' '
9

13

! !
! !

! ! "! "! ! ! ! "! "! ! "!


"! ! ! ! ! !# ! ! "! ! !# & $
%

"! ! "! "! ! ! ! "! "! "!


#
" ! " ! ! ! ! ! ! # "! ! " ! " ! " ! & $
%
Figura 4.1: 16 compassos de Samba de Uma Nota So.

!
# $ ! " ! ! " ! ! ! ! "! ! " ! ! ! " ! ! " !
Figura 4.2: Escala Cromatica

o refrao, mais sofisticado, contem 9 de 12 notas possveis.


Para analisar a real influencia da populacao, assim como da funcao de fitness, um
outro caso e analisado com um exemplo um pouco mais simples mostrado na Figura 4.2.
Para analisar os efeitos de uma execucao livre de fitness em uma melodia inicial que
ja respeita alguns padroes, a melodia de Parabens a Voce mostrada na Figura 4.10 e
utilizada.

" & !! $
5

"

! !

! !

$'

!! $

! ! % ! ! $

! !

! ! % !!

! !

! ! #

Figura 4.3: Melodia de Parabens a Voce

Resultados

99

500

Geraes

400

300

200

100

0
4

Indivduos 16

32

Figura 4.4: N
umero de geracoes para alcancar o takeover

4.2.2

Resultados e Discuss
ao

Como o algoritmo encerra quando um takeover e encontrado, o n


umero de geracoes do
algoritmo varia em diferentes execucoes. O boxplot na Figura 4.4 mostra o n
umero de
geracoes necessarias para que ocorra um takeover para diferentes tamanhos de populacao.
O algoritmo foi executado 100 vezes para cada tamanho de populacao.
A Figura 4.5 apresenta o grafico com os valores de compromisso de 56 geracoes em
uma execucao do algoritmo usando a melodia inicial proposta (Figura 4.1). A mediana
de todos estes valores de compromisso ocorre na decima segunda geracao. Note que o
valor de compromisso nao varia linearmente atraves das geracoes e a mediana de todos
estes valores pode ocorrer antes ou depois do meio do processo evolucionario.
Tres diferentes experimentos sao feitos com esta melodia, utilizando (i) o verso, (ii)
o refrao e (iii) ambos como populacao inicial. Comecando com a melodia aqui definida
como a mais simples (compassos 1-8), a Figura 4.6 apresenta um resultado possvel do
algoritmo que usa os primeiros 8 compassos da melodia da Figura 4.1.

100

Resultados

1
0.9

Valor de Compromisso

0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1

10

20

30
Gerao

40

50

Figura 4.5: Valores de compromisso de 56 geracoes

! ! ! ! ! ! ! !
!
!
!
!
!
!
!
!
%
#
#
#
#
#
$ "
"
"
"
"
5
! ! ! #!
!
!
!
!
!
!
!
!
!
!
!
!
#
#
#
#
$
"
"
" "
"
Figura 4.6: Um resultado utilizando o verso da m
usica

Resultados

101

)
% ( "! ! *
4

" ! ! " ! "!

) "! ! "! "!


"!
! "! "! ! "!& ' ! "! "! #!
! "! ! "!

"! ! $

! " ! "! !

! ! $
! !
"
"
!
!
!
!
"
!
"! "! #! ! ! "!&
%

$&

! "!

Figura 4.7: Um resultado utilizando o refrao da m


usica

O resultado herda o padrao repetitivo da melodia original usada como referencia.


Todas as notas sao executadas no incio do pulso, exceto no quarto pulso que sempre
tem uma pausa e entao uma nota. Apesar dos resultados lembrarem o estilo da solucao
inicial, eles nao copiam simplesmente pedacos de melodia da populacao inicial. Assim,
o resultado e uma melodia que pode ser considerada nova. Uma nota re gerada por
mutacao tambem aparece na melodia nova.
Para contrastar o primeiro resultado com uma melodia mais complexa, a Figura 4.7
mostra os resultados obtidos usando os compassos 9-16 como populacao inicial. Mais
uma vez, o resultado final compartilha certas caractersticas com a populacao inicial tais
como uma maior variedade de notas, sendo varias delas de mesma duracao (um oitavo
de um compasso). Tambem a extensao das notas e similar, de D# ate A# (usando 19
semitons) na populacao inicial e de F to G# (usando 15 semitons) na melodia resultante.
Comparando os dois primeiros experimentos, alguma evidencia de que os resultados
finais herdam o estilo da populacao inicial pode ser mais claramente percebida. Assim,
a populacao inicial pode ser um meio de controle do algoritmo, em vez da definicao de
regras estritas para um estilo particular de m
usica.
A influencia da estrutura rtmica da populacao inicial pode ser percebida `a medida
que a simplicidade ou complexidade do ritmo do resultado final e mantida em ambos
os casos. Mutacoes que alteram muito a estrutura rtmica da melodia podem levar
facilmente a resultados ineficientes, especialmente quando varias subdivisoes de um pulso
sao permitidas como pontos de cruzamento. Permitir apenas pontos de cruzamento
musicalmente relevantes e uma das razoes pelas quais a musicalidade dos resultados e
mantida.

102

Resultados

& & "


"
"
"
"
"
"
#
"
!
"
"
"
)
'
$
"
'
$
%
" !" #"
#" !"
#" !" " $ " '
#"
5

& #" !" " "


& &
"
"
"
"
"
"
$
'
'
'
$
"
$
% #" #" !"
#" !" #"
#" !" #" !" ' "

& " """


#
"
!
"
'
'
$
% (
#" !" #"
#" !" '
13
& &
#
"
!
"
"
"
'
$
$
%
#" !"
#" !" $ "
9

" #" $ #" !" " #" !" $ " #" !" '

& &
' " " " " # " !" $ " $ " ' "

Figura 4.8: Um resultado utilizando todos os compassos como populacao inicial

Uma nova cancao poderia ser construda imitando-se o estilo da m


usica original e
partes desta nova cancao poderiam resultar do gerador melodico com partes diferentes da cancao original. Mas mais do que isso pode ser feito: todas as partes de uma
m
usica podem ser utilizadas simultaneamente, formando resultados como os mostrados
na Figura 4.8.
Nestes tipos de experimentos, utilizando estilos diferentes de melodias, e importante
notar que o algoritmo nao tem a capacidade de distinguir quais compassos pertencem
a um estilo diferente e produzir uma nova melodia com alguns compassos em cada
estilo. Em vez disto, as caractersticas dos diferentes compassos muito provavelmente se
misturam e formam um especfico estilo intermediario.
O estilo de uma m
usica pode mudar consideravelmente se restricoes sao impostas
a indivduos atraves de qualquer funcao de fitness tendenciosa. Isso pode mudar caractersticas originais da melodia dando preferencias a certos indivduos. Usar tambem
exemplos demonstrativos, como o da Figura 4.2, que nao sao muito musicais e u
til para
comparar a influencia da populacao inicial do algoritmo e seus operadores. A Figura 4.9
mostra um experimento no qual os resultados podem exemplificar esta suposicao.
A populacao inicial e uma execucao de cada uma das notas com intervalos de meio
tom entre si, usando sempre a mesma duracao para as notas. Pelo menos para varios
m
usicos, esta sequencia de notas seria apenas utilizada como um exerccio ou aquecimento antes de uma apresentacao. Os resultados alcancados usando um AG livre de

Resultados

103

a) Populacao Inicial - Uma escala cromatica comecando de C

!
# $ ! " ! ! " ! ! ! ! "! ! " ! ! ! " ! ! " !
b) Resultado 1 - Usando um AG livre de fitness

# $ " ! " ! ! ! ! ! " ! " ! " ! " ! %! ! ! ! !


!
c) Resultado 2 - Usando um AG de fitness mnimo

# " ! ! ! ! ! ! ! ! ! ! !! ! ! ! !

Figura 4.9: Utilizando uma escala cromatica como populacao inicial

fitness pode ser considerado tao musical (ou nao musical) como a escala cromatica utilizada como populacao inicial. Eles nao respeitam escalas especficas, assim como a
populacao inicial, e o padrao rtmico e tambem o mesmo.
Por outro lado, o resultado utilizando uma abordagem baseado em fitness mnimo
que penaliza indivduos com notas fora da escala de C fizeram a melodia final respeitar
este aspecto. Mesmo com o padrao rtmico repetitivo novamente herdado da populacao
inicial, a restricao aplicada `as notas fez a melodia inteira soar muito mais conservadora
em relacao a` escala diatonica.
A desvantagem da abordagem baseada em fitness mnimo e que uma limitacao forte
foi imposta a`s melodias mesmo com os indivduos tendo o mesmo valor de fitness na
maioria da geracoes. Isso leva a um resultado que perdeu parte de sua ligacao com a
melodia original, fazendo o algoritmo perder uma de suas feicoes. Neste caso especfico,
os resultados utilizando uma abordagem baseada em fitness mnimo pode ser melhor
pois nao havia uma melodia inicial boa, que e o modo mais efetivo de controlar os
resultados de uma solucao livre de fitness. Assim, a abordagem baseada em fitness pode
ter limitado a ligacao entre os resultados e uma melodia ruim. Mesmo com a melodia
inicial nao sendo considerada boa por varias pessoas, o usuario pode ter a intencao
explcita de criar uma outra melodia ruim tendo a primeira como uma referencia para
controlar o algoritmo.
Em casos nos quais as solucoes iniciais sao muito musicais e criativas, estas restricoes
poderiam provavelmente restringir esta criatividade da solucao inicial, tornando-a uma

104

Resultados

" & !! $
5

"

a) Populacao Inicial - Parabens a Voce

! !

! !

$'

!! $

! ! % ! ! $

! !

! ! % !!

! !

! ! #

b) Resultados com uma selecao livre de fitness

# $ ! " ! "

! ! ! !

! " ! !! ! ! ! !!

!
!
!
# !

! ! ! !

! ! " ! ! ! " ! ! !

Figura 4.10: Utilizando Parabens a Voce como populacao inicial

melodia mais simples. Nestas abordagens, melodias como a da Figura 4.7 nunca seriam
geradas.
Tambem `a medida que o algoritmo tem resultados relacionados `a populacao inicial,
uma abordagem livre de fitness pode ser utilizada com uma populacao inicial boa que
ja respeita algumas regras especficas. Isso resultaria em novas melodias que podem
ser criativas mas serao tambem relacionadas com a populacao inicial. Nestes casos, um
controle de fitness pode ate remover algum controle sobre o algoritmo, se o usuario
espera ter algo similar `a populacao inicial.
Por exemplo, uma melodia inicial simples que respeita a escala natural de do provavelmente resultara em outra melodia simples que ainda respeita a escala ate certo ponto.
O proximo experimento pode dar evidencia disto.
A Figura 4.10 mostra uma solucao inicial simples que respeita a escala natural de C.
Aplicando um esquema de selecao livre de fitness, a solucao final e tambem uma solucao
simples que nem tem notas que duram fracoes pequenas de tempo nem desrespeitam a
escala original de C. Todo o controle do algoritmo e assim feito pela populacao inicial
em vez de se usar funcoes de fitness que poderiam mudar o estilo dos resultados.

Resultados

105

" "

# & "" $
5

" "

$'

"" $

" " % " " $

" "

" " % ""

" "

" " !

Figura 4.11: Melodia de Parabens a Voce

4.3
4.3.1

Gerador de Harmonias
Par
ametros e Dados de Entrada

Experimentos foram realizados com uma populacao de 100 indivduos aleatoriamente


inicializados com 100 execucoes do algoritmo. Valores aleatorios entre 1 e 12 foram
dados a cada nota, exceto na nota 5 de cada compasso, que recebeu valores de 0 a 12,
onde 0 significa que nenhuma nota sera executada. A representacao das solucoes e feita
assim como demonstrada anteriormente na Tabela 3.9.
Uma melodia conhecida e utilizada como problema a ser resolvido para dar uma melhor ideia das capacidades do algoritmo. Esta melodia, novamente retirada de Parabens
a Voce, e representada na Figura 4.11. O problema e representado agora por uma matriz na qual cada coluna representa um compasso e doze linhas representam as notas
possveis em um dado compasso. Esta representacao da mesma melodia da Figura 4.11
esta na Tabela 4.1. No processo de mapeamento, os dois Gs antes do primeiro compasso
sao considerados como estando no compasso 1.
Somando os valores de todas as colunas, como feito na coluna total, e possvel ter
uma ideia de qual escala e implicitamente usada na melodia. Caso contrario, e necessario
encontrar em quais compassos as excecoes da escala acontecem e quais escalas podem
ser consideradas possveis para o problema.
No exemplo da Tabela 4.1, apenas notas naturais sao representadas na coluna total,
deduzindo-se que a escala implcita dada pela melodia e C - ou qualquer outra escala
relativa, como A menor. A escala utilizada em uma m
usica assim como a quantidade de
cada nota podem ser mais tarde utilizadas na funcao de fitness.
Se uma melodia nao tem notas suficientes para definir completamente qualquer das

106

Resultados

Tabela 4.1: Definindo uma escala de referencia para a harmonia


Measure

Notes

Total

C#

D#

F#

G#

A#

escalas previamente definidas na coluna total, uma escala que contenha todas as notas da
coluna total sera escolhida. Por outro lado, se a melodia tem tantas notas que qualquer
escala falta alguma nota para corresponder a` coluna total, alguns compassos da melodia
devem ser considerados excecoes ate que um padrao de excecoes corresponda `a coluna
total.
Apenas escalas naturais foram consideradas neste experimento. Apesar disto, e facil
perceber que qualquer escala pode ser utilizada com este metodo.

4.3.2

Resultados e Discuss
ao

Para demonstrar como os operadores influenciam a execucao do AG, a Figura 4.12


mostra a influencia de cada condicao na funcao de fitness em toda a populacao apos 100
execucoes do algoritmo. Cada grupo de barras mostra a influencia media das restricoes
durante cada grupo de 20 geracoes.
As restricoes sao numeradas no eixo x na mesma maneira que sao numeradas na
Tabela 3.11. Os valores de influencia consideram a influencia media de todos os in claro que a presenca de
divduos na geracao dada, considerando as funcoes f1 e f2 . E

Resultados

107

50

Influncia no Fitness

50

Ausncia de Trade
Notas dissonantes
Unssonos
Notas invlidas
Stima significativas
Posio da Tnica

100

150

200

120

4160

81100
Gerao

121140

161180

Figura 4.12: Perfil de fitness atraves das geracoes

unssonos tem o maior peso na avaliacao das solucoes. Isso acontece principalmente por
causa das solucoes com bons valores na funcao simplicidade f1 . Estes indivduos nao
tem varias notas dissonantes e estas sao substitudas por unssonos de outras notas. O
grafico considera as 200 geracoes iniciais do experimento.
A Figura 4.13 mostra uma solucao retirada da frente de Pareto com um bom valor na
funcao simplicidade (fitness (50, 61)). A harmonia gerada e muito simples e tem muita
similaridade com a harmonia original da m
usica, representada na Figura 4.14, a qual o
algoritmo nao tem acesso explcito. As u
nicas diferencas seriam os acordes menores, que
sao inexistentes na cancao original (Dm e o acorde relativo menor de F).
A possibilidade de se gerar harmonias similares a` original e uma evidencia de que
o algoritmo esta resultando em solucoes musicais. Isso nao significa que uma solucao
que nao se parece com a original nao e musical. Tais harmonias podem ser encontradas
mas copiar ou encontrar a harmonia original de uma melodia nao e o objetivo deste
trabalho. Por este motivo, testes ground truth, baseados nas harmonias originais, nao
se aplicam a este algoritmo pois a intencao e criar harmonias factveis tao diversas e
criativas quanto possvel.
A Figura 4.15 mostra uma solucao retirada da frente de Pareto com um bom valor na

108

Resultados

" ' !! %
7

C
5

"

! !

! !

Am

%&

Dm

! ! $

!! %
G

! ! %

! !

! ! $ !!
C

! ! #

Figura 4.13: Solucao 1

# & !! $
5

! !

! !
F

$'

!! $
G

! ! $
! ! %

! !

! !

Figura 4.14: A harmonia original

! ! % !!
! ! "

Resultados

109

" & !! $
6

D
5

"

! !

7/add6

! !
F

$'

! !

!! $

Em

! ! % ! ! $

! !

! ! % !!
C

! ! #

Figura 4.15: Solucao 2

possvel notar que o algoritmo


funcao dissonancia, especificamente fitness ( 40, 101). E
pode gerar harmonias mais complexas mesmo para uma melodia simples.
tambem interessante notar que a solucao tem um acorde D, que nao pertence a`
E
escala implcita da melodia (Dm pertenceria). Contudo, este D esta em um compasso
onde nao ha a nota F, que seria a terceira de um Dm. Assim, a nota F# do acorde D
da harmonia nao e penalizada na funcao dissonancia pois ela leva cromaticamente ao
acorde seguinte (F4 ).
Tambem de acordo com as regras determinadas, o algoritmo pode ser considerado
bem sucedido ja que todos os indivduos na frente de Pareto das u
ltimas geracoes examinadas quebraram poucas restricoes na funcao simplicidade e tiveram valores positivos
de fitness para a funcao dissonancia.
A efetividade do algoritmo e seus operadores foi medida pelo hipervolume das frentes de Pareto (Fonseca, Knowles, Thiele & Zitzler 2005) usando um ponto de referencia
( 1200, 1200). A Figura 4.16 representa informacoes relativas aos hipervolumes gerados atraves de 200 geracoes (considerando 100 execucoes) com o eixo x representado em
escala logartmica.
Um exemplo da evolucao das frentes de Pareto em uma u
nica execucao do algoritmo esta representada na Figura 4.17. As linhas representam os pontos dominados
pelo Pareto em uma dada geracao enquanto os pontos representam o fitness de todas as
solucoes avaliadas pelo algoritmo. Em todas as execucoes da algoritmo, os valores extremos de fitness encontrados como resposta para a funcao simplicidade foram ( 310, 251) e
(120, 121) enquanto os valores extremos encontrados na funcao dissonancia foram (70, 21)
e ( 60, 251). Os Paretos finais tiveram uma media de 21,08 indivduos, ou 21,08
n, sendo
100

110

Resultados

x 10

1.8

Hipervolume

1.6

1.4
Mdia
Mediana
Mximo
Mnimo
Percentil 25
Percentil 75

1.2

0.8
0
10

10

10

Gerao

Figura 4.16: Evolucao do hipervolume

n o n
umero inicial de indivduos, e um valor de fitness medio de (4, 38, 178, 14).
O algoritmo avaliou 20,000 solucoes em 200 geracoes e o hipervolume medio do Pareto
final foi 1, 8197 106 (desvio padrao de 3, 1243 104 ) enquanto o Pareto inicial formado
por 100 solucoes aleatorias teve um hipervolume medio de 9, 3421 105 . Um Pareto
produzido por 20.000 solucoes aleatoriamente geradas teve um hipervolume medio de
1, 1833 106 (desvio padrao de 3, 0844 104 ).
Para confirmar a confiabilidade da funcao de fitness em relacao a conceitos externos
de arte, uma pesquisa tambem foi feita com 12 participantes. Estes foram pedidos a dar
uma medida de qualidade de 12 harmonias retiradas das frentes de Pareto em diferentes
geracoes.
A seguinte abordagem foi utilizada para selecionar as harmonias avaliadas pelos participantes. O hipervolume medio na primeira geracao e g0 = 9, 3421 105 e na u
ltima
6
geracao e g200 = 1, 8197 10 . Por conseguinte,
= g200 g0 = 8, 8554 105 . As
geracoes com hipervolumes medios mais proximos a g0 + (i 1) n 1 foram usados com
amostras alem das geracoes 0 e 200, sendo n o n
umero de amostras e i a amostra desejada.
Este metodo foi utilizado pois a evolucao dos hipervolumes acontece logaritmicamente,
como pode ser percebido na Figura 4.16.

Resultados

111

400
200

Fitness function 2

0
200
400
600
800
1000
1200
1200

1000

800

600
400
Fitness function 1

200

Figura 4.17: Evolucao das frentes de pareto

200

112

Resultados

Tabela 4.2: Pesquisa sobre a qualidade das solucoes


Gera
c
ao
0

Harm.1

Harm.2

Harm.3

Media

2,0

1,1

4,3

2,5

(100,7782 )

4,3

5,6

4,0

4,6

16 (101,2041 )

5,1

5,0

4,1

4,7

8,7

7,7

7,5

8,0

5,0

4,9

5,0

5,0

200

(102,3010 )

Media

Usando este metodo com n = 4, as geracoes 0, 6, 16 e 200 (ou 0, 100.7782 , 101.2041 ,


102.3010 ) foram escolhidas. Tres harmonias foram retiradas de cada uma destas geracoes,
duas dos extremos das frentes de Pareto, com bons valores nas funcoes f1 e f2 , e a outra
do meio do Pareto.
Os participantes eram nao m
usicos e todas as notas dadas por eles foram normalizadas
para uma escala de 0 a 10. As harmonias foram apresentadas em uma ordem aleatoria e
os participantes nao sabiam a qual geracao ou regiao do pareto cada harmonia pertencia.
Os participantes foram pedidos para ordenar as harmonias por ordem de preferencia
para definir uma nota de 1 a 12 a estas harmonias. As notas finais foram definidas
pela classificacao da harmonia respectiva. Os resultados medios sao apresentados na
Tabela 4.2. As harmonias 1 e 3 sao as melhores de acordo com as funcoes simplicidade
e dissonancia, respectivamente. A harmonia 2 representa uma posicao intermediaria do
Pareto.
Os resultados indicam uma pequena tendencia de preferencia pelas harmonias com
bons valores na funcao simplicidade (harmonias 1). Contudo, isso nao necessariamente
significa que qualquer uma das funcoes tem a habilidade de representar o processo de
harmonizacao mais efetivamente que a outra, pois estes n
umeros podem apenas estar
mostrando preferencias dos participantes.
Uma representativamente melhor avaliacao humana para indivduos nas u
ltimas
geracoes e um bom sinal de que as funcoes de fitness estao de fato representando o
que pode ser considerada uma boa harmonia, pelo menos no contexto dos participan tambem interessante notar a divergencia entre as notas da u
tes da pesquisa. E
ltima
geracao e as outras. Harmonias que desrespeitam apenas poucas restricoes impostas
pelas funcoes de fitness (geracao 16) tiveram notas muito baixas (apenas 84% mais al-

Resultados

113

tas que solucoes completamente aleatorias) em relacao a`s solucoes finais que tiveram
notas significativamente mais altas (320% mais alta que as solucoes iniciais). Isso oferece evidencias para inferir que, de acordo com a avaliacao humana, solucoes quebrando
poucas restricoes podem ser consideradas quase tao inadequadas quanto solucoes que
quebram varias restricoes ou ate solucoes aleatorias.
De qualquer maneira, quanto mais alta foi a avaliacao humana dos resultados, maior
foram os valores de fitness retornados pelo algoritmo. Apesar de avaliacoes de solucoes
poderem depender fortemente de analises estilsticas, isso da fortes evidencias de que a
codificacao descrita neste trabalho representa pelo menos em parte o que os participantes
da pesquisa consideram uma harmonia bem sucedida enquanto e capaz de funcionar com
diferentes preferencias dos usuarios. Afinal, estes sao os principais objetivos do algoritmo
proposto.

4.4

Conclus
ao

Os experimentos apresentados demonstram abordagens para resolver duas tarefas musicais diferentes.
Para a geracao de melodias, e possvel perceber a influencia da populacao inicial
nos resultados da abordagem apresentada assim como e possvel perceber diferentes
implicacoes da maneira como o AG e especificado. O algoritmo pode assim ser usado
para gerar novas ideias mas tambem para expandir ideias previamente existentes.
Ja em relacao `a geracao de harmonias, foi demonstrada a efetividade do metodo
NSGA-II para o problema definido utilizando-se a medida do hipervolume das solucoes
obtidas. A geracao de novas harmonias, tanto dissonantes quanto simples, puderam ser
realizadas para uma mesma melodia.

114

Captulo 5
Conclus
oes
5.1

Conclus
oes

Talvez o fato mais importante a ser notado no desenvolvimento de sistemas evolucionarios para CA e que esta e uma tarefa na qual discussao no domnio relevante e
estritamente necessaria. Qualquer tentativa de se criar um sistema composicional sem
discussao sobre teoria musical e desnecessaria. Os algoritmos propostos neste trabalho
mostram que e possvel criar novas composicoes e misturar elementos conhecidos relacionados a novas m
usicas. Apesar da influencia da populacao inicial no resultado final das
melodias, o modo como o algoritmo e controlado pode levar a resultados completamente
novos ja que regras estritas (como uma funcao de fitness usual) nao sao aplicadas no
processo evolucionario.
A influencia rtmica parcialmente explica o funcionamento do gerador de melodias
e como ele gera m
usica de generos similares, ja que ele mantem uma grande parte da
estrutura rtmica da melodia inicial. Isto nao deve ser um problema de criatividade
se houver um banco de dados de melodias grande o suficiente para cobrir varios tipos
de estruturas melodicas de onde o gerador pode aprender. De fato, novas melodias
criativas puderam ser criadas a partir das iniciais. Ao final, e muito difcil identificar de
qual melodia da populacao inicial a solucao herdou seu estilo.
Ainda no gerador de melodias, mudancas atraves das geracoes tem mais importancia
do que a procura por um resultado particular que satisfaz melhor um conjunto especfico
de regras. Assim, e mais significante ter operadores cientes musicalmente robustos que
funcoes de fitness baseadas em regras que podem ao contrario remover alguma criati115

116

Conclus
oes

vidade dos resultados. A matriz de takeover e uma boa abordagem nova desenvolvida
para encontrar um bom conjunto de solucoes relacionadas entre si.
As melodias, como um resultado do processo criativo, nao podem ser criadas baseadas
apenas em regras musicais simples, o sistema deve ter alguma experiencia implcita sobre
o que compositores humanos fazem. Mais do que isto, um processo que cria melodias com
menos regras pode ser muito mais facil de ser implementado e usado quando comparado
com algoritmos que usam o artifcio de um mentor humano para avaliar a populacao
inteira. Este algoritmo pode nao apenas ser u
til para desenvolver novas ideias mas
tambem para estender e mesclar ideias previamente criadas, que podem ser competitivas
com ideias geradas por humanos.
Melodias, como resultado do processo criativo que sao, podem ser criadas sem base
em velhas regras musicais que limitam a criatividade da composicao. Alem disto, o
processo de criacao de melodias com menos regras e avaliacao automatica pode funcionar
de maneira mais facil em relacao ao com avaliacao humana devido ao problema do gargalo
de avaliacao do fitness que e automaticamente resolvido e acaba com o trade-o entre
tamanho da amostra e qualidade da avaliacao.
Os experimentos com duas funcoes de fitness para avaliar as harmonias tornaram claros aspectos importantes deste tipo de algoritmo. O conhecimento implcito do sistema
tem grande influencia nos resultados. O modo como solucoes que sao boas em relacao
a apenas uma funcao de avaliacao diferem de outras solucoes com outros padroes de
preferencia demonstram este aspecto claramente. Esta abordagem possibilita que o algoritmo ignore preferencias estritamente especficas do usuario e gere um conjunto de
solucoes factveis.
O algoritmo convergiu para varias solucoes interessantes como as da Figura 4.15.
Estas solucoes sao resultado da flexibilidade embutida na sistema que leva a outro compromisso a ser analisado: aquele entre diversidade e obediencia a certas regras. A u
ltima
opcao nao e normalmente u
til para compositores procurando novas ideias. Ja sistemas
com criatividade podem gerar conjuntos com varias solucoes factveis em vez de dar
sempre a mesma solucao excessivamente baseada em regras.
Modelos baseados em regras podem ser mais eficientes em alguns casos especficos de
harmonizacao, especialmente quando compondo em um estilo especfico. Nao obstante,
sistemas evolucionarios tem claras vantagens de flexibilidade e possibilidades de novas
solucoes criativas. A abordagem multiobjetivo demonstra como estas possibilidades de
novas solucoes criativas podem ser utilizadas.

Conclus
oes

5.2

117

Trabalhos Futuros

Seguem sugestoes de trabalhos futuros que podem ser realizados em todas as etapas de
desenvolvimento deste trabalho.
Metodos que permitissem que o AG tivesse uma ideia de como a m
usica inteira deve
ser e que tivessem algum tipo de influencia externa poderiam provavelmente levar a
melhores abordagens. Atualmente, a maior parte das condicoes de avaliacao de uma
solucao consideram apenas o acorde seguinte, no maximo. Seria interessante imaginar
sistemas que pudessem analisar os compassos como um todo antes de aplicar os operadores geneticos.
Existe trabalho potencial na representacao das solucoes. A mesma notacao musical
que faz a comunicacao mais facil entre m
usica pode ser eficiente quando se procura
uma solucao otima com um AG, ja que e uma linguagem criada para representar mais
eficientemente a linguagem dos acordes. Tambem, foi concludo que a codificacao de
acordes com 5 vozes nao foi muito fundamental para o gerador harmonico pois cerca
de 76% das solucoes nao utilizaram a quinta nota nos experimentos feitos. Apesar
disto, varias solucoes usaram a quinta nota mas tambem continham unssonos no acorde.
Talvez, uma boa abordagem seja eliminar a quinta da trade quando se criar acordes
dissonantes em vez de haver uma posicao opcional.
Na geracao de melodias, outras abordagens podem ser estudadas para a manutencao
da diversidade da populacao. Entre elas, as principais seriam (i) abordagens multiobjetivo, (ii) organizacao da populacao nichos e (iii) a utilizacao de sistemas imunologicos.
Alem ainda existe potencial trabalho a ser desenvolvido na formacao da solucao final
para que nesta haja uma relacao mais harmoniosa entre os compassos que foram unidos.
Um planejamento de mais alto nvel antes da inicializacao do AG pode ser u
til para
extrair mais informacao sobre o problema antes do incio do processo evolucionario. Isso
permitiria o desenvolvimento de melhores operadores especficos para o domnio e um
processo musicalmente ciente mais eficiente. Os algoritmos atuais aqui descritos operam
apenas em nveis temporais locais e nao globais, como a organizacao da m
usica com
repeticoes, frases ou motivos.
Em trabalhos futuros, uma definicao mais aprofundada de quais aspectos sao regras
podem levar a uma abordagem evolucionaria ainda criativa que poderia ser mais baseada
em regras.

118

Conclus
oes

Alem da avaliacao implcita do gerador melodico, testes utilizando a matriz de takeover - que contem uma medida de diversidade da populacao - para diferenciar o fitness
de indivduos que criam mais diversidade no conjunto seriam importantes.
Ja que a populacao inicial tem tal importancia na geracao de melodias e importante
tambem criar uma base de dados de melodias que podem ser usadas como populacao
inicial. A partir da, pode-se definir novas regras, como por exemplo impedir material
utilizado na criacao de um verso de ser utilizado em outro verso em uma heurstica de
nvel mais alto.

Refer
encias Bibliogr
aficas
Alpern, A. (1995). Techniques for algorithmic composition of music, On the web:
http://hamp. hampshire. edu/ adaF92/algocomp/algocomp 95.
Ames, C. (1992). Quantifying musical merit, Journal of New Music Research 21(1): 53
93.
Ashby, A. (2004). The pleasure of modernist music: listening, meaning, intention, ideology, Univ of Rochester Pr.
Back, T., Homeister, F. & Schwefel, H.-P. (1991). A survey of evolution strategies,
Proceedings of the Fourth International Conference on Genetic Algorithms, pp. 2
9.
Biles, J. (1994). Genjam: A genetic algorithm for generating jazz solos, Proceedings of
the International Computer Music Conference, Citeseer, pp. 131131.
Biles, J. (2001). Autonomous genjam: eliminating the fitness bottleneck by eliminating
fitness, Proceedings of the GECCO-2001 Workshop on Non-routine Design with
Evolutionary Systems, San Francisco.
Biles, J. (2002a). Genjam: evolutionary computation gets a gig, Proceedings of the 2002
Conference for Information Technology Curriculum, Rochester, New York, Society
for Information Technology Education, Citeseer.
Biles, J. (2002b). Genjam in transition: from genetic jammer to generative jammer,
Proceedings of Generative Art, Milan, Italy.
Biles, J. (2007a). Evolutionary Computation for Musical Tasks, Evolutionary Computer
Music pp. 2851.
Biles, J. (2007b). Improvizing with genetic algorithms: Genjam, Evolutionary Computer
Music pp. 137169.
119

120

REFERENCIAS
BIBLIOGRAFICAS

Biles, J., Anderson, P. & Loggi, L. (1996). Neural network fitness functions for a musical iga, Proceedings of the International ICSC Symposium on Intelligent Industrial
Automation (IIA96) and Soft Computing (SOCO96). .
Biles, J. & Eign, W. (1995). Genjam populi: Training an iga via audience-mediated
performance, Proceedings of the 1995 International Computer Music Conference,
Vol. 12.
Brown, A. R. (2002). Opportunities for evolutionary music composition, Proceedings of
the Australasian Computer Music Conference, Melbourne, pp. 2734.
Burton, A. R. & Vladimirova, T. (1997). Genetic algorithm utilizing neural network evaluation for musical composition, Proceedings of the 1997 International Conference
on Artificial Neural Networks and Genetic Algorithms. Springer-Verlag, Berlin. .
Cage, J. (1961). Silence: lectures and writings, Wesleyan Univ Pr.
Chuang, J. (1995). Mozarts musikalisches wurfelspiel, URL: http://sunsite. univie. ac.
at/Mozart/dice .
Corne, D. W. & Bentley, P. J. (eds) (2001). Creative Evolutionary Systems, The Morgan
Kaufmann Series in Artificial Intelligence, Morgan Kaufmann.
Darwin, C. (2003). The origin of species, Signet Classic.
Deb, K., Agrawal, S., Pratap, A. & Meyarivan, T. (2000). A fast elitist non-dominated
sorting genetic algorithm for multi-objective optimization: Nsga-ii, Parallel Problem
Solving from Nature PPSN VI, Springer, pp. 849858.
Eiben, A. E. & Smith, J. E. (2003). Introduction to Evolutionary Computing, Natural
Computing Series, Springer.
Erickson, R. (1975). Sound structure in music, Univ of California Pr.
Federman, F. (2003). The nextpitch learning classifier system: Representation, information theory and performance, Leonardo 36(1): 4750.
Felder, D. & Stockhausen, K. (1977). An interview with karlheinz stockhausen, Perspectives of New Music 16(1): 85101.
Fonseca, C., Knowles, J., Thiele, L. & Zitzler, E. (2005). A tutorial on the performance
assessment of stochastic multiobjective optimizers, Third International Conference
on Evolutionary Multi-Criterion Optimization (EMO 2005), Vol. 216.

REFERENCIAS
BIBLIOGRAFICAS

121

Galanter, P. (2008). Complexism and the role of evolutionary art, The Art of Artificial
Evolution pp. 311332.
Gardner, M. (1978). White and brown music, fractal curves and 1/f fluctuations, Scientific American 238(4): 1632.
Gartland-Jones, A. (2003). Musicblox: a real-time algorithmic composition system incorporating a distributed interactive genetic algorithm, Proceedings of the 2003 international conference on Applications of evolutionary computing, Springer-Verlag,
pp. 490501.
Goldberg, D. E. & Deb, K. (1991). A comparative analysis of selection schemes used in
genetic algorithms, Foundations of Genetic Algorithms, Morgan Kaufmann, pp. 69
93.
Graf, J. & Banzhaf, W. (1995). Interactive evolution of images, in D. B. Fogel (ed.), Proceedings of the Fourth Annual Conference on Evolutionary Programming, pp. 5365.
Grahan-Rowe, D. (2001). Computer dj uses biofeedback to pick tracks, New Scientist .
Greenfield, G. R. (2002). Simulated aesthetics and evolving artworks: a coevolutionary
approach, Leonardo 35(3).
Hiller, L. (1959). Computer music, Scientific American 201(6): 109120.
Hiller, L. (1981). Composing with computers: A progress report, Computer Music
Journal 5(4): 721.
Hiller, L. & Isaacson, L. (1958). Musical composition with a high-speed digital computer,
Machine models of music pp. 921.
Hillis, W. (1990). Co-evolving parasites improve simulated evolution as an optimization
procedure, Physica D: Nonlinear Phenomena 42(1-3): 228234.
Horner, A. & Ayers, L. (1995). Harmonisation of musical progression with genetic
algorithms, ICMC Proceedings 1995, pp. 483484.
Horner, A., Beauchamp, J. & Haken, L. (1993). Methods for multiple wavetable synthesis
of musical instrument tones, Journal-Audio Engineering Society 41: 336336.
Horowitz, D. (1995). Generating rhythms with genetic algorithms, Proceedings of the
national conference on artificial intelligence, John Wiley & Sons LTD, pp. 1459
1459.

122

REFERENCIAS
BIBLIOGRAFICAS

Hyde, M. (1985). Musical form and the development of schoenbergstwelve-tone


method, Journal of Music Theory 29(1): 85143.
Jacob, B. (1995). Composing with genetic algorithms, Proceedings of the 1995 International Computer Music Conference .
Jacob, B. (1996). Algorithmic composition as a model of creativity, Organised Sound
1(03): 157165.
Jobim, A. C. & Mendonca, N. (1959). Samba de uma nota so.
Johanson, B. & Poli, R. (1998). Gp-music: An interactive genetic programming system
for music generation with automated fitness raters, Genetic Programming pp. 181
186.
Johnson, C. (2003). Exploring sound-space with interactive genetic algorithms, Leonardo
36(1): 5154.
Kennedy, M. & Bourne, J. (2004). The concise Oxford dictionary of music, Oxford
University Press, USA.
Kirnberger, J. & Kupper, H. (1994). Der allezeit fertige Polonoisen-und Menuettencomponist, Musikwiss. Inst.
Kumar, V. (1992). Algorithms for constraint-satisfaction problems: A survey, AI Magazine 13(1): 3244.
Lewis, M. (2000). Aesthetic evolutionary design with data flow networks, Proceedings
of Generative Art, Milan, Italy.
Lewis, M. (2008). Evolutionary visual art and design, in P. Machado & J. Romero
(eds), The Art of Artificial Evolution: A Handbook on Evolutionary Art and Music,
Springer, pp. 337.
Lischka, C. (1991). Understanding music cognition: a connectionist view, Representations of musical signals, MIT Press, p. 445.
Machado, P., Romero, J., Santos, M., Cardoso, A. & Manaris, B. (2004). Adaptive
critics for evolutionary artists, Applications of evolutionary computing pp. 437446.
Maddox, T. & Otten, J. (2000). Using an evolutionary algorithm to generate four-part
18th century harmony, Mathematics and Computers in Modern Science: Acoustics
and Music, etc pp. 8389.

REFERENCIAS
BIBLIOGRAFICAS

123

Madsen, S. & Widmer, G. (2005). Exploring similarities in music performances with an


evolutionary algorithm, Proceedings of The 18th International FLAIRS Conference,
AAAI Press.
Malm, W. (1996). Music cultures of the Pacific, the Near East, and Asia, Prentice Hall.
Mandelis, J. (2001). Genophone: An evolutionary approach to sound synthesis and
performance, Proceedings ALMMA pp. 3750.
Mathieu, W. (1997). Harmonic experience: tonal harmony from its natural origins to
its modern expression, Inner Traditions International, Rochester, Vt.
McCormack, J. (2003). Evolving sonic ecosystems, Kybernetes 32(1): 184202.
McCormack, J. (2005). Open problems in evolutionary music and art, Applications on
Evolutionary Computing pp. 428436.
McIntyre, R. (1994). Bach in a box: The evolution of four part baroque harmony using
the genetic algorithm, Evolutionary Computation, 1994. IEEE World Congress on
Computational Intelligence., Proceedings of the First IEEE Conference on, IEEE,
pp. 852857.
McKean, E. (2005). The New Oxford American Dictionary, Oxford University Press
New York, NY:.
Michalewicz, Z. & Fogel, D. (2004). How to solve it: modern heuristics, Springer-Verlag
New York Inc.
Miranda, E. R. & Biles, J. A. (2007). Evolutionary computer music, Springer Verlag.
Moroni, A., Manzolli, J., Zuben, F. & Gudwin, R. (2000). Vox populi: An interactive
evolutionary system for algorithmic music composition, Leonardo Music Journal
pp. 4954.
Mozart, W. (1787). Musikalisches w
urfelspiel: Anleitung so viel walzer oder schleifer mit
zwei w
urfeln zu componieren ohne musikalisch zu seyn noch von der composition
etwas zu verstehen, Kochel Catalog of Mozarts Work KV1 Appendix 294d or KV6
516f .
Mrozek, E. & Wakefield, G. (1996). Perceptual matching of low-order models to room
transfer functions, Proceedings of the International Computer Music Conference,
International Computer Music Association, pp. 111113.

124

REFERENCIAS
BIBLIOGRAFICAS

Nattiez, J. (1990). Music and discourse: Toward a semiology of music, Princeton Univ
Pr.
Nickol, P. (1999). Learning to Read Music: How to Make Sense of Those Mysterious
Symbols, How to Books Ltd.
Norman, D. (1988). The design of everyday things., Basic Book Inc./New York .
Olson, H. (1967). Music, physics and engineering, Dover Pubns.
Papadopoulos, G. & Wiggins, G. (1999). Ai methods for algorithmic composition: A
survey, a critical view and future prospects, AISB Symposium on Musical Creativity,
Citeseer, pp. 110117.
Phon-Amnuaisuk, S., Tuson, A. & Wiggins, G. (1999). Evolving musical harmonisation, Artificial neural nets and genetic algorithms: proceedings of the international
conference in Portoroz, Slovenia, 1999, Springer Verlag Wien, p. 229.
Pierce, J. (1999). Introduction to pitch perception, Music, cognition, and computerized
sound, MIT Press, p. 70.
Plack, C., Oxenham, A., Fay, R. & Popper, A. (2005). Pitch: neural coding and perception, Springer Verlag.
Polito, J., Daida, J. & Bersano-Begey, T. (1997). Musica ex machina: composing 16thcentury counterpoint with genetic programming and symbiosis, Evolutionary Programming VI, Springer, pp. 113123.
Prerau, M. (2001). On the possibilities of an analytic synthesis system, Proceedings of
the European Conference on Artificial Life 2001 Workshop: Artificial Life Models
for Musical Applications.
Pritchett, J. (1996). The Music of John Cage, Cambridge Univ Pr.
Putnam, J. (1996). A grammar-based genetic programming technique applied to music
generation, Evolutionary Programming V, MIT Press, Cambridge, MA pp. 363368.
Ralley, D. (1995).
101: 61801.

Genetic algorithms as a tool for melodic development, Urbana

Reeves, C. (2010). Genetic algorithms, Handbook of Metaheuristics pp. 109139.


Roads, C. (2001). Microsound., Massachusetts Institute of Technology .

REFERENCIAS
BIBLIOGRAFICAS

125

Romero, J. J. & Machado, P. (2007). The art of artificial evolution: A handbook on


evolutionary art and music, Natural Computing Series, Springer.
Ross, B. J., Ralph, W. & Zong, H. (2006). Evolutionary image synthesis using a model of
aesthetics, Proceedings of the IEEE Congress on Evolutionary Computation, CEC
2006, Vancouver, BC, pp. 10871094.
Schellenberg, E., Bigand, E., Poulin-Charronnat, B., Garnier, C. & Stevens, C. (2005).
Childrens implicit knowledge of harmony in western music, Developmental Science
8(6): 551566.
Sharman, K. & Esparcia-Alcazar, A. (2003). Evolutionary methods for designing digital
filters, Contemporary Music Review 22(3): 519.
Surmani, A., Surmani, K. & Manus, M. (2004). Alfreds Essentials of Music Theory: A
Complete Self-Study Course for All Musicians, Alfred Publishing Co., Inc.
Takagi, H. (2001). Interactive evolutionary computation: fusion of the capabilities of EC
optimization and human evaluation, Proceedings of the IEEE 89(9): 12751296.
Todd, P. & Werner, G. (1999). Frankensteinian methods for evolutionary music composition, Musical networks: Parallel distributed perception and performance pp. 313
339.
Todd, S. & Latham, W. (1992). Evolutionary art and computers, Academic Press,
Orlando, FL, USA.
Unemi, T. & Senda, M. (2002). A study on building a support system for music composition by simulated breeding method. extension to multi-part., Joho Shori Gakkai
Kenkyu Hokoku 2002(40): 133138.
Vuori, J. & Valimaki, V. (1993). Parameter estimation of non-linear physical models by
simulated evolution-application to the flute model, Proceedings of the International
Computer Music Conference, International Computer Music Association, pp. 402
402.
Ward, W. (1970). Musical perception, Foundations of modern auditory theory 1: 407
447.
Waschka II, R. (1999). Avoiding the fitness bottleneck: Using genetic algorithms to compose orchestral music, International Computer Music Conference ICMC99, pp. 201
203.

126

REFERENCIAS
BIBLIOGRAFICAS

Waschka II, R. (2007). Composing with genetic algorithms: Gendash, Evolutionary


Computer Music pp. 117136.
Wiggins, G., Papadopoulos, G., Phon-Amnuaisuk, S. & Tuson, A. (1998). Evolutionary methods for musical composition, Proceedings of the CASY98 Workshop on
Anticipation, Music and Cognition .
Woolf, S. (1999). Sound Gallery: An Interactive Artificial Life Artwork, PhD thesis,
MSc Thesis, School of Cognitive and Computing Sciences, University of Sussex.
Woolf, S. & Yee-King, M. (2003). Virtual and physical interfaces for collaborative
evolution of sound, Contemporary Music Review 22(3): 3141.

Indice Remissivo
Acorde, 14, 28, 3032, 48, 8386, 88, 89, Fitness, 5, 8, 9, 41, 42, 45, 5153, 5658,
9295, 107, 109, 117
61, 63, 66, 67, 71, 7478, 83, 86,
Algoritmo
88, 89, 91, 92, 94, 9698, 102107,
Evolucionario, 45, 46, 57, 58, 63, 66, 76
109, 110, 112, 113, 115, 116, 118
Genetico, 3, 1214, 4143, 45, 46, 49,
Implcito, 63
50, 53, 61, 74, 83, 85, 90, 95, 96,
Mnimo, 58, 74, 76, 103
102, 106, 113, 117
Funcao, 8, 9, 13, 42, 4446, 50, 57, 62,
Altura Tonal, 16, 1821, 26, 27, 32, 33, 46,
7375, 86, 8994, 98, 102, 105107,
56, 57, 69, 8489, 93
109, 110, 112, 115, 116
Amplitude, 18, 19, 21, 23, 25, 39, 69
Avaliacao, 5, 12, 13, 15, 42, 45, 50, 53, 56 Gerador Melodico, 33, 66, 67, 7072, 74,
77, 78, 97, 102, 115, 118
63, 66, 67, 73, 75, 78, 85, 8789, 91,
94, 97, 107, 112, 113, 116118
Harmonia, 69, 11, 14, 16, 27, 28, 30, 41,
42, 47, 54, 71, 83, 85, 8790, 9294,
Compasso, 5, 14, 15, 32, 33, 4648, 50, 56,
96, 107, 109, 110, 112, 113, 116
57, 63, 66, 67, 6973, 75, 7880, 83,
85, 8789, 9295, 97, 99, 101, 102,
105, 106, 109, 117
Composicao Algortmica, 3, 10, 12, 13, 15
18, 36, 39, 41, 42, 45, 46, 57, 60,
64, 65, 76, 115
Computacao Evolutiva, 3, 6, 13, 15, 16, 39,
41, 43, 53, 56, 62, 63, 65, 76
Crowding Distance, 91
Cruzamento, 43, 5355, 57, 63, 71, 79, 87,
101

Hipervolume, 109, 110, 113


Inteligencia Artificial, 3, 12
Interacao Homem-Computador, 36, 39, 61
Intervalo
Horizontal, 30, 50, 56
Vertical, 30, 55, 72, 8587, 92
M
usica Evolutiva, 3, 13, 44, 46, 5456, 66,
71

Matriz de Takeover, 66, 67, 71, 8082, 116,


118
Escala, 11, 12, 1921, 28, 3033, 36, 46, 47,
57, 58, 68, 69, 72, 74, 77, 83, 84, Melodia, xiv, 59, 14, 16, 27, 28, 30, 31, 33,
93, 103106, 109, 112
37, 41, 42, 4648, 50, 55, 56, 5860,
127

128

62, 63, 66, 67, 6978, 8183, 8890,


93, 9599, 101107, 109, 113, 115,
116, 118
MIDI, 15, 23, 47, 67, 68, 95
Motivo, 27
Multiobjetivo, 8, 9, 90
Mutacao, 5356, 62, 72, 73, 79, 87, 88
Nota, xiv, 8, 1113, 1921, 2528, 3033,
37, 42, 4648, 50, 53, 5557, 59, 61,
6570, 7274, 7989, 9295, 97, 98,
101107, 109, 112, 117
NSGA-II, 90, 113
Operadores Geneticos, 5, 45, 50, 53, 62, 63,
66, 67, 6971, 73, 74, 78, 87, 88, 92,
117
Pareto, 90, 91, 107, 109, 110, 112
Percussao, 26, 27, 32
Redes Neurais Artificiais, 12
Representacao, 5, 6, 18, 30, 33, 42, 43, 45
48, 57, 65, 6770, 73, 8388, 92, 93,
95, 105, 117
Ritmo, 13, 32, 47, 48, 84, 95, 101
Roleta, 51
Selecao, 5, 12, 42, 43, 5153, 63, 70, 7476,
87, 104
SST, 13
Takeover, 6466, 70, 71, 7583, 99, 116
Timbre, 7, 13, 16, 18, 2527, 33, 39, 65, 68
Valor de Compromisso, 82, 83, 97, 99
Velocidade, 18, 23, 69
Volume, 7, 16, 18, 21, 23, 25

INDICE REMISSIVO

Você também pode gostar