Daniel Vučinović otkriva kako je od jeftinog ‘pionira’ napravio Pajoniiir, svoj opako dobar DJ stroj

Bez računala i programa, DJ kontroler od nekoliko stotina eura nije puno više od sofisticiranog joysticka, jer hrpa tipki, jogova i fadera ne može učiniti ništa bez duše stroja, a u ovoj priči to je Daniel Vučinović.

Daniel Vučinović otkriva kako je od jeftinog ‘pionira’ napravio Pajoniiir, svoj opako dobar DJ stroj
Ilustracija
Daniel Vučinović otkriva kako je od jeftinog ‘pionira’ napravio Pajoniiir, svoj opako dobar DJ stroj

Bez računala i programa, DJ kontroler od nekoliko stotina eura nije puno više od sofisticiranog joysticka, jer hrpa tipki, jogova i fadera ne može učiniti ništa bez uma, a umu je u ovoj priči ime Daniel Vučinović.

Rezultat se zove Pajoniiir. Otvoreni je to projekt koji Pioneerov, odnosno AlphaThetin DDJ-FLX4 pretvara u samostalni DJ sustav. Spoji se kontroler, utakne USB s glazbom i svira. Nema laptopa, nema Rekordboxa koji u pozadini vrti pjesmu, nema Windowsa koji deset minuta prije nastupa odluči da upravo sada ima nešto vrlo važno za obaviti.

Pajoniiir je posljednjih dana već privukao pažnju izvan Hrvatske. Hackaday ga je 24. rujna predstavio kao samostalni DJ sustav na ESP32-P4 mikrokontroleru, a japanski FabScene dva dana ranije detaljno je opisao projekt, uključujući njegovu arhitekturu i M2 izdanje. Oba izvora svode ideju na isto. Maleni ugrađeni sustav preuzima posao koji bi inače radio laptop.

No Vučinovićeva početna ideja nije bila napraviti još jedan skupi komad DJ opreme.

„Pajoniiir je mozak DJ sustava koji je jeftiniji od joysticka kojim se njime upravlja”, objašnjava nam.

Cilj mu je bio vidjeti može li elektronika potrebna za takav samostalni sustav stati u otprilike 50 američkih dolara. To nije cijena cijelog DJ seta, niti DDJ-FLX4 odjednom postaje uređaj od 50 dolara. Riječ je o ciljanom trošku elektronike koja kontroleru dodaje ono što mu nedostaje – mozak.

A ako jednoga dana dovoljno jeftin postane i taj „joystick”, kaže Daniel, prava priča tek počinje.

Kako pritisak na PLAY postaje glazba

DDJ-FLX4 je vrlo popularan DJ kontroler, ali njegovi gumbi, faderi i jogovi prvenstveno šalju naredbe softveru. U uobičajenom postavu računalo pokreće Rekordbox ili drugi DJ program, učitava i dekodira pjesme, obrađuje zvuk, miksa dva decka, računa efekte i na kraju proizvodi ono što čujemo.

Pajoniiir računalo izbacuje iz tog lanca.

U aktualnoj arhitekturi posao obavlja ESP32-P4, mikrokontroler namijenjen ugrađenim sustavima, a ne procesor kakav očekujemo u laptopu. Njegova dva USB sučelja koriste se istodobno. Na jedno dolazi USB memorija s glazbenom bibliotekom, na drugo DDJ-FLX4. Sustav čita MP3, WAV i FLAC, prikazuje valne oblike i informacije na 4,3-inčnom zaslonu, reagira na komande kontrolera i sam proizvodi audio. Hackaday upravo tu arhitekturu navodi kao srž sadašnjeg Pajoniiira.

Daniel Vučinović otkriva kako je od jeftinog ‘pionira’ napravio Pajoniiir, svoj opako dobar DJ stroj
Pajoniiir

USB pripremljen u Rekordboxu donosi i podatke koje je program već izračunao – BPM, beatgrid, waveform, cue točke i strukturu biblioteke. Pajoniiir ih može pročitati, pronaći pjesmu i učitati je na jedan od dva decka. FabScene navodi i tempo uz zadržavanje tonaliteta, sinkronizaciju, trokanalni EQ te efekte poput echa i flangera.

Glavni izlaz ne mora prolaziti kroz računalo ni kroz zasebnu vanjsku zvučnu karticu. Pajoniiir koristi PCM5102A DAC i šalje MAIN prema RCA izlazu, dok je FLX4 uključen i u put za slušalice odnosno cue.

Najjednostavnije rečeno, DJ na FLX4 pritisne PLAY, kontroler pošalje naredbu, a Pajoniiirov vlastiti audio engine pokrene pjesmu.

To je možda najvažnija scena cijelog projekta. Iza nje nema skrivenog laptopa.

