Se é utilizador do Shazam ou já se cruzou de alguma forma com a aplicação, já deve ter ficado impressionado com a rapidez com que ela deteta (quase) qualquer música. Já se questionou como é que a plataforma consegue essa proeza?
Venha perceber melhor como tudo funciona.
A aplicação de reconhecimento musical
O Shazam é das plataformas mais simples, intuitivas e úteis alguma vez criada. Trata-se de uma aplicação de reconhecimento musical que é usada para encontrar informação sobre uma música da qual gostou, mas sobre a qual desconhece o título e o artista.
Sem necessidade de trautear aquilo que entendeu de uma música no YouTube ou no Google, a aplicação permite que grave alguns segundos daquilo que está a ouvir e, quase que instantaneamente, encontra o conteúdo, bem como o artista.
A tecnologia por trás desta proeza é um mistério para muita gente, mas vamos tentar entender como funciona.
Como funciona, afinal, o Shazam?
O Shazam utiliza uma tecnologia desenvolvida por Avery Wang, cofundador da aplicação, para que seja possível identificar as músicas procuradas. Ora, o segredo da aplicação são as impressões digitais que essa tecnologia cria para gravações de áudio.
Ou seja, o Shazam cria e armazena impressões digitais de áudio que consistem em coleções de dados numéricos para cada uma de mais de 15 mil milhões de músicas. Assim que um utilizador rastreie uma música, a aplicação cria rapidamente uma impressão digital de áudio da música recebida.
Posteriormente, e após a criação da impressão digital de áudio para a gravação, o Shazam carrega a impressão, e não o áudio, para o seu servidor. Aí é feita uma pesquisa na base de dados por dados que correspondam ao que foi ouvido. Se encontrados, a aplicação devolve a informação da música.
O que é uma impressão digital de áudio?
Basicamente, uma impressão digital de áudio é um resumo digital de sinais de áudio geralmente usada para identificar uma amostra de áudio ou localizar conteúdos semelhantes numa base de dados de áudio.
No caso do Shazam, a tecnologia de impressão digital de áudio consegue fazer corresponder partes de conteúdo áudio não identificado às partes correspondentes na sua base de dados. Isto é, a aplicação identifica a música que o utilizador está a gravar (um conteúdo não identificado) fazendo corresponder a impressão digital dessa música com a impressão digital na sua base de dados.
Essas impressões digitais únicas encontradas na base de dados da aplicação são conseguidas através de certos pontos de dados identificados com a ajuda de um espetrograma.
O que é um espetrograma?
Um gráfico tridimensional utilizado para representar o som, de nome espetrograma, mostra a mudança de frequências ao longo de um período, considerando também a amplitude e o volume.
Conforme explicou Avery Wang, o algoritmo do Shazam utiliza pontos do espetrograma de forma a representar notas com maior energia para, dessa forma, gerar impressões digitais de áudio.
Ora, ignorando a maior parte da informação de uma música e concentrando-se apenas nas notas marcantes, a aplicação consegue fazer uma pesquisa na base de dados a uma velocidade impressionante.
Resultados para pesquisas em concertos
É por causa dessa representação seletiva que o Shazam consegue identificar músicas em locais com ruído. Por outro lado, se o ruído for de tal forma perturbador, os dados no espetrograma serão distorcidos e não haverá forma de encontrar uma correspondência.
Além disso, também não consegue rastrear uma música tocada num concerto, porque a versão ao vivo dificilmente será igual à versão gravada. Da mesma forma, não consegue identificar quando o utilizador tenta trautear ou cantar a música que ouviu.