Anda di halaman 1dari 15

1

Um audio fingerprint pode ser entendido como um pequeno resumo de um objeto de udio. uma representao, formada por um nmero limitado de bits, de um objeto de udio que consiste de um grande nmero de bits. Ou seja, associa-se um sinal de udio a um descritor numrico considervelmente menor, de forma a torn-lo mais fcil de ser localizado. Um sistema de identificao de udio eficiente leva em conta os seguintes parmetros: Robustez: desejvel que as caractersticas do udio a serem extradas sejam invariantes em condies de degradao do sinal, como presena de rudo. Confiabilidade: diz respeito frequncia que uma msica corretamente identificada.

Tamanho da fingerprint: deve ser pequeno para no ocupar muito espao de memria e para que os processos de busca sejam mais rpidos.
Granularidade: diz respeito a quantos segundos de uma msica so necessrios para que ela seja identificada corretamente.

Vrios mtodos podem ser usados para extrair caractersticas de um sinal sonoro. A partir do espectro de frequncias, obtido normalmente por uma transformada de Fourier, pode-se separ-lo em bandas Mel, Bark ou logartmicas . Realizando clculos sobre estas bandas consegue-se extrair informaes como o MFCC (Mel-frequency cepstral coefficients), MLE (Medida de Lisura Espectral), vetores mdios de frequncia das bandas, diferena de energia do sinal de bandas consecutivas, dentre outras. De um modo geral um sistema de identificao de udio pretende: 1. Encontrar quais as caractersticas do som so mais resistentes a determinadas distores de sinal. 2. Determinar as que so as mais marcantes ao ouvido humano. 3. Descobrir as caractersticas que no se repetem em mais nenhuma musica.

Passos para a extrao do audio fingerprint atravs do algoritmo Philips: 1. O sinal de udio dividido em janelas de 30 ms (Contra 11,6ms da referncia), podendo conter sobreposio entre as janelas, no projeto foi utilizado uma sobreposio de 20 %, o que equivale a 6 ms. 2. Realizar uma FFT sobre cada janela. 3. Separar as frequncias obtidas em 33 bandas logartmicas. Na implementao em MATLAB sero criadas 33 bandas de igual tamanho. Essas bandas estaro limitadas faixa de frequncia de 300Hz a 2000Hz, a faixa espectral mais relevante ao ouvido humano. 4. Calcular a energia total de cada banda. 5. Subtrair a energia da banda posterior pela banda atual, para cada resultado teremos um bit, se o resultado da subtrao for maior que zero o bit ser 1, caso contrario temos o valor 0. E(N+1) E(N)

6. Cada representao de 32-bit forma um sub-fingerprint, insuficiente para identificao de uma msica
7. Isto ser feito em mais 255 sub-fingerprints de forma a gerar um fingerprint block, formado por 256 sub-fingerprints. O tempo total de um fingerprint block ser 256 x 30ms = 7,68s, aproximadamente 8s, que a granularidade do sistema de identificao.

. difcil extrair caractersticas do udio apenas no domnio do tempo. .Torna-se ainda mais difcil comparar e identificar udios distintos.

.Caractersticas nicas so encontradas ao reduzir a analise do som para poucos ms. .Ao analisarmos o sinal na frequncia, pode-se notar que amplitudes so encontradas em frequncias caractersticas.

feita ento a diviso das janela em 33 bandas distintas, que tero suas energias calculadas para a gerao dos bits que do origem aos subfingerprints.

O primeiro bit da sequncia dado pela subtrao da energia da banda 2 pela banda 1, caso o resultado da subtrao seja positivo temos um bit 1 caso contrrio o bit ser 0. O fato de cada sub-fingerprint possuir 32 bits provem do uso da banda posterior para gerar o bit atual, sendo impossvel de gerar o bit 33, j que esta a ltima banda, logo 33 bandas geram uma sequncia de 32 bits

Fingerprint Block = 256x32bits = 8192 bits

Exemplo de extrao de uma sub-fingerprint no sistema Philips


8

. Nessa etapa, os dados gerados so armazenados para que seja possvel realizar a busca posteriormente. . Metadados: Armazena as informaes como nome da msica, cantor, etc. para que os dados tenham um signnificado real. . Audio fingerprints: Onde so armazenados todos os sub-fingerprints de todas as msicas, na ordem em que so cadastradas. . Tabela de lookup: Armazena os sub-fingerprints ordenando-os e apresenta um link com a base de audio fingerprints. O uso da tabela de lookup, como ser visto no sistema de busca permite que uma busca por fora bruta seja realizada, diminuindo assim, consideravelmente o tempo de processamento.

10

1. A primeira etapa no sistema de busca consiste em extrair um fingerprint block da msica desconhecida. 2. Com o fingerprint block processado, o primeiro sub-fingerprint (SFP) comparado com a tabela de lookup, todos os SFP com erro de at 3 bits so armazenados assim como a msica que eles pertencem e a posio que a o SFP foi encontrado. 3. Caso a busca no retorne nenhum valor, a busca repetida com o segundo SFP da msica desconhecida, caso nada seja encontrado, o terceiro SFP testado e assim por diante. 4. Caso nenhum dos 256 SFP do bloco seja encontrado na base de dados, dito que a msica no est cadastrada. 5. Caso o SFP seja encontrado: 6. O subfingerprint block da msica desconhecida comparado com o bloco da msica na posio em que o SFP foi encontrado. 7. Baseado na quantidade de bits que coecidem na msica desconhecida e na msica comparada feita uma porcentagem de similaridade 8. Ao fim da busca o programa retorna qual a msica mais provvel e qual a porcentagem de similaridade dessa msica com a msica desconhecida.

11

2. Com o fingerprint block processado, o primeiro sub-fingerprint (SFP) comparado com a tabela de lookup, todos os SFP com erro de at 3 bits so armazenados assim como a msica que eles pertencem e a posio que a o SFP foi encontrado. 3. Caso a busca no retorne nenhum valor, a busca repetida com o segundo SFP da msica desconhecida, caso nada seja encontrado, o terceiro SFP testado e assim por diante. 4. Caso nenhum dos 256 SFP do bloco seja encontrado na base de dados, dito que a msica no est cadastrada.

12

5. Caso o SFP seja encontrado: 6. O subfingerprint block da msica desconhecida comparado com o bloco da msica na posio em que o SFP foi encontrado. 7. Baseado na quantidade de bits que coecidem na msica desconhecida e na msica comparada feita uma porcentagem de similaridade 8. Ao fim da busca o programa retorna qual a msica mais provvel e qual a porcentagem de similaridade dessa msica com a msica desconhecida.

13

Aqui ser exibido o funcionamento do programa e trechos interessantes do cdigo.

14

15