Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do...

158
usica Evolutiva: Uma Abordagem Computacional para Composi¸ ao Algor´ ıtmica Alan Robert Resende de Freitas Universidade Federal de Ouro Preto Disserta¸c˜ ao submetida ao Instituto de Ciˆ encias Exatas e Biol´ogicas Universidade Federal de Ouro Preto paraobten¸c˜ ao do t´ ıtulo de Mestre em Ciˆ encia da Computa¸c˜ ao

Transcript of Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do...

Page 1: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Musica Evolutiva: Uma AbordagemComputacional para Composicao

Algorıtmica

Alan Robert Resende de FreitasUniversidade Federal de Ouro Preto

Dissertacao submetida ao

Instituto de Ciencias Exatas e Biologicas

Universidade Federal de Ouro Preto

para obtencao do tıtulo de Mestre em Ciencia da Computacao

Page 2: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Catalogação: [email protected]

F866m Freitas, Alan Robert Resende de.

Música evolutiva [manuscrito] : uma abordagem computacional para composição algorítmica / Alan Robert Resende de Freitas. – 2011.

xxviii, 128 f.: il. color.; grafs.; tabs. Orientador: Prof. Dr. Frederico Gadelha Guimarães.

Dissertação (Mestrado) - Universidade Federal de Ouro Preto. Instituto de Ciências Exatas e Biológicas. Departamento de Computação. Programa de Pós-graduação em Ciência da Computação.

Área de concentração: Otimização e Inteligência Computacional.

1. Composição musical por computador - Teses. 2. Algoritmos genéticos - Teses. 3. Inteligência artificial - Inteligência computacional - Teses. 4. Inteligência artificial - Computação evolucionária - Teses. I. Universidade Federal de Ouro Preto. II. Título.

CDU: 004.421:78.02 CDU: 669.162.16

Page 3: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar
Page 4: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

ii

Page 5: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Dedico este trabalho a meus pais, Francisco e Maria Lucia, ambos exemplos de

coragem, determinacao e bondade para minha vida.

iii

Page 6: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

iv

Page 7: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Musica Evolutiva: Uma Abordagem Computacional para

Composicao Algorıtmica

Resumo

Este trabalho descreve uma abordagem para composicao algorıtmica baseada em al-

goritmos 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 mınima de fitness na qual

um conjunto de boas melodias e retornado no fim do processo. Logo depois, uma abor-

dagem multiobjetivo e usada para harmonizacao da melodia. O algoritmo evolucionario

multiobjetivo define mudancas de acordes com diferentes graus de simplicidade e dis-

sonancia. Experimentos foram feitos e comparados a julgamento humano dos resultados.

As descobertas sugerem ser possıvel desenvolver funcoes de fitness que refletem intencoes

humanas para musica.

v

Page 8: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

vi

Page 9: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Evolutionary Music: A Computational Approach for

Algorithmic Composition

Abstract

This work describes an approach for algorithmic composition based on genetic algo-

rithms. Two main modules are described, which are the melodic and harmonic genera-

tors. 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

di↵ering 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

Page 10: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

viii

Page 11: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Declaracao

Esta dissertacao e resultado de meu proprio trabalho, exceto onde referencia explıcita e

feita ao trabalho de outros, e nao foi submetida para outra qualificacao nesta nem em

outra universidade.

Alan Robert Resende de Freitas

ix

Page 12: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

x

Page 13: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Agradecimentos

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

Agradeco a meus pais, pela paciencia.

Agradeco a minha famılia, 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 Cientıfico e Tecnologico (CNPq).

Muito Obrigado.

xi

Page 14: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

xii

Page 15: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Prefacio

Esta dissertacao descreve uma pesquisa sobre aspectos da utilizacao de Computacao

Evolutiva para Composicao Algorıtmica. Sao propostos algoritmos para a geracao de

melodias e harmonias. Como toda pesquisa interdisciplinar, nem todos os leitores podem

estar habituados com as terminologias especıficas. Os capıtulos 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 objeti-

vos. Uma revisao bibliografica descreve abordagens utilizadas anteriormente e suas dife-

rentes implicacoes. Metodos mais antigos de composicao algorıtmica 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 especıficas de Composicao Algorıtmica e sua

terminologia relativa. Para compreender o funcionamento do processo de composicao,

seja ele algorıtmico ou nao, e necessario analisar alguns elementos basicos formadores

do som e quais fatores podem fazer sua uniao ser definida como musica. Estes fatores

sao fortemente culturais e dependem do contexto no qual a musica esta inserida.

Neste trabalho sao descritas as abordagens utilizadas para o desenvolvimento de ex-

perimentos. 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 domınio musical estao tambem descritas

xiii

Page 16: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

nesta secao. Logo apos, sao definidas as abordagens especıficas deste trabalho para a

geracao de melodias e harmonias.

No gerador de melodias, medidas mınimas de fitness sao utilizadas para retornar um

grupo de bons indivıduos que representam compassos de uma melodia. Sao descritos

detalhes da implementacao e operadores geneticos especıficos. 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 musica

Samba de uma nota so (Jobim & Mendonca 1959), composicao de Tom Jobim e Newton

Mendonca, com varias interpretacoes disponıveis em portugues e ingles.

Ja para a geracao de harmonias, existem varios metodos e resultados possıveis para

uma melodia de entrada, considerando padroes musicais gerais da musica ocidental.

Uma abordagem multiobjetivo e utilizada para a geracao de harmonias. Algumas regras

podem ser extraıdas da teoria musical, porem alguns aspectos harmonicos podem ser

definidos apenas por preferencias do compositor. Por isso, a abordagem multiobjetivo

pode ser util 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 con-

clusoes. 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 melo-

dias ja criadas anteriormente. A abordagem multiobjetivo para a geracao de harmonias

cria progressoes harmonicas com varios graus de simplicidade e dissonancia. A com-

paracao dos resultados a uma avaliacao humana sugere como a definicao automatica de

fitness pode refletir suposicoes humanas sobre a qualidade de diferentes harmonias.

xiv

Page 17: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Sumario

Lista de Figuras xix

Lista de Tabelas xxiii

Nomenclatura 1

1 Introducao 3

1.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4 Revisao Bibliografica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.5 Organizacao do Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2 Composicao Algorıtmica 17

2.1 Definicoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.1.1 Altura Tonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.2 Volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.1.3 Timbres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.1.4 Outras terminologias . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.2 Definicoes de Musica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

xv

Page 18: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

2.2.1 A Arte da Musica . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.2.2 Musica como IHC . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.3 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3 Metodologia 41

3.1 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

3.2 Gerador Melodico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

3.2.1 Estrutura de Dados e Parametros . . . . . . . . . . . . . . . . . . 67

3.2.2 Operadores Geneticos . . . . . . . . . . . . . . . . . . . . . . . . . 71

3.2.3 Fitness Implıcito Mınimo . . . . . . . . . . . . . . . . . . . . . . 74

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

3.3 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

Page 19: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

3.4 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

4 Resultados 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 Gerador de Harmonias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

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

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

4.4 Conclusao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

5 Conclusoes 115

5.1 Conclusoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

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

Referencias Bibliograficas 119

Indice Remissivo 127

xvii

Page 20: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

xviii

Page 21: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Lista de Figuras

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

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

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 rela-

tivo musical (Biles 2007b) . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.1 Representacao Esquematica de um Algoritmo Evolutivo . . . . . . . . . . 44

3.2 Metodo da Roleta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.3 Duas Maneiras Possıveis de Fazer uma Selecao baseada em Posicoes . . . 52

3.4 Operadores de Cruzamento e Mutacao . . . . . . . . . . . . . . . . . . . 54

xix

Page 22: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

3.5 Exemplo de Cruzamento a nıvel de bits e a nıvel de notas . . . . . . . . . 55

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

3.7 Ponteiros para a posicao dos indivıduos . . . . . . . . . . . . . . . . . . . 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 Numero de geracoes para alcancar o takeover . . . . . . . . . . . . . . . . 99

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

4.6 Um resultado utilizando o verso da musica . . . . . . . . . . . . . . . . . 100

4.7 Um resultado utilizando o refrao da musica . . . . . . . . . . . . . . . . . 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

Page 23: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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

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

xxi

Page 24: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

xxii

Page 25: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Lista de Tabelas

2.1 Notacoes para representacao das notas. . . . . . . . . . . . . . . . . . . . 22

2.2 Gradacoes dinamicas mais frequentes. . . . . . . . . . . . . . . . . . . . . 24

2.3 Exemplo de possıvel 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 trıades . . . . . . . . . . . . . . . . . . . . . . . 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 possıvel para uma representacao baseada em posicao . . . . 49

3.3 Um indivıduo 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

Page 26: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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

Page 27: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Lista de Algoritmos

3.1 AG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.2 Calculo do Crowding Distance dos indivıduos

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

xxv

Page 28: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

xxvi

Page 29: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

“Music is the e↵ort 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

Page 30: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

xxviii

Page 31: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Nomenclatura

AE Algoritmo Evolucionario

AG Algoritmo Genetico

