Choconut: um processo para reconhecimento de acordes em seqüências capturadas por violões MIDI - Enrique Pereira Scholz, Ricardo (2008)
A recuperação de informações musicais (MIR Music Information Retrieval) é uma área de pesquisa extensa e útil para um conjunto de aplicações como identificação automática de intérprete, compositor ou gênero musical, busca e navegação em bibliotecas musicais, dentre outras. O projeto Um País, Um Violão , realizado no Centro de Informática da Universidade Federal de Pernambuco, se propõe a estudar a interpretação violonística no acompanhamento da bossa nova e, neste contexto, o reconhecimento de acordes tem papel fundamental. Dado que a bossa nova possui harmonia jazzística, favorecendo a utilização recorrente de dissonâncias, e os intérpretes freqüentemente realizam re-harmonizações durante a execução das peças, a maneira com a qual tais aspectos são executados torna-se uma informação importante na caracterização de um dado intérprete e no estudo de sua interpretação. Entretanto, para realização de tal estudo, os requisitos do reconhecimento de acordes são mais exigentes do que os considerados na literatura atual. O processo proposto lida com harmonia jazzística, a mais complexa estrutura harmônica na música ocidental. Nenhum trabalho encontrado na literatura considera tal complexidade. Infelizmente, a tecnologia atual de captura MIDI em violões é muito sensível a diversos fatores, e ainda insere uma quantidade grande de ruído nos dados capturados. Portanto, o processo inclui uma etapa de préprocessamento das seqüências capturadas para minimização de ruídos. Além disso, por motivos que serão discutidos no quinto capítulo, realizou-se um estudo para garantir que os atrasos gerados pelo captador MIDI são aceitáveis. Para minimizar os ruídos inerentes à captura realizada pelos violões MIDI, foi proposta uma técnica baseada em duas bases de regras, executadas em série, porém realizando-se uma segmentação simples antes da execução da segunda base. A primeira base contém regras simples e elimina eventos claramente ruidosos, além de marcar potenciais ruídos para análise na segunda etapa quando mais informações estão disponíveis. A segunda base contém regras mais complexas, que consideram informações harmônicas e contextuais locais para tratar eventos marcados na primeira fase, eliminando ou corrigindo o ruído restante. O processo proposto para detecção de acordes nas seqüências MIDI divide o problema em três fases: primeiramente, realiza-se a segmentação da seqüência, tentando identificar os pontos de mudança de acorde através de um algoritmo que utiliza conhecimento específico do domínio. Em seguida, utiliza-se uma função de utilidade e um conjunto de padrões de acordes recorrentes em harmonia jazzística e posições comuns no braço do violão para identificar os acordes candidatos em cada segmento, construindo-se um grafo. Por fim, particiona-se o grafo encontrado em regiões de incerteza, ou seja, regiões onde há mais de um acorde candidato para cada camada, cercadas por regiões de certeza, e utiliza-se um conjunto de regras contendo padrões de seqüências recorrentes em harmonia jazzística para tentar resolver os casos ambíguos em cada sub-grafo. Além disso, realizou-se um estudo, inédito na literatura, sobre a confiabilidade da precisão temporal da captura realizada por violões MIDI, comparando-a com a precisão obtida pelos algoritmos de detecção de ataques em sinais de áudio. O pré-processamento obteve bons resultados na minimização de eventos ruidosos nas seqüências MIDI. Os resultados chegaram a 74,44% de precisão em reconhecimento de acordes, e foram bastante satisfatórios, especialmente com respeito à completude harmônica envolvida quando considera-se a quantidade de dissonâncias usadas na harmonia jazzística