Kako aplikacije koje prepoznaju pjesme, poput Shazama?

Spektrogram

Shazam i kompanija postali su jedna od onih najnevjerovatnijih aplikacija koje možemo nositi na pametnom telefonu. I nije da nisu poznati, jer ih već svi znaju, ali se ipak čini gotovo magično da u svakom trenutku mogu prepoznati koja pjesma svira. Hajde da vidimo kako aplikacije poput Shazama zapravo rade.

Spektrografija, osnovni stub

U stvarnosti, ove primjene su zasnovane na onome što znamo kao spektrografija, ili spektroskopija, odnosno na korpusu znanja vezanog za spektroskopsku analizu. I sa ovim riječima može biti teško razumjeti, ali mi ćemo to objasniti za trenutak. Kada se proizvede bilo koji zvuk, možemo ga čuti jer se čestice koje su između nas i izvora tog zvuka kreću, vibriraju. Kada kažemo da se te čestice kreću, mislimo da one stvaraju talase, koji idu s jednog mjesta na drugo. Broj kretanja ovih čestica naprijed-nazad naziva se frekvencijom, a sigurno smo svi čuli za frekvenciju zvuka, zar ne? Pa, spektrografija je u ovom slučaju posvećena mjerenju frekvencije zvukova u određenom vremenskom periodu. Svaki zvuk ima različitu frekvenciju u svakom trenutku, i to nam omogućava da na spektrogramu razlikujemo koji zvukovi zvuče.

Sve je u poređenju

Kako znaš koja pjesma svira? Poređenje. Zapravo, to je kao da uzmete "rendgenski snimak" i uporedite ga sa drugim rendgenskim snimcima zvukova koje smo već pohranili i tako možemo znati koji od svih odgovara tom. Pa upravo tako funkcioniraju Shazam i druge aplikacije.

Spektrogram

Shazam je spektrograf

Kada pokrenemo Shazam i on nam kaže da prepoznaje pjesmu, ono što zapravo radi je pretvaranje našeg pametnog telefona u spektrograf. On hvata zvuk i generiše spektrogram poput onog koji imate odmah iznad ovog pasusa. Kada dobijete dovoljno detaljan spektrograf, onda nastavljate da ga upoređujete sa cijelom bazom podataka koju su pohranili.

Baza podataka je najkompleksnija

Zapravo, najkompleksnija od svega je baza podataka koja čuva spektrograme svih pjesama. Znamo koliko je teško stvoriti muzički servis koji sadrži svu muziku svijeta. Spotify je jedan od tih programa, ali u njemu još uvijek nedostaju važne pjesme. Pa, ako je to već složeno, zamislite kako izgleda pohranjivanje spektrograma svih tih pjesama. Normalno je da je dio posla tima Shazama i drugih sličnih aplikacija da se posveti proširenju baze podataka koja je, zapravo, srce aplikacije.

Njegov offline rad je vrlo jednostavan

Ponekad se možemo zapitati kako ove aplikacije mogu raditi van mreže, bez internetske veze. To je zapravo vrlo jednostavno, jer nam nikada ne daju podatke dok se ne povežu na internet. Ne moraju da sačuvaju celu pesmu, čak ne moraju da sačuvaju ni deo muzike koji želimo da analiziramo. U stvarnosti, jedino što čuvaju su spektrografski podaci, da bi se kasnije mogli porediti u bazi podataka, a to praktično ništa ne zauzima.

Algoritam je bitan

Međutim, još jedan od najvažnijih aspekata ovih aplikacija je algoritam koji koriste za upoređivanje pjesama. Algoritam, u stvarnosti, nije ništa drugo do način izvođenja procedure. Shazam algoritam se mora stalno poboljšavati. Zašto? Zato što moraju raditi na tome da natjeraju sistem da slijedi put koji mu omogućava da još brže pronađe pjesmu. A to je da se može misliti da kada se spektrogrami shvate i baza podataka pjesama kompletira, sve je gotovo, ali ništa nije dalje od istine. Pretpostavimo da morate da uporedite spektrogram sa milionima i milionima pesama. Međutim, algoritam je jedan od glavnih aspekata. Postoji nekoliko kompjuterskih tehnika za poboljšanje ovoga, a nećemo govoriti ni o jednoj posebno jer bi to bilo kao da pričamo o obliku Oblaka po olujnom danu. Međutim, uvijek je dobro znati da je algoritam aplikacije jedan od bitnih elemenata, zajedno sa spektrografskom funkcijom i onom baze podataka pjesama.


  1.   theclinic rekao je

    Chazam je sranje. Mnogo je bolji Soundhound ili ID pjesme od Sony-a.


  2.   The Beattle rekao je

    Zanimljivo…