MUSIK: UM AMBIENTE INTELIGENTE DE AUXÍLIO
À COMPOSIÇÃO
Fernando Pinhati
Claudia Ferlin, D.Sc.
Universidade Federal do Estado do Rio de Janeiro - UNIRIO
IST-Rio – Faetec/RJ
[email protected]
[email protected]
Abstract. The MusiK project is a Computer Aided
Composition tool. Based on traditional rules of harmony
for four voices and possible derivations, its main goal is
pointing out harmonic issues found in an Artificial Neural
Network. The use of MusiK makes the process of musical
construction faster, allowing to the musician gives his
focus to the melodic idea and get advice about the
harmony, minimizing time spend with manual revision
and maximizing the concentration of efforts in obedience
to the musical style rules.
Resumo. O MusiK é uma ferramenta de auxílio à
composição musical baseada em Redes Neurais Artificiais
(RNA).Desenvolvido a partir de regras da harmonia
tradicional, o objetivo do MusiK é indicar os problemas
harmônicos encontrados em composições musicais a ele
apresentadas. O uso do MusiK pode tornar mais ágil e
produtivo o processo de construção musical, ao permitir
que o músico concentre-se na idéia melódica, obtendo
assessoria quanto à harmonia, minimizando o trabalho
de revisão manual e os esforços na obediência a regras
de um estilo.
1. INTRODUÇÃO
Compor música envolve diversas habilidades e requer muitos
conhecimentos como, por exemplo, teoria musical, técnicas de
instrumentos, domínio de estéticas diversas e harmonia. Existem vários
tipos e estilos de composição, muitos destes com recomendações
amplamente aceitas por terem sido utilizadas por compositores de renome
ou terem sido objetos de estudo de algum pesquisador de grande
relevância, e que auxiliam na coerência da disposição de sons. No caso da
estética clássica, período que originou a chamada harmonia tradicional
(BENNET, 1986), existem recomendações de boas práticas que visam
melhorar a qualidade das composições. O livro Harmonia (SCHOENBERG,
1910) enumera e esclarece algumas destas boas práticas.
Ainda nos dias de hoje, é comum a utilização do processo manual de
revisão de composições musicais para a validação da harmonia
empregada na obra em relação ao estilo musical proposto. Ferramentas
que auxiliem este tipo de trabalho são muito úteis, pois tornam o processo
de composição menos custoso e, podendo inclusive, melhorar a qualidade
da criação musical. As ferramentas atuais com este fim são escassas
(ANDERS, 2007), e focam-se principalmente na geração automática de
trechos musicais harmonizados, dada uma certa melodia, o que limita o
uso da criatividade e do uso do estilo próprio do compositor.
Uma ferramenta que tenha um maior foco na validação de boas práticas
harmônicas pode auxiliar um músico a criar obras que preservam seu
estilo e, ao mesmo tempo, revisar seu trabalho. Esta revisão pode ser
sistematicamente empregada tanto no processo de composição musical,
já citado, quanto também no processo de ensino-aprendizagem de estilos
musicais, quando uma ferramenta com este foco é utilizada na instrução
de aprendizes.
Assim sendo, a criação de ferramentas computacionais capazes de realizar
validação harmônica de forma automatizada surge como uma relevante
iniciativa voltada a apoiar supervisores, aprendizes e compositores, não
somente no ensino-aprendizagem, mas também no processo de
composição musical em si.
Diante do exposto, este artigo tem como objetivo descrever o MusiK,
ambiente computacional inteligente voltado à validação harmônica de
obras musicais. Baseado em Redes Neurais Artificiais (RNAs), o MusiK
procura aprender algumas
boas práticas da harmônica tradicional,
durante a fase de treinamento, e permite utilizar este conhecimento
absorvido para avaliar composições musicais e indicar problemas
harmônicos.
O presente texto encontra-se organizado em mais seis seções. A seção 2
apresenta fundamentos sobre música e harmonia, fornecendo os
principais conceitos necessários à compreensão do restante do trabalho. A
seção 3 traz um breve esclarecimento sobre redes neurais artificiais. A
proposta do MusiK encontra-se descrita na seção 4. A avaliação e os
experimentos realizados a partir da proposta do ambiente são detalhados
na seção 5. A seção 6 descreve os resultados obtidos nos experimentos e
apresenta a conclusão do trabalho.
2. MÚSICA E HARMONIA
Harmonia, segundo Schoenberg (1910), “é o ensino dos complexos
sonoros (acordes) e de suas possibilidades de encadeamento, tendo em
conta seus valores arquitetônicos, melódicos e rítmicos e suas relações de
equilíbrio”. Esta definição pode ser expandida para o estudo de melhores
práticas a serem adotadas para que o resultado da emissão de sons
simultâneos, através de fontes distintas ou não, sejam naturalmente
agradáveis dada uma época e cultura (SCHOENBERG, 1910). O que se
tem é um conjunto de regras definidas por diversos tratados e
observações históricas, desde a escola pitagórica, que possuem o objetivo
de definir uma base ou modelo para a criação de obras musicais a partir
da concatenação de ideais sonoras (HINDEMITH, 1998). Um exemplo de
tipo de Harmonia existente é a harmonia tradicional.
Com o declínio da música renascentista (período de 1450 a 1600) e com o
advento da música barroca, gradualmente o sistema tonal foi se
instalando (BENNET, 1986). Dessa forma, um novo modo de se escrever
música foi se consolidando no final do período barroco (1600 a 1750), o
que seria a linha divisória para o próximo período da música – o
classicismo (período de 1750 a 1810) (BENNET, 1986). Essa então nova
maneira de se compor música é tomada como modelo a ser seguido e
suas regras tornaram-se base da Harmonia Tradicional.
Arnold Schoenberg em seu livro Harmonia (1910) discute sobre os
elementos da harmonia tradicional, trazendo explicações baseadas na
observação dos sons emitidos pela série harmônica. Tal publicação reúne
e consolida um conjunto de boas práticas harmônicas já observadas e
aplicadas por compositores há tempo e as prova com observações teóricas
e empíricas em cima da série harmônica.
A harmonia tradicional atualmente é utilizada como fundamento do ensino
à composição musical. Com o seu conjunto de recomendações, é possível
a sistematização da composição musical, ou seja, é possível construir um
sistema computacional baseado nas boas práticas da Harmonia Tradicional
e que auxilie um compositor a produzir uma obra musical completa e
harmonicamente coesa (ANDERS, 2007). A este grupo de sistemas
computacionais dá-se o nome de Computer-Aided Composition (em
português, Computação Auxiliada por Computador) ou simplesmente CAC
(PACHET, 2001).
3. REDES NEURAIS ARTIFICIAIS
As Redes Neurais Artificiais (RNA) são modelos matemáticocomputacionais que procuram simular o funcionamento do cérebro em
atividades envolvendo aprendizado, generalização, abstração e eliminação
de ruído (GOLDSCHIMIDT et. al, 2005).
Uma RNA possui um conjunto de elementos processadores, denominados
neurônios artificiais, que se interligam por meio de conexões. Cada
conexão possui um peso sináptico associado que representa a intensidade
da ligação entre dois neurônios. A figura 1 apresenta um exemplo de RNA
onde os neurônios estão organizados em três camadas sendo a primeira
aquela que recebe estímulos do meio externo (camada de entrada), a
segunda (camada intermediária ou escondida) que recebe os estímulos da
camada de entrada e os propaga para a terceira (camada de saída),
responsável por emitir a resposta da rede aos estímulos externos
inicialmente apresentados. Cada wij representa o peso sináptico da
conexão entre os neurônios i e j.
Figura 1 - Exemplo de RNA de 3 camadas
O processo de aprendizado em RNAs consiste no ajuste dos pesos
sinápticos de forma que as RNAs respondam adequadamente aos
estímulos de entrada (BRAGA et. al, 2000). Um dos principais paradigmas
de aprendizado em RNAs é o supervisionado (REZENDE, 2003). Neste
paradigma, existe o papel do “professor”, que é a figura conhecedora do
ambiente e capaz de informar se uma determinada resposta está ou não
correta a partir de uma entrada fornecida (HAYKIN, 1999). Um conjunto
exemplo de entradas é dado à rede e, para cada saída apresentada, o
supervisor realiza a comparação entre o resultado que deveria ser obtido
(resultado ideal) e o realmente obtido pela RNA (REZENDE, 2003).
O algoritmo de treinamento error backpropagation (retropropagação de
erro) é um dos algoritmos de aprendizado supervisionado mais utilizados
em redes neurais artificiais (HAYKIN, 1999). A técnica requer redes em
que todos os neurônios de uma camada estejam conectados a todos os
neurônios da camada seguinte, independente do número de camadas que
a RNA possua. Neste algoritmo, o valor de ajuste calculado é
retropropagado a partir da camada de saída em direção à camada de
entrada, alterando todos os pesos das sinapses na busca da minimização
da função de erro.
4. SOLUÇÃO PROPOSTA
A partir dos trabalhos levantados e de avaliações preliminares em cima de
modelos de representação e de estruturas de RNA estudadas, uma
proposta de elementos para o ambiente MusiK foi construída e será
apresentada nesta seção. A seção 6 apresenta detalhes sobre os
experimentos realizados com esta proposta e a seção 7 os resultados
obtidos.
4.1. OBJETIVOS DO AMBIENTE
O MusiK é um ambiente que tem como objetivo auxiliar um compositor no
processo de
criação musical. A ideia é que, através de um programa de editoração de
partituras já existente, o usuário possa acionar um mecanismo de
validação harmônica (através de um botão ou opção de menu) que o
auxiliará no processo de composição. Uma outra funcionalidade, que não
faz parte do objetivo deste trabalho mas ilustra o potencial do uso de RNA
neste tipo de ferramenta, é que a cada utilização do MusiK o sistema irá
absorver as escolhas do compositor, gravando-as em arquivos de log, e
aprender seu perfil de composição, através de adaptação das redes
neurais utilizadas, para que novas validações sejam realizadas de acordo
com seu estilo musical.
4.2. MODELO GERAL
O modelo é focado na construção de componentes essenciais para a
realização da validação harmônica e absorção de estilo das composições.
Outros sistemas já existentes são utilizados para os fins de editoração
musical (Musescore) e construção/treinamento de RNAs (MatLab).
Simplificadamente, o modelo geral do ambiente MusiK pode ser
representado pelo diagrama de componentes da figura 2. Neste diagrama,
os três principais componentes que são a base do sistema: a RNA de
validação harmônica, o Conversor e o Perfilador. Os componentes
Editorador, Banco de Logs e Ferramenta de RNA não fazem parte do
escopo do projeto pelo fato de serem conexões do ambiente com
softwares já existentes.
Figura 2 - Diagrama de componentes do MusiK
4.3. REDE NEURAL ARTIFICIAL DE VALIDAÇÃO HARMÔNICA
A RNA de validação harmônica é o principal componente do MusiK. É nela
que acontecerá a verificação de cada trecho musical na procura de
possíveis problemas de harmonia. Porém, existem várias preocupações a
serem consideradas antes de propor uma RNA para tal trabalho. É
necessário definir uma modelagem para o conhecimento que será dado
como entrada à rede, definir como a rede interpretará cada parte do
conhecimento modelado, projetar uma arquitetura de rede neural que
seja capaz de tratar bem o conhecimento a ser avaliado e verificar, na
prática, se todas estas definições estão atendendo ao problema proposto.
4.4. MODELAGEM DO CONHECIMENTO
Durante uma composição, o músico deverá estar atento a possíveis
problemas harmônicos nos trechos compostos. Geralmente, estas
validações harmônicas são verificadas em uma parte da composição,
comparando-se um dado acorde com o seu subsequente. Para simplificar,
será chamado Trecho o conjunto de dois acordes consecutivos submetidos
à análise harmônica.
Um Trecho segue uma tonalidade. É importante conhecer a tonalidade dos
Trechos para que os dados da composição sejam corretamente analisados
posteriormente pela rede proposta.
Será chamado de Passagem o conceito correspondente ao intervalo entre
cada nota do primeiro acorde em relação a cada nota do segundo. Em
resumo, um Trecho conterá quatro Passagens, uma para cada nota dos
acordes analisados, e cada Passagem conterá quatro intervalos.
Por ser um elemento extremamente importante e multivalorado, o
Intervalo será transformado também em um conceito na modelagem de
conhecimento proposta. Um Intervalo, além da classificação composta do
salto e do número de tons que representa, possuirá também o atributo
“oitava”. Intervalos que englobarem notas em mais de uma oitava terão
indicações no atributo “oitava” para que a rede saiba que as notas estão
mais distantes umas das outras do que o informado pelo Intervalo, que irá
apenas de 1ª a 7ª.
Como visto, um Trecho é composto por dois Acordes. Acorde é um
container com um Grau e três Intervalos. O Grau contido no Acorde é a
representação do grau da fundamental do acorde, ou seja, do grau que o
acorde representará na tonalidade da composição. Os três intervalos
representam respectivamente o intervalo entre cada uma das três notas
restantes do Acorde em comparação com a fundamental. Com isso, um
Acorde não contém explicitamente todos os seus Graus, mas sim apenas o
que representa a fundamental e uma referência aos outros três, dada por
Intervalos relativos.
Os Graus representam a unidade de som musical. Ao invés do domínio ser
constituído de todas as notas da escala geral, a representação será dada
pelos graus de cada nota dentro de uma escala, reduzindo o domínio para
apenas o intervalo de uma oitava. Esta redução será utilizada com o
objetivo de alcançar uma representação relativa à uma oitava apenas para
um trecho musical. A relativização deste elemento em conjunto com o
Intervalo facilitará a análise harmônica de um mesmo acorde que esteja
composto em oitavas ou tonalidades diferentes numa partitura. Com isso,
dado um exemplo de erro harmônico em uma determinada oitava ou
tonalidade, será possível capturá-lo, caso a rede neural o tenha absorvido,
em qualquer outra oitava ou tonalidade da escala geral, pois terão a
mesma representação.
A relação entre os conceitos definidos pode ser representada pelo
diagrama de classes da figura 3.
Figura 3 – Relações entre os conceitos manipulados no projeto
4.5. ENTRADA DA REDE
Dado o modelo de informações a ser manipulado, vários formatos de
entrada do mesmo na rede neural podem ser concebidos. Seguem um
trecho musical e exemplos de possíveis representações segundo o modelo
proposto (figura 4a e 4b):
a)
b)
Figura 4 – a) Representação de um trecho em notação musical e b)
Representação de um trecho em binário e numérico.
Ao observar a figura 4b é possível perceber a divisão das entradas nos
formatos A, B ou C pelos conceitos apresentados na seção anterior. As
representações A e B, respectivamente binária e decimal (numérica), são
formas de representar os conceitos definidos pelo presente trabalho. Na
representação binária, a preocupação é o número de elementos diferentes
que um conjunto de bits pode representar. Um conjunto de n bits pode ter
2n elementos representados. Na representação chamada de numérica, foi
utilizada a base decimal. Portanto, cada número pode representar 10
elementos diferentes.
Tomando como base estas informações, é possível esclarecer o tamanho
do conjunto numérico para cada conceito apresentado:
•
Tonalidade – Apenas as tonalidades maiores e menores
naturais, ou seja sem acidentes na nota fundamental, serão tratadas pelo
projeto. Três bits na representação binária ou um número na decimal
serão suficientes.
•
Grau – Os Graus são sete: I, II, III, IV, V, VI, VII. Portanto,
ocupam três bits ou um número também.
•
Intervalo – Os intervalos possuem três elementos: o salto, a
classificação e a oitava. O salto pode ser de 1°, 2°, 3°, 4°, 5°, 6° ou 7°
(três bits ou um número decimal). A classificação varia entre Maior,
Menor, Aumentado, Diminuto ou Justo, ou seja, pode representada
também por um conjunto de três bits ou um número decimal. As oitavas
são oito, representando todo o intervalo de notas da escala geral. Por
tudo isso, os intervalos precisam de nove bits ou seis números decimais
para serem representados.
•
Passagem – Uma passagem nada mais é que um Intervalo
entre as notas dos dois acordes do trecho. Porém, é necessário anotar
também qual o tipo de movimento está acontecendo na Passagem, isto é,
se é um movimento ascendente ou descendente. Esta última informação
acrescenta mais um bit ou um número para a representação de
passagem, além dos nove bits ou seis números decimais do Intervalo.
•
Acorde – Um acorde é representado pelo Grau da fundamental
e pelos três Intervalos nele contido.
Com isso, é possível definir que um Trecho é composto por 103 bits ou 37
números decimais. Como a RNA proposta terá como entrada um Trecho,
pode-se determinar que a camada de entrada da rede deverá possuir 103
neurônios, caso venha a ser utilizado o modelo binário de representação,
ou 37 neurônios, caso seja utilizado o modelo numérico decimal. A partir
destes dois modelos base, foram derivados 4 tipos de entradas:

