Projeto de Formatura – Turmas 2008 PCS - Departamento de Engenharia de Computação e Sistemas Digitais Engenharia de Computação Reconhecimento e Busca Adaptativos de Padrões Musicais O projeto MusicFinder é um protótipo para um sistema de busca musical. Porém, ao invés de buscas textuais comuns nas letras das músicas ou nos nomes de seus autores, o sistema permite ao usuário realizar uma busca musical. Neste modelo de busca, o usuário define uma seqüência (ou cadeia) de notas e o sistema as procura nas melodias que constituem as músicas de um grande acervo. fig. 3 e 4 – espectro de freqüências de um assobio e suas notas extraídas O sistema varre o acervo em busca de cadeias de notas semelhantes à de entrada. Para ser capaz de tolerar certos tipos de imperfeições da cadeia de entrada, tais como omissão ou adição de uma nota, o sistema utiliza um algoritmo baseado em autômatos adaptativos. Este algoritmo adaptativo permite que o processo de comparação das cadeias se modifique estrategicamente a fim de compensar os defeitos da entrada e permitir uma comparação direta nota a nota. fig. 1 – arquitetura completa do sistema de busca musical Os principais desafios do projeto são: •Extrair a cadeia de notas a partir de um trecho sonoro produzido pelo usuário. •Encontrar as músicas contendo trechos de melodias que mais se aproximam da cadeia de entrada, tolerando as variações e imperfeições usuais de uma reprodução humana. fig. 5 – exemplo de configuração do autômato de reconhecimento, processando a cadeia: A, B-1, A, C, E+1, F Na comparação direta, faz-se necessário lidar com variações de altura (transposição tonal) e de duração (dilatação ou contração). Para isso foi utilizado o método dos mínimos quadrados para aproximar a função de mapeamento entre as características das cadeias comparadas, com funções que representam as variações toleradas. A partir da distância entre as funções aproximadas e as originais, é possível quantificar a semelhança entre as cadeias. 900 Alturas da Cadeia de Entrada (em Hz) 800 fig. 2 – uso típico do sistema 700 600 500 400 300 250 300 350 400 450 500 550 600 650 700 750 Alturas da Cadeia do Acervo (em Hz) fig. 6 – comparação numérica de alturas, nota a nota Uma maneira conveniente de entrar com a cadeia de notas a ser procurada é a partir da reprodução sonora destas. O usuário pode cantar, assobiar ou mesmo tocar um instrumento. A amostra de áudio produzida passa por um processo de análise de freqüência, utilizando técnicas como a transformação de Fourier, de forma a obter as freqüências fundamentais de vibração (altura) de cada nota. Integrantes: Pedro Rodrigues Nacione Pedruzzi, [email protected] Ricardo André Redder Júnior, [email protected] A extração de notas foi capaz de obter as alturas e durações das notas de uma gravação de uma melodia assobiada. Foi possível identificar músicas através de cadeias de entrada contendo variações e imperfeições, graças à abordagem adaptativa. Professor Orientador: Prof. Dr. João José Neto, [email protected]