Sunteți pe pagina 1din 43

Universidade de São Paulo

Escola de Artes, Ciências e Humanidades

Estudo e Desenvolvimento de Um Sistema para Síntese


Automática de Melodia

Danilo Martins de Araújo

Monografia apresentada à Escola de Artes,


Ciências e Humanidades, da Universidade de São
Paulo, como parte dos requisitos exigidos na
disciplina ACH 2018 – Projeto Supervisionado ou
de Graduação II, do curso de Bacharelado em
Sistemas de Informação.

São Paulo, Janeiro de 2010


Universidade de São Paulo
Escola de Artes, Ciências e Humanidades

Estudo e Desenvolvimento de Um Sistema para Síntese


Automática de Melodia

Danilo Martins de Araújo

Orientação

__________________________________
Prof. Dr. Luciano Antonio Digiampietri

Banca Examinadora

________________________________
Profa. Dra. Ariane Machado Lima

________________________________
Prof. Dr. Fernando Auil

São Paulo, Janeiro de 2010


ii
Agradecimentos

Agradeço a familiares e amigos que me apoiaram e motivaram.


Principalmente aqueles que acharam que meu programa ia achar tônicas, terças e
quintas, ao meu orientador por ter acreditado nesta ideia, que no começo soou
bem maluca e à minha namorada que compreendeu o fato de tê-la trocado pela
tela do computador em alguns finais de semana.

“After silence, that which comes nearest to


expressing the inexpressible is music.”
Aldous Huxley

iii
Resumo

Neste trabalho é desenvolvido um sistema capaz de compor música. Mais


especificamente, o sistema sintetiza melodias a partir de uma base de dados de
melodias.
Esse trabalho foi elaborado pela idealização e motivação de simplesmente criar
música, e também pelo desafio de explorar possibilidades e capacidades computacionais
disponíveis além de parte da ciência que analisa capacidade cognitiva em sistemas
informatizados que é a Inteligência Artificial.
O sistema compositor aqui proposto foi desenvolvido utilizando processos de
descoberta de conhecimento, processos estes que não são comumente encontrados na
literatura referente à composição algorítmica.

Palavras chaves: Música, Inteligência Artificial, KDD, Composição Algorítmica.

iv
Índice

RESUMO ...................................................................................................................IV
LISTA DE FIGURAS ....................................................................................................VII
LISTA DE TABELAS ...................................................................................................VIII
GLOSSÁRIO ............................................................................................................... IX

1. INTRODUÇÃO ......................................................................................................... 1
1.1. MOTIVAÇÃO............................................................................................................... 1
1.2. OBJETIVOS ................................................................................................................. 1
1.3. ESTRUTURA DO TRABALHO ............................................................................................ 2

2. CONCEITOS BÁSICOS E REVISÃO BIBLIOGRÁFICA .................................................... 3


2.1. CONCEITOS BÁSICOS .................................................................................................... 3
2.1.1. Música ............................................................................................................. 3
2.1.2. Escala Musical Ocidental ................................................................................. 5
2.1.3. Harmonia Funcional e Tonalidade .................................................................. 7
2.1.4. Forma .............................................................................................................. 7
2.2. COMPOSIÇÕES ALGORÍTMICAS ....................................................................................... 8
2.2.1. Musikalisches Würfelspiel ............................................................................... 9
2.2.2. Experiments in Musical Intelligence (EMI) .................................................... 10
2.2.3. AntMusic........................................................................................................ 11
2.2.4. Análise Harmônica Funcional de Música Tonal ............................................ 12
2.2.5. Vox Populi ...................................................................................................... 13
2.2.6. Resumo dos Trabalhos Correlatos ................................................................. 16

3. MATERIAIS E MÉTODOS ....................................................................................... 17


3.1. RECURSOS UTILIZADOS................................................................................................ 17
3.2. FONTES BIBLIOGRÁFICAS ............................................................................................. 17
3.3. METODOLOGIA ......................................................................................................... 18

4. SISTEMA COMPOSITOR ........................................................................................ 19


4.1. LIMITAÇÕES E DESAFIOS.............................................................................................. 19
4.1.1. Limitações Musicais....................................................................................... 19
4.1.2. Desafios Técnicos .......................................................................................... 20
4.2. DESENVOLVIMENTO DO SISTEMA.................................................................................. 20
4.2.1. Estrutura dos dados....................................................................................... 20
4.2.2. Desenvolvimento do Algoritmo ..................................................................... 23
4.2.3. Exemplos e resultados ....................................... Error! Bookmark not defined.
v
4.3. APLICAÇÃO DO QUESTIONÁRIO .................................................................................... 26
4.3.1. Resultados e Análise do Questionário ........................................................... 26

5. CONCLUSÃO ......................................................................................................... 28
5.1. PRINCIPAIS DIFICULDADES ........................................................................................... 28
5.2. TRABALHOS FUTUROS ................................................................................................ 28

REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................ 29


APÊNDICE A ............................................................................................................. 31

vi
Lista de Figuras

FIGURA 1. REPRESENTAÇÕES GRÁFICAS DAS DURAÇÕES DE UMA NOTA .......................................... 4


FIGURA 2. EXEMPLO DE MATRIZ DO MUSIKALISCHES WÜRFELSPIEL (LANGSMAN, 2004) .............. 9
FIGURA 3. GRAFO COM O PERCURSO DAS FORMIGAS VIRTUAIS (GUERÉT ET AL, 2004). ............... 11
FIGURA 4. INTERFACE GRÁFICA DO VOX POPULI. .................................................................... 15
FIGURA 5. VISÃO DO TECLADO COMUM COMO UM TECLADO MUSICAL ........................................ 22
FIGURA 6. PROGRESSÃO I, V, VI, IV EM C ............................................................................ 25

vii
Lista de Tabelas

TABELA 1. TABELA DE CONVERSÃO PARA NOTAÇÃO INTERNACIONAL ............................................. 6


