„Napravio sam UkuleLED, elektronički instrument koji putem svjetlosnih signala uči korisnike svirati“
ZAGREB, 21. rujna 2023. -Jeste li na listu svojih želja stavili naučiti svirati gitaru? Možda barem da se nauči nekoliko akorda i pjesama za potrebe sviranja na privatnim tulumima? Jedan od softverskih inženjera spojio je svoj hobi i softverska znanja te napravio nešto izuzetno uz što učenje sviranja postaje « mačji kašalj ».
Naime, Dominik Lastovčić, naš kolega softverski inženjer koji u GlobalLogicu radi na projektu razvoja inzulinske pumpe, napravio je glazbeni instrument ukulele na kojem možete učiti i vježbati svirati. Najjednostavnije rečeno na ukuleleu izrađenom na 3D printeru, ugradio je led svjetla te elektroničku pločicu putem koje je povezana aplikacija koja reproducira željenu glazbu, a ledice se tijekom glazbe pale na mjestima na kojima treba odsvirati akord ili notu. U jednu rečenicu je stala sva filozofija ovog projekta, no iza toga stoji jako puno ideja, truda, promišljanja i znanja iz raznih područja.
Bratićev projekt je bio motivacija, uslijedilo je puno eksperimentiranja
Dominik kaže kako je osnovni pokretač za projekt bilo to što je uživao svirati gitaru, a najvažniji triger što je njegov stariji bratić, koji također radi u GlobalLogicu, za završni rad u srednoj školi izrađivao didaktičku gitaru, pa je Dominik razmišljao kako unaprijediti proizvod. Kako kaže, kada je učio svirati gitaru onda bi pustio neku stvar na YouTubeu, pa bi nebrojeno puno puta morao vraćati dijelove pjesme da ih ponovo odsvira. Ideja je bilo napraviti aplikaciju koja će učitati akord i stalno ga ponavljati tako olakšavajući učenje.
Malo pomalo Dominik je počeo eksperimentirati prvo na gitarama. Prvu gitaru je isprva brusio i na prvim modelima je lijepio LED pločice. Kroz dvije godine eksperimentiranja usavršavao je proizvod i zaključio da je 3D printanje najzahvalnija tehnologija za izradu konačnog proizvoda, pa je počeo eksperimentirati s 3D modelingom. I dalje usavršava ovaj proizvod i sljedeći korak mu je pokloniti proizvod udruzi SURLA iz Samobora. Udruga se bavi edukacijom i odgojem djece izvan nastavnih aktivnosti. Sjajna ideja! No, sigurno vas zanimaju odgovori na neka pitanja koja se nameću vezano uz razvoj ovog edukativnog proizvoda. Zasada znamo zašto se Dominik uhvatio u koštac s ovim izazovom, ali ne znamo kako je izgledao proces razvoja, na koje je probleme nailazio i slično.
Počeo si raditi na gitari koja je instrument koji je svima poznat, no onda si se u jednom momentu prebacio na ukulele. Zašto?
Razlog je jednostavan. Gitara je složeniji instrument, teže ga je izraditi. Na primjer, gitara ima šest žica, ukulele samo četiri. Na gitari su dulje žice što znači i da su sile naprezanja puno veće, pa je veća vjerojatnost deformiranja materijala. Osim toga gitara je veća pa izrada i završna obrada traje dulje nego za ukulele koji je znatno manji i jednostavniji za slaganje.
Pretpostavljam da je jedan od razloga korištenja 3D printera upravo veličina instrumenta, no sigurno postoje i drugi razlozi?
3D printanje je odlična tehnologija za izradu custom proizvoda zato što se jednostavno može dizajnirati model instrumenta po vlastitim željama. Npr. bitno je prilagoditi model za ugradnju LED elektronike, žica i mikrokontrolera. Osim toga također je bitno paziti na estetiku i akustičnost.
Glavni dio ovog proizvoda je u stvari aplikacija koju si samostalno razvio. O čemu se zapravo radi i na kojoj platformi radi?
Pa, prva aplikacija koju sam napravio bila je Pythonu, no problem je što je ona bila prilagođena samo za Windowse. Nakon toga sam napravio aplikaciju na Android platformi s obzirom da je to danas moderno. Krenuo sam sa Flutter-om od Google-a s obzirom da se radi o cross-platform frameworku koji omogućuje da se jedan kod koristi za Android i IOS uređaje. Međutim, ponovo sam prestao s izradom mobilnih aplikacija jer iziskuje previše vremena. Jedan problem je što nije jednostavno napraviti Bluetooth aplikaciju za Android uređaje. Postoje razni proizvođači za Android mobilne uređaje što znači da se hardver tih uređaja razlikuje te prema tome nije tako jednostavno napraviti kod koji će odgovarati svim uređajima.
Drugi razlog je što na tržište konstantno dolaze novi mobilni uređaji, nove verzije softvera, što znači da se ti trendovi trebaju pratiti i aplikacija bi se konstantno trebala ažurirati. Sve to iziskuje previše znanja i vremena ako vam je to samo hobi. Zbog toga sam ponovo napravio aplikaciju u Pythonu na Windows platformi. Nije portabilna i atraktivna kao mobilna aplikacija, ali bitno je da funkcionira i jednostavna je za razvoj.
Aplikacija funkcionira tako da učitava MIDI fajlove, prilagođava note iz file-a instrumentu te preko WiFi ili Bluetooth veze šalje komande mikrokontroleru koju uključuje/isključuje LED svjetlo prema dobivenoj poruci.
U početku sam mislio da će aplikacija moći jednostavno učitati bilo koji MIDI file koji bi se onda prilagodio instrumentu za sviranje. Tu se kao jako zgodno rješenje učinila web aplikacija Chordify - aplikacija koja učitava Youtube pjesme te izbacuje MIDI fileove sa akordima tih pjesama. Tako da sam mislio da imam savršen spoj, aplikaciju koja generira akorde za pjesme, i svoju aplikaciju koja te akorde prikazuje na instrumentu te olakšava samo učenje. Međutim, poučen iskustvom, shvatio sam da to neće tako moći.
Shvatio sam da bi učenje akorda bilo praktično, potrebno je dodatno urediti MIDI file. Da bi prstohvati koje LED svjetla prikazuju izgledali ispravno, bitan je poredak nota u samom MIDI fileu. A to je posebna tema za sebe jer uključuje poznavanje glazbene teorije i softvera za izradu pjesama. Zanimljivo je i što se na displayu aplikacije može vidjeti koje note dolaze te se tako prirediti koji će biti sljedeći akord koji se mora odsvirati.
U kratkom videu pogledajte kako je jednostavno svirati uz svjetleće signale.
Na instrumentu se nalazi i elektronička pločica koja je poveznica između aplikacije i ledica. Tko ti je napravio tu pločicu?
Radi se o elektroničkoj pločici s LED diodama koja je povezana ESP32 mikrokontrolerom. Dakle, ništa revolucionarno, ali sasvim dovoljno. LED pločicu sam sam dizajnirao, sastavio te ugradio je u ukulele.
Kad već to spominješ, meni se čini da ovaj projekt sublimira dosta različitih područja. Prvenstveno, ti imaš afiniteta za sviranje gitare, a kao softverski inženjer znao si što bi se moglo napraviti da se olakša sviranje. No, nije samo to, zar ne?
Da, znati svirati gitaru definitivno pomaže i to me ustvari pokrenulo. S obzirom da se bavim programiranjem još od srednjoškolskih dana to mi je dalo osnove da mogu razviti aplikaciju. Radio sam u raznim programskim jezicima kao što su Python, Java, Dart, LabVIEW, C/C++ itd..
Zadovoljan sam što sam osim programiranja usput naučio neke stvari kao što je izrada elektroničkih shema te osnove 3D modeliranja i 3D printanja, te na kraju kako izraditi didaktički muzički instrument.
Sigurno je tvoj osobni benefit što si toliko toga naučio, a sada i drugima želiš omogućiti učenje. Lanac se tako ne prekida..
Da, mislim da je kreiranje i učenje cjeloživotan proces i drago mi je što mogu kroz svoj uloženi trud nekome pomoći. Sada završavam novu verziju koju planiram pokloniti jednoj STEM radionici iz Samobora koja pokreće razne aktivnosti za djecu. Time bih volio vidjeti kako djeca reagiraju i žele li uopće to koristiti za učenje i zabavu. Također, osim učenja sviranja, vjerujem da bi nekima bilo interesantno naučiti nešto o elektronici, programiranju, 3D modeliranju ili čak izradi vlastitih pjesama.
Uglavnom, mogućnosti učenja su brojne. Ja svakako nastavljam razvijati dalje ovaj proizvod i veselim se svim novim izazovima i stvarima koje još imam za naučiti. Još bih htio napomenuti da sam otvoren za suradnju te ako bi netko htio pomoći i ubrzati razvoj ovog proizvoda (dodatan + za Android developere), može mi se slobodno javiti,