[ Bemol

CA Composicao Algorıtmica

CE Computacao Evolutiva

dB Decibeis

Hz Hertz

IA Inteligencia Artificial

IHC Interacao Homem-Computador

ME Musica Evolutiva

MIDI Musical Instrument Digital Interface

NSGA-II Non-dominated Sorting Genetic Algorithm - II

RNA Redes Neurais Artificiais

SST Sound Synthesis Technique

# Sustenido

1

Page 32: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

2

Page 33: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Capıtulo 1

Introducao

1.1 Introducao

Este trabalho apresenta uma possıvel abordagem para Composicao Algorıtmica (CA),

processo no qual determinado algoritmo pode criar uma composicao de maneira au-

tomatica. Para a criacao destes algoritmos, e comum estudar como padroes ocorrem

em metodos tradicionais de composicao e como estes influenciam a formacao de novas

musicas. Existem varios padroes de composicao que podem ser algorıtmicos 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 algorıtmicos, e preciso trabalhar

com duvidas 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 ultimos se encontram os metodos evolucionarios

(Miranda & Biles 2007).

Metodos baseados em Computacao Evolutiva (CE) podem ser empregados em di-

versas aplicacoes. Varias delas sao tarefas musicais, em uma area que se convencionou

chamar de Musica 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 com-

posicao musical pois ambos funcionam com base em experiencias passadas que levam a

novas criacoes. Algoritmos geneticos podem comecar com um conjunto de informacoes

3

Page 34: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

4 Introducao

de material ja existente e criar novas musicas, evoluindo a populacao e aplicando va-

riacoes 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, deve-

se ponderar quais sao as tarefas executadas por musicos que poderiam ser auxiliadas por

estes metodos. Baseando-se no que musicos fazem, ha algumas classes de tarefas musicais

(Biles 2007a) fundamentais que podem ser definidas como:

Composicao Estao incluıdas nesta tarefa a criacao e desenvolvimento de harmonias,

melodias, arranjos e estruturas musicais. Este trabalho esta focado nesta tarefa.

Execucao Para tentar desenvolver uma execucao mais expressiva de uma representacao

musical.

Processamento Tarefa focada no tratamento de execucoes que nao sao exclusivamente

acusticas. Algoritmos podem ajudar tanto na mixagem de audio (equalizacao e

reverberacao, por exemplo) como na sıntese de sons (achar um som alvo ou criar

novos timbres).

Audicao Ouvintes artificiais podem tentar predizer a proxima nota de uma melodia

e ate serem usados como agentes geradores de medidas de avaliacao para com-

posicoes.

1.2 Justificativa

Algoritmos, ou regras para a resolucao de um problema em um numero finito de passos,

sempre foram utilizados por compositores como parte do processo criativo na musica

ocidental. Sem embargo, nem todos os processos musicais sao fielmente baseados em

algoritmos especıficos, o que gera a porcao artıstica 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

Page 35: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Introducao 5

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 indivıduo na maioria dos sistemas

evolucionarios para arte e musica requerem um julgamento estetico, o que nao e facil de

se modelar ou implementar como um algoritmo. Por isso, estes sistemas normalmente

utilizam algum nıvel 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 numero 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 musica, a avaliacao

interativa das solucoes pode exigir grande atencao do mentor, que sempre pode estar

suscetıvel 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 hu-

mana, alguns autores estudaram o desenvolvimento de sistemas automaticos, que po-

deriam 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 crıticos 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 sele-

cionados 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

1Com “Algoritmo Evolucionario Puro”, pretendemos denotar aquele com os seguintes aspectos:representacao, avaliacao, selecao e operadores geneticos.

Page 36: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

6 Introducao

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

Alem disto, com abordagens baseadas em CE , e possıvel 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 algorıtmicos 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 artıstico, algorıtmico ou nao,

e delinear o que pode ser considerado arte dentro do possıvel 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 nor-

malmente mais claras quando compondo para um estilo particular. Assim, o espaco de

busca pode ser restringido para algo mais facil de ser explorado. E importante definir

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 alea-

torios, como barulho, acabam sendo menosprezados enquanto aspectos com estruturas

com conceitos bem definidos acabam sendo algoritmicamente comprimidos, abstraıdos

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 com-

posicoes com melodia e harmonia, que podem entao ser unidas por uma estrutura de

nıvel mais alto. Esta ultima e uma proposta de algoritmo para geracao de musicas de

Page 37: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Introducao 7

Ordem Desordem

Com

plex

idad

e Ef

etiva

Simetria

FractaisSistemasCaóticos

Aleatoriedade

Vida Artificial

Figura 1.1: A complexidade de um sistema aumenta entre a ordem e a desor-dem(Galanter 2008)

maneira top-down, ou seja, definindo estruturas de nıvel mais alto primeiro e depois

criando a musica de acordo com o arcabouco criado em nıveis mais baixos.

Estruturas de nıvel mais alto podem representar partes de uma musica, 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 nıvel mais

baixo podem representar elementos musicais tao simples quanto frequencias. As melodias

e harmonias, que estarao em estruturas de nıvel mais baixo, terao suas definicoes guiadas

pelas estruturas de nıvel mais alto.

Para a criacao de musica, modulos de nıveis 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 nıvel ou por outros

modulos.

Se um algoritmo evolucionario livre de fitness e usado para a geracao de melodias,

Page 38: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

8 Introducao

o numero de geracoes utilizadas e arbitrario e depende da experiencia do usuario. Se

o numero de geracoes e muito pequeno, a melodia final pode se parecer muito com a

inicial e nao ter muita originalidade. E desejavel que a solucao final seja original em

relacao a melodia inicial, especialmente quando seu autor nao e o usuario do algoritmo.

Apos um certo numero 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 melo-

dia 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

indivıduo. Contudo, estes fatores sao normalmente subjetivos e se baseiam fortemente

em preferencias do usuario. Assim, neste trabalho, apresenta-se uma abordagem de oti-

mizacao multiobjetivo para harmonizacao que seja capaz de evoluir harmonias enquanto

se trabalha o equilıbrio entre harmonias com ou sem tensao4.

E importante basear metodos de composicao em aspectos formais desenvolvidos para

musica 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

2Em um Algoritmo Evolucionario, um takeover ocorre quando todos os indivıduos sao iguais e apopulacao nao apresenta diversidade alguma.

3A nao ser que haja uma taxa de mutacao tao alta que se sobreponha ao efeito do cruzamento deherdar caracterısticas de indivıduos de populacoes passadas.

4Tensao e criada em um acorde atraves de inclusao de uma nota dissonante extra que cria a neces-sidade de relaxamento ou liberacao para o ouvinte.

Page 39: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Introducao 9

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 domınio especıfico, assim como em qualquer aplicacao computacional. Este trabalho

apresenta metodos possıveis 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 exem-

plos de como seus aspectos podem ser decididos no contexto musical. Assim, da-se uma

definicao mais especıfica de alguns termos musicais relativos a composicao que sao im-

portantes 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 equilıbrio 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 artıstico sem intervencao humana

• Quais seriam indivıduos uteis para a geracao de musica 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

Page 40: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

10 Introducao

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

utilizados na evolucao dos indivıduos

• Quais criterios podem ser utilizados para terminar a execucao destes algoritmos

ou, em outras palavras, quando um resultado pode ser considerado suficientemente

evoluıdo 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 domınio 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 Ar-

tificial 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 Revisao Bibliografica

Quando se pensa em CA, pode haver equıvocos ao relaciona-los com metodos computaci-

onais 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 atribuıda a ele a autoria de Musikalisches

Wurfelspiel (Jogos de Dados Musicais), metodo que tambem criava composicoes atraves

Page 41: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Introducao 11

de numeros jogados em dados (Mozart 1787), o metodo foi publicado em 1793. O dado

e jogado para escolher aleatoriamente pequenas secoes de musica, 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 analıtica para a

criacao de musica:

“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 numero 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 flexıvel,

ja que existem 12! (ou 4, 7⇥ 108) prime series possıveis. A composicao e feita por um

numero aleatorio de repeticoes das prime series, que a cada repeticao ha transformacoes,

que podem ser retrogadas ou inversas.

Ainda nos metodos algorıtmicos sem a utilizacao de computadores, John Cage, com-

positor 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 no4, onde 24 interpretes utili-

zam 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 artifıcios eram

5“Supondo, por exemplo, que as relacoes fundamentais dos sons com suas alturas tonais nos sinais deharmonia e de composicao musical fossem de tais expressoes e adaptacoes, a maquina poderia comporpecas musicais cientıficas e elaboradas de qualquer grau de complexidade ou extensao”

Page 42: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

12 Introducao

usados, incluindo cadeias de Markov (Hiller 1981). A composicao foi feita em 1957 e

conseguiu codificar parametros estilısticos. 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

distribuıdas 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 as 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 musica na maior

parte dos contextos.

Os metodos ate entao descritos foram basicamente estocasticos e baseados em regras,

o que leva a geracao de musicas muito pouco diversas na maioria das vezes. Como alter-

nativa 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 as-

sistencia a musicos estao nesta categoria.

Algoritmos Geneticos tem uma grande extensao de aplicacoes em ciencia e enge-

nharia, em problemas complexos para os quais uma solucao especıfica e difıcil de se

encontrar. A capacidade de busca de AG chamou o interesse de varias comunidades

cientıficas, incluindo ate aplicacoes de arte e musica (Corne & Bentley 2001, Miranda

& Biles 2007, Romero & Machado 2007, Todd & Latham 1992). Houve varios estudos

envolvendo computacao evolucionaria e arte tentando entender a influencia possıvel de

sistemas bioinspirados e arte, tecnologia e avaliacao estetica (Romero & Machado 2007).

Page 43: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Introducao 13

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

um ramo conhecido como Arte ou Musica Evolutiva (Miranda & Biles 2007).

Varias aplicacoes foram desenvolvidas na area de execucao musical. Madsen & Wid-

mer (2005) estudaram como tendencias estilısticas de um certo artista podem ser explo-

radas 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 Put-

nam (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 musicas por um DJ eletronico (Grahan-Rowe 2001).

Existem tambem varios estudos para aplicacoes musicais na quais as execucoes nao

sao exclusivamente acusticas. Estas aplicacoes estao baseadas nas areas de sıntese e mi-

xagem. Em relacao ao ultimo, AE podem ser muito uteis na aplicacao de efeitos e filtros

(Sharman & Esparcia-Alcazar 2003) ou para descobrir parametros de reverberacao que

correspondam as caracterısticas de uma sala especıfica (Mrozek &Wakefield 1996). Ja na

area de sıntese 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, cha-

mada 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 musicas, muitas aplicacoes uteis podem surgir, principal-

mente para o desenvolvimento de ouvintes avaliadores que podem co-evoluir com musicas

nos AG, ja que a avaliacao e um dos maiores problemas para o desenvolvimento de sis-

temas 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 crıticas 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 no-

vas 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 ma-

neiras mais criativas de se tratar o problema da definicao de uma funcao de avaliacao

Page 44: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

14 Introducao

(Waschka II 2007).

Brown (2002) descreve como varias aplicacoes de AG para analise musical e sıntese

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 musica 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 Musica Evolucionaria ainda encara varios

desafios (McCormack 2005).

A criacao de musica com programas de computador tem algumas caracterısticas

distintas quando comparadas a problemas classicos de otimizacao. E comum ver pro-

cedimentos onde um indivıduo de uma populacao representa um compasso que pode

ser usado em uma composicao final. Isso faz com que procurar uma boa populacao

com indivıduos diversos seja mais importante que a procura de um indivıduo otimo

(Waschka II 1999). Isso e uma caracterıstica 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 melo-

dias (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 me-

lodia. 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 especıfico, 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

especıficos.

Assim, AG podem ser utilizados para criacao e extensao de melodias, harmonias e

arranjos. Alem disso, e possıvel criar sistemas que trabalhem com estruturas musicais

de mais alto nıvel – 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

Page 45: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Introducao 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 indivıduos 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 musica,

outro trabalho no qual o processo evolutivo em si representa uma musica e o de Was-

chka II (2007), no qual cada indivıduo representa um compasso e metodos menos conven-

cionais 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 musicas cujas progressoes harmonicas sao complexas. A tarefa

de improvisacao pode ser muito estimulante pois tem caracterısticas 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 musicas nas quais pode fazer

improvisos. Neste caso, varias ideias podem ser aproveitadas como potenciais indivıduos,

como um banco de dados com compassos relacionados ao estilo e a propria musica. O

sistema tem a qualidade de escutar o musico 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 artifıcios podem ser muito uteis no desenvolvimento

de sistemas de CA. Por exemplo, co-evolucao (Hillis 1990) pode ser utilizada para o

desenvolvimento simultaneo de composicoes (ou cantores) e crıticos, que avaliarao as

musicas criadas. Nestes casos, medidas de aptidao de indivıduos podem surgir das

interacoes entre os indivıduos.

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 Gartland-

Jones (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

Page 46: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

16 Introducao

percorrido no processo evolutivo potencial material intermediario. Uma musica alvo

pode ser utilizada para medir a aptidao de indivıduos e forcar que estes convirjam para

algo parecido com este alvo.

AE podem ser uma ferramenta muito util para musicos e aplicacoes em varias areas

podem existir com relativo sucesso, dependendo do domınio em questao. Os domınios

especıficos devem reger como os avancos tecnologicos se darao e esta fase se apresenta

iminente, de tal modo que musica ja pode ser considerado um domınio no qual CE pode

ser, de fato, util.

1.5 Organizacao do Texto

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

No Capıtulo 2 sao apresentados alguns aspectos importantes sobre CA e, para isso,

algumas definicoes necessarias para entender as composicoes. Neste capıtulo serao defini-

dos propriedades importantes dos sons, como altura tonal, volume e timbre, e como estas

caracterısticas afetarao as decisoes tomadas ao desenvolver um sistema de composicao

automatica.

No Capıtulo 3 sao discutidas as metodologias utilizadas para o desenvolvimento do

trabalho. Inicialmente sao apresentados os aspectos fundamentais de algoritmos evolu-

tivos 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 harmo-

nia, e como seus parametros foram definidos.

No Capıtulo 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 Capıtulo 5, conclusoes sobre o assunto sao discutidas e uma serie de possıveis

trabalhos futuros sao definidos.

Page 47: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Capıtulo 2

Composicao Algorıtmica

Neste capıtulo sera apresentada uma discussao sobre Composicao Algorıtmica (CA),

alem de nocoes sobre conceitos musicais que sao importantes para qualquer aplicacao

computacional musical.

Pelo menos ao se tratar de musica ocidental, pode-se dizer que compositores sempre

usam, de uma maneira ou de outra, processos algorıtmicos1 para a criacao de suas

composicoes. Algoritmos fazem parte do processo criativo.

Nao obstante, a definicao de onde estao os processos algorıtmicos e mais difıcil. Isso

ocorre pois nem todos os processos sao intrinsecamente algorıtmicos, 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 algorıtmico. Alem disso, alguns

processos podem ser algorıtmicos, 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 especıficos 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 uteis para treino

musical mas nao muito artısticas 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 especıfico normalmente

funcionem melhor.

1Com algorıtmico, denomina-se um processo ou conjunto de regras bem definidas a serem seguidasem operacoes de calculo ou solucao de problemas.

17

Page 48: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

18 Composicao Algorıtmica

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.

Informação MúsicaAlgoritmo

Figura 2.1: Representacao Esquematica do Processo de CA

2.1 Definicoes

Para a criacao de um sistema que criara musicas, e necessario compreender os elemen-

tos que formam a musica, ou seja, entender como definir a musica entre um conjunto

maior dos sons organizados temporalmente. E preciso antes entender o som, como onda

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 possıvel 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, ou-

tras caracterısticas tambem devem ser analisadas, como o comprimento de onda, numero

de onda, intensidade, velocidade e direcao.

Neste capıtulo, algumas definicoes importantes serao apresentadas. Para mais deta-

lhes sobre os conceitos relacionados a teoria musical, Kennedy & Bourne (2004) oferece

uma boa referencia.

Page 49: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Composicao Algorıtmica 19

Tempo

Amplitude

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 especıfica. A frequencia indica o numero 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 numero 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 fısica 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

Page 50: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

20 Composicao Algorıtmica

Tempo

Am

pli

tude

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 lo-

garıtmica. 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).

!Si

!Lá

" # !Dó

!Ré

!Mi

!Fá

!Sol

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

Page 51: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Composicao Algorıtmica 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 uti-

lizadas para representar a escala igualmente temperada: a latina e a anglo-saxonica

(Nattiez 1990). A diferenca esta representada na Tabela 2.12. Para aplicacoes compu-

tacionais, 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 util nesse caso uma unidade de medida logarıtmica.

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

2Os outros valores de frequencia que correspondem as mesmas notas podem ser calculados multipli-cando ou dividindo a frequencia por 2

Page 52: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

22 Composicao Algorıtmica

Nomenclatura Latina Nomenclatura Anglo-Saxonica Frequencia (Hz)

Do C 261,63

Do sustenido C#

ou ou 277,18

Re bemol D[

Re D 293,66

Re sustenido D#

ou ou 311,13

Mi bemol E[

Mi E 329,63

Fa F 349,23

Fa sustenido F#

ou ou 369,99

Gol bemol G[

Sol G 392,00

Sol sustenido G#

ou ou 415,30

La bemol A[

La A 440,00

La sustenido A#

ou ou 466,16

Si bemol B[

Si B 493,88

Tabela 2.1: Notacoes para representacao das notas.

Page 53: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Composicao Algorıtmica 23

Tempo

Am

pli

tude

Amplitude 1Amplitude 2

Figura 2.5: Representacao de uma mesma nota com diferentes amplitudes

logarıtmica. 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 sensıvel pode ser melhor utilizada para musica, pois permite

que a dinamica musical seja melhor percebida.

O termo dinamica musical e usado para definir a notacao musical impressa para in-

dicar a dinamica de uma peca. Diferentemente da amplitude, a dinamica nao determina

nıveis especıficos 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

musico, 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 Instru-

ment Digital Interface (MIDI) (parametro utilizado para controle de intensidade nesta

interface) para cada intensidade. Alguns programas podem dar a opcao desta confi-

guracao ao usuario. A Tabela 2.3 representa a relacao entre as gradacoes dinamicas e a

velocidade MIDI padrao no programa Logic Pro 8.

Page 54: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

24 Composicao Algorıtmica

Sımbolo Nome Intensidade

ppp molto pianissimo tao fraco quanto possıvel

pp pianissimo muito fraco

p piano fraco

mp mezzo-piano moderadamente fraco

mf mezzo-forte moderadamente forte

f forte forte

↵ fortissimo muito forte

↵f molto fortissimo tao forte quanto possıvel

Tabela 2.2: Gradacoes dinamicas mais frequentes.

!sfzsf

!sff

10

" !rfz

!spp

!sp

!fp

!!fff

!ffff

!f

!mf

" # !ffpppp

!ppp

!ppppp

! !p

!mp

!pp

Figura 2.6: Representacao de diferentes gradacoes dinamicas em uma partitura

Mudancas graduais tambem podem ocorrer na musica. Os conceitos mais comuns

sao o crescendo e o decrescendo, que indicam um aumento e uma diminuicao - respecti-

vamente - gradual na intensidade. Os sımbolos sao linhas que sao juntas na esquerda,

Gradacao Velocidade

ppp 16

pp 33

p 49

mp 64

mf 80

f 96

↵ 112

↵f 126

Tabela 2.3: Exemplo de possıvel relacao entre intensidade e velocidade.

Page 55: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Composicao Algorıtmica 25

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

o contrario. O sımbolo pode estar ao longo de varias notas e e normalmente escrito

abaixo da partitura. Um exemplo destes sımbolos 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 caracterıstica que

os fazem substancialmente distinguıveis: o timbre. Ondas com diferentes timbres geram

sensacoes muito variadas ao ouvido humano e esta caracterıstica 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 caracterısticas 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 multiplos 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:

Page 56: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

26 Composicao Algorıtmica

Tempo

Am

pli

tude

ViolonceloFlautaOboéPianoXilofone

Figura 2.8: Formatos de onda de alguns instrumentos

Ataque O inıcio de cada nota.

Decaimento Apos o ataque, ocorre um decaimento ate que o som se estabilize.

Sustentacao A duracao da nota pelo instrumento. Isso pode ser controlado pelo musico

na maioria dos casos mas em alguns instrumentos, principalmente os de percussao,

isso nao e possıvel.

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 caracterıstico deste instrumento.

De acordo com estes momentos principais, pode-se perceber tambem que a acustica

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 computaci-

onais propostos neste trabalho. Segue uma lista com os principais itens importantes:

Notas e frequencias A ideia de nota pode se referir ao sımbolo usado para representar

uma altura tonal e duracao ou a altura tonal de uma certa nota. Notas sao

Page 57: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Composicao Algorıtmica 27

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

analise musical (Nattiez 1990). A relacao entre alturas tonais e frequencias e

logarıtmica, 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 fısica para o osciloscopio

(Pierce 1999).

Percussao 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, si-

nos e chocalhos.

Os instrumentos de percussao podem ter altura determinada ou nao. Os instru-

mentos de altura indeterminada sao usados normalmente para funcoes rıtmicas 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 musica independente da harmonia da musica 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

musica, alem da funcao meramente rıtmica dos instrumentos de altura indetermi-

nada.

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 unica.

Motivo E uma ideia musical ou fragmento musical recorrente, de alguma importancia

ou caracterıstico na composicao (Nattiez 1990). O motivo pode ter aspectos

melodicos, harmonicos ou rıtmicos, porem e normalmente imaginado em termos

melodicos.

Harmonia E o uso simultaneo de varias alturas tonais. Musicas orientadas por har-

monias que se movem em progressoes sao uma marca forte da musica ocidental

Page 58: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

28 Composicao Algorıtmica

!ci

F

!"fe

!li da

!des

# !Mui

C!via

!tos

C" !de

$5

%G!

nos

!da

ri

#C! !

dada

!pra

% & !tascê

C

!béns

!G

"Ne

" !ta

!!vo

"que

'!Pa ra

!ssa

!Mui

Figura 2.9: Exemplo de melodia de Parabens a Voce

(Malm 1996). O estudo da harmonia envolve progressoes de acordes que normal-

mente governam a musica. A harmonia e o aspecto vertical da musica, enquanto

a melodia define seu aspecto horizontal.

Existem algumas tradicoes na musica ocidental que implicam em certas regras

harmonicas.

Apesar da harmonia se tratar de notas que soam simultaneamente, e possıvel

deduzir uma harmonia atraves de uma melodia que faca o uso de arpejos. Varias

pecas contem a harmonia implıcita 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 musica

pode ser tocada em qualquer tom. A musica 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.

Page 59: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Composicao Algorıtmica 29

Tonica Terceira Maior Terceira Menor Quinta

C E E[ G

D[ F F[ A[

D F# F A

E[ G G[ B[

E G# G B

F A A[ C

F# A# A C#

G B B[ D

A[ C C[ E[

A C# C E

B[ D D[ F

B D# D F#

Tabela 2.4: Intervalos de notas mais comuns

Grau 1 2 3 4 5 6 7 8

C D E F G A B C

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

G A B C D E F# G

Tabela 2.5: Exemplos de graus de intervalos

Page 60: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

30 Composicao Algorıtmica

Os intervalos podem ser consonantes ou dissonantes. Estes sendo considerados

como produzindo sensacao de tensao enquanto aqueles produzem sensacao de re-

laxamento.

Os intervalos consonantes sao o unıssono, 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 musica.

Intervalos A combinacao de duas notas - tambem chamada de dıade - forma um in-

tervalo. 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.

Acordes E um conjunto de notas que tem relacao harmonica e sao percebidos como

soando em conjunto. As notas podem soar simultaneamente ou sucessivamente.

Os acordes mais comuns sao os compostos de 3 notas (trıades).

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 puros”em 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 trıades

maiores e menores se tornaram a sonoridade padrao na musica ocidental. Tais

trıades 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 trıade 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

Page 61: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Composicao Algorıtmica 31

Trıade Terceira Quinta Exemplo Sımbolos

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 trıades

fundamental em D poderia ser construıdo 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 trıade construıda com esta escala sera menor ou

maior, com excecao da trıade de B, que sera diminuta.

Acordes de 4 notas, com setimas tambem sao amplamente utilizados. Uma vasta

quantidade de musica contemporanea e produzida com combinacoes trıades e

acordes com 7as. Algumas excecoes incluem musica classica moderna e jazz, que

nao raramente incluem acordes de pelo menos 5 notas.

Os acordes podem ser classificados em relacao ao numero de notas. Intervalos

de duas notas apenas podem nao ser considerados acordes (Surmani, Surmani

& Manus 2004) – podendo ser chamados assim de dıades ou intervalos. Porem,

os acordes normalmente utilizados em musica ocidental estao tao firmados como

conceito que dıades ou apenas melodias podem ser ouvidas com acordes implıcitos,

ja que o cerebro pode “completar”o acorde. Isso faz com que alguns autores

nao sejam tao restritivos em relacao ao numero mınimo de notas de um acorde

(Schellenberg, Bigand, Poulin-Charronnat, Garnier & Stevens 2005).

Outra classificacao util 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, construıdo 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 trıades que estao representados na Tabela 2.6.

Page 62: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

32 Composicao Algorıtmica

Ja os acordes com setima sao construıdos pela adicao de uma quarta nota a trıade.

Existem varios tipos de acordes de setimas e eles dependem da trıade 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 construıdos 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 musica 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 musica 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 musica tem uma duracao definida pelo tempo da musica e

podem ser agrupados em segmentos chamados de compassos. Uma musica normal-

mente consiste em varios compassos de mesmo tamanho e o numero de pulsos de

cada compasso e especificado no comeco da partitura (Nickol 1999). A formula do

compasso e escrita no inıcio da composicao e quando ocorre mudanca de formula.

O numerador da formula do compasso indica o numero 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

3No caso de alteracoes na nota fundamental ou na terceira, o nome do acorde deve mudar

Page 63: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Composicao Algorıtmica 33

42! " #

44 "

43 $

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 numero 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 inıcio

no tempo, �i

sua duracao e i = 1, . . . , n e o numero de notas em um compasso.

No gerador melodico deste trabalho, por exemplo, cada compasso e um indivıduo

e se um indivıduo 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 indivıduo, mas sim uma boa populacao de indivıduos. No

final do processo varios deles podem ser escolhidos de uma maneira musicalmente

ciente para formar o resultado.

Timbre Sao as caracterısticas ou qualidade do som distintas da altura tonal e inten-

sidade. 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 nıvel. 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 nıvel. 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.

Page 64: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

34 Composicao Algorıtmica

Escala de tempo Perıodo 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 fracoes de segundos Nota, som discernıvel

Micro Milissegundos Partıcula 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 musicos. 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 sıntese de som ou fenomenos que ocorram abaixo do limiar do que pode ser perce-

bido 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 uteis em alguns contextos especıficos, onde a duracao de um evento deve ser

a mais proxima possıvel de zero. No extremo oposto temos a supra-escala, que pode

determinar um perıodo estilıstico de um genero ou carreira de um artista, e a escala

infinita para qualquer coisa alem disto.

2.2 Definicoes de Musica

Qualquer problema a ser resolvido precisa primeiramente ser bem definido. A definicao

de musica, todavia, pode nao ser tao trivial do ponto de vista computacional.

Varias pessoas podem afirmar que alguns sons nao sao musica e sim barulho, o

que pode levar a pensar que barulho e a antıtese de musica. Todavia, e difıcil delimitar

exatamente quais sons sao barulho e quais sao musica 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 musica mas saberem de quais sons gostam. Ora, estas mesmas pessoas podem na

Page 65: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Composicao Algorıtmica 35

verdade estar apenas expressando que gostam do que ja conhecem como musica. Assim,

pessoas com diferentes opinioes e profundamente comprometidas com seus pontos de

vista podem achar difıcil explica-los.

Assim, musica e um domınio muito subjetivo e nao existe definicao de boas musicas

que atenda a todas as pessoas. As unicas caracterısticas concretas que podemos definir

e que musica e um meio aural e temporal, o que quer dizer que se deve, computacional-

mente, criar sistemas de sons organizados temporalmente.

2.2.1 A Arte da Musica

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 possıveis 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.

Page 66: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

36 Composicao Algorıtmica

Da primeira definicao de musica, infere-se que musica 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, musica

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, musica 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 especıficos de musica.

Como qualquer outra arte, musica tambem pode ser vista como algo definido pelo

contexto social do momento (Nattiez 1990). A base cultural de uma pessoa pode de-

terminar fortemente o que sera ou nao considerado musica. A exposicao de algumas

pessoas a apenas um tipo de musica pode criar conceitos particulares sobre a percepcao

musical. Isso pode fazer com que pessoas de cultura ocidental, por exemplo, sejam mais

acostumados a musicas que utilizam a escala diatonica.

Um exemplo de musica que desafia as formas da musica convencional e a 4’33”,

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 musica serem varias, de qualquer

maneira, o conceito ainda permanece subjetivo bastante para ser formulado matemati-

camente. Assim, mais discussao e necessaria para formularmos a base de um processo

qualquer de CA.

2.2.2 Musica como IHC

Alem dos conceitos basicos apresentados, e difıcil definir modelos matematicos, mesmo

que complexos, para definir musica 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

Page 67: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Composicao Algorıtmica 37

Modelo Mentaldo Designer

Modelo Mentaldo Usuário

Imagem doSistema

Modelo Mentaldo Compositor

Modelo Mentaldo OuvinteComposição

Figura 2.11: Modelo de Norman para Interacao do Usuario (Norman 1988) eseu 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 possıvel.

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

tıtulo, suas notas, o local da apresentacao, a aparencia e comportamento dos musicos e

as crıticas, 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 nıveis. Nuancas sobre as melodias podem

nao ser percebidas por um certo ouvinte.

O usuario, ou o ouvinte, absorve uma composicao tendo como referencia suas ex-

periencias passadas e sua cultura, o que leva diferentes pessoas a terem diferentes per-

cepcoes das mesmas musicas. Quando escuta uma musica, o ouvinte pode ter um modelo

mental mais desenvolvido para compreender aquele compositor especıfico, que pode ter

um estilo musical muito caracterıstico. Quando o ouvinte nao tem um modelo desenvol-

vido para certo estilo musical ou grupo de composicoes, provavelmente se perguntara o

Page 68: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

38 Composicao Algorıtmica

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 difıcil o desenvolvimento de modelos matematicos para uma musica

“perfeita”, ao mesmo tempo que e um motivo pelo qual as pessoas gostam de musica:

as musicas 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 musica. Quando se refere a organizacao

das estruturas de alto nıvel de uma musica, agora, e fundamental perceber que e im-

portante definir se esta organizacao de alto nıvel 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 musica 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 mınima ideia do que e uma improvisacao.

Apesar disto, varios ouvintes podem nao entender bem o modelo do compositor e

gostarem da musica - 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 implıcita 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 explıcita de serem organizados daquela maneira, estes sons estao organi-

zados no tempo, nao importa quem os organiza e como os organiza. Estruturas podem

ser organizados mesmo com a ausencia de qualquer compositor.

Page 69: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Composicao Algorıtmica 39

2.3 Conclusao

Neste capıtulo 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 musica pode ser percebida de diferentes maneiras e

em particular de acordo com sua analogia como IHC. Este modelo nos faz compreender

como a musica e uma peca com a qual o compositor pode passar suas intencoes para o

ouvinte. O ouvinte, porem, nunca confirma sua percepcao artıstica diretamente com o

compositor.

Estes conceitos sao fundamentais para a compreensao das metodologias aplicadas

neste trabalho e suas devidas justificativas.

Page 70: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

40

Page 71: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Capıtulo 3

Metodologia

Este capıtulo 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 musica pode ser representada ou avaliada em relacao a uma medida de fitness .

Com uma definicao de AG, a proxima secao aborda os metodos especıficos utilizados

neste trabalho para geracao de musica de forma algorıtmica. Dois algoritmos diferentes

podem formar uma composicao, gerando separadamente melodias e harmonias.

3.1 Algoritmos Geneticos

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

problemas podem se juntar para formar potenciais novas solucoes que serao provavel-

mente 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 util para difıceis 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 espe-

cificacoes de motores, programacoes de horarios com restricoes, musicas ou controle de

parametros de um processo qualquer. Em consequencia, estes algoritmos se tornaram

41

Page 72: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

42 Metodologia

um arcabouco flexıvel 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 natu-

ral. 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 ava-

liacao. 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 indivıduos. O calculo do

fitness para tarefas musicais e normalmente heurıstico, 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 nıvel, estes opera-

dores devem ser capazes de combinar informacao previamente selecionada contida

em solucoes correntes de maneira efetiva e ter potencial para explorar todas as

solucoes possıveis. 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 dificulda-

des. A primeira delas e que nao ha garantia de se encontrar a solucao otima, o que e

compreensıvel para programas dos quais se esperam que resolvam tais problemas. A

segunda complicacao e que AG podem se tornar sistemas com alto custo computacio-

nal quando muito conhecimento e adicionado ao sistema. Este tipo de conhecimento e

indispensavel para qualquer sistema que produz bons resultados.

E fundamental que pelo menos uma mınima base de conhecimento sobre a area seja

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,

Page 73: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 musica, 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 extre-

mamente util 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 heurısticas de busca que copiam de certo modo o comportamento da evolucao

natural assim como definida por Darwin (2003). E um metodo muito utilizado para a

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 indivıduos nao sobrevi-

vem 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 indivıduos. 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 indivıduos 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 indivıduos, que nao sao nada mais do que possıveis 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

1Assim como todas as aplicacoes destes metodos para criacao de arte

Page 74: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

44 Metodologia

Pais

Avaliar a População

AvaliarDescendentes

Substituição

SeleçãoRecombinação

Mutação

Inicializar

Figura 3.1: Representacao Esquematica de um Algoritmo Evolutivo

Algoritmo 3.1.

Algoritmo 3.1: AGEntrada: Populacao de indivıduos, Funcao Objetivo

Resultado: Indivıduo

enquanto criterio de parada nao e satisfeito faca1

Lista dos Pais Selecao(Populacao de Indivıduos, Funcao Objetivo);2

Populacao Reproducao(Lista de Pais);3

Populacao Mutacao(Populacao);4

fim5

retorna O melhor indivıduo analisado durante o processo;6

A funcao-objetivo contem uma funcao capaz de analisar a qualidade de um indivıduo

e por isso e necessaria para que a lista dos pais seja gerada levando em consideracao

a qualidade destes indivıduos. Assim, esses indivıduos 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

Musica 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 compo-

sitor ou estilo, podendo-se assim evoluir pecas a maneira de um compositor ou estilo

Page 75: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 45

especıfico, 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 ob-

jetivo 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

indivıduos 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

difıcil 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 “corretas”que nao atendem ao objetivo inicial.

AG sao sistemas muito complexos e difıceis de analisar. Varios resultados puramente

empıricos sao encontrados na literatura, sendo as 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 uteis 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.

Page 76: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

46 Metodologia

3.1.2 Representacao

A representacao de um indivıduo 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 es-

pecıfica, 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 numero

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. As-

sim, 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 numeros

das tarefas possıveis 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 musica.

O conjunto de todas as solucoes possıveis e denominado espaco de busca ou espaco

de solucoes. Representacoes ruins levam a uma difıcil exploracao deste espaco de busca

e o AE se torna inutil. 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 impor-

tantes 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 basica-

mente 3 abordagens utilizadas para representar a altura tonal de cada nota em sistemas

de CA.

Page 77: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 47

Absoluta Existem codigos MIDI que se referem a notas especıficas. Assim, pode-se usar

um numero 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 re-

ferencia. 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 ultima 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 possıvel 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 inıcio e duracao de cada nota. A representacao mais comum e a orientada por

ritmo, ou seja, com o tempo definido em relacao as pulsacoes da musica. E necessario

lembrar de definir a duracao de cada nota quando projetar um modo de representacao

da solucao. Esse tipo de representacao e muito util para musicas 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 musicas orientadas a pulsacao

e sao mais apropriadas para composicoes onde eventos acontecem em tempos especıficos.

Em alguns casos tambem e necessario codificar sequencias de eventos que podem re-

presentar linhas melodicas com seu ritmo e notas. Para isto, as abordagens normalmente

sao:

Page 78: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

48 Metodologia

Tabela 3.1: Escalas que podem auxiliar o mapeamento do genotipo de umamelodia em fenotipo(Biles 2007b)

Acorde Escala Notas

Cmaj7 Maior (sem 4a) C D E G A B

C7 Mixolidiana (sem 4a) C D E G A B[

Cm7 Menor (sem 6a) C D E[ F G B[

Cm7[5 Locria (sem 2a) 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 Frıgia C D[ E[ F G A B[

Cmaj7#11 Lidiana C D E F# G A B

Baseadas em posicao para a representacao de compassos ou frases. Nesta aborda-

gem, existe uma posicao de memoria disponıvel 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 sımbolo 0 pode representar uma

pausa na melodia, 15 a continuidade da nota anterior e os sımbolos de 1 a 14 notas

especıficas, 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 musica. Cada

nota e representada por sua altura, tempo e duracao.

Baseadas em arvores para abordagens que definam a musica como uma estrutura

hierarquica. Esta abordagem vem da programacao genetica (Johanson & Poli

1998). Os nos interiores podem mapear funcoes musicais como sequencias, re-

peticoes e acordes. Ja as folhas podem mapear notas, descansos ou melodias.

Assim existe a vantagem de se estender a estruturas de nıveis mais altos.

Page 79: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 49

Tabela 3.2: Mapeamento possıvel para uma representacao baseada em posicao

Codigo Binario Valor Decimal Representacao

0000 0 Pausa

0001 1 C

0010 2 C#

0011 3 D

0100 4 D#

0101 5 E

0110 6 F

0111 7 F#

1000 8 G

1001 9 G#

1010 10 A

1011 11 A#

1100 12 B

1101 13 C

1110 14 C#

1111 15 Sustentacao

Tabela 3.3: Um indivıduo formado com o mapeamento da Tabela 3.2

Genotipo Binario 0010 — 1111 — 1111 — 0111 — 1100 — 0010 — 1111 — 1111

Genotipo Decimal 2 — 15 — 15 — 7 — 12 — 2 — 15 — 15

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

3.1.3 Inicializacao e Estrutura da Populacao

Apos decidir a abordagem utilizada para representar o conteudo 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

Page 80: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 artıstico. 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 difıcil. 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 discernıvel, pode-se usar uma populacao

inicial semi-aleatoria. Neste caso, usa-se normalmente material “real”como 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 musica, e assim possibilitar a avaliacao por um

mentor.

Uma terceira possibilidade para inicializar a populacao e a utilizacao de um banco de

dados de musicas de qualidade. Neste caso, e garantida a inicializacao da populacao com

indivıduos 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 especıfico

(Prerau 2001).

Mesmo com indivıduos que nao sejam criados de forma aleatoria, e possıvel desen-

volver outros indivıduos muito pouco relacionados com os iniciais, diversos e muito

musicais se existem operadores geneticos musicalmente cientes, como sera analisado na

secao 3.1.5. E importante que, caso possıvel, a origem de cada um destes compassos seja

sempre marcada como modo de manter a diversidade na populacao.

Page 81: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 51

Apos a criacao destes indivıduos iniciais, a populacao tera os genotipos de seus in-

divıduos e suas informacoes associadas, como o fitness . A populacao e normalmente de

tamanho fixo e muda a cada geracao.

3.1.4 Selecao

Quando os indivıduos sao selecionados para reproduzir ou para sobreviver, isto nao

ocorre de forma totalmente aleatoria: os indivıduos mais aptos tem maior chance de

selecao. Isto e o que faz crer que apos algumas geracoes existirao indivıduos 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 indivıduos mais aptos tem uma maior parte

da roleta. Assim, a roleta gira e os indivıduos mais aptos normalmente sobrevivem,

deixando tambem uma chance para os indivıduos menos aptos, assim como demonstrado

na Figura 3.2.

A roleta é rodadaescolhendo-­se um ponto aleatório

Melhor indivíduo temmaior quota da roleta

Pior indivíduo temmenor quota da Roleta

Figura 3.2: Metodo da Roleta

Neste esquema, sendo o fitness de um indivıduo denominado fi

, a porcentagem P (x)

referente ao indivıduo x na roleta e expressa pela Equacao 3.1, sendo n o tamanho da

populacao.

Page 82: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

52 Metodologia

P (x) = fx

/

nX

i=1

fi

(3.1)

Um problema deste metodo e que no inıcio do processo as disparidades entre os bons

e ruins indivıduos sao muito grandes. Assim, este metodo pode favorecer os indivıduos

que sao relativamente aptos no inıcio mas nao seriam bons indivıduos finais para o

problema. Isto e denominado convergencia prematura.

Uma maneira simples de resolver este problema e utilizar uma selecao baseada em

posicoes, onde a possibilidade de selecao de um indivıduo nao fosse dependente de seu

fitness mas sim de sua posicao entre os melhores e piores indivıduos, de acordo com uma

formula especıfica, assim como na Figura 3.3.

PosiçãoProbabilidade de Seleção

Método 1Método 2

Figura 3.3: Duas Maneiras Possıveis de Fazer uma Selecao baseada em Posicoes

Na Figura 3.3, duas funcoes possıveis para fazer uma selecao baseada em posicoes

sao representadas. Com esta abordagem, os indivıduos sao ordenados do melhor para o

pior, sendo x a posicao do indivıduo nesta ordenacao. O valor de fx

que define a porcao

deste indivıduo 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 ultimas geracoes.

O processo de selecao sera dependente do modo como os indivıduos sao avaliados.

A selecao pode ser totalmente baseada em aptidao, o que e o mais puro do ponto de

Page 83: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 indivıduo possıvel de acordo

com um criterio e sim achar uma populacao de frases boas e coerentes entre si. Esta

caracterıstica destaca bem a diferenca entre otimizacao e exploracao do espaco de busca.

A selecao tambem pode ser musicalmente ciente, onde os indivıduos selecionados

dependem da compatibilidade entre si ou existe um mentor humano que avalia os in-

divıduos. 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 saıda possıvel, 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 indivıduos passem para as proximas geracoes, ja que a ma-

nutencao da diversidade pode ser tao importante quanto a geracao de bons indivıduos.

Assim como na natureza, nem sempre os melhores indivıduos sao os que procriam mais.

Na natureza, “errar”pode ser um modo importante de testar novas possibilidades. Na

definicao de um sistema destes, e necessario definir o quanto e possıvel 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 Geneticos

A criacao de novos indivıduos atraves das geracoes e feita pelos operadores geneticos, que

possibilitam que nao so os indivıduos 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 trans-

formacoes 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

Page 84: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 indivıduo 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

Mutação

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 indivıduo apenas. Com a analise do fenotipo dos indivıduos, e possıvel

assim escolher pontos de corte que sejam vantajosos para a geracao de material melodico

como, por exemplo, os pulsos de uma musica. Alem do ponto de corte, a maneira como

2Nos casos mais simples, de 1 para 0, ou de 0 para 1.3Como forma tradicional, denota-se a forma antiga de utilizacao do operador: a nıvel de bits. Grande

parte das aplicacoes atuais nao utiliza esta forma de cruzamento.

Page 85: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 nıvel de notas mais do que a nıvel

de bits. Isso ocorre pois a nıvel 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 indivıduo. 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 nıvel de bits cria

eventos que sao inexistentes em ambos os pais e fazem pouco sentido musical.

!

" #

"

#

!# #

!

"

#$

##

# ## #

!#

#

%

%

##

#

&&

&#! &

Filhos 2

Filhos 1

Pais

%

#$!

#

!

##

!Filho 2

!Filho 1

Filho 1

Pai 1

##

#

#

Filho 2

# !##

#' !

$'!#'

##

#Pai 2

##

#

!

!

&&#

Indivıduo 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 nıvel de bits e a nıvel de notas

Mutacao

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 indivıduo (bit-flop). Esta abordagem raramente funciona em ME, principal-

mente 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

Page 86: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 indivıduos mutados

sejam melhores do que seus ancestrais - ou pelo menos nao piores. Assim, em ME os

operadores nao podem ser “burros”e baseados em baixas probabilidades. As mutacoes

devem ser musicalmente significativas.

Uma alternativa muito simples e que os usuarios possam mutar estes indivıduos 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

indivıduo e que podem funcionar em paralelo. Operadores especıficos 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

Page 87: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 57

• Uma mistura das opcoes descritas

Dependendo da maneira como a representacao e feita, estes operadores podem ter

efeitos diferentes sobre as musicas. No caso de representacao das notas por sua posicao,

onde e comum definir codigos para pausas ou para sustentacao de uma nota, a estrutura

rıtmica de uma frase pode mudar completamente com a utilizacao de alguns destes

operadores. No caso de uma representacao das alturas tonais relativas, heurısticas podem

definir que notas repetidas serao substituıdas por cromatismos, o que muda a forma como

uma ordenacao de uma sessao pela altura tonal pode atuar em um indivıduo.

Operadores tambem podem ser utilizados levando em consideracao condicoes da po-

pulacao corrente. Em alguns casos, em que cada indivıduo representa um compasso,

dois compassos podem funcionar como um compasso longo que pode sofrer a acao de

operadores especıficos.

Operadores especialmente projetados para a aplicacao especıfica 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%, In-

versao 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 Funcao de Avaliacao e Definicao do Fitness

A avaliacao dos indivıduos e talvez a area que gera mais questionamentos em sistemas de

CA. Em qualquer sistema de producao artıstica automatica e muito difıcil decidir como

medir o fitness e quais as necessidades de uma boa solucao. E necessario responder estas

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 indivıduos, 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 especıfica de um problema, cuja intencao de avaliacao pode ser a similaridade

Page 88: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

58 Metodologia

com uma musica alvo, o respeito a teorias musicais ou tecnicas musicais especıficas.

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-

lizadas. E difıcil criar definicoes matematicas para aspectos puramente esteticos e por

estas razoes, medidas totalmente automaticas de fitness costumam gerar varios pro-

blemas. Como alternativa a estas medidas automaticas, pode-se fazer o processo sem

fitness , com fitness mınimo ou aleatorio, como sera descrito nas proximas subsecoes.

Cada modo de avaliar os indivıduos possui problemas especıficos. As principais manei-

ras de se medir o fitness de indivıduos sao as seguintes:

• Automatico

– Heurısticas

– 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 algorıtmicas. 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 per-

der a essencia artıstica 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.

E importante lembrar que um AE sempre sera naturalmente limitado por seu pro-

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 saıda deve ser formalmente codificada e esta

codificacao de aspectos esteticos e muito difıcil. 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 indivıduo antes de analisa-los.

Page 89: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 59

Assim deve ser definido inicialmente no que sera baseada a avaliacao, em regras ou

em modelos de composicao reais. Mesmo musicas que podem ter de algum modo um

modelo especıfico 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 musica nao e simplesmente

baseada em regras simples de composicao, pois estas regras sao definidas apenas quando

um certo perıodo musical passado e analisado. Nao se pode entao basear a musica

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 essen-

cialmente baseado em regras provavelmente tera resultados que se assemelharao com

exercıcios ou replicas de musicas conhecidas. Enquanto isso, para a criacao de mate-

rial 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 que-

bradas 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 algorıtmica.

Avaliacao Automatica

Varias funcoes de avaliacoes heurısticas foram desenvolvidas e normalmente levam em

consideracao avaliacoes e percepcoes do autor do algoritmo (Ames 1992). E um metodo

muito usado em melodias e normalmente definem consideracoes sobre intervalos, densi-

dade das notas sobre a quantidade de pausas, variedade rıtmica 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.

Page 90: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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

musicas 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 musica pode ser teoricamente correta

porem ruim.

O sistema pode ignorar musicas 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 musica de um genero e contexto especıficos (Polito, Daida & Bersano-

Begey 1997).

Uma ultima 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 ro-

bustas, 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 caracterısticas observadas pelo autor, como

nas avaliacoes heurısticas, ou a melodia em si. A escolha desta entrada e crucial. Ape-

sar 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 caracterısticas 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 ava-

liacao poderia resolver todos os problemas existentes nos modos de avaliacao automatica.

4Este tipo de avaliacao pode ser utilizado para evoluir uma musica ou estilo especıfico quando aintencao e desenvolver um musico virtual que funcionara em tempo real mais tarde. Neste caso, omelhor e que esta evolucao seja direcionada a um estilo especıfico, para que o musico virtual nao percaa capacidade de generalizacao, alem de nao cansar o mentor.

Page 91: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 musica 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 duzias a centenas de indivıduos e como a musica e

uma arte temporal, o usuario precisara de tempo para ouvir todos estes indivıduos por

todas as geracoes. Em sistemas de domınio temporais com avaliacao humana, existe este

problema denominado gargalo de fitness .

Uma maneira de resolver o problema do tempo necessario de uma maneira relativa-

mente simples e mostrar apenas alguns trechos da musica 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 musica por ter escutado uma parte que nao gostou pois pes-

soas 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 musica

se diz quando o musico esta com ouvidos “frescos”para analisar e avaliar uma certa

musica. O usuario nao deve apenas avaliar as musicas individualmente mas compara-las

e dar notas boas a indivıduos 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 aptidao

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

Page 92: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 indivıduos 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 no7 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 paıses, gravacoes e crıticas positivas.

A vantagem desta abordagem pode ser criar novas melodias baseadas em melodias ja

existentes mesmo quando nao sao conhecidas as regras especıficas 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

indivıduos e sim para controlar o processo de mutacao, fazendo assim uma trapaca

para embelezar os indivıduos para a proxima geracao. Estes artifıcios podem ser muito

bons em sistemas em que nao se procura bons indivıduos em relacao a uma codificacao

determinada mas sim uma populacao de indivıduos 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 justi-

fica pois todo o arcabouco evolutivo ainda esta presente e util 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 mınimas, que pelo

menos deem menos preferencia a indivıduos que nao atendem a algumas expectativas.

Estas regras podem estar incluıdas no processo de avaliacao, como usual, ou embutidas

no proprio processo evolutivo, na escolha dos indivıduos. Um exemplo de regra possıvel e

Page 93: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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

musicos, que podem criar um banco de dados. Uma populacao criada por musicos

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 artısticas, apenas mutacoes podem criar indivıduos tao bons quanto os pais,

sem ajuda de um mentor, com mudancas puramente artısticas.

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 implıcitas quando ocorre a utilizacao de heurısticas 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, algorit-

mos 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 implıcito 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 Substituicao dos Pais

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

apenas indivıduos 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.

Page 94: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

64 Metodologia

A substituicao tambem pode ser de maneira contınua, a medida que os filhos sao

gerados, um a um, ou em estilo geracional, ou seja, a populacao inteira e substituıda

apos a geracao de todos os filhos.

Como em musica, muitas vezes, a busca por uma populacao boa que pode ser usada

em conjunto pode ser mais importante do que a descoberta de uma unica solucao otima,

algumas peculiaridades podem ocorrer no processo de substituicao dos indivıduos.

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

substituıdos. Essa abordagem deve ser considerada em sistemas onde toda a populacao

sera usada para a geracao de um conteudo 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 caracterıstica presente tanto na musica 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 musica, uma pro-

gressao harmonica baseada no improviso ou uma modificacao de uma progressao ja

presente na musica. A consideracao de que o improviso pode ocorrer isoladamente, de-

senvolvendo 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 caracterıstica temporal da evolucao para geracao de com-

posicoes 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 in-

divıduos 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.

Page 95: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 65

Outra ultima opcao para o takeover pode ser manter alguns indivıduos de geracoes

passadas ainda como candidatos a reproducao (holdover). Assim como na biologia,

indivıduos 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 indivıduos de um banco de dados externo de acordo com necessidades

especıficas do problema. Isso pode ocorrer trocando um indivıduo 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 indivıduo pode vir de outras partes da

musica quando uma representacao hierarquica da musica e utilizada.

3.1.8 Consideracoes

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

e que e uma tarefa na qual a discussao no domınio relevante e indispensavel. Qualquer

tentativa de criacao de sistemas de CA sem estudo sobre teoria musical nao sera frutıfera.

Quando o projeto passa a se concretizar e a interacao com musicos 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 musicos 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.

E clara a diversidade de opcoes que se abrem com a CE, como timbres impossıveis de

se atingir com instrumentos reais, que podem ser criados atraves de sistemas de sıntese

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 musicas mais criativas e elaboradas de

maneira automatica.

Algoritmos tem grande potencial para geracao de musicas, pois, assim como ja citado,

o processo de composicao e, de fato, em grande parte algorıtmico. O comportamento de

varios modelos sao de tal maneira em que se pode perfeitamente estabelecer analogias

com o que musicos realmente fazem. As possibilidades criativas de como a estetica pode

Page 96: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

66 Metodologia

ser codificada em AE podem acrescentar muito as praticas tradicionais dos musicos.

Assim, mesmo sendo cedo para fazer conclusoes gerais sobre a area de ME, e per-

ceptıvel que existe muito potencial para o desenvolvimento de novas aplicacoes e que a

exploracao desta area evolutiva e adaptativa e frutıfera sem duvida alguma.

3.2 Gerador Melodico

O gerador de melodias proposto neste trabalho utiliza uma populacao de compassos com

uma avaliacao de fitness implıcita mınima. O processo de composicao e o proprio pro-

cesso evolucionario e todos os indivıduos 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

mınima de fitness

• A populacao de cada geracao representa uma melodia

• O processo de composicao e o proprio processo evolutivo e todos os indivıduos 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

• E proposto um metodo para monitorar o takeover e estas informacoes sao usadas

para selecionar a geracao da qual a populacao formara a melodia final retornada

pelo algoritmo

• Evita-se a dificuldade de definir o numero 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 diversi-

dade em um sistema evolucionario musical. Uma Matriz de Takeover e definida com

Page 97: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 67

Tabela 3.4: Representacao de uma Solucao do Gerador Melodico

Faixa Canal Nota Velocidade Note on Note o↵

1 1 60 90 0.0 0.5

1 1 62 95 0.5 1.0

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

1 1 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. Inicial-

mente, apresenta-se o modo como os compassos e melodias sao representados e os ope-

radores 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 Parametros

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

ser fixo ou variavel, dependendo de suas necessidades. As vezes, a representacao de um

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 difıceis de se

explorar e algoritmos de composicao inuteis.

O gerador melodico utiliza uma abordagem pela ordem das notas para sua repre-

sentacao, 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 indivıduo 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

Page 98: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

68 Metodologia

respectiva nota. Todas as notas executadas por um mesmo instrumento devem utilizar

a mesma faixa para que estas sigam mais tarde parametros especıficos 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 numero

nao-negativo pode ser usado para representar uma nota, a partir do primeiro do. Como

referencia, quando os numeros 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 D E F G A B C D C D... ...

E F G A B

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

A primeira nota que pode ser representada com o numero 0 e o C0. Como existem

varias frequencias que correspondem a uma mesma nota, o numero 0 apos o C indica

que deve ser executado na frequencia mais baixa possıvel. Como existem 12 notas na

escala temperada e um numero para cada nota em uma representacao absoluta, qualquer

numero multiplo de 12 representara um do.

Da mesma maneira, qualquer multiplo de 12 mais 2 representa um D. Na concepcao

musical, quanto maior o numero 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

Page 99: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 ultimo, 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 inıcio desta nota no tempo e �i

2 R⇤+

a duracao

desta.

Como uma representacao baseada na ordem das notas e utilizada, melodias sao repre-

sentadas 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 indivıduos 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 multiplos da duracao de apenas um gene.

Uma melodia com qualquer estrutura rıtmica pode ser representada em um esquema

Page 100: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 opera-

dores geneticos, como descrito nas proximas secoes.

No gerador de melodias, cada compasso e um indivıduo. 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

indivıduos, pode ser criado um vetor que aponta para a posicao inicial de cada indivıduo,

assim como na Figura 3.7. Deste modo, a populacao deixa de ser a lista de notas e eventos

em si e cada indivıduo 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.

Indivíduos

x x x x x x x x x x x x x x x x x x x x x x x x x

Eventos/Notas

Figura 3.7: Ponteiros para a posicao dos indivıduos

Para a geracao de melodias, e utilizada uma abordagem na qual cada indivıduo re-

presenta um compasso. Assim, como e muito comum em sistemas de arte evolutiva, o

objetivo maior nao e exatamente a geracao de um indivıduo otimo e sim de uma po-

pulacao de indivıduos bons. Com varios indivıduos bons, ao fim do processo, varios

indivıduos podem ser escolhidos de maneira musicalmente ciente para formar uma po-

pulacao final.

Na selecao projetada para este gerador melodico, algumas vantagens apenas possıveis

em sistemas que nao trabalham em tempo real foram exploradas. A principal delas e que

os indivıduos utilizados como resposta do algoritmo e considerados como os melhores

nao precisam ser necessariamente os da ultima 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 ultima pode nao

ser maior na ultima geracao analisada, a medida que o takeover tera ocorrido ou estara

Page 101: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 Geneticos

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

populacao inicial escolhida pelo autor. A medida que a evolucao ocorre, a relacao entre o

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 possıveis de um cruzamento

entre os pais dos compassos 1 e 2, tendo o tempo 3 como ponto de corte.

! ! !!!Filho2

!!! ! !!! !!"3

!Filho1

!!! !Pai1

! !!!! !! ! !!#" ! !!Pai2

Figura 3.8: Cruzamento Melodico

Os operadores geneticos sao as principais ferramentas para a criacao de novos in-

divıduos e eles podem ser guiados para considerar algum tipo de conhecimento implıcito

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 as vezes nao queremos um indivıduo 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

5A consideracao de sexo pode ser comum em ME, ja que a relacao existente entre dois indivıduoscom material musical pode ser uma boa medida de fitness

Page 102: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

72 Metodologia

primeiras notas de um pai e outro percentual das ultimas 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 inıcio 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.

! !!Apagamento e Sustentação

!"!8

Apagamento e Pausa#!! !!" !!#!$

!$ !Duplicação dos pulsos 2 e 3

! !! !! %! !6 !!!!!$5 !Troca entre pulsos 2 e 3

!! !!!

!! ! ! !!Inversão dos pulsos 2 a 3

!!!! !! !!Inversão do Compasso Inteiro

$3 ! !

!! !! &!!!Escala de Dó

Mutação simples

!! !!!! ! !!'$

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

Page 103: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 factıveis

para a maioria dos usuarios. E importante lembrar que por se tratar de arte evolutiva,

agora o conceito de solucoes factıveis 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.

E tambem comum definir taxas para a aplicacao de cada um destes operadores,

pois eles podem levar a resultados indesejaveis quando taxas inconvenientes sao usadas

(Back, Ho↵meister & 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 difıceis

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 di-

ferencas nos resultados destes operadores. Em uma representacao baseada em posicao,

os genes representam notas mas tambem sustentacoes e pausas. Assim estes eventos

tambem estao suscetıveis a serem mudados pelos operadores. Nestes casos, a aplicacao

dos operadores pode mudar os genes em maneiras que criam novos eventos de sus-

tentacao, pausas ou notas, modificando o numero 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.

Page 104: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

74 Metodologia

3.2.3 Fitness Implıcito Mınimo

Um dos maiores problemas para a geracao de musica 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 musica mais

eficiente. A intencao deste trabalho, porem, e basear o processo no modo como compo-

sitores 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 indivıduos bons

ou ruins. Porem, algumas musicas podem ser definidas como boas justamente quando

quebram “regras”e isto deve ser previsto algoritmicamente em sistemas criativos de

composicao. Contudo, estes modelos podem nao avaliar como a musica 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 possıvel e a similaridade com uma musica alvo, o que e util quando

se cria musicas com alguma relacao entre a populacao inicial e a musica 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 mınimo e aplicada na populacao que vem

de uma melodia pre-definida, permitindo a emergencia de criatividade da aplicacao dos

operadores geneticos. Um fitness mınimo pode permitir eliminar pelo menos solucoes

muito ruins, que seriam musicalmente ineficientes de acordo com um conjunto mınimo 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 mınima 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 indivıduos terao o mesmo valor de fitness na

maioria dos casos e a selecao de indivıduos e nao tendenciosa.

Segue abaixo conceitos utilizados neste gerador melodico.

Fitness Aleatorio: Uma funcao de fitness aleatoria leva a um sistema evolucionario

livre de fitness . Um modo facil de implementar esta caracterıstica e usar a selecao

Page 105: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 75

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

Fitness mınimo implıcito: Uma funcao de fitness implıcita e a funcao que imple-

menta um conjunto mınimo de regras musicais ou restricoes quando analisa-se um

indivıduo. Indivıduos recebem penalidades e recompensas baseados na satisfacao

destas regras ou restricoes. O problema se torna similar a um Problema de Sa-

tisfacao de Restricoes (CSP) (Kumar 1992). Se regras demais sao adicionadas a

funcao de fitness , a criatividade musical e impedida. E discutıvel se deve-se aplicar

um conjunto de regras pre-existentes ao tentar basear algoritmos no que composi-

tores realmente fazem (Jacob 1996). Compositores nao se baseiam excessivamente

em apostilas musicais que tem apenas intencao de analisar estilos especıficos de

musica 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 indivıduos da populacao

(Eiben & Smith 2003). Tipicamente, o tempo de takeover e o numero 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 indivıduos 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 Avaliacao das Solucoes e Selecao 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 previsıveis e pouco musicais, o que sera mais proximo de exercıcios

dos que musica 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 exercıcios, foi uti-

lizada uma abordagem mais proxima de uma selecao sem aptidao com regras mınimas,

o que permite criatividade ao mesmo tempo que elimina as solucoes que seriam inade-

quadas.

6Os unicos indivıduos diferentes da populacao serao devidos ao operador de mutacao.

Page 106: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

76 Metodologia

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

da solucao, o que leva processos que desenvolvem musica em um estilo particular a obter

sucesso mais facilmente. Com uma aptidao mınima, 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 indivıduos. 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 indivıduos que nao tem muita aptidao a se reproduzirem. Essa

e a forma predominante que mantem a pureza do metodo evolutivo.

Este metodo e muito util quando queremos que a melhor solucao apareca apos varias

iteracoes de indivıduos que nao sao utilizados. Porem, em musica, as vezes nao queremos

a melhor frase possıvel de um processo evolutivo e sim um conjunto de frases boas. Essa

caracterıstica 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 mınimo 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 indivıduos terao o mesmo fitness na maior parte do tempo,

os melhores indivıduos nao estao necessariamente nas ultimas geracoes do algoritmo.

Na verdade, estas ultimas solucoes nem sao desejaveis, ja que estas ultimas geracoes

sao caracterizadas por um takeover (mesmo sem uma pressao seletiva que favoreca os

indivıduos 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

7Pureza do AE em relacao a pressao seletiva, que e fundamental para a geracao de melhores solucoesem relacao a funcao de fitness definida.

Page 107: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 indivıduo 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 ultimas

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

equilıbrio 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 melo-

dia 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 indivıduos e realmente bom.

Como o objetivo do gerador de melodias e retornar uma populacao de qualidade

e nao o melhor indivıduo de um numero de geracoes, tem-se a vantagem de que os

melhores indivıduos nao precisam estar nas ultimas geracoes. Por isso, a analise de

quais indivıduos podem ser retornados em relacao a analise do fitness por diversidade

entre os indivıduos pode ser feita apos todo o processo evolutivo e a populacao que tera

uma maior diversidade nao estara proxima as ultimas geracoes, ja que nestas ha uma

8Originalidade em relacao ao material utilizado como populacao inicial

Page 108: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 indivıduos sao os melhores

para serem retornados fica implicitamente a cargo do compromisso entre a originalidade,

presente nas ultimas 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

possıvel de um takeover .

Como a avaliacao esta implıcita 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 indivıduo gerara em relacao aos indivıduos presentes.

Esta e uma medida de qualidade do indivıduo 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 indivıduo 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 difıcil 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 ultimas 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

Page 109: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 79

!2

!2

!3

!3

!3

!2

Crossover 2+3 !3

4

" !2

!3

!3

!3

!1

!2

!2

!2

!1

Crossover 1+2

!1

!1

!1

!1

!1

!3

!2

!1

Crossover 1+3

!3

Individual 3! !3

!2

!2

!!3

!" # !3

!3

!3

!3

!1

!1

2

!1

!1

1

Individual 1

!1

!1

!1

2

!2

!2

!2

3

!2

Individual 2

!

Figura 3.11: Melodia com os marcadores da populacao inicial

os indivıduos 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 abor-

dagem de holdover tambem e utilizada. Apos cada geracao, um de seus indivıduos e

escolhido para ser mantido, o que significa que o indivıduo 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 po-

pulacao inicial foi marcada com um numero 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

a populacao inicial e os outros sao resultados de um cruzamento. E interessante notar

que algum material genetico ja foi perdido neste processo (pulsos 3 e 4 do indivıduo 1 e

pulsos 1 e 2 do indivıduo 3).

Um caso simples no qual e facil de se descobrir quando ocorre o takeover e quando

todas as notas da ultima geracao vieram de apenas um indivıduo da populacao inicial.

Porem, isto nao ocorre sempre, pois pode ocorrer o aparecimento de indivıduos com

notas provenientes de diferentes indivıduos da solucao inicial - ja que apenas pontos que

definam um tempo inteiro do compasso sao aceitos para o cruzamento. Esses indivıduos

se reproduzem de tal maneira que o takeover ocorre apenas entre eles. Desta maneira,

nenhuma combinacao de cruzamento e capaz de levar os indivıduos a terem notas de

apenas um indivıduo da solucao inicial.

Page 110: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

80 Metodologia

Como os pontos de corte possıveis 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 indivıduos vem do indivıduo x da populacao inicial e todos os tempos 3 e

4 vieram do indivıduo 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 limi-

tadas aos possıveis 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 numero

de pulsos em cada compasso e p e o numero de indivıduos. Cada elemento Tij

da matriz da os valores percentuais de origem de cada evento, de acordo com os

pulsos e considerando os indivıduos 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 indivıduo 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 indivıduo.

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 indivıduo da

geracao inicial. No exemplo b) da Tabela 3.5, todas as notas da suposta populacao no

pulso 3 vem do indivıduo 2 da geracao inicial. Neste exemplo, o material genetico do

indivıduo 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 numero 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 especıfico da

Page 111: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 81

Tabela 3.5: Matriz com Percentual de Origem das Notas em Dois Casos Dife-rentes

a)

Pulso Ind.1 Ind.2 Ind.3 Ind.4

1 0.25 0.25 0.25 0.25

2 0.25 0.25 0.25 0.25

3 0.25 0.25 0.25 0.25

4 0.25 0.25 0.25 0.25

b)

Pulso Ind.1 Ind.2 Ind.3 Ind.4

1 0 0 1.0 0

2 0 1.0 0 0

3 0 1.0 0 0

4 0 0 0 1.0

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

do indivıduo 2.

Mesmo quando ocorrem mutacoes nas notas, elas continuam sendo consideradas de

algum indivıduo da populacao inicial pois caso contrario, seria mais difıcil de se iden-

tificar 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 ultima e a abordagem utilizada em relacao aos indivıduos

que sao potenciais reprodutores na proxima geracao. Porem, de fato, todos os indivıduos

de todas as geracoes sao guardados para a posterior utilizacao da matriz de takeover .

Alem disto, esta abordagem facilita o artifıcio do holdover, no qual um indivıduo 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-

Page 112: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

82 Metodologia

Tabela 3.6: Calculo de um Valor de Compromisso

Pulso Ind.1 Ind.2 Ind.3 Ind.4 �i

1 0.50 0.25 0.15 0.10 0.18

2 0 1.00 0 0 0.50

3 0.25 0.25 0.25 0.25 0

4 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 distribuıdas 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 =nX

i=1

�i

=nX

i=1

2

4

vuut1

p

pX

j=1

(Tij

� µ)2

3

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 especıfica. Se o valor do desvio padrao

acumulado e proximo de 0, as notas sao igualmente distribuıdas 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 possıvel mo-

nitorar 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

Page 113: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 83

possıvel 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 indivıduos na geracao com o valor

mais proximo a mediana para serem retornados como uma nova melodia.

3.3 Gerador Harmonico

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 conversıvel 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

trıade, 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 trıade 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 trıade do acorde que tem base na segunda nota

da escala natural teremos a trıade re (1a), fa (3a) e la (5a). Este e um acorde menor, ja

que o intervalo entre a primeira e a terceira nota da trıade 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

Page 114: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

84 Metodologia

Tabela 3.7: Notas do Campo Harmonico Natural de Do

1 2 3 4 5 6 7

Notacao Anglo-saxonica C D E F G A B

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

E importante ter uma representacao das solucoes que seja conveniente para mapear as-

pectos fundamentais da musica ocidental, nomeadamente alturas tonais e acordes. Ainda

considerando regras implıcitas de composicao ocidental, o grupo de notas formando a

trıade de um acorde especıfico e normalmente a base do processo de harmonizacao. As

outras caracterısticas 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

musica 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 respecti-

vas, 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

9O sistema de temperamento igual e baseado na divisao de uma oitava em doze semitons com amesma distancia entre si.

10Uma oitava e o intervalo entre duas notas, uma tendo metade ou o dobro da frequencia da outra.

Page 115: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 85

Tabela 3.8: Notas

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

Grau 1 - 2 - 3 4 - 5 - 6 - 7

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

A representacao deve ser significativa para o domınio especıfico, 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 especıfico de notas, que

devem ser executadas durante este compasso especıfico. 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.

E comum definir uma granularidade para esquemas de representacao em aplicacoes

computacionais para musica (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 possıvel 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 possıvel perceber que as frequencias absolutas das notas nao estao represen-

tadas. 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 possıvel o uso de uma trıade 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 trıade 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

Page 116: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

86 Metodologia

Tabela 3.9: Representacao de uma harmonia

Compasso 1 2 ... n

5a Nota E ... D

4a Nota C D ... F

3a Nota G A ... D

2a Nota E F ... B

Nota fundamental C D ... G

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 possıvel em relacao a ultima nota. Esta

codificacao faz o sistema tambem ser mais flexıvel 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 numeros inteiros de 1 a 12 pois a codificacao

nao precisa definir a qual oitava pertence a nota. Os numeros de 1 a 12 nao preci-

sam 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 consequen-

temente 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 (3.3)

onde ⌘ij

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

Page 117: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 87

3.3.2 Operadores Geneticos

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 especıfico de problemas. Estes ope-

radores 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 conveni-

entes 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) descre-

vem alguns possıveis operadores para harmonizacao, porem, com um esquema de repre-

sentacao 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 possıveis 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 nıvel

de bits, ja que isso poderia levar a muitas solucoes aleatorias. Similarmente ao cru-

zamento 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 indivıduos. 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%.

Mutacao da altura tonal Mudancas na altura tonal de uma das notas em um com-

passo. A maior mudanca possıvel 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

Page 118: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

88 Metodologia

um operador ou mesmo por varias mutacoes na altura tonal mas nao com uma

unica mutacao da altura tonal. Intervalos de no maximo um tom tambem forcam o

algoritmo a explorar mais acordes dissonantes pois uma nota de uma trıade nunca

sera mutada para outra nota da trıade. Note que intervalos realmente muito lar-

gos 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 possıvel 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.

Reinicializacao do acorde Reinicializa todas as notas de um compasso usando uma

trıade com uma nota da melodia no compasso correspondente. Isso gera novos

acordes com uma grande possibilidade de serem aceitaveis. Todas as trıades tem a

mesma probabilidade de serem escolhidas e a probabilidade de se aplicar o operador

e de 15%.

Copia 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 Harmonizacao 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 trıade simples (fundamental, terceira e quinta) ou a trıade 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

Page 119: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 89

Tabela 3.10: Operadores Geneticos do Gerador Harmonico

Operadores Geneticos 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 trıade sao normalmente recompensados. Apesar desta consideracao, notas alem

da trıade que nao se encaixam a melodia sao penalizados da mesma maneira que seriam

na primeira funcao de avaliacao.

Talvez poderia ser possıvel 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 trıades es-

pecıficas 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 diferen-

tes. 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 aten-

dida. Fazendo isto, as possibilidades entre harmonias complexas e simples nao seriam

exploradas.

Page 120: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

90 Metodologia

Figura 3.12: Metodo de Classificacao do NSGA-II

Assim, a definicao de uma unica funcao objetivo envolveria um estagio de definicao de

preferencias do usuario. Mesmo com esta definicao previa de preferencias, cada melodia

tem um conjunto possıvel de harmonias que nao e possıvel 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 possıvel, 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 equilıbrio 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, emprega-

se 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.

Page 121: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 91

Neste metodo, o fitness de um indivıduo e definido pelo numero da fronteira nao

dominada ao qual ele pertence, e o problema artificialmente se torna de minimizacao,

tendendo a selecionar os indivıduos que tem o menor numero de fronteira nao dominada.

A estimativa da densidade das solucoes em volta de um indivıduo tambem e con-

siderada no metodo para classificar os indivıduos da mesma fronteira (Deb, Agrawal,

Pratap & Meyarivan 2000). A quantidade idistancia

e a estimativa da densidade no ponto

de um indivıduo e dar mais valor a indivıduos 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

indivıduo esta detalhado no Algoritmo 3.2.

Algoritmo 3.2: Calculo do Crowding Distance dos indivıduos

(Deb, Agrawal, Pratap & Meyarivan 2000)

Entrada: Conjunto de solucoes I

l |I|; /* numero de soluc~oes em I */1

para todo i faca2

I[i]distancia

= 0; /* inicializa as distancias */3

fim4

para cada objetivo m faca5

I ordenar(I,m); /* ordena pelo valor da func~ao objetivo */6

I[1]distancia

I[l]distancia

=1; /* ajuda os pontos extremos */7

para i 2 ate (l � 1) faca /* para os outros pontos */8

I[i]distancia

= I[i]distancia

+ (I[i+ 1].m� I[i� 1].m);9

fim10

fim11

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

ordenacao das solucoes domina a complexidade do algoritmo, que e O(mN logN) no

pior caso.

3.3.4 Avaliacao das Solucoes

E comum imaginar um mentor humano para avaliar as solucoes quando geradores mu-

sicais estao em questao, tendo assim uma avaliacao legıtima. Esta nao e sempre uma

abordagem indicada, primeiramente, porque a avaliacao e tendenciosa na direcao das

Page 122: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

92 Metodologia

preferencias dos usuarios. Outro fator que nao pode ser negligenciado e que um mentor

humano e sempre suscetıvel 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.

E necessario determinar fatores que podem ou nao ser desejaveis as solucoes, como

descrito abaixo com as penalidades usadas neste trabalho.

• Trıades: A trıade e a estrutura basica de um acorde na musica ocidental. A

ausencia de trıades 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 trıade, 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

trıade 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 trıade 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

Page 123: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Metodologia 93

pois a distancia entre as notas e definida quando estas sao transcritas do genotipo

para o fenotipo.

• Notas e Acordes Invalidos: Notas que nao pertencem as 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 implıcita 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 implıcita 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 unıssonos: Nao e desejavel haver unıssonos gastando notas que poderiam

ser usadas para formar novos acordes. Unıssonos da nota fundamental podem ser

normais enquanto unıssonos da terceira nao sao normalmente aceitos. A maior

parte dos unıssonos sao penalizados em 5, unıssonos das terceiras sao penalizados

em 10 e unıssonos com a fundamental nao sao penalizados.

• Omissao de notas: Quando a trıade nao esta completa. Como ha 5 possıveis

notas no esquema de representacao proposto, e possıvel ter notas extras sem excluir

notas da trıade. A omissao da quinta pode ser considerada normal para se adicionar

notas extras. A unica restricao relativa a ausencia de notas e a ausencia de trıades

ja discutidas.

• Extensao 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.

• Setimas 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.

• Progressoes: Progressoes especıficas de acordes ou cadencias na harmonia po-

dem ter algum tipo de preferencia, especialmente quando compondo em um estilo

particular de musica. Este tipo de recompensa nao e considerado neste trabalho

Page 124: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

94 Metodologia

Tabela 3.11: Parametros na avaliacao do fitness

Condicao Funcao Funcao

Simplicidade Dissonancia

1: Ausencia de trıade -40 -40

1.1: Ausencia de quintas -15 -5

2: Nota dissonante -10 +10

2.1: Setima significativa 0 +10

2.2: Dissonancia de meio tom -20 -20

3: Unıssonos -5 -5

3.1: Unıssono da terceira -10 -10

3.2: Unıssono da fundamental 0 0

4: Nota Invalidaa -30 -30

5: Setima significativab +10 +10

6: Posicao da fundamental +10 +3aNote que as condicoes para que uma nota seja considerada invalida sao diferentes em cada funcao.

bNote que as condicoes para que uma setima seja considerada significativa sao diferentes em cada funcao.

pois na verdade ela recompensa implicitamente alguns generos de musica que uti-

lizam estas progressoes muito frequentemente. Estes tipos de regra nao podem ser

consideradas gerais mesmo quando apenas musica ocidental e considerada.

• Posicao 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 simplici-

dade 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 converte-

los em partituras. Essas partituras finais serao representadas da mesma maneira que as

Page 125: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 possıvel 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 trıade e colocado junto

as notas do primeiro instrumento. Um exemplo de dois compassos criados para guitarra

estao tambem na Figura 3.13.

3.4 Conclusao

Neste capıtulo 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

Page 126: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

96 Metodologia

que seja aplicado a tarefas musicais.

Em seguida, o capıtulo trata de metodos de geracao de melodia e harmonia separa-

damente. Assim, os metodos podem ser combinados para gerar uma musica completa.

Para o problema proposto nesta dissertacao, diferentes AG devem ser definidos para

resolver os problemas especıficos. Particularmente, a evolucao de harmonias pode ser

feita atraves de um AG mais classico, que utiliza funcoes de fitness para dividir bons e

maus indivıduos.

Entretanto, abordagens e visoes diferentes devem ser analisadas para que se possa

resolver o problema em questao. Com a geracao de musica nao e diferente, e as possibi-

lidades de configuracao dos AG devem ser exploradas.

Nos capıtulos seguintes, descreve-se os experimentos gerados com estes algoritmos e

suas implicacoes.

Page 127: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Capıtulo 4

Resultados

4.1 Introducao

Neste capıtulo, durante a analise das abordagens utilizadas, sao mostrados experimentos

especıficos que ajudam a compreensao completa do funcionamento dos algoritmos, seus

valores de compromisso, takeovers e possıveis resultados.

Primeiramente, e analisado o funcionamento do gerador de melodias e a influencia de

seus possıveis 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 Gerador de Melodias

4.2.1 Base de dados

Diferentes melodias foram utilizadas para analisar as possibilidades do metodo. Os pri-

meiros 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 musica e sao mostrados na Figura 4.1. Os com-

passos 1-8 sao retirados do verso enquanto os compassos 9-16 sao retirados do refrao.

Esta pode ser considerada uma boa musica para analisar o algoritmo, ja que o verso tem

uma melodia simples, com apenas duas notas e um padrao rıtmico repetitivo, enquanto

97

Page 128: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

98 Resultados

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

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

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

' $ !' (! ! $ !5

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

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 possıveis.

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

Page 129: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Resultados 99

0

100

200

300

400

500

4 8 16 32Indivíduos

Gerações

Figura 4.4: Numero de geracoes para alcancar o takeover

4.2.2 Resultados e Discussao

Como o algoritmo encerra quando um takeover e encontrado, o numero de geracoes do

algoritmo varia em diferentes execucoes. O boxplot na Figura 4.4 mostra o numero 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 possıvel do

algoritmo que usa os primeiros 8 compassos da melodia da Figura 4.1.

Page 130: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

100 Resultados

0 10 20 30 40 500.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Geração

Valo

r de

Com

prom

isso

Figura 4.5: Valores de compromisso de 56 geracoes

!"!! ! # !5

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

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

Figura 4.6: Um resultado utilizando o verso da musica

Page 131: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Resultados 101

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

" ! !"! " !"%4 !"! !" !! "! "! !! !$

" ' !" ! &% ( !" " !#!)" !"!" !) * " !! !" ! !! !" !

Figura 4.7: Um resultado utilizando o refrao da musica

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

Todas as notas sao executadas no inıcio 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 caracterısticas 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 musica.

A influencia da estrutura rıtmica 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 rıtmica 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.

Page 132: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

102 Resultados

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

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

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

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

Uma nova cancao poderia ser construıda imitando-se o estilo da musica original e

partes desta nova cancao poderiam resultar do gerador melodico com partes diferen-

tes da cancao original. Mas mais do que isso pode ser feito: todas as partes de uma

musica 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 caracterısticas dos diferentes compassos muito provavelmente se

misturam e formam um especıfico “estilo intermediario”.

O estilo de uma musica pode mudar consideravelmente se restricoes sao impostas

a indivıduos atraves de qualquer funcao de fitness tendenciosa. Isso pode mudar ca-

racterısticas originais da melodia dando preferencias a certos indivıduos. Usar tambem

exemplos demonstrativos, como o da Figura 4.2, que nao sao muito musicais e util 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

musicos, esta sequencia de notas seria apenas utilizada como um exercıcio ou aqueci-

mento antes de uma apresentacao. Os resultados alcancados usando um AG livre de

Page 133: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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 mınimo

!!!" ! ! !# !! !! ! !! !! !Figura 4.9: Utilizando uma escala cromatica como populacao inicial

fitness pode ser considerado tao musical (ou nao musical) como a escala cromatica uti-

lizada como populacao inicial. Eles nao respeitam escalas especıficas, assim como a

populacao inicial, e o padrao rıtmico e tambem o mesmo.

Por outro lado, o resultado utilizando uma abordagem baseado em fitness mınimo

que penaliza indivıduos com notas fora da escala de C fizeram a melodia final respeitar

este aspecto. Mesmo com o padrao rıtmico 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 mınimo e que uma limitacao forte

foi imposta as melodias mesmo com os indivıduos 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 especıfico,

os resultados utilizando uma abordagem baseada em fitness mınimo 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

explıcita 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

Page 134: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

104 Resultados

a) Populacao Inicial - Parabens a Voce

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

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

b) Resultados com uma selecao livre de fitness

! " ! "! !5

# ! ! !!! ! !! !! ! !

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

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 especıficas. 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 prova-

velmente 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.

Page 135: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Resultados 105

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

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

Figura 4.11: Melodia de Parabens a Voce

4.3 Gerador de Harmonias

4.3.1 Parametros e Dados de Entrada

Experimentos foram realizados com uma populacao de 100 indivıduos 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 me-

lhor 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 ma-

triz na qual cada coluna representa um compasso e doze linhas representam as notas

possıveis 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 possıvel 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 possıveis para o problema.

No exemplo da Tabela 4.1, apenas notas naturais sao representadas na coluna total,

deduzindo-se que a escala implıcita dada pela melodia e C - ou qualquer outra escala

relativa, como A menor. A escala utilizada em uma musica 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

Page 136: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

106 Resultados

Tabela 4.1: Definindo uma escala de referencia para a harmonia

Measure 1 2 3 4 5 6 7 8

Notes Total

C 1 0 0 2 1 0 1 2 7

C# 0 0 0 0 0 0 0 0 0

D 0 0 1 0 0 0 1 0 2

D# 0 0 0 0 0 0 0 0 0

E 0 0 0 2 1 0 1 0 4

F 0 0 0 0 0 2 0 0 2

F# 0 0 0 0 0 0 0 0 0

G 3 2 1 0 1 0 0 0 7

G# 0 0 0 0 0 0 0 0 0

A 1 0 1 0 0 1 0 0 3

A# 0 0 0 0 0 0 0 0 0

B 0 1 0 0 0 1 0 0 2

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 Discussao

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-

divıduos na geracao dada, considerando as funcoes f1

e f2

. E claro que a presenca de

Page 137: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Resultados 107

1−20 41−60 81−100 121−140 161−180−200

−150

−100

−50

0

50

Geração

Influ

ência

no

Fitn

ess

Ausência de TríadeNotas dissonantesUníssonosNotas inválidasSétima significativasPosição da Tônica

Figura 4.12: Perfil de fitness atraves das geracoes

unıssonos tem o maior peso na avaliacao das solucoes. Isso acontece principalmente por

causa das solucoes com bons valores na funcao simplicidade f1

. Estes indivıduos nao

tem varias notas dissonantes e estas sao substituıdas por unıssonos 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 musica, representada na Figura 4.14, a qual o

algoritmo nao tem acesso explıcito. As unicas 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 factıveis tao diversas e

criativas quanto possıvel.

A Figura 4.15 mostra uma solucao retirada da frente de Pareto com um bom valor na

Page 138: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

108 Resultados

!" !!5 #$! ! ! !CC7% Dm

! % !G!

!G7

%% &! ! $! ! !C

!" ' ! !!!C

!Am

%

Figura 4.13: Solucao 1

! C! "!#

5 !!F

!!$C7 $G! % ! !

! %! ! C!! ! !# & ! !

G

$!C

$G

$' ! !

Figura 4.14: A harmonia original

Page 139: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Resultados 109

!C

!!"5 #!!

F

!!$D6

$Em7!! % !

F!!" & ! % ! !!! !

G6

$ ! !D

$! !G7/add6

$ '

Figura 4.15: Solucao 2

funcao dissonancia, especificamente fitness (�40, 101). E possıvel notar que o algoritmo

pode gerar harmonias mais complexas mesmo para uma melodia simples.

E tambem interessante notar que a solucao tem um acorde D, que nao pertence a

escala implıcita 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 indivıduos na frente de Pareto das ultimas geracoes exa-

minadas 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 fren-

tes de Pareto (Fonseca, Knowles, Thiele & Zitzler 2005) usando um ponto de referencia

(�1200,�1200). A Figura 4.16 representa informacoes relativas aos hipervolumes gera-

dos atraves de 200 geracoes (considerando 100 execucoes) com o eixo x representado em

escala logarıtmica.

Um exemplo da evolucao das frentes de Pareto em uma unica execucao do algo-

ritmo 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 extre-

mos 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 indivıduos, ou 21,08

100

n, sendo

Page 140: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

110 Resultados

100 101 1020.8

1

1.2

1.4

1.6

1.8

2x 106

Geração

Hip

ervo

lum

e

MédiaMedianaMáximoMínimoPercentil 25Percentil 75

Figura 4.16: Evolucao do hipervolume

n o numero inicial de indivıduos, 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 par-

ticipantes. O hipervolume medio na primeira geracao e g0

= 9, 3421⇥ 105 e na ultima

geracao e g200

= 1, 8197⇥ 106. 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 numero 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.

Page 141: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Resultados 111

−1200 −1000 −800 −600 −400 −200 0 200−1200

−1000

−800

−600

−400

−200

0

200

400

Fitness function 1

Fitn

ess

func

tion

2

Figura 4.17: Evolucao das frentes de pareto

Page 142: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

112 Resultados

Tabela 4.2: Pesquisa sobre a qualidade das solucoes

Geracao Harm.1 Harm.2 Harm.3 Media

0 2,0 1,1 4,3 2,5

6 (100,7782) 4,3 5,6 4,0 4,6

16 (101,2041) 5,1 5,0 4,1 4,7

200 (102,3010) 8,7 7,7 7,5 8,0

Media 5,0 4,9 5,0 5,0

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 musicos 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 numeros podem apenas estar

mostrando preferencias dos participantes.

Uma representativamente melhor avaliacao humana para indivıduos nas ultimas

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-

tes da pesquisa. E tambem interessante notar a divergencia entre as notas da ultima

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-

Page 143: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Resultados 113

tas que solucoes completamente aleatorias) em relacao as solucoes finais que tiveram

notas significativamente mais altas (320% mais alta que as solucoes iniciais). Isso ofe-

rece 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 estilısticas, 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 Conclusao

Os experimentos apresentados demonstram abordagens para resolver duas tarefas musi-

cais diferentes.

Para a geracao de melodias, e possıvel perceber a influencia da populacao inicial

nos resultados da abordagem apresentada assim como e possıvel 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.

Page 144: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

114

Page 145: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Capıtulo 5

Conclusoes

5.1 Conclusoes

Talvez o fato mais importante a ser notado no desenvolvimento de sistemas evolu-

cionarios para CA e que esta e uma tarefa na qual discussao no domınio 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 possıvel criar novas composicoes e misturar elementos conhecidos relaci-

onados a novas musicas. 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 rıtmica parcialmente explica o funcionamento do gerador de melodias

e como ele gera musica de generos similares, ja que ele mantem uma grande parte da

estrutura rıtmica 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 difıcil 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 especıfico

de regras. Assim, e mais significante ter operadores cientes musicalmente robustos que

funcoes de fitness baseadas em regras que podem ao contrario remover alguma criati-

115

Page 146: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

116 Conclusoes

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 implıcita 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 artifıcio de um mentor humano para avaliar a populacao

inteira. Este algoritmo pode nao apenas ser util 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 cla-

ros aspectos importantes deste tipo de algoritmo. O conhecimento implıcito 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 al-

goritmo ignore preferencias estritamente especıficas do usuario e gere um conjunto de

solucoes factıveis.

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 com-

promisso a ser analisado: aquele entre diversidade e obediencia a certas regras. A ultima

opcao nao e normalmente util para compositores procurando novas ideias. Ja sistemas

com criatividade podem gerar conjuntos com varias solucoes factıveis em vez de dar

sempre a mesma solucao excessivamente baseada em regras.

Modelos baseados em regras podem ser mais eficientes em alguns casos especıficos de

harmonizacao, especialmente quando compondo em um estilo especıfico. 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.

Page 147: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Conclusoes 117

5.2 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 musica 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 opera-

dores geneticos.

Existe trabalho potencial na representacao das solucoes. A mesma notacao musical

que faz a comunicacao mais facil entre musica 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 concluıdo 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 unıssonos no acorde.

Talvez, uma boa abordagem seja eliminar a quinta da trıade 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 multiobje-

tivo, (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 nıvel antes da inicializacao do AG pode ser util para

extrair mais informacao sobre o problema antes do inıcio do processo evolucionario. Isso

permitiria o desenvolvimento de melhores operadores especıficos para o domınio e um

processo musicalmente ciente mais eficiente. Os algoritmos atuais aqui descritos operam

apenas em nıveis temporais locais e nao globais, como a organizacao da musica 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.

Page 148: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

118 Conclusoes

Alem da avaliacao implıcita do gerador melodico, testes utilizando a matriz de take-

over - que contem uma medida de diversidade da populacao - para diferenciar o fitness

de indivıduos 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 heurıstica de

nıvel mais alto.

Page 149: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Referencias Bibliograficas

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, ide-

ology, Univ of Rochester Pr.

Back, T., Ho↵meister, 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. 131–131.

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. 28–51.

Biles, J. (2007b). Improvizing with genetic algorithms: Genjam, Evolutionary Computer

Music pp. 137–169.

119

Page 150: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

120 REFERENCIAS BIBLIOGRAFICAS

Biles, J., Anderson, P. & Loggi, L. (1996). Neural network fitness functions for a musi-

cal iga, Proceedings of the International ICSC Symposium on Intelligent Industrial

Automation (IIA’96) and Soft Computing (SOCO’96). .

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. 27–34.

Burton, A. R. & Vladimirova, T. (1997). Genetic algorithm utilizing neural network eva-

luation 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. 849–858.

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, infor-

mation theory and performance, Leonardo 36(1): 47–50.

Felder, D. & Stockhausen, K. (1977). An interview with karlheinz stockhausen, Pers-

pectives of New Music 16(1): 85–101.

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.

Page 151: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

REFERENCIAS BIBLIOGRAFICAS 121

Galanter, P. (2008). Complexism and the role of evolutionary art, The Art of Artificial

Evolution pp. 311–332.

Gardner, M. (1978). White and brown music, fractal curves and 1/f fluctuations, Sci-

entific American 238(4): 16–32.

Gartland-Jones, A. (2003). Musicblox: a real-time algorithmic composition system in-

corporating a distributed interactive genetic algorithm, Proceedings of the 2003 in-

ternational conference on Applications of evolutionary computing, Springer-Verlag,

pp. 490–501.

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.), Pro-

ceedings of the Fourth Annual Conference on Evolutionary Programming, pp. 53–65.

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): 109–120.

Hiller, L. (1981). Composing with computers: A progress report, Computer Music

Journal 5(4): 7–21.

Hiller, L. & Isaacson, L. (1958). Musical composition with a high-speed digital computer,

Machine models of music pp. 9–21.

Hillis, W. (1990). Co-evolving parasites improve simulated evolution as an optimization

procedure, Physica D: Nonlinear Phenomena 42(1-3): 228–234.

Horner, A. & Ayers, L. (1995). Harmonisation of musical progression with genetic

algorithms, ICMC Proceedings 1995, pp. 483–484.

Horner, A., Beauchamp, J. & Haken, L. (1993). Methods for multiple wavetable synthesis

of musical instrument tones, Journal-Audio Engineering Society 41: 336–336.

Horowitz, D. (1995). Generating rhythms with genetic algorithms, Proceedings of the

national conference on artificial intelligence, John Wiley & Sons LTD, pp. 1459–

1459.

Page 152: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

122 REFERENCIAS BIBLIOGRAFICAS

Hyde, M. (1985). Musical form and the development of schoenberg’s”twelve-tone

method”, Journal of Music Theory 29(1): 85–143.

Jacob, B. (1995). Composing with genetic algorithms, Proceedings of the 1995 Interna-

tional Computer Music Conference .

Jacob, B. (1996). Algorithmic composition as a model of creativity, Organised Sound

1(03): 157–165.

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): 51–54.

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 Menuettencom-

ponist, Musikwiss. Inst.

Kumar, V. (1992). Algorithms for constraint-satisfaction problems: A survey, AI Ma-

gazine 13(1): 32–44.

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. 3–37.

Lischka, C. (1991). Understanding music cognition: a connectionist view, Representati-

ons 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. 437–446.

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. 83–89.

Page 153: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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. 37–50.

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): 184–202.

McCormack, J. (2005). Open problems in evolutionary music and art, Applications on

Evolutionary Computing pp. 428–436.

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. 852–857.

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. 49–54.

Mozart, W. (1787). Musikalisches wurfelspiel: Anleitung so viel walzer oder schleifer mit

zwei wurfeln 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. 111–113.

Page 154: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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. 110–117.

Phon-Amnuaisuk, S., Tuson, A. & Wiggins, G. (1999). Evolving musical harmonisa-

tion, 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 percep-

tion, Springer Verlag.

Polito, J., Daida, J. & Bersano-Begey, T. (1997). Musica ex machina: composing 16th-

century counterpoint with genetic programming and symbiosis, Evolutionary Pro-

gramming VI, Springer, pp. 113–123.

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. 363–368.

Ralley, D. (1995). Genetic algorithms as a tool for melodic development, Urbana

101: 61801.

Reeves, C. (2010). Genetic algorithms, Handbook of Metaheuristics pp. 109–139.

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

Page 155: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

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. 1087–1094.

Schellenberg, E., Bigand, E., Poulin-Charronnat, B., Garnier, C. & Stevens, C. (2005).

Children’s implicit knowledge of harmony in western music, Developmental Science

8(6): 551–566.

Sharman, K. & Esparcia-Alcazar, A. (2003). Evolutionary methods for designing digital

filters, Contemporary Music Review 22(3): 5–19.

Surmani, A., Surmani, K. & Manus, M. (2004). Alfred’s 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): 1275–1296.

Todd, P. & Werner, G. (1999). Frankensteinian methods for evolutionary music compo-

sition, 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 compo-

sition by simulated breeding method. extension to multi-part., Joho Shori Gakkai

Kenkyu Hokoku 2002(40): 133–138.

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 com-

pose orchestral music, International Computer Music Conference ICMC99, pp. 201–

203.

Page 156: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

126 REFERENCIAS BIBLIOGRAFICAS

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

Computer Music pp. 117–136.

Wiggins, G., Papadopoulos, G., Phon-Amnuaisuk, S. & Tuson, A. (1998). Evolutio-

nary 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): 31–41.

Page 157: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

Indice Remissivo

Acorde, 14, 28, 30–32, 48, 83–86, 88, 89,

92–95, 107, 109, 117

Algoritmo

Evolucionario, 45, 46, 57, 58, 63, 66, 76

Genetico, 3, 12–14, 41–43, 45, 46, 49,

50, 53, 61, 74, 83, 85, 90, 95, 96,

102, 106, 113, 117

Altura Tonal, 16, 18–21, 26, 27, 32, 33, 46,

56, 57, 69, 84–89, 93

Amplitude, 18, 19, 21, 23, 25, 39, 69

Avaliacao, 5, 12, 13, 15, 42, 45, 50, 53, 56–

63, 66, 67, 73, 75, 78, 85, 87–89, 91,

94, 97, 107, 112, 113, 116–118

Compasso, 5, 14, 15, 32, 33, 46–48, 50, 56,

57, 63, 66, 67, 69–73, 75, 78–80, 83,

85, 87–89, 92–95, 97, 99, 101, 102,

105, 106, 109, 117

Composicao Algorıtmica, 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, 53–55, 57, 63, 71, 79, 87,

101

Escala, 11, 12, 19–21, 28, 30–33, 36, 46, 47,

57, 58, 68, 69, 72, 74, 77, 83, 84,

93, 103–106, 109, 112

Fitness, 5, 8, 9, 41, 42, 45, 51–53, 56–58,

61, 63, 66, 67, 71, 74–78, 83, 86,

88, 89, 91, 92, 94, 96–98, 102–107,

109, 110, 112, 113, 115, 116, 118

Implıcito, 63

Mınimo, 58, 74, 76, 103

Funcao, 8, 9, 13, 42, 44–46, 50, 57, 62,

73–75, 86, 89–94, 98, 102, 105–107,

109, 110, 112, 115, 116

Gerador Melodico, 33, 66, 67, 70–72, 74,

77, 78, 97, 102, 115, 118

Harmonia, 6–9, 11, 14, 16, 27, 28, 30, 41,

42, 47, 54, 71, 83, 85, 87–90, 92–94,

96, 107, 109, 110, 112, 113, 116

Hipervolume, 109, 110, 113

Inteligencia Artificial, 3, 12

Interacao Homem-Computador, 36, 39, 61

Intervalo

Horizontal, 30, 50, 56

Vertical, 30, 55, 72, 85–87, 92

Musica Evolutiva, 3, 13, 44, 46, 54–56, 66,

71

Matriz de Takeover, 66, 67, 71, 80–82, 116,

118

Melodia, xiv, 5–9, 14, 16, 27, 28, 30, 31, 33,

37, 41, 42, 46–48, 50, 55, 56, 58–60,

127

Page 158: Música Evolutiva: Uma Abordagem Computacional para ... · Para compreender o funcionamento do processo de composi¸ca˜o, seja ele algor´ıtmico ou na˜o, ´e necessa´rio analisar

128 INDICE REMISSIVO

62, 63, 66, 67, 69–78, 81–83, 88–90,

93, 95–99, 101–107, 109, 113, 115,

116, 118

MIDI, 15, 23, 47, 67, 68, 95

Motivo, 27

Multiobjetivo, 8, 9, 90

Mutacao, 53–56, 62, 72, 73, 79, 87, 88

Nota, xiv, 8, 11–13, 19–21, 25–28, 30–33,

37, 42, 46–48, 50, 53, 55–57, 59, 61,

65–70, 72–74, 79–89, 92–95, 97, 98,

101–107, 109, 112, 117

NSGA-II, 90, 113

Operadores Geneticos, 5, 45, 50, 53, 62, 63,

66, 67, 69–71, 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, 67–70, 73, 83–88, 92, 93,

95, 105, 117

Ritmo, 13, 32, 47, 48, 84, 95, 101

Roleta, 51

Selecao, 5, 12, 42, 43, 51–53, 63, 70, 74–76,

87, 104

SST, 13

Takeover, 64–66, 70, 71, 75–83, 99, 116

Timbre, 7, 13, 16, 18, 25–27, 33, 39, 65, 68

Valor de Compromisso, 82, 83, 97, 99

Velocidade, 18, 23, 69

Volume, 7, 16, 18, 21, 23, 25