E1 - Entrada base propriamente dita: 103 neurônios, binária,
valores discretos (-1 ou 1).

E2 - Entrada base com reforço do grau de cada nota no acorde: 121
neurônios, binária, valores discretos (-1 ou 1).

E3 – Entrada base com normalização: 17 neurônios, inteira, valores
discretos entre -1 e 1.

E4 – Entrada base com reforço normalizada: 23 neurônios, inteira,
valores discretos entre -1 e 1.
O elemento de reforço é proposto em algumas entradas com o objetivo de
melhorar o nível de informação harmônica para a melhor análise por
algumas regras. A técnica de normalização sugerida em E3 e E4 reduz o
intervalo numérico para [-1 a 1], mantendo a proporção entre as
distâncias originais entre os valores decimais primários.
4.6. SAÍDA DA REDE
Como saída, a rede deverá acusar ou não a presença de um problema
harmônico específico. A idéia é utilizar neurônios que indicarão a presença
de uma má prática pela sua ativação, ou seja, se um determinado
neurônio for ativado, o problema representado por ele foi detectado no
trecho analisado. Para este modelo, sugere-se a utilização de uma
camada de saída com o número de neurônios igual ao número de regras
tratadas pela RNA construída, cada um representando a presença ou não
de um dos problemas harmônicos validados.
Nesta linha, o valor de ativação de cada neurônio de saída será dividido
em três classes:
•
Intervalo de resultado confirmativo: de -1,00 a -0,40.
•
Intervalo de resultado em dúvida: de -0,41 a 0,39.
•
Intervalo de resultado não confirmativo: de 0,40 a 1,00.
O índice de acertos da rede será dado apenas pelo número de trechos
com e sem problemas harmônicos avaliados com exatidão. Os trechos
com dúvida não serão levados em consideração para a definição do nível
de acertos, já que serão merecedores de tratamento especial antes de
qualquer conclusão.
5. EXPERIMENTOS
A proposta apresentada na seção anterior foi avaliada através da
construção automatizada de redes neurais e dos demais componentes do
ambiente. Um script em Matlab de construção, treinamento e seleção das
melhores redes foi construído. Além disso, programas em JAVA foram
desenvolvidos para os demais componentes do MusiK. As subseções
abaixo detalham este processo.
5.1. CRIAÇÃO DAS REDES NEURAIS ARTIFICIAIS
Na criação das redes neurais foi utilizado o ambiente MatLab. Através do
toolbox NNTool, disponibilizado por este software, foi possível criar
diversos tipos de RNA, escolher entre várias funções de ativação e entre
várias heurísticas de treinamento. Com o MatLab foram efetuados tanto
testes preliminares, com o objetivo de explorar algoritmos de treinamento
ou métodos de entrada, quanto elaboradas as redes efetivamente
utilizadas nos experimentos.
Um conjunto com 500 exemplos contendo diversos erros harmônicos foi
elaborado. Neste conjunto, foram construídos aproximadamente 50
exemplos para cada uma das regras harmônicas a serem avaliadas, de
forma única - apenas infringindo determinada regra - ou mista - um
exemplo contendo problemas em mais de uma regra.
Outro conjunto contendo 150 exemplos, diferentes dos primeiros, foi
também elaborado. Este conjunto foi utilizado para medir a taxa de
generalização da rede já construída, ao simular exemplos diferentes
daqueles utilizados no treinamento.
No treinamento, foi utilizado o algoritmo de Gradient Descent
Backpropagation with Adaptive Learning Rate (chamado de traingdx no
MatLab), que é um algoritmo de treinamento com uma proposta de
backpropagation otimizada, utilizando taxa de aprendizado adaptável que
muda ao longo do processo de treinamento com objetivo de chegar mais
rápido aos valores mínimos de erro.
Como alternativa, foi também avaliado como algoritmo de treinamento o
backpropagation baseado no gradiente conjugado escalonado. Gradiente
conjugado escalonado (chamado de trainscg no MatLab) é baseado no
trabalho de MOLLER (1993) e tem o objetivo de minimizar o tempo de
convergência e otimização da rede. Ele combina o modelo de LevenbergMarquardt com o gradiente conjugado. Baseia-se em informações da
derivada segunda da ordem da função de erro.
5.2. SELEÇÃO DAS MELHORES REDES
Durante o treinamento foram utilizados indicadores para que fosse
possível extrair as melhores redes obtidas em cada iteração e também
analisar as RNAs produzidas de uma forma quantitativa. São eles:
•
Percentual de acertos – contempla o percentual de acertos
obtidos na avaliação de trecho correto ou trecho errado, excluindo todos
os resultados obtidos como dúvida. É este índice o primeiro responsável
pela escolha da melhor rede.
•
Percentual de dúvida – apresenta um percentual das respostas
dadas pela rede que foram classificadas como dúvida. Uma boa rede
deverá ter um percentual pequeno de dúvidas.
•
Média de acertos – é a média do percentual de acertos obtida
através da simulação com o conjunto de treinamento e, depois, no teste
com o conjunto de simulação.
•
Média de dúvidas – é a média do percentual de dúvidas obtida
através da simulação com o conjunto de treinamento e, depois, no teste
com o conjunto de simulação.
Com o uso destes quatro indicadores, as melhores redes puderam ser
escolhidas entre aquelas que apresentaram a melhor média de acertos e o
menor percentual de dúvidas. Faixas de tolerância foram dadas ao
programa de treinamento automatizado para que fossem descartadas
redes produzidas com baixo desempenho. Além disso, em alguns casos
várias redes foram escolhidas como melhores, fazendo com que a escolha
final fosse manual.
5.3. REGRAS HARMÔNICAS EXPERIMENTADAS
As regras testadas foram (os números indicam apenas a ordem dos
experimentos):
•
Regra 01 – Notas repetidas em sequência
•
Regra 02 – Duplicação da Mediante
•
Regra 03 – Inversão de Vozes
•
Regra 06 – Vozes em oitavas em sequência
•
Regra 07 – Vozes em uníssono em sequência
•
Regra 09 – Salto das quatro vozes por movimento direto
•
diminuta
•
Regra 12 – Salto resultando em quarta aumentada ou quinta
Regra 13 – Salto maior que uma quinta, exceto no Baixo.
Estas regras foram extraídas do curso condensado de harmonia tradicional
de HINDEMITH (1998).
5.4. CONECTOR COM O SOFTWARE DE EDITORAÇÃO
Nos experimentos efetuados, foi utilizado o software Musescore 0.9.6
como editor de partituras. O Musescore armazena as composições no
formato MusicXML.
Um programa de conversão do formato MusicXML para cada
representação apresentada na figura 4 foi desenvolvido. Neste programa
simples, escrito em JAVA, um arquivo gravado com o formato MusicXML é
lido e, para cada representação de nota encontrada (elemento <pitch> no
MusicXML), seus valores e propriedades são coletados e devidamente
convertidos em uma representação binária (ou numérica decimal). A
identificação da voz e da nota é obtida das propriedades do elemento
<pitch> capturado do arquivo XML. A Tonalidade, o Grau, o Intervalo e
sua classificação e as Passagens são cálculos efetuados pelo programa
que, ao final, concatena todos os valores obtidos e convertidos em uma
das representações possíveis (binária ou numérica decimal) numa saída
única, válida como uma matriz de entrada para a rede especialista de
validação harmônica.
6. RESULTADOS E CONCLUSÕES
Para cada tipo de entrada, foram realizados testes com todas as oito
regras definidas no escopo e escolhidas as melhores redes através das
métricas apresentadas. Tanto os algoritmos de backpropagation com taxa
de aprendizado adaptativa (traingdx) quanto o de backpropagation com
gradiente escalar conjugado (trainscg) foram utilizados.
A partir dos experimentos realizados, foi possível tirar várias conclusões.
Uma delas é que o modelo de entrada E1 foi o que se mostrou mais
generalizado, obtendo o melhor resultado em um maior número de regras
(R01, R12 e R13). O gráfico abaixo (figura 5) ilustra este resultado.
Figura 5 – a) Melhores redes por regra e b) Número de melhores redes obtidas
por cada algoritmo
A regra que apresentou o pior índice de acertos após o treinamento foi a
R02. Coincidentemente, o modelo menos generalizado (E2) apresentou
melhores resultados justamente nesta regra. Daí é possível especular que
tal modelo pode ser um bom ponto de partida para estudos de futuras
otimizações na rede especialista que avalia a R02.
Ao realizar a pesquisa e modelagem do trabalho proposto, conclui-se que
é possível desenvolver um sistema CAC capaz de utilizar Redes Neurais
Artificiais como validadores harmônicos inteligentes. Para todas as regras
experimentadas, o modelo proposto nesta solução apresentou índices de
acerto consideráveis e por isso podem ser utilizados como base para
posterior complementação de informações que atendam as demais regras
harmônicas que venham a ser incorporadas ao MusiK.
Neste projeto, trabalhou-se com restrições de tonalidades nas
composições, que poderão ser removidas em evoluções. Outras regras
harmônicas básicas, como a verificação de quintas paralelas, podem ser
também validadas em uma nova versão do projeto. Porém, para alcançar
a alçada profissional outras limitações deveriam ser trabalhadas, como por
exemplo, a identificação de notas de passagem, notas estranhas
(apoggiaturas, borbaduras, dissonâncias, etc.) e acidentes de modulação.
Com estas questões resolvidas, seria possível analisar composições reais,
baseadas em harmonia tradicional. Validação de regras de contraponto
(harmonia horizontal), formatos de composição (forma sonata, por
exemplo) e detecção encadeamentos harmônicos também poderiam ser
incluídos em futuros projetos, desenvolvendo redes neurais especializadas
nestas avaliações ou até mesmo utilizando agentes inteligentes.
REFERÊNCIAS BIBLIOGRÁFICAS
ANDERS, T. (2007) Composing Music by Composing Rules: Design and
Usage of a Generic Music Constraint System, Tese de Ph.D em
Tecnologia Musical, School of Music & Sonic Arts, Queen’s University
Belfast.
BENNETT, R. (1986) Uma Breve História da Música, 1ª ed., Jorge Zahar
Editor.
BRAGA, A. P. (2000) CARVALHO, A. P. L. F.; LUDERMIR, T. B., Redes
Neurais Artificiais Teoria e Aplicações,Livros Técnicos e Científicos
Editora.
CORRÊA, D. C., SAITO, J. H. (2007) Aplicação de redes neurais para
auxílio nas composições musicais utilizando compassos como
primitivas e inspiração em relevos naturais, Simpósio Brasileiro de
Computação e Música, São Paulo, Brasil.
ECK, D., SCHMIDHUBER, J. (2002) A First Look at Music Composition
using LSTM Recurrent Neural Networks.
GOLDMAN, C. V., GANG, D., ROSENCHEIN, J. S. (1996) NetNeg: A Hybrid
Interactive Architecture for Composing Polyphonic Music in Real
Time.
GOLDSCHMIDT, R. R. ; PASSOS, E. P. L. (2005) Data Mining: Um Guia
Prático - Conceitos, Técnicas, Ferramentas, Orientações e
Aplicações. 1. ed. Rio de Janeiro: Editora Campus.
SCHOENBERG, A. (1910) Harmonia, 1ª ed., UNESP, 2002.
HAYKIN, S. (1999) Neural Networks - A Comprehensive Foundation.
HINDEMITH, P. (1998) Curso Condensado de Harmonia Tradicional, 13ª
ed, Irmãos Vitale.
MOLLER, M. F. (1993) A scaled conjugate gradient algorithm for fast
supervised learnig.
PACHET, F. , ROY, P. (2001) Musical Harmonization with Constraints: A
Survey, Constraints Journal.
REZENDE, S. O. (2003) Sistemas
Aplicações, 1ª ed., Manoele.
Inteligentes
–
Fundamentos
e
Download

Baixo - Faeterj-Rio