Como funciona Shazam

Shazam permite que você envie uma gravação feita no seu telefone de quase qualquer música e Shazam lhe dirá o nome da música, o nome do artista e outros dados sobre essa música. Esses outros dados muitas vezes incluem links para lugares onde você pode comprar a música, assim como datas de turnês futuras para esse artista. Nos últimos anos, Shazam ampliou a sua biblioteca para incluir anúncios e televisão. Por exemplo, você pode Shazam um comercial e receber informações adicionais sobre o produto, incluindo um link para comprar esse produto.

Fundado em 1999, Shazam é mais antigo que o smartphone. Nos primeiros tempos da Shazam, os usuários chamavam em um dispositivo que se parecia com este

Uma busca Shazam é capaz de encontrar uma correspondência mesmo em ambientes ruidosos como bares ou boates, desde que essa música já esteja no banco de dados da Shazam. Uma gravação de pelo menos cinco segundos dará os melhores resultados. Você pode começar a gravar em qualquer ponto da música e a Shazam lhe enviará uma correspondência em questão de segundos. Para que este serviço funcione bem, Shazam tem uma base de dados crescente de mais de 8 milhões de canções/arquivos de áudio. Assumindo que a média de arquivos de áudio é de três minutos, levaria mais de 45 anos para reproduzir cada um de volta para trás!

Com uma base de dados deste tamanho eles têm uma grande cobertura, mas como é que a Shazam encontra uma correspondência tão rapidamente numa base de dados tão grande? Primeiro, os arquivos de áudio reais não são o que está sendo procurado quando você Shazam uma música. Em vez disso, a Shazam tem uma impressão digital de áudio para cada ficheiro de áudio na base de dados. A gravação que um usuário Shazam submete também é feita em uma impressão digital de áudio que lhe permite fazer comparações de forma precisa e rápida. Essas impressões digitais de áudio consistem em coleções de dados numéricos. Se você está se perguntando como essa melodia cativante que você é Shazaming se transforma em números, a próxima seção é para você.

Como funciona o som

Na sua definição mais básica, o som é partículas que vibram. Há três elementos que tornam cada som único: Amplitude, Frequência e Tempo. Amplitude é o tamanho da vibração, que percebemos como a sonoridade do som. Frequência é o ritmo a que a vibração ocorre. A frequência de um som é o que percebemos como o tom. A frequência é medida em Hertz (Hz), que representa quantas vezes uma onda sonora se repete por segundo. O ouvido humano pode ouvir sons que vão de 20Hz a 20.000Hz. Para dar alguma perspectiva, a nota mais baixa de um piano tradicional de 88 teclas, A0 tem uma frequência de 27,5Hz. A frequência de um tom musical em cada oitava aumenta logaritmicamente. Em outras palavras, a frequência de cada oitava é duas vezes maior do que a oitava abaixo dela. Por exemplo, a frequência de A1 é 55Hz, a frequência de A2 é 110Hz, e a frequência de A3 é 220Hz.

>222222> >

>222222>>222222>>

Na tabela acima, você pode ver que muitos instrumentos podem tocar as mesmas notas, mas uma nota no violino e a mesma nota no piano soará diferente. Esta diferença na qualidade tonal é conhecida como timbre. O timbre de um som é criado por frequências dentro do som que são mais elevadas (repita a uma velocidade mais rápida) do que a altura percebida do som. Estas frequências são conhecidas como sobre-tons. Veja esta gravação que começa com uma nota (C4 261.23Hz) num piano seguida por cada um dos tons sobrepostos dentro do som tocado um a um e termina com a mesma nota que começou com.

Estas frequências de tons sobrepostos são o que dá a um instrumento o seu timbre característico.

Tempo é importante porque não só nos dá o período de tempo em que ocorre mas também em que momento um som ocorre em relação a outros sons. Uma determinada música pode ser composta por muitos instrumentos que variam em frequência e amplitude à medida que se movem no tempo em relação uns aos outros. Devido à complexidade da amplitude, frequência e tempo, e à capacidade de os medir com precisão, duas versões diferentes da mesma canção irão ainda gerar uma impressão digital de áudio única.

