Quantcast
Viewing all articles
Browse latest Browse all 15

Cum funcționează Shazam pentru a identifica (aproape) orice cântec pe care i-l arunci

Image may be NSFW.
Clik here to view.
Shazam logo
Ești în mașină, la supermarket sau pe o terasă și auzi o melodie care-ți place pe loc dar nu știi cine o cântă pentru a o descărca de pe torente (pardon, am vrut să spun „cumpăra”) și  reasculta până la saturație. Nu știu dacă voi ați pățit chestia asta dar mie mi se întâmplă destul de des. Norocul meu este că, odată cu creșterea în popularitate a smartphoneurilor, au început să apară și aplicații care identifică piesele interesante dar necunoscute.

Una dintre aceste aplicații (probabil și cea mai folosită în prezent) este Shazam, care lucrează în tandem cu serviciul omonim din Nor pentru identificarea pieselor muzicale în decursul a doar câtorva zeci de secunde. Shazam este disponibil pentru Windows Mobile, Android,  iPhone, Blackberry și Nokia.

Modul de funcționare al aplicației este foarte intuitiv: după instalarea și lansarea acesteia, trebuie doar apăsat butonul „Tag now” („etichetează acum”), gest urmat de poziționarea microfonului cât mai aproape de sursa sunetului. După înregistrarea unei mostre a cântecului, urmează analiza acesteia și, în cele mai multe cazuri (cu excepția ultimelor manele), Shazam va afișa numele cântecului, informații despre artist cât și un link înspre o pagină de unde poți cumpăra albumul muzical.

Shazam a reușit să mă impresioneze atât prin acuratețea identificării chiar și a unor cântece obscure cât și prin modul în care reușește să filtreze zgomotul de fond (am identificat niște melodii într-o pizzerie și chiar într-un club aglomerat).

Întrebarea care m-a frământat chiar de la prima mea întâlnire cu Shazam a fost „Cum reușește să identifice cântărețul/formația/numele cântecului?”

Curios din fire cum mă știu, am început să caut informații despre principiul de funcționare a lui Shazam și, din fericire, am dat peste un document explicativ scris chiar de către unul dintre dezvoltatorii aplicației. Bineînțeles că anumite detalii cheie sunt omise din rațiuni de copyright dar ideea de bază este similară cu ceea ce bănuiam și eu: Shazam „amprentează” muzica pe baza unei spectrograme.

Iată pașii de bază:

  1. Înainte de orice, Shazam „amprentează” un catalog comprehensiv de muzică, stocând aceste amprente într-o bază de date;
  2. Un utilizator etichetează un cântec care-l interesează prin amprentarea unei mostre de 10 secunde din acesta;
  3. Aplicația Shazam uploadează amprenta către serviciul Shazam, responsabil de căutarea acesteia în baza de date amintită la punctul „1” în vederea găsirii unei amprente similare;
  4. Dacă această amprentă este găsită, informațiile despre melodie sunt returnate utilizatorului, în caz contrar fiind afișată o eroare;

Cum funcționează amprentarea:

Gândește-te la orice bucată muzicală ca la un grafic timp-frecvență denumit spectogramă. Pe o axă este reprezentat timpul, pe cealaltă frecvența iar pe o a treia axă intensitatea. Fiecare punct de pe grafic reprezintă intensitatea frecvenței la un anumit moment în timp. Presupunând că timpul este reprezentat pe axa „x” și frecvența pe axa „y”, o linie orizontală ar însemna un ton pur și continuu iar una verticală ar fi o explozie instantaneee de zgomot alb. Așa arată un astfel de grafic (stânga):

Image may be NSFW.
Clik here to view.
Shazam spectogram 3D

Image may be NSFW.
Clik here to view.
Frequencygraph shazam
Algoritmul de amprentare muzicală folosit de Shazam generează acest grafic 3D și identifică vârfurile de „intensitate maximă”. Pentru fiecare vârf de intensitate maximă, Shazam ține minte frecvența și timpul scurs de la începutul cântecului. Astfel, un exemplu de amprentare pe o mostră de 10 secunde ar putea arăta așa (dreapta):

Shazam își construiește baza de date cu amprentele muzicale sub forma unei tabele hash, în care cheia este frecvența. Când Shazam primește o amprentă ca și cea din exemplul de mai sus, folosește prima cheie (în acest caz 823,44) pentru a căuta toate cântecele care se potrivesc. Este posibil ca tabela hash existentă la Shazam să arate așa:

Image may be NSFW.
Clik here to view.
Shazam frequencygraph

Aceasta ar fi o privire de ansamblu în bucătăria internă a lui Shazam, concluzia mea fiind că în spatele magiei petrecute chiar în fața ochilor mei se află o întreagă uzină (lucru deloc neobișnuit, de altfel).

Un alt serviciu similar este SoundHound despre care unii utilizatori sunt de părere că identifică melodia într-un timp mai scurt decât Shazam, în timp ce alții se plâng de rateurile dese pe care le dă acesta.


Viewing all articles
Browse latest Browse all 15

Trending Articles


Garda Felina Sezonul 1 Episodul 6


Doamnă


BMW E90 invarte, dar nu porneste


Curajosul prinț Ivandoe Sezonul 1 Episodul 01 dublat in romana


MApN intentioneaza, prin proiectul sustinut si de PSD, sa elimine...


Zbaterea unei vene sub ochii


Film – Un sef pe cinste (1964) – Une souris chez les hommes – vedeti aici filmul


pechinez


Hyalobarrier gel endo, 10 ml, Anika Therapeutics


Garaj tabla Pasteur 48