Kaip programos, atpažįstančios dainas, pvz., „Shazam“?

Spektrograma

„Shazam“ ir kompanija tapo viena iš nuostabiausių programų, kurias galime nešiotis išmaniajame telefone. Ir nėra taip, kad jie nėra žinomi, nes visi juos jau žino, bet vis tiek atrodo beveik magija, kad jie bet kuriuo momentu sugeba atpažinti, kokia daina skamba. Pažiūrėkime, kaip iš tikrųjų veikia tokios programos kaip „Shazam“.

Spektrografija, esminis ramstis

Tiesą sakant, šios programos yra pagrįstos tuo, ką žinome kaip spektrografiją arba spektroskopiją, ty žinių, susijusių su spektroskopine analize, visuma. Ir su šiais žodžiais gali būti sunku suprasti, bet mes tai paaiškinsime akimirksniu. Kai sklinda koks nors garsas, mes jį girdime, nes dalelės, esančios tarp mūsų ir to garso šaltinio, juda, vibruoja. Kai sakome, kad šios dalelės juda, turime omenyje, kad jos generuoja bangas, kurios keliauja iš vienos vietos į kitą. Kiek kartų šios dalelės juda pirmyn ir atgal, vadinamas dažniu, ir tikrai visi esame girdėję apie garso dažnį, tiesa? Na, o spektrografija, šiuo atveju, skirta matuoti garsų dažnį tam tikru laikotarpiu. Kiekvienas garsas kiekvienu momentu turi skirtingą dažnį, ir tai leidžia spektrogramoje atskirti, kurie garsai skamba.

Viskas lyginimo reikalas

Kaip žinoti, kokia daina groja? Lyginant. Tiesą sakant, tai panašu į „rentgeno nuotrauką“ ir jos palyginimą su kitais jau išsaugotais garsų rentgeno spinduliais, kad sužinotume, kuris iš visų tą atitinka. Na, būtent taip veikia „Shazam“ ir kitos programos.

Spektrograma

Shazam yra spektrografas

Kai paleidžiame Shazam ir mums pranešama, kad ji atpažįsta dainą, tai, ką ji iš tikrųjų daro, yra paverčia mūsų išmanųjį telefoną spektrografu. Tai fiksuoja garsą ir sukuria spektrogramą, tokią, kokią turite tiesiai virš šios pastraipos. Kai turėsite pakankamai išsamų spektrografą, palyginkite jį su visa jų saugoma duomenų baze.

Duomenų bazė yra pati sudėtingiausia

Tiesą sakant, sudėtingiausia iš visų yra duomenų bazė, kurioje saugomos visų dainų spektrogramos. Žinome, kaip sunku sukurti muzikos paslaugą, kurioje būtų visa pasaulio muzika. „Spotify“ yra viena iš tų programų, tačiau joje vis dar trūksta svarbių dainų. Na, o jei tai jau sudėtinga, įsivaizduokite, kaip turėtų būti saugoti visų tų dainų spektrogramas. Normalu, kad dalis „Shazam“ ir kitų panašių programų komandos darbo yra atsiduoti duomenų bazės, kuri iš tikrųjų yra programos esmė, išplėtimui.

Jo veikimas neprisijungus yra labai paprastas

Kartais galime susimąstyti, kaip šios programos gali veikti neprisijungus, be interneto ryšio. Iš tikrųjų tai labai paprasta, nes jie niekada neduoda mums duomenų, kol neprisijungia prie interneto. Jie neprivalo išsaugoti visos dainos, net nereikia išsaugoti muzikos kūrinio, kurį norime analizuoti. Realiai jie saugo tik spektrografinius duomenis, kad vėliau juos būtų galima palyginti duomenų bazėje, o tai praktiškai nieko neužima.

Algoritmas yra būtinas

Tačiau kitas iš svarbiausių šių programų aspektų yra algoritmas, kurį jos naudoja dainoms palyginti. Algoritmas iš tikrųjų yra ne kas kita, kaip procedūros atlikimo būdas. Shazam algoritmas turi būti nuolat tobulinamas. Kodėl? Nes jie turi dirbti, kad sistema sektų kelią, leidžiantį dar greičiau rasti dainą. O štai, galima manyti, kad perpratus spektrogramas ir sukūrus dainų duomenų bazę, viskas padaryta, bet niekas negali būti toliau nuo tiesos. Pagalvokime, kad spektrogramą reikėtų palyginti su milijonais ir milijonais dainų. Tačiau algoritmas yra vienas iš pagrindinių aspektų. Yra keletas kompiuterinių metodų, kaip tai pagerinti, ir mes nekalbėsime apie juos konkrečiai, nes tai būtų kaip kalbėti apie debesų formą audringą dieną. Tačiau visada pravartu žinoti, kad programos algoritmas yra vienas iš esminių elementų, kartu su spektrografijos funkcija ir dainų duomenų bazės funkcija.


  1.   klinika sakė

    Chazam šlykštus. Tai daug geresnis Soundhound arba takelio ID iš Sony.


  2.   Bitlas sakė

    Įdomus…