Como é feita uma impressão digital

Para fazer uma impressão digital de áudio, um ficheiro de áudio é convertido num espectrograma onde o eixo y representa a frequência, o eixo x representa o tempo e a densidade do som representa a amplitude (Fig 1A).

>222222>>

Para cada seção de um arquivo de áudio, os picos mais fortes são escolhidos e o espectrograma é reduzido a um gráfico de dispersão. Neste ponto, a amplitude não é mais necessária (Fig 1B).

>>

Agora temos todos os dados básicos para combinar dois arquivos que passaram pelo processo de impressão digital. No entanto, só é possível fazer a correspondência se um usuário Shazam começou a gravar no milissegundo exato em que uma música começou. Como este quase nunca é o caso, existem passos adicionais para a impressão digital de áudio. Através de um processo chamado hashing combinatório, os pontos do gráfico de dispersão são escolhidos para serem âncoras que estão ligadas a outros pontos do gráfico que ocorrem após o ponto de ancoragem durante uma janela de tempo e frequência conhecida como zona alvo (Fig. 1C).

>

Cada par de pontos de ancoragem é armazenado numa tabela contendo a frequência da âncora, a frequência do ponto e o tempo entre a âncora e o ponto conhecido como hash. Estes dados são então ligados a uma tabela que contém o tempo entre a âncora e o início do arquivo de áudio. Os arquivos na base de dados também têm identificações únicas que são usadas para recuperar mais informações sobre o arquivo, como o título da música e o nome do artista.

Como encontrar uma correspondência

Agora que criamos impressões digitais para ambos os arquivos de áudio, cada um dos pares de pontos de ancoragem da gravação do usuário Shazam é enviado para a base de dados da Shazam para procurar por pares de pontos de ancoragem correspondentes. Esta busca irá retornar as impressões digitais de áudio de todas as músicas que contenham qualquer combinação de hash. Assim que tivermos todas as combinações possíveis para a gravação do usuário Shazam, precisamos encontrar a compensação de tempo entre o início da gravação do usuário Shazam e o início de uma dessas combinações possíveis a partir da base de dados. Este desvio no tempo pode ser calculado subtraindo o tempo da ocorrência do par de âncoras na gravação do usuário Shazam do tempo de ocorrência do hash correspondente no arquivo de áudio da base de dados da Shazam. Se uma quantidade significativa de hashes correspondentes tiverem o mesmo offset de tempo, essa música é determinada como sendo uma correspondência!

Quando mapeada para um gráfico de dispersão onde o eixo y representa o tempo em que o hash ocorre na gravação do usuário Shazam e o eixo x representa o tempo em que o hash ocorre no arquivo de áudio da base de dados da Shazam, os hashes correspondentes formarão uma linha diagonal (Fig. 3A). Em um histograma dos mesmos dados onde o eixo y representa os tempos de offset e o eixo x representa a quantidade correspondente, haverá um pico grande no tempo de offset correto (Fig. 3B).

>

Este método de busca de áudio é suficientemente preciso para encontrar correspondências, apesar da gravação do usuário Shazam conter ruído como pessoas falando, ruído de estrada e até mesmo outras músicas. Como o número de hashes de pontos de ancoragem criados por uma impressão digital de áudio é muito maior do que a quantidade de correspondências de pontos de ancoragem necessárias para retornar um resultado de busca positivo, os hashes de pontos de ancoragem que são mascarados por ruído externo não é suficiente para evitar que Shazam encontre consistentemente uma correspondência para um arquivo de áudio do banco de dados. Como o algoritmo de busca é construído para encontrar correspondências para áudio gravado no banco de dados da Shazam, se você estiver em um concerto e obtiver uma correspondência positiva quando shazaming uma música, é mais provável que o intérprete esteja usando faixas de apoio e/ou sincronização de lábios. Outro efeito colateral é que Shazam retornará a gravação original de onde vem um sample se um artista não tiver combinado o sample com nenhum outro som e não tiver alterado o sample de forma alguma.

Leave a Reply