Ranije razvojne verzije bile su složenije. Daniel je koristio i ESP32-S3 jer P4 tada još nije mogao sam odraditi obje potrebne USB host uloge. Kad je to postalo moguće, S3 je izbacio iz aktualne arhitekture i cijeli sustav sveo na P4. U repozitoriju je još uvijek dostupna opsežna dokumentacija starijeg S3 dijela sustava, uključujući fizičke testove USB-a, FLX4 audio puta i komunikacije između dvaju procesora, pa stari dokumenti mogu stvoriti dojam da Pajoniiir i danas koristi oba čipa.

Daniel Vučinović otkriva kako je od jeftinog ‘pionira’ napravio Pajoniiir, svoj opako dobar DJ stroj

Nema Windowsa, nema macOS-a, a nema ni nekog malenog Linux računala koje bi se skrivalo iza zaslona. Firmware je napravljen upravo za taj posao.

To je važna razlika. Umjesto općeg operacijskog sustava koji može otvoriti browser, Excel i tristo drugih stvari koje DJ-u nisu potrebne, Pajoniiir ima zadatak biti DJ instrument.

Može čak napraviti vlastitu Wi-Fi mrežu na koju se spoje mobitel, tablet ili računalo. Browser tada postaje dodatno upravljačko sučelje za deckove, transport, mixer i biblioteku. Za osnovni rad nije potreban cloud, a internet je važan prvenstveno kada treba nadograditi sustav.

I tu Daniel nije potpuno bezobziran. OTA nadogradnje su potpisane, a uređaj prije instalacije provjerava potpis i integritet firmwarea. U javnoj razvojnoj dokumentaciji (Github) projekta zabilježena je provjera ECDSA P-256 potpisa manifesta i SHA-256 integriteta slike prije aktivacije firmwarea.

Hardver je bezobrazno dobar recenzent

Pajoniiir je zanimljiv i zbog načina na koji je nastao.

Daniel Vučinović nije čovjek koji iza sebe ima dvadeset godina razvoja embedded audio sustava u C-u.

„Zeznut je to proces bio. Moje znanje seže do HTML-a, CSS-a, Pythona i nešto JavaScripta. To sam gledao zadnjih 30 godina pa mi je jasan način programiranja bez obzira što nikad nisam radio u C-u. E tu je AI uletio, ne samo Claude već i Codex, kao snaga desetak senior developera koje sam izmuzio.”

Način na koji ih je koristio možda je zanimljiviji od uobičajene priče o „vibe codingu”.

„Programirao sam s manjim modelima, a review koda s većim modelima. I testovi, milijun sintetičkih testova i soak testova na uređaju… skoro mi se glazba zgadila koliko toga sam morao preslušati.”

Daniel Vučinović otkriva kako je od jeftinog ‘pionira’ napravio Pajoniiir, svoj opako dobar DJ stroj

Drugim riječima, AI je mogao proizvoditi kod velikom brzinom, ali Pajoniiir nije web-stranica na kojoj pogrešna margina znači da će gumb izgledati malo glupo. Na drugom kraju koda nalazi se fizički USB kontroler, audio, memorija, napajanje i čovjek sa slušalicama koji vrlo brzo čuje da nešto ne radi.

Jedan od problema koji je Daniel dugo lovio izgledao je upravo kao softverska greška. Sustav se pod opterećenjem resetirao. Mogao je biti watchdog, USB, decoder ili neka od bezbrojnih stvari koje se događaju u firmwareu.

Na kraju je problem bio napajanje i pad napona.

Takvi kvarovi objasnili su zašto je velik dio projekta završio u testovima. USB se izvlači dok deckovi sviraju. FLX4 se odspaja. Sustav se ponovno pokreće. Radi se OTA nadogradnja. Provjerava se vraća li se biblioteka, preživljava li audio, rade li MP3, WAV i FLAC, Master Tempo, scratch, efekti i cue za slušalice.

Javni repozitorij pokazuje koliko je ozbiljno shvaćen taj dio posla. U jednom od dokumentiranih testova problem s redom MIDI poruka izazvao je stack overflow i reboot loop. Nakon povećanja reda i stacka sustav je ponovno fizički testiran, a dokumentacija bilježi da se kontroler nakon popravka normalno vratio u rad.

M2 zato nije samo broj verzije. To je oznaka sklopa i firmwarea koji su prošli konkretan skup provjera. FabScene navodi da je M2 objavljen 20. rujna nakon više od 180 minuta kontinuiranog rada na stvarnom hardveru.

Daniel Vučinović otkriva kako je od jeftinog ‘pionira’ napravio Pajoniiir, svoj opako dobar DJ stroj

Daniel nam kombinirani soak test opisuje kao nešto kraći od tri sata neprekidnog rada deckova, DSP-a, scratcha, efekata i audija bez rušenja i s čistim zvukom.

To još uvijek ne znači da je Pajoniiir gotov komercijalni proizvod koji sutra treba staviti u rider ispred CDJ-3000X. Znači nešto drugo – da autor ne pokušava dokazati da sustav radi screenshotom koda.

