Como é que o Shazam reconhece quase todas as músicas?

19 Comentários

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.

Imagem app Shazam no iOS

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.

espetrograma

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.

 

Leia também:

Dica: Como partilhar música do Spotify com um simples código

Comentários

19

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de OS
    OS

    Assistente do Google não faz igual?

    1. Avatar de Pedro F.
      Pedro F.

      Fas esse e muitos outros… Mas o Shazam é que deve ter financiado o artigo…

      1. Avatar de Vítor M.

        Hehehe pois deve ter sido deve. Esse “fas” muito financiamento “fas”.

      2. Avatar de Miguel Oliveira
        Miguel Oliveira

        Aguenta Camões.

      3. Avatar de JP
        JP

        Se o shazam foi reconhecidamente o primeiro a oferecer esse serviço (app criada em 2002), e se o artigo quer descrever a tecnologia, por que raio havia o artigo de falar do google assistant, o imitador, e tirar o mérito ao pioneiro?

        1. Avatar de ervilhoid
          ervilhoid

          E eu a pensar que o track ID era mais velho..

          1. Avatar de JP
            JP

            Nem conhecia. Estive a ver no wikipedia (e vale o que vale), e o que diz sobre o Track ID: “The service has been present on select Sony Ericsson handsets since around 2005.[5][6]”. Logo, depois de 2002, altura em que o shazam foi lançado. Mas não sei, pode até ser mais antigo que o shazam. Agora, o google assistant???

          2. Avatar de Pedro F.
            Pedro F.

            Em 2002 o shazam foi lançado em que plataformas?

      4. Avatar de jorgeg
        jorgeg

        lool
        +1 essa fez doer!
        Demasiado obvio a resposta dele diz tudo!

    2. Avatar de frangoassado
      frangoassado

      o shazam foi o primeiro a fazer este tipo de reconhecimento. ja vi que deves ter 9 anos para nao o conheceres primeiro.

      1. Avatar de SSD
        SSD

        Para além de ser o primeiro, tem uma eficácia superior a qualquer outro, ao assistente do Google então nem se fala. Mas esta página está cheia de críticos profissionais

  2. Avatar de ervilhoid
    ervilhoid

    Quem se lembra do trackID que vinha nos Sony Ericsson?

    1. Avatar de Pedro F.
      Pedro F.

      Eu! No meu experia neo era um must! E no xperia walkman do meu pai também!

  3. Avatar de zeroToInfinity
    zeroToInfinity

    Como programador e developer de aplicações web….a velocidade do shazam a detectar musicas sempre foi uma coisa que me deixou intrigado. Seja qual for o algoritmo utilizado….foi muito bem implementado.
    No outro dia estava a ouvir uma musica num jogo, uma versão instrumental que nunca tinha ouvido, e em 2 segundos tinha a informação da musica no Shazam….fico sempre impressionado. Não conheço nenhuma outra app que faça semelhante coisa a mesma velocidade.

    1. Avatar de PML
      PML

      É realmente incrível. Mesmo usando, como diz o artigo, só partes da impressão digital, tem de percorrer partes da música para reconhecer pequemos trechos. É incrível reconhecer, mas fazê-lo e a esta valocidade, fico espantado. O que não dava para ver o código do programa e como está implementada a BD 😀

  4. Avatar de Francisco Santos
    Francisco Santos

    🙁 também não “apanhou” o genérico do programa da SIC “Governo Sombra”

  5. Avatar de Nuno Silva
    Nuno Silva

    Só se esqueceram de colocar a font da notícia. Vi a mesma notícia à menos de 1 semana numa outra source. Limitaram-se a traduzir e a usar um exemplo tuga. Coincidência a mais.

  6. Avatar de Jorge
    Jorge

    Vi isto há muito tempo mas explica isto de forma muito mais simples
    https://www.youtube.com/watch?v=kMNSAhsyiDg

  7. Avatar de Pedro
    Pedro

    Tou a experimentar o soundhound que mostra a letra da música a medida que ela é cantada na rádio.. e adiciona a música diretamente numa playlist no Spotify..
    Não sei se o Shazam também o faz pois já não uso a bastantes anos..