![]() |
| slika 1: logotip aplikacije Shazam |
Na radiu ponovno
slišite pesem, ki ste jo slišali že večkrat in vam je zelo všeč, a ne veste
njenega naslova. Ker jo želite naložiti na svoj pametni telefon in jo poslušati
vsak dan, potrebujete ustrezne podatke. Dandanes obstaja aplikacija, ki lahko
to stori za vas v nekaj sekundah. Kako ji uspe?
Kaj je Shazam?
Shazam je podjetje iz Londona, ki so ga leta 1999 ustanovili
Philip Inghelbrecht, Chris Barton, Avery Wang in Dhiraj Mukherjee, z načrtom,
da bojo ljudi iz vsega sveta povezali z glasbo, ki jim je všeč.
Leta 2002 so začeli s prepoznavanjem glasbe kot storitev
prek telefonskih linij, kjer je uporabnik poklical na številko »2850« in mikrofon
telefona 30 sekund držal zraven vira glasbe. Nato je telefon avtomatično
prekinil in uporabnik je prejel sporočilo, ki je vsebovalo osnovne podatke o
pesmi.
Nekaj let kasneje, je podjetje ustvarilo storitev, popolnoma
osnovano na internetu. Julija leta 2008 je postal Shazam ena prvih aplikacij na
prenovljenem App Store-u, septembra istega leta pa je postal dostopen tudi
uporabnikom Androidov.
Ko slišimo neznano
pesem, enostavno posnamemo kratek, nekaj sekund dolg vzorec, ter na zaslonu se
nam po nekaj sekundah prikaže naslov, izvajalec, album, žanr skaldbe, njeno
besedilo in slika albuma. Pošlje celo povezavo do iTunes-a ali Amazon MP3
Store-a, kjer lahko pesem kupimo, in posnetek na Youtubu, če obstaja.
Neverjetno je, da aplikacija deluje tako hitro in tudi na povsem nepopularnih
pesmih ter z zvoki v ozadju brez težav.
Zvok
Zvok je mehansko delovanje, ki se širi v dani snovi (zraku
ali vodi) in ko ta vibracija pride do našega ušesa, natančneje do bobniča, ta
zaniha in valovanje se prenese do slušnih majhnih koščic, ki nato naprej do
polža. V polžu so slušne čutilnice z dlačicami, ki proizvedejo električne
pulze, ki nato potujejo po čutilnih živčnih vlaknih in možganskem živcu do
središča za sluh v možganih.
Podoben princip delovanja uporabljajo tudi snemalne naprave,
ki uporabljajo pritisk zvočnega signala in ga pretvorijo v električen signal.
Delovanje algoritma
Ko uporabnik s mikrofonom v svojem pametni telefonom posname
10-sekundni vzorčni posnetek, se ta z algoritmom pretvori v prstni odtis.
Aplikacija nato prstni odtis pošlje do osrednjega strežnika, ki v bazi
podatkov, ki je sestavljena iz več kot 12 bilijonov prstnih odtisov skladb, ki
so nastali z enakim algoritmom, preveri če obstaja ujemajoč posnetek. Če je ta
vzorec najden, aplikacija vrne uporabniku podatke o pesmi, drugače vrne napako.
![]() |
| slika 2: princip delovanja Shazama |
Nastanek prstnega odtisa
![]() |
| slika 3: spektrogram |
Shazam ustvari prstni odtis tako, da nekaj sekundni vzorčni
posnetek najprej pretvori v spektrogram.
Shazamov
pesem obdela tako, da ustvari t.i. spektrogram. Spektrogram je graf, ki
prikazuje čas (na x osi) v odvisnosti od frekvence (na y osi) ter intenzivnosti
(na tretji osi). Vsaka točka na grafu torej predstavlja intenzivnost dane
frekvenci v določenem trenutku. Algoritem deluje tako, da dela 3D grafe in
prepoznava točke frekvence z najvišjo intenzivnostjo. Za vsako od teh točk si
zabeleži frekvenco in količino časa od začetka posnetka.
Sprva je spektrogram poln različnih frekvenc ob določenem
času, a program ima sposobnost prepoznavanja najbolje zastopanih frekvenc, ker
bi bilo sicer točk na grafu preveč. To prikazujeta spodnji sliki, kjer je prvi
spektrogram neobdelan in je zato veliko število točk, na drugem pa jih je
veliko manj, ker so narisane samo najbolj intenzivne frekvence ob točkah v
času.
![]() |
| slika 4: neobdelan sprektrogram |
![]() |
| slika 5: obdelan sprektrogram |
Podatke iz spektrograma program nato zapiše v obliki
zgoščevalne tabele (angl. hash table). V tabelo vnese najbolj intenzivne
frekvence in časovno obdobje, v katerem se pojavijo. Zgoščevalna tabela je
prstni odtis, ki ga uporabljamo za identifikacijo pesmi.
![]() |
| slika 6: zgoščevalna tabela |
Ker za vzorec posnamemo naključen del pesmi, časi od začetka
pesmi niso enaki – čas od začetka snemanja vzorca do frekvence 823.44 Hz je
1.054 sekund in do 1892.31 Hz 1.321 sekund, čas od začetka pesmi do omenjenih
frekvence pa 34.678 in 34.945 sekund - enak pa je razmik med pojavom dveh
frekvenčnih viškov – razmik v tem primeru je enak 0.267 sekunde v obeh
primerih.
![]() |
| slika 7: zgoščevalna tabela |
Sprva je program primerjal prvo vrstico in našel več
ujemanj. Ko pa je primerjal nadaljnje vrstice, je našel samo eno možnost, pri
kateri se točke povezujejo v linijo in to je pesem, katere naslov smo iskali.
![]() |
| slika 8: prikaz iskanja ujemajoče se pesmi |
Razširjenost Shazama
Trenutno je Shazamova baza prstnih odtisov obsega več kot 12
bilijonov pesmi različnih žanrov, ki izvirajo v več kot 100 različnih državah.
Tako lahko prepozna skoraj vsak posnetek, ki ga slišimo na radiu ali
televiziji, če seveda ta obstaja v bazi podatkov.
Omejenost Shazama
Tudi Shazam ima nekaj omejitev. Ena od njih je zagotovo
dejstvo, da program prepozna samo posnetke, ki so bili že prej pretvorjeni v
prstni odtis in naloženi v bazo podatkov. Ta baza je morda zelo obsežna v bolj
popularnih žanrih, a v manj priljubljenih, kot sta jazz in klasična glasba, je
bistveno manj posnetkov. Shazam prav tako v okolju z veliko zvokov v ozadju ne
deluje vedno. Zvoki, kot so mrmranje pesmi ali petje v živo, tudi ne bodo
prepoznani.
Čeprav je Shazam zelo učinkovita in uporabna aplikacija, ima
torej tudi svoje šibke točke. Verjamem, da bodo z nadaljnjimi raziskavami in
novim znanjem na področju informatike tudi te omejitve odpravljene.
Novi poklici
Aplikacija Shazam je tipični primer uporabe prepoznave glasu in deluje na podobnem principu kot Siri, Cortana, ... To odpira novo področje, kjer je še veliko prostora za izboljšave. Poklic, ki je najbolje povezan s tem področjem, je programer. V prihodnosti bo znanje o prepoznavi glasu zelo uporabno na področjih, kot je robotika. Morda se po prepoznavanje glasu nekega dne spremenilo v razumevanje glasu in bo človek lahko komuniciral z računalnikom, kar bi pomenilo dejansko umetno inteligenco.
Viri
- Wikipedia, Shazam (service) [online]. 2015. [Datum zadnjega spreminjanja november 2015].[citirano 14. 11. Ob 15.30] Dostopno na spletnem naslovu: https://en.wikipedia.org/wiki/Shazam_(service)
- Buzzle, How Does Shazam Work In Identifying Music? [online]. 2014. [Datum zadnjega spreminjanja 24. november 2014].[citirano 14. 11. Ob 15.40] Dostopno na spletnem naslovu: http://www.buzzle.com/articles/how-does-the-shazam-app-work-in-identifying-music.html
- Toptal, Shazam it! [online]. 2015.[citirano 14. 11. Ob 16.50] Dostopno na spletnem naslovu: http://www.toptal.com/algorithms/shazam-it-music-processing-fingerprinting-and-recognition
- How Does Shazam Work To Recognize A Song? [online]. 2011. [Datum zadnjega spreminjanja januar 2011].[citirano 14. 11. Ob 17.00] Dostopno na spletnem naslovu: http://www.soyoucode.com/2011/how-does-shazam-recognize-song
- How Shazam Works To Identify Nearly Every Song You Throw At It? [online]. 2010. [Datum zadnjega spreminjanja 24.9.2010].[citirano 14. 11. Ob 17.10] Dostopno na spletnem naslovu: http://gizmodo.com/5647458/how-shazam-works-to-identify-nearly-every-song-you-throw-at-it
- Wikipedia, Spectrogram [online]. 2015. [Datum zadnjega spreminjanja maj 2015].[citirano 14. 11. Ob 17.20] Dostopno na spletnem naslovu: https://en.wikipedia.org/wiki/Spectrogram
- Wikipedia, Hash Table [online]. 2015. [Datum zadnjega spreminjanja oktober 2015].[citirano 14. 11. Ob 17.30] Dostopno na spletnem naslovu: https://en.wikipedia.org/wiki/Hash_table
- How Does Shazam work [online]. 2015. [Datum zadnjega spreminjanja avgust 2015].[citirano 14. 11. Ob 17.40] Dostopno na spletnem naslovu: http://coding-geek.com/how-shazam-works/#Shazam
Slike:
- slika 1 [online]. 2015. Dostopno na spletnem naslovu: https://play.google.com/store/apps/details?id=com.shazam.android
- slika 2 [online]. 2015. Dostopno na spletnem naslovu: http://coding-geek.com/how-shazam-works/#Shazam
- slika 3 [online]. 2014. Dostopno na spletnem naslovu: http://www.buzzle.com/articles/how-does-the-shazam-app-work-in-identifying-music.html
- slika 4 [online]. 2011. Dostopno na spletnem naslovu: http://www.soyoucode.com/2011/how-does-shazam-recognize-song
- slika 5 [online]. 2011. Dostopno na spletnem naslovu: http://www.soyoucode.com/2011/how-does-shazam-recognize-song
- slika 6 [online]. 2010. Dostopno na spletnem naslovu: http://gizmodo.com/5647458/how-shazam-works-to-identify-nearly-every-song-you-throw-at-it
- slika 7 [online]. 2010. Dostopno na spletnem naslovu: http://gizmodo.com/5647458/how-shazam-works-to-identify-nearly-every-song-you-throw-at-it
- slika 8 [online]. 2010. Dostopno na spletnem naslovu: http://gizmodo.com/5647458/how-shazam-works-to-identify-nearly-every-song-you-throw-at-it








Ni komentarjev:
Objavite komentar
Opomba: Komentarje lahko objavljajo le člani tega spletnega dnevnika.