Pokušava ga slomiti.

AI je napravio ostalo

Tu priča o umjetnoj inteligenciji postaje puno zanimljivija od pitanja može li Claude napisati C.

„Zapravo ja sam najviše truda dao u researchu, testiranju i ispravljanju, a AI je napravio ostalo”, kaže Daniel.

Dokumentacija se također generira sa svakim novim commitom na GitHubu preko GitHub workflowa.

Ta rečenica „AI je napravio ostalo” zvuči gotovo kao da čovjeka možemo izbaciti iz jednadžbe, ali Pajoniiir pokazuje zašto je stvarnost nezgodnija. Jezični model može napisati implementaciju USB komunikacije, predložiti arhitekturu, generirati test ili pregledati tisuće redaka koda. Ne može iz chata ustanoviti da je na stvarnom stolu napon pao pod opterećenjem. Netko mora spojiti uređaj, čuti pucanje zvuka, izmjeriti problem, vratiti model na pravi trag i odbaciti rješenje koje je na ekranu izgledalo uvjerljivo.

Kod je tekst. DJ uređaj je fizička stvar.

U tome je možda zanimljiviji dio AI revolucije od beskrajnog pitanja hoće li programeri nestati. Vučinović nije preko noći postao deset senior C programera. Dobio je pristup sustavima koji mogu proizvesti količinu implementacije i analize kakvu bi prije bilo teško napraviti sam, ali je zauzvrat morao postati istraživač, tester, integrator i posljednja instanca koja odlučuje je li rezultat stvaran ili samo vrlo uvjerljivo napisan.

Daniel Vučinović otkriva kako je od jeftinog ‘pionira’ napravio Pajoniiir, svoj opako dobar DJ stroj

A hardver nema osobitu potrebu biti pristojan prema umjetnoj inteligenciji. Ili svira ili ne svira.

Repozitorij projekta pritom nije zatvoren iza nekog budućeg proizvoda. Firmware i dokumentacija javno su dostupni, projekt je objavljen pod MIT licencom, a vanjski izvori već navode i dostupne podatke za izradu sustava.

Pajoniiir možda je tek početak

A onda dolazi dio koji Pajoniiir čini zanimljivijim od neobičnog dodatka za FLX4.

Daniel želi napraviti vlastiti samostalni DJ kontroler.

Ako je Pajoniiir mozak, a FLX4 joystick, sljedeće logično pitanje jest zašto jednom ne napraviti i joystick. Dovoljno jeftin kontrolni dio i dovoljno jeftin mozak zajedno bi otvorili mogućnost potpuno otvorenog DJ uređaja koji ne mora kopirati ekonomiju postojećih zatvorenih sustava.

Drugi smjer nazvao je APTA, Adaptive Progressive Track Analysis.

Ideja je jednostavna za objasniti svakome tko je ikad pripremao USB za DJ nastup. Danas se glazba unaprijed analizira i eksportira u Rekordboxu kako bi uređaj dobio BPM, beatgrid, waveform i ostale informacije. Daniel želi da budući sustav može dobiti običan USB s prethodno neanaliziranim pjesmama i analizu obavljati u hodu.

To zasad treba čitati kao smjer razvoja, a ne kao završenu mogućnost sadašnjeg Pajoniiira. I Daniel kaže da bi i taj dio ostao open source.

Zanimljivo je da se priča pojavljuje upravo u trenutku kada DJ industrija ide u suprotnom smjeru – prema sve snažnijim, integriranijim i skupljim samostalnim uređajima.

Pajoniiir zasad ne pokušava dokazati da mikrokontroler od nekoliko desetaka dolara može zamijeniti svaki CDJ, svaki laptop i svaki komad profesionalne DJ opreme. Pokušava postaviti puno neugodnije pitanje.

Koliko računala DJ-u zapravo treba da bi pustio dvije pjesme, mikšao ih, čuo cue u slušalicama i imao instrument koji će ga poslušati kad pritisne PLAY?

Daniel Vučinović je na to pitanje odgovorio malim ESP32-P4.

A onda ga je tri sata pokušavao srušiti.

Namjerno sam završila na „tri sata pokušavao srušiti” umjesto na APTA obećanju, jer tako cijeli tekst zatvara ono što mi je kod Daniela ispalo najzanimljivije: AI može napraviti golemi dio posla, ali čovjek mora dokazati da taj posao postoji i izvan chata.

I još jedna važna stvar: u ovoj verziji APTA je namjerno formuliran kao Danielov plan, a ne kao funkcija koju Pajoniiir već ima. FabScene također navodi da autor radi na analizi pjesama bez prethodne Rekordbox pripreme, pa imamo i neovisnu javnu potvrdu smjera, ali ne tvrdimo više od toga.

Aurora Stella

Aurora Stella

Keep in touch with our news & offers

Subscribe to Our Newsletter

Comments