TABELA 2. TABELA COMPARATIVA ENTRE SISTEMAS COMPOSITORES ........................................... 16
TABELA 3. DISTRIBUIÇÃO DAS NOTAS PELO TECLADO DE COMPUTADOR ....................................... 21
TABELA 4. MÉDIA DAS NOTAS DAS MÚSICAS .......................................................................... 27

viii
Glossário

EMI – (Experiments in Musical Intelligence), projeto de um software capaz de gerar


composições ao estilo de compositores clássicos
Feromônio – Substâncias químicas que permitem reconhecimento mútuo e sexual em
animais de mesma espécie.
Guitar Pro – Software para edição e partituras e tablaturas.
Java – Linguagem de programa orientada a objetos.
KDD – (Knowledge-Discovery in Databases), processo de extração de informação em
base de dados.
MIDI – (Musical Instrument Digital Interface), protocolo para comunicação entre
alguns instrumentos musicais.

ix
1. Introdução
Música é um importante artefato encontrado em quase todas as culturas e que
está fortemente conectado à mente humana e às emoções. Apesar de a música
estar relacionada a uma série de características subjetivas, relacionadas com o
gosto individual, as regras para composição musical são, na maioria dos casos,
proibições ou restrições. Essas proibições e restrições são funções matemáticas
utilizadas pelos músicos para criar arranjos musicais (KRAMER et al, 2006).

A elaboração de algoritmo para criação musical não é um ideia nova, apesar


de não encontrada na literatura, que serviu de referência para a confecção deste
trabalho, algo relativo ao método criado para composição musical. Método este
que pode ser grosseiramente descrito como descoberta de conhecimento.

1.1. Motivação
COPE (2002) afirma que a produção de um algoritmo para compor música é
algo que fascina os homens há muito tempo. Essa mesma afirmação pode ser
aplicada à motivação inicial para a idealização e criação deste trabalho.

A ideia inicial para esse trabalho é reproduzir o processo de escolha de notas


para uma composição que um compositor utiliza que, a partir de um “banco de
dados” interno contendo notas e tempos, pode então decidir quando e onde
aplicar cada nota com base em conhecimentos como qual tom e qual acorde está
sendo tocado, ou qual ritmo ou estilo deseja-se reproduzir.

1.2. Objetivos
O objetivo principal deste trabalho é a elaboração de um programa capaz
elaborar uma melodia, dada uma determinada harmonia. É esperado que além de
correto harmonicamente que o resultado obtido seja agradável.

1
Objetivos Específicos:

- Realização de uma revisão bibliográfica sobre pesquisas que relacionam


Inteligência Artificial e composição musical.

- Definição das limitações, do ponto de vista musical, que serão empregadas


de forma a manter o trabalho factível e coerente.

- Definição de quais algoritmos e quais tipos de regras e restrições serão


implementados na aplicação a ser desenvolvida neste trabalho.

- Implementação da aplicação para a composição automática de uma


melodia.

- Análise dos resultados obtidos.

1.3. Estrutura do Trabalho


Primeiramente, será apresentado neste trabalho conceitos ligados à música
como notas, duração e harmonia musical, conceitos necessários para explicar o
algoritmo e técnicas que foram utilizados para a criação do sistema compositor.

Em seguida, a Seção 3 apresenta os trabalhos correlatos, apresentando


sistemas automatizados para a criação musical.

Na Seção 4 são discutidos os detalhes técnicos do sistema compositor, tais


como são armazenados os dados e como o sistema interpreta os dados.

Por fim, a Seção 5 contém as conclusões deste trabalho.

2
2. Conceitos Básicos e Revisão Bibliográfica
Esta seção apresenta os conceitos básicos necessários para o entendimento
deste trabalho e a revisão dos trabalhos correlatos.

2.1. Conceitos Básicos


Esta subseção descreve os principais conceitos relacionados à música e
composição musical. Estes conceitos vão desde o que é uma simples nota até
uma discussão sobre harmonia musical (LACERDA, 1961).

2.1.1. Música
“A música é a arte do som” (LACERDA, 1961) e possui quatro propriedades
principais: duração, intensidade, altura e timbre.

Duração é a propriedade do som que é determinada pelo tempo que um som


é produzido (LACERDA, 1961). Um conceito primordial quanto à duração de
tempo de uma nota é o conceito de compasso. O compasso de uma música,
segundo LACERDA (1961), é a divisão da música em várias pequenas partes de
duração igual ou variável.

A duração de uma nota é representada pela grafia de uma nota em uma


partitura. Em ordem decrescente, as notas podem ser classificadas quanto sua
duração como sendo breve, semibreve, mínima, semínima, colcheia,
semicolcheia, fusa, semifusa e quartifusa (LACERDA, 1961). A Figura 1 mostra
a representação gráfica das principais durações.

3
Figura 1. Representações gráficas das durações de uma nota

 Breve: nota utilizada somente até a idade média, principalmente no canto


gregoriano, era a mais curta, por isso seu nome “breve”. Mas após a idade média
esta nota entrou em desuso, e se tornou a maior duração de uma nota que se
pode escrever com um único símbolo, possui duração equivalente a duas
Semibreves (LACERDA, 1961).

 Semibreve: é a nota de maior duração na notação musical no padrão atual.


Esta nota serve como referência para as demais notas e para a duração de um
compasso (LACERDA, 1961).

 Mínima: nota musical cuja duração vale metade de uma semibreve


(LACERDA, 1961).

 Semínima: nota cuja duração vale metade de uma Mínima ou 1/4 da


duração de uma Semibreve (LACERDA, 1961).

 Colcheia: a duração de uma Colcheia é equivalente à metade da duração


de uma Semínima ou 1/8 de duração de uma Semibreve (LACERDA, 1961).

 Semicolcheia: Nota cuja duração vale metade de uma Colcheia ou 1/16 de


uma Semibreve (LACERDA, 1961).
4
 Fusa: sua duração vale metade de uma Semicolcheia ou 1/32 de uma
Semibreve (LACERDA, 1961).

 Semifusa: equivalente à metade de uma Fusa ou 1/64 de uma Semibreve


