Shazam: come funziona

Come funziona Shazam? Vediamo nel dettaglio ma con semplicità come fa l’algoritmo a identificare, fra milioni, il brano che gli state facendo ascoltare.

La trovata degli ingegneri che hanno sviluppato il software è geniale, ed ha a che fare con la psicoacustica. Di seguito una spiegazione semplificata di quello che avviene e come avviene quando fate riconoscere una canzone al vostro telefono, senza immergersi in complicati tecnicismi.

Qualsiasi suono complesso nel mondo reale, è rappresentato da numerose frequenze, ognuna di esse ad intensità(volume) variabile nel tempo. Come tutti sanno, esistono frequenze gravi, medie ed acute. L’insieme di questi elementi formano il rumore del vicino che disturba, l’abbaiare del vostro cane, il rombo di una moto in strada. Ed anche un brano musicale.

Un brano musicale, se analizzato con particolari strumenti, mostrerà quali frequenze sono predominanti e quando ed a quale intensità queste si presentano. Le frequenze che hanno intensità maggiore rispetto ad altre, in un dato istante, si chiamano picchi.

come funziona shazam - spettro audio

Tracciando i picchi di determinate frequenze di un brano musicale otteniamo quindi una mappa unica, chiamata impronta digitale(o fingerprint), differente da brano a brano. Questa mappa identificativa è infinitamente più piccola di un brano musicale, a livello di byte occupati. E’ un po’ come se fosse il DNA di una certa canzone.

come funziona shazam - spettro audio

In pratica l’app che avete sul vostro smartphone non fa altro che “sentire” quello che arriva dal microfono, creare una stringa di dati con l’elenco dei picchi trovati, inviarla al database di Shazam e qui il server la confronterà con milioni di stringhe contenute nel proprio database. Quando terminata la query, il matching, ovvero la coincidenza delle stringhe, è superiore ad una data percentuale, l’app vi mostrerà il risultato trovato.

L’algoritmo di Shazam, come logica di fondo, è il medesimo che viene utilizzato per app simili, per esempio Google Sound Search, SoundHound, TrackID etc.

Link utili:

http://willdrevo.com/fingerprinting-and-audio-recognition-with-python/

http://coding-geek.com/how-shazam-works/

http://gizmodo.com/5647458/how-shazam-works-to-identify-nearly-every-song-you-throw-at-it

 

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *