Shazam: come funziona il noto servizio di riconoscimento musicale?

“Carina questa canzone, come si intitola?” Per rispondere a questa domanda che spesso ci poniamo ascoltando la radio o una pubblicità televisiva può tornarci utile Shazam, una delle app più scaricate sugli smartphone di tutto il mondo, in grado di riconoscere nel giro di pochi secondi un brano musicale, cogliendone anche solo alcune note, senza farsi distrarre dai rumori di sottofondo.

Ma come funziona? Scopriamolo insieme!

shazam

Il segreto dietro il funzionamento di Shazam

Il suo segreto è la trasformata di Fourier. Tale trasformata converte una funzione x(t) dipendente dal tempo (che descrive matematicamente un’onda sonora o anche segnali televisivi, telefonici e così via) in una funzione X(f) dipendente dalla frequenza.

Un modo per rappresentare graficamente il risultato di una trasformata di Fourier è chiamato “spettrogramma“. Per costruirlo, si suddivide l’intervallo di tempo totale (cioè quello relativo all’intera forma d’onda da studiare) in sottointervalli uguali (dette finestre temporali) e si applica la trasformata di Fourier a ciascuna finestra (di solito si utilizza la trasformata veloce di Fourier, FFT, o la trasformata discreta di Fourier, DFT), ricavando l’intensità del segnale in funzione della frequenza. A questo punto si traccia un grafico che riporta sull’asse delle ascisse il tempo e su quello delle ordinate la frequenza: a ciascun punto di data ascissa e data ordinata (relativo a un dato istante e a una data frequenza) è assegnato un colore, una tonalità cromatica che indica l’intensità del segnale in corrispondenza di quell’istante e di quella frequenza.

Shazam costruisce lo spettrogramma del segnale sonoro catturato dal microfono del vostro smartphone e a partire da questo crea un’impronta digitale della canzone (un fingerprint numerico di pochi byte, cioè un identificatore univoco), che viene ricercata nell’enorme database dell’applicazione (un archivio dove sono contenute le impronte digitali di milioni di brani).

Se emerge una corrispondenza, Shazam ci fornisce tutte le informazioni sulla canzone (titolo del brano, nome dell’artista…), altrimenti sul display appare un messaggio di errore. Il sistema possiede anche una memoria a breve termine, che gli permette di riconoscere velocemente i brani più richiesti, come potete verificare facilmente, misurando il tempo necessario per identificare una canzone nota, rispetto a un brano meno famoso.