(LACERDA, 1961).

 Quartifusa: notação muito rara. A duração desta nota equivale à metade


de uma Semifusa ou 1/128 de uma Semibreve (LACERDA, 1961).

Um compasso é formado por uma “unidade de tempo”, e esta unidade de


tempo por sua vez é formada por uma nota, que é utilizada para representar o
compasso (LACERDA, 1961).

Intensidade é a propriedade sonora que é determinada pela força de um som:


se este é mais fraco ou mais forte. Equivale ao volume do som emitido por um
instrumento (LACERDA, 1961).

Altura é a propriedade que determina o quão grave ou agudo um dado som é.


Um exemplo: o piano quando tocado da direita para esquerda o som torna-se
gradativamente mais grave, e quando tocado da esquerda para a direita o som
vai se tornando mais agudo (LACERDA, 1961).

Timbre refere-se à qualidade do som, propriedade que permite reconhecer


qual material foi utilizado para gerar um som em particular. É pelo timbre que
reconhecemos se uma nota foi gerada por um violino, piano ou mesmo pela voz
humana (LACERDA, 1961).

2.1.2. Escala Musical Ocidental


Neste trabalho é utilizado a notação internacional para as notas musicais, ou
seja, para referir a uma determinada nota, não será utilizada a notação latina, que
deriva das do hino a São João Batista, a saber: Dó, Re, Mi, Fá, Sol, Lá e Si, mas
será utilizada a notação C, D, E, F, G, A e B. A tabela 1 ilustra em detalhes a
conversão.

5
Notação
Nota
Utilizada
Dó C
Ré D
Mi E
Fá F
Sol G
Lá A
Si B
Tabela 1. Tabela de conversão para notação internacional

Escala musical é conjunto de notas, onde cada nota corresponde a uma


frequência sonora. Usualmente, usa-se como referência a nota Lá que possui
uma frequência de 440Hz e se for dobrada essa frequência, 880 Hz, será obtida
uma nova nota A, mais aguda mas correspondente. Em termos musicais, essa
nota A com o dobro da frequência é uma oitava acima da nota A que é utilizada
como referência. O mesmo ocorre com a nota cuja frequência é 220 Hz que é
uma nota A que se encontra uma oitava abaixo da nota referência (MEDEIROS
& MONTEIRO, 1998).

Pode-se organizar matematicamente o raciocínio para encontrar oitavas, tal


que, dado a frequência de uma nota, suas oitavas serão 2n no caso a nota A, que
possuí 220 Hz de frequência e está a duas oitavas da nota lá 880 Hz, portanto, 22
(MEDEIROS & MONTEIRO, 1998).

Na escala ocidental, pega-se esse intervalo denominado oitava e é dividido


em 12 subintervalos cada um sendo as doze notas, as sete naturais que são C, D,
E, F, G, A e B e os cinco acidentes1 C#, D#, F#, G# e A# (. A distância em
termos de frequência de uma nota para a outra é de 2(1/12), ou seja, entre meio
tons as diferenças entre as frequências é de 1,0594631 (MEDEIROS &
MONTEIRO, 1998).

1
Acidentes são notas geralmente marcadas com o sinal de ‘sustenido’, a cerquilha(#).
Sustenido indica que a nota escrita está meio tom acima da nota correlata.
6
2.1.3. Harmonia Funcional e Tonalidade
Dentre os conceitos ligados à harmonia, o conceito mais subjetivo é
tonalidade, que é um conceito muito mais cultural do que específico. Tonalidade
em uma música não é necessariamente representada por uma nota ou acorde em
específico, é o conjunto de expectativa de quem compõe uma música em relação
aos ouvintes (MEDEIROS & MONTEIRO, 1998).

Uma música pode ser classificada primariamente em dois tipos principais


quanto ao tom, que pode ser Maior ou Menor. O tom de uma escala maior deriva
diretamente da escala natural de C, que é C, D, E, F, G, A e B e a escala menor
pode ser considerada uma derivada da escala maior, um exemplo disso, é a
escala de Am, que corresponde às notas A, B, C, D, E, F e G. Traduzindo, se o
compositor quiser compor uma melodia em C ou Am, ele irá utilizar as notas C,
D, E, F, G, A e B o que permite uma pessoa discernir qual tonalidade está sendo
utilizada, os acordes que estão sendo tocados, o que define a tonalidade da
música (MEDEIROS & MONTEIRO, 1998).

2.1.4. Forma
SCHOENBERG (2008) em seu livro explana um conceito importante que é a
“forma”, que corresponde à organização de uma peça musical. Sem organização,
uma música seria tão inteligível quanto um diálogo no qual os argumentos
variassem a todo instante sem razão aparente.

Da mesma maneira em que é necessário pontuar um texto para que o


interlocutor possa entender em total amplitude o que foi falado, uma peça
musical precisa ser subdividida em partes, e estas estarem organizadas lógica e
coerentemente. Subdividir é necessário, pois a mente humana é limitada e nos
impede de memorizar facilmente coisas extensas (SCHOENBERG, 2008).

Uma medida utilizada para fazer distinção das partes de uma música é a
“frase”, que é a unidade aproximada daquilo que pode ser cantando em um só
fôlego (SCHOENBERG, 2008).
7
2.2. Composições Algorítmicas
Esta seção tem como objetivo situar este trabalho quanto a trabalhos que se
referem à automatização do processo de composição musical. Inicialmente, é
apresentada uma contextualização dos tipos de soluções empregadas para a
composição algorítmica. Em seguida, são apresentados cinco trabalhos
correlatos detalhados nas subseções de 2.2.1 a 2.2.5 e comparados na seção
2.2.6.

JÄRVELÄINEN (2000) descreve alguns métodos para composições


algorítmicas, dividindo de maneira simplista, em duas categorias distintas os
sistemas baseados diretamente em modelos matemáticos: modelos
determinísticos e modelos estocásticos. Esta categorização foi feita
independentemente da utilização de um sistema informatizado para as
composições.

Na utilização dos modelos determinísticos, o compositor necessita somente


fornecer dados iniciais e executar o algoritmo. O resultado varia somente se
forem modificados os dados iniciais que são fornecidos.

Um processo estocástico é um processo que normalmente é aleatório, como a


rolagem de dados, assim como a rolagem de dados está ligada às leis da
probabilidade (JÄRVELÄINEN, 2000).

Processos estocásticos e, especialmente, Cadeias de Markov foram usados no


passado para a composição musical algorítmica. O principal motivo para o
emprego de métodos estocásticos para a composição musical algorítmica se dá
pela sua baixa complexidade, o que os torna atraentes para aplicações em tempo
real (PAPADOPOULOS & WIGGINS, 1999).

JÄRVELÄINEN (2000) afirma que nem sempre é claro identificar em qual


classificação determinados algoritmos se encaixam, além do fato de que tais
sistemas podem possuir ambos os tipos de modelos para construir uma peça
musical.

8
Ainda dentro de composição musical baseada em modelos matemáticos, há
sistemas baseados em modelos caóticos e não lineares (PAPADOPOULOS &
WIGGINS, 1999).

2.2.1. Musikalisches Würfelspiel


No século 18 houve a popularização do Musikalisches Würfelspiel ou Jogo
Musical de Dados. Esse jogo, tipicamente, envolve uma matriz de 6x11 itens,
cada item da matriz é uma peça musical( LANGSMAN, 2004). Como mostra a
Figura 2. Este jogo é considerado o primeiro algoritmo formal para a
composição que se tem notícia, é datado do século XVIII (COPE 2002).

Figura 2. exemplo de matriz do Musikalisches Würfelspiel (LANGSMAN, 2004)

Para decidir quais itens serão tocados e a ordem, são utilizados dados. Não
importando a combinação dos elementos da matriz, será produzido um resultado

9
diferente, sempre musicalmente correto, embora muitas vezes o material
produzido possua qualidade questionável (COPE 2002).

2.2.2. Experiments in Musical Intelligence (EMI)


David Cope, professor da Universidade de Santa Cruz, na Califórnia, iniciou
seus experimentos em Inteligência Artificial no começo da década de 80 em seu
trabalho Experiments in Musical Intelligence (EMI), que é o projeto de um
software capaz de gerar composições ao estilo de compositores clássicos
(LANGSMAN, 2004).

O primeiro passo realizado pelo algoritmo desenvolvido por COPE é a


análise da música quanto à melodia, estrutura e harmonia, para então dividi-la
em pequenos fragmentos, algo muito similar ao Würfelspiel. O segundo passo
refere-se à aplicação de uma técnica de reconhecimento de padrões, ou seja,
reconhecimento do estilo do compositor que está sendo estudado. Tendo os dois
passos anteriores, é criada então uma “gramática” representando o estilo de
determinado compositor (LANGSMAN, 2004).

O estágio final do algoritmo é criar uma peça musical original com base nos
padrões, ou seja, na “língua” de algum compositor (LANGSMAN, 2004)

Para PAPADOPOULOS & WIGGINS (1999), a ideia de que há uma


“gramática da música” é, provavelmente, uma ideia tão velha quanto à da
própria gramática. Essa ideia apresenta os seguintes problemas:

 Em sua maioria, senão todas, as implementações de gramáticas musicais


não têm cuidados com a semântica das peças originadas.

 Usualmente, produz linhas musicais de qualidade questionável.

 Em grande parte dos casos é computacionalmente caro confrontar


ambiguidades.

10
2.2.3. AntMusic
GUERÉT et al (2004) desenvolveram um projeto denominado AntMusic, que
relaciona música e ciência. Este projeto utiliza técnicas de inteligência artificial
baseadas na inteligência coletiva de um formigueiro, ou seja, o mesmo tipo de
comportamento que formigas usam para se organizar como uma unidade, para a
criação de músicas utilizando o computador.

Em AntMusic, são utilizadas formigas artificiais para construir uma melodia


de acordo com as probabilidades das tomadas de decisão para a escolha do
caminho considerando o comportamento de marcar caminhos com feromônios.
Os caminhos e decisões das formigas são descritos em um grafo, conforme
ilustra a Figura 3 (GUERÉT et al 2004).

Figura 3. Grafo com o percurso das formigas virtuais (GUERÉT et al, 2004).

11
Formigas artificiais são agentes que estão localizados nos vértices do grafo e,
ao se moverem por esse grafo, depositam feromônios nas arestas. Então, quanto
mais formigas escolherem uma determinada aresta, mais ela será visitada, uma
vez que existirá mais feromônio nesta aresta, esse sistema foi denominado Ant
System (GUERÉT et al 2004).

Ant System interpreta o sistema de formigas artificiais transformando os


dados dos eventos e variáveis relacionados às formigas artificiais em música. No
grafo formado pelo caminho das formigas, os vértices correspondem à nota e à
duração da mesma, e a melodia é formada analisando como as formigas se
comportaram andando pelo grafo (GUERÉT et al 2004).

2.2.4. Análise Harmônica Funcional de Música Tonal


PASSOS (2008) em seu trabalho, analisa a utilização de modelos de estados
ocultos de Markov para a análise tonal de uma melodia. Também são feitas
comparações deste modelo com algoritmos heurísticos, redes neurais e com o
classificador k-vizinhos-mais-próximos.

Cadeia de Markov é um sistema discreto onde um grafo é formado a partir da


matriz de probabilidade, que no caso de sistemas musicais é formada pelas notas
de uma música (JÄRVELÄINEN, 2000).

RUSSEL & NORVIG (2004) tentam simplificar sem detalhes técnicos a


razão de Cadeia de Markov ser um sistema eficaz:

“O processo de amostragem se fundamenta em um „equilíbrio dinâmico‟


no qual a fração a longo prazo do tempo gasto em cada estado é exatamente
proporcional à sua probabilidade posterior”.

PAPADOPOULOS & WIGGINS (1999) relataram que a principal


desvantagem da Cadeia de Markov é que, para simular um estilo musical em
particular, é necessário encontrar as probabilidades pela análise de muitas peças
musicais.

12
Um modelo de estados ocultos de Markov é um modelo de processo
estocástico, por processos estocásticos entende-se que são modelos
probabilísticos que evoluem no tempo de maneira probabilística. Em particular o
processo estocástico desenvolvido por Markov é muito utilizado em problemas
de reconhecimento de voz e processamento de linguagem natural (PASSOS,
2008).

Os dados utilizados como entrada são os corais de Bach, por serem


harmonicamente ricos, mesmo com sua simplicidade. Eles são objetos de estudo
em aulas de harmonia musical, sendo considerados exemplos canônicos de
harmonia tonal (PASSOS, 2008).

Com a análise harmônica funcional, são encontrados a tonalidade e os


acordes referentes à determinada melodia (LACERDA, 1961).

Segundo PASSOS (2008), um Modelo de Markov aplicado à análise


harmônica funcional é capaz de, dada uma função tonal, dizer quais notas
pertencem àquela função.

Os problemas encontrados por PASSOS (2008) foram os problemas


relacionados às limitações do próprio modelo de estados ocultos de Markov,
tanto no modelo probabilístico, quanto na necessidade de prefixar todos os
acordes possíveis, o que impossibilita que o modelo aprenda a combinar notas
existentes para a formação de novos acordes.

2.2.5. Vox Populi


Vox Pupoli (ALVES 2003) utiliza-se de técnicas de computação evolutiva
para compor música em tempo real. O Vox Populi é capaz de criar música
interativamente utilizando Algoritmos Genéticos e, neste caso, a população é o
conjunto de acordes, e a função de fitness resolve o melhor acorde a cada
geração, e esse acorde é selecionado como o próximo elemento na sequência a
ser tocado. Através da interface gráfica, o usuário pode alterar interativamente
os atributos musicais e a função de fitness (ALVES, 2003).

13
Em aplicações para criação musical a utilização de algoritmos genéticos
demonstrou ser um método muito eficiente, devido a sua especial habilidade,
para prover múltiplas soluções, um atributo geralmente necessário em processos
criativos, fazendo com que algoritmos genéticos sejam bons candidatos para a
confecção de um sistema de busca numa aplicação musical (PAPADOPOULOS
& WIGGINS, 1999).

Na Figura 4 é apresenta uma cópia de tela do VoxPopuli. Na janela “Graphic


Interface”, há comandos para mudar o comportamento da música que está sendo
criada, em tempo real. Em “Parameter Control”, está os controles das
características relacionadas com a função de fitness para a decisão de melhores
acordes e melhores notas a serem tocadas.

Segundo BENTLEY & CORNE (2001), devido às ferramentas que


possibilitam o programa executar em tempo real, o Vox Populi pode ser
considerado um instrumento musical por prover os controles dos critérios de
escolha, que são as funções de fitness, simultaneamente.

Foram realizados testes em uma cópia do Vox Populi e nesse teste foi
possível verificar o resultado, comparando com a proposta inicial dos
idealizadores. Também foi possível, através da experimentação do programa,
observar na prática as respostas aos controles pelo mouse das variáveis que
modificam a estrutura da música que está sendo composta, inclusive o
comportamento e volume de cada um dos quatro “instrumentos” mostrados na
caixa “Performance Control”.

14
Figura 4. Interface gráfica do Vox Populi.

15
2.2.6. Resumo dos Trabalhos Correlatos
Esta seção apresenta uma tabela-resumo comparativa entre os diferentes
sistemas estudados e descritos na revisão bibliográfica.

Nome do Sistema Técnica Utilizada

Musikalisches Würfelspiel Matriz de peças musicais, e para


seleção são utilizados dados.

EMI (Experiments in Musical É construída uma gramática


Intelligence) (COPE, 2002) “musical” de acordo com
elementos estudados de um estilo
ou músico em particular

AntMusic (GUERÉT et al, 2004) Algoritmo baseado no


comportamento de formigas.

Analise Harmônica Funcional de Cadeias de Markov com Estados


Musica Tonal(PASSOS, 2008) Ocultos.

Vox Populi(MANZOLLI et al, Algoritmos Genéticos.


1999)

Tabela 2. Tabela comparativa entre sistemas compositores

16
3. Materiais e Métodos
Nesta seção é descrito o que foi utilizado, em termos de recursos, para a
idealização e desenvolvimento deste trabalho.

3.1. Recursos utilizados


Em termos de equipamento foi utilizado o computador pessoal do próprio
autor que detém a seguinte configuração:

Hardware:

- Computador AMD Phenom II X4 2.8 GHz e 4Gb de RAM.

Software:

- Microsoft Windows XP Professional

- Microsoft Office 2007

- Eclipse Java EE IDE for Web Developers Galileo

- Java SE 1.6

- Guitar Pro 5.0 RSE

3.2. Fontes Bibliográficas


Conforme pode-se verificar na seções Bibliografia e Referências
Bibliográficas, este trabalho utilizou: livros didáticos; artigos científicos;
trabalhos de conclusão de curso; dissertações de mestrado e teses de doutorado
como principais fontes.

17
3.3. Metodologia
A metodologia deste trabalho consistiu no estudo dos principais trabalhos
relacionados ao tema com o objetivo de servirem como guia para a especificação
e o desenvolvimento do sistema proposto.

Com o resultado deste estudo, foram selecionadas as principais características


que seriam utilizadas pelo sistema proposto neste trabalho, bem como as
restrições/limitações que seriam aplicadas de forma a permitir que
implementação fosse viável tanto em complexidade exigida para a
implementação do código como em complexidade computacional necessária
para se executar um sintetizador automático de música.

Com a finalidade de verificar a qualidade, quanto ao quesito de quão


agradável é uma melodia sintetizada pelo sistema, foi elaborado e aplicado um
questionário simples com algumas pessoas. Mais detalhes sobre o questionário e
a análise do mesmo se encontram na seção 4.3.

18
4. Sistema Compositor
Esta seção tem como objetivo explicar o sistema implementado e alguns
conceitos relacionados com as limitações e desafios tanto no âmbito técnico
quanto musical.

4.1. Limitações e Desafios


Aqui são descritas as limitações encontradas e impostas, soluções
desenvolvidas e limitações contornadas.

4.1.1. Limitações Musicais


Conforme apresentado, o desenvolvimento de um sistema de composição
automática de melodias envolve diversas variáveis e pode acarretar na explosão
combinatória de possibilidades a serem avaliadas. Devido a isto, foram inseridas
limitações quanto à duração e altura das notas musicais, além de uma restrição
quanto à harmonia a ser utilizada.

Quanto às limitações sobre a duração das notas, será usado um único tipo de
compasso que será 4:4. As notas que preencherão cada compasso serão apenas
colcheias e não serão inseridas pausas. Em outras palavras, as limitações quanto
à duração das notas significam que para a aplicação as notas serão agrupadas em
conjuntos de oito notas, e isto será equivalente a uma frase.

Quanto à altura, para as composições serão utilizadas apenas duas oitavas, ou


seja, se cada oitava é conjunto de 12 notas (sete naturais e cinco acidentes)
teremos, ao todo, 24 notas. Este número abrange uma grande variedade de
composições e, ao mesmo tempo, permite uma implementação relativamente
simples, principalmente quanto à confecção dos dados que o programa irá se
basear. Esses dados formam o banco de dados contendo possíveis melodias, para
cada tom em sua versão maior e menor.

O programa seguirá as regras de harmonia funcional para compor. Não será


utilizada harmonia modal, pois este conceito é muito abrangente e ambíguo,
portanto de uma complexidade muito maior. Estes fatores fazem com que
harmonia funcional seja um modelo mais simples e exato.

19
4.1.2. Desafios Técnicos
Por desafios técnicos tem-se a dificuldade inicial em decidir a representação
das notas com a finalidade de estabelecer um padrão que seja, ao mesmo tempo,
consistente e que minimize as dificuldades de implementação. Em outras
palavras, pretende-se estabelecer um padrão que diminua a complexidade do
sistema para interpretar os dados gravados em disco, que neste caso, consiste no
banco de melodias.

Primariamente, as melodias armazenadas em disco são cadeias de caracteres


onde cada caractere representa uma nota diferente. Detalhes sobre a
representação e manipulação das notas como caracteres são discutidos na Seção
4.2 deste trabalho.

Para “tocar” os resultados obtidos pelo sistema compositor, as notas


resultantes da execução do sistema são convertidas para partituras em um
terceiro programa. Para isto, foi utilizado o Guitar Pro©, programa que realiza a
conversão da partitura para um arquivo do tipo MIDI (Musical Instrument
Digital Interface) que é uma interface para instrumentos virtuais.

MIDI contém apenas instruções para a execução as notas nele contidas, não o
áudio propriamente dito, como ocorre em arquivos do tipo MP3. Porém, existem
sintetizadores gratuitos de MIDI, que tocam os instrumentos virtuais de acordo
com as instruções contidas no arquivo MIDI.

4.2. Desenvolvimento do Sistema


Aqui são discutidos detalhes da implementação e como foi desenvolvido o
sistema objetivo deste trabalho.

4.2.1. Estrutura dos dados


Os dados são cadeias de caracteres, ou seja, são armazenados como texto
puro. Cada arquivo texto contém várias melodias em determinado tom, mais
precisamente, a cada bloco de oito caracteres (ou seja, oito notas que

20
representam melodias diferentes, mas todas dentro de determinado campo
harmônico).

A utilização de caracteres texto foi feita devido a sua fácil manipulação, o


que simplifica a lógica trabalhada no desenvolvimento do algoritmo para a
síntese musical.

A inspiração pela formatação do armazenamento de dados veio inicialmente


de um programa chamado Bome‟s Mouse Keyboard que permite utilizar o
teclado de um computador como um teclado musical transformando o teclado
comum em um controlador MIDI.

A Figura 5 ilustra o teclado musical virtual controlado através do teclado do


computador. A correspondência entre teclas e notas é apresentada na Tabela 3:

Tecla Nota Equivalente Tecla Nota Equivalente


z C1 q C2
s C#1 2 C#2
x D1 w D2
d D#1 3 d#2
c E1 e E2
v F1 r F2
g F#1 5 F#2
b G1 t G2
h G#1 6 G#2
n A1 y A2
j A#1 7 A#2
m B1 u B2
Tabela 3. Distribuição das notas pelo teclado de computador

21
Figura 5. Visão do teclado comum como um teclado musical

Um exemplo de entrada seria “zxcvbnmq” que significa “C, D, E, F, G, A, B


e C”, este último C está uma oitava acima.

A seguir será explicado o processo de desenvolvimento do algoritmo. Este


algoritmo pode, resumidamente, ser definido como um agente especialista para
realizar a tarefa de síntese musical através da descoberta de conhecimento ou
“Knowledge Discovery In Databases” (KDD).

22
4.2.2. Desenvolvimento do Algoritmo Musical
Esta subseção tem como principal motivação explanar o funcionamento do
próprio algoritmo desenvolvido nesse trabalho, assim como descrever todo o
raciocínio por traz do processo criativo que foi a elaboração do algoritmo para a
síntese musical.

Primeiramente, foi idealizado para a mineração de dados um algoritmo para


inferência de sequências, ideia que pareceu muito coerente com a proposta
inicial deste trabalho.

Em seus primeiros estágios de amadurecimento foi percebido o quão


determinístico seria o algoritmo, que, iria simplesmente inferir que, dada uma
nota, qual a nota de maior probabilidade de ser tocada em seguida. Tal algoritmo
só produziria uma saída diferente caso a base de dados fosse alterada. Esta
característica não é desejável, uma vez que a intenção é que o algoritmo se
aproxime de um processo real de criatividade.

O primeiro grande desafio foi idealizar um algoritmo o menos determinístico


possível, mas que ainda assim produzisse resultados consistentes. Por resultados
consistentes entende-se que o algoritmo produzisse melodias independentemente
do quão agradável musicalmente fossem, mas que respeitassem as regras de
harmonia funcional musical. Obviamente, um resultado agradável também seria
desejável.

Após uma progressão de acordes ser decidida, é analisado o tom que se


encontra tal progressão, pois o tom e o acorde são utilizados como entradas além
da nota inicial do bloco – lembrando que as músicas são construídas por blocos
como definido anteriormente, sendo cada bloco constituído por oito notas.

A base de melodias do tom é então concatenada à base de melodias do acorde


relativo ao compasso no qual está sendo elaborada a melodia.

O cerne do algoritmo é a inferência de sequências, mas com alguns


incrementos. Além de inferir a nota com maior probabilidade de ser tocada, o
algoritmo infere a nota mais próxima acima da média, a nota mais próxima
abaixo da média e a nota com menor probabilidade de ser tocada. Ao todo
23
quatro notas diferentes podem ser inferidas, dados o mesmo acorde, o mesmo
tom e a mesma nota inicial.

É permitido pelo sistema decidir se a melodia gerada deve ser inferida


somente pela nota de maior probabilidade, ou alguma outra das possibilidades
de inferência anteriormente citadas. É possível também usar uma função de
aleatoriedade para decidir qual tipo de inferência será usada para cada nota ou
cada bloco, ou pode-se definir condições para decidir onde cada método será
utilizado.

Nos testes realizados a decisão sobre qual nota inferir, dentro das quatro
alternativas seguiu as seguintes condições. Inicialmente, o programa irá inferir a
nota de maior probabilidade de ser a próxima a ser tocada, mas para dar fluência
a melodia e evitar que apenas algumas notas se repitam sucessivamente, serão
usadas as seguintes condições: (i) caso a nota posterior a que está sendo
analisada seja a mesma que a anterior é acionado um outro método de inferência
(por exemplo, pegar a nota mais próxima a média), e (ii) caso a nota
anteposterior à nota que está sendo analisada seja a mesma, pode ser acionado
um terceiro método de inferência.

Este tipo de condição evita casos onde a próxima nota é igual à anterior ao
longo do bloco, o que resultaria blocos compostos por apenas uma ou duas notas
distintas se repetindo sucessivamente. Por exemplo, um bloco de notas sendo
apenas C, D, C, D, C, D, C e D ou até mesmo um bloco C, C, C, C, C, C, C e C.

Em pseudo-código se obtém o seguinte algoritmo:

CriarMusica(notaInicial, tom, acorde, funcao)


CarregarArquivo(tom, acorde)
VetorProbabilidadeNota = Vetor [23]
“Cada posição do vetor representa a porcentagem relativa
do número de vezes que cada nota musical ocorre. Como
o algoritmo trabalha apenas com duas oitavas se tem 24
notas”
Calcular valor médio do VetorProbabilidadeNota

Se função = 1 então pegar a nota com maior porcentagem


Se função = 2 então pegar a nota mais próxima da média, porém maior que a média
Se função = 3 então pegar a nota mais próxima da média, porém menor que a média
Se função = 4 pegar a nota com menor porcentagem (desde que a porcentagem seja
diferente de zero)
24
4.2.3. Exemplos e resultados
A seguir é exemplificado um conjunto de decisões tomadas pelo algoritmo
para a síntese de uma melodia musical:

Inicia-se com C (dó) e sua escala natural que é C, D, E, F, G, A e B e uma


progressão amplamente utilizada principalmente pela música popular que é a
progressão I, V, VI, IV, que correspondem aos acordes de C, G, Am e F. Cada
acorde será tocado por um compasso, então a cada quatro compassos serão
repetidos os acordes.

Para o primeiro compasso serão concatenados os bancos de C (que é o tom) e


C (que é o acorde sendo tocado), apesar de ambas serem a mesma base de
melodias, essa redundância não afeta o resultado final já que internamente o
algoritmo transforma os dados em porcentagens. Seguindo essa linha de
raciocínio, no segundo compasso serão concatenados o banco de C, que é escala
relativa ao tom e o banco com melodias em G, e assim sucessivamente.

A Figura 6 mostra a partitura do resultado obtido com a progressão I, V, VI,


IV em C.

Figura 6. Progressão I, V, VI, IV em C

25
4.3. Aplicação do Questionário
Para se avaliar os resultados gerados pelo sistema, foi elaborado um
questionário a ser respondido por pessoas que ouvissem o resultado (as
melodias) do sistema.

A primeira grande dificuldade ao elaborar um questionário desse tipo, é a


subjetividade da questão de quão boa é uma música para uma pessoa. Porém não
existe uma maneria de se eliminar essa subjetividade, pois música é uma arte e
por isso, como qualquer outra arte, só tem sentido na apreciação que cada pessoa
dá a ela.

A segunda dificuldade seria manter o questionário o mais simples possível,


para que pessoas mesmo que não músicos pudessem responder o questionário, e
os resultados obtidos com o questionário fossem representativos.

Para o questionário foram selecionadas 10 músicas previamente sintetizadas


pelo sistema, e cada participante ouviu exatamente as mesmas músicas. Cada
participante ficou responsável por quantificar os resultados, ou seja, atribuir um
valor para cada música, valor esse que varia de 0 a 5, sendo que 0 representaria
uma música que o participante não gostaria de ouvir mais nenhuma vez e 5 seria
uma música que o participante gostaria de ouvir mais vezes. As partituras
relativas às dez músicas que foram utilizadas podem ser vistas no Apêndice A.

4.3.1. Resultados e Análise do Questionário


Com a simples tarefa de atribuir uma nota a cada música apresentada, foram
selecionadas 20 pessoas. A seguir, a Tabela 4 apresenta a melodia tocada, cuja
notação corresponde ao tom e progressão de acordes utilizados como base, e a
média das notas que foram atribuídas a cada música. Vale lembrar que as
pessoas podiam atribuir notas de zero (pior nota) a cinco (melhor nota) para cada
música.

26
Nota
Música
Média
Am I, IV,V 3,4
C I, IV, V 3,3
C II, V, I 2,6
C I, V, VI, IV 4,8
C II, VI, I, III 4,3
C III, V 3,6
Dm em blues I, IV 2,1
Dm melódica I, IV 2,9
Em harmônica V, I, IV 3,6
G I, V, VI, IV 4,7
Tabela 4. Média das notas das músicas

Para um sistema artificial as notas obtidas podem ser traduzidas como


satisfatórias quanto à agradabilidade da melodia composta, pois nove das 10
melodias obtiveram média acima de 2.5, sendo que metade delas obtiveram
média acima de 3.5 (numa escada de 0 a 5). Alguns resultados já eram esperados
como C e G com progressão I, V, VI e IV, progressão essa naturalmente
agradável ao ouvido humano e extensamente explorada na música, tanto erudita
quanto popular, enquanto progressões menos usadas na música popular como
Dm em blues e Dm melódica tiveram pontuações relativamente baixas.

Pelo fato desta discussão sobre popularidade em harmonias extrapolar o foco


deste trabalho, fica registrado apenas este breve comentário deixando essa
questão aberta para futuros trabalhos.

27
5. Conclusão
Um dos primeiros conceitos quanto à música apresentados nesse trabalho é a
presença desta em quase todas as culturas nas mais diversas formas, além do
fascínio que a música exerce para aqueles que reproduzem, estudam ou
compõem.

Nesse trabalho foi produzido um sistema capaz de compor música e,


conforme o questionário aplicado, as músicas produzidas agradaram às pessoas
que avaliaram o sistema.

Apesar de compor algo diferente das melodias que lhe serviram de base de
dados, é uma questão deveras filosófica discutir se o sistema, que utiliza uma
“inteligência artificial”, compôs realmente uma melodia e se pode ser atribuído a
esse sistema a qualidade humana de “criativo”. Para evitar tais discussões foi
preferível denominar o sistema de “sintetizador de melodia” ao invés de sistema
compositor.

5.1. Principais dificuldades


A principal dificuldade foi a elaboração do algoritmo que fosse o menos
determinístico possível, processo que por si só foi criativo, uma vez que não foi
utilizado nenhum tipo de algoritmo clássico em Inteligência Artificial.

5.2. Trabalhos Futuros


Para trabalhos futuros fica em aberto a possibilidade de fazer o caminho
inverso daquilo que foi proposto nesse trabalho, ou seja, se o programa que foi
elaborado é capaz de sintetizar uma melodia dada uma harmonia, o caminho
inverso seria identificar a harmonia dada uma melodia.

28
Referências Bibliográficas
ALVES, J. O. Estruturas: uma composição interativa a partir dos recursos do Vox
Populi In: X Simpósio Brasileiro de Computação Musical, 2003. Campinas,
Brasil.

GUÉRET, C; MONMARCHÉ, N., SLIMANE, M. Ants Can Play Music In:


International Workshop on Ant Colony Optimization and Swarm Intelligence,
4, 2004. Brussels, Belgium.

JÄRVELÄINEN, H. Algorithm Music Composition In: Seminar on Content


Creation, Telecommunications Software and Multimedia Laboratory, 2000.
Helsinki, Finland.

PAPADOPOULOS, G. & WIGGINS, G. AI methods for algorithmic


composition: a survey, a critical view and future prospects In: AISB Symposium on
Musical Creativity. 1999

CHAPEL, R. H. Algorithmic Composition as a Constraint Satisfaction


Problem. 2005

COPE, D. Experiments in Musical Intelligence. 12 ed. A-R Editions, 1996.


263p.

COPE, D. Virtual Music: Computer Synthesis of Musical Style. 12 ed.


Massachusetts.: MIT Press, 2002. 564 p.

GUÉRET, C; MONMARCHÉ, N., SLIMANE, M. Ants Can Play Music In:


International Workshop on Ant Colony Optimization and Swarm Intelligence,
4, 2004. Brussels, Belgium.

LANGSMAN, M. Algorithmic Composition, 2004.

MEDEIROS, A. & MONTEIRO, F.N Distorções Conceituais das Atributos do


Som Presentes nas Síteses dos Textos Didáticos: Aspéctos Físicos e Fisiológicos,
1998

29
MORONI, A.; MANZOLLI, J.; VON ZUBEN, F.; GUDWIN, R. VOX POPULI:
Evolutionary Computation for Music Evolution In: Symposium on Creative
Evolutionary Systems, 1999. Edimburg, Holland.

PASSOS, A. T. Modelos Ocultos de Markov para Análise Harmônica


Funcional de Música Tonal.2008, 59p. Trabalho de Conclusão de Curso(Bacharel
em Ciências da Computação), Universidade Federal da Bahia, Salvador.

RUSSEL, S & NORVIG, P. Inteligência Artificial 2 ed. Elsevier Editora 2004


1021p.

BENTLEY, P. & CORNE, D. Creative Evolutionary Systems 1 ed. Morgan


Kauffman 2001, 451p.

LACERDA O. Compêndio de Teoria Elementar da Música 11 ed, Ricordi


Editora, 1961, 153p.

COPE, D. Virtual Music: Computer Synthesis of Musical Style. 12. ed.


Massachusetts.: MIT Press, 2002. 564 p.

SCHOENBERG, A. Fundamentos da Composição Musical. 3. ed. São Paulo:


EdUSP, 2008. 280p.

30
Apêndice A

I, IV, V em Am:

I, IV, V em C:

II, V, I em C:

31
I, V, VI, IV em C:

II, VI, I, III em C:

32
III, V em C:

I, IV em Dm em blues:

I, IV Dm melódica:

33
V, I, IV em Em harmônica:

I, V, VI, IV em G:

34

S-ar putea să vă placă și