Post
by Dersu Uzala » 24 Jun 2013, 05:47
Ako cemo vec ontopic, nebitno je (po meni) da li ce uredjaj xxx od proizvodjaca X da u sledecoj iteraciji proizvodne ponude ima dual LCD display kao sto vec ima uredjaj yyy proizvodjaca Y. That's what product planning and marketing is for.
Izmedju redova koliko vidim, dotakli su se neki srzi problema. Za koju konkretno aplikaciju se koriste ti procesori ili generalnije ti DSP uredjaji (hardware+software ili bilo kakva njihova kombinacija). Ako koristis DSP za aplikacije koje zahtevaju procesiranje u 'realnom vremenu' (inzenjerski zargon) od DSP-a je slaba vajda i bice. Dok ne smislimo digitalni hardware koji radi mnogo brze i inteligentnije, pa onda software koji prati taj digitalni hardware (opet, mnogo brze i inteligentnije). Ne samo da se ne nazire svetlo na kraju tunela nego nismo jos ni u tunelu. Ako koristis te DPS kerefeke za non-real time processing onda si na konju, to svakim danom sve vise napreduje i koliko god su ti pomaci beznacajni (nemaju nikakav efekat) za real-time processing, imaju inkrementalni pozitivni uticaj na non-real time processing aplikacije. Posto se inkrementira svakih 6 meseci recimo, u roku od 5 godina tebi se cini da je tehnologija (u domenu non-real time processinga) napravila grandiozni napredak. Which for the most part is true. Ako pricamo o non-real time procesiranju.
Sta je non-real time procesiranje (nadalje NRTP mrzi me da kucam)?
U svetu muzike tojest muzicke produkcije sto je ovde generalno i tema, NRTP je sve ono sto RTP nije. A RTP je samo jedna stvar:
Uzmes (recimo) gitaru u ruke, pocnes da sviras nesto, signal ide preko raznih kerefeka u realnom vremenu kroz lanac i postoji nekakav end-point gde se signal zavrsi u kosmosu. Sto ce reci u usima slusalaca u nekoj sali ili na tape recorderu u studiju.Signal ima jednokratnu upotrebu (cak i ako je snimljen na traku, videcemo zasto je to bitno kasnije), postojao je u jednom trenutku pocetak signala (posle prvobitne tisine), trajao je neko vreme, bilo da je u pitanju nota ili cela pesma, zavrsio u usima (mozak moze i da ga mnemorise kao tape jel) ili na traci i kraj. Taj deo vremena, to trajanje, taj event (dodagjaj) desio se samo jednom u istoriji univerzuma i nema mu vise povracaja (sem vestackim putem, nazad sa tape-a, which is actually really cool when you think about it). Ako si za vreme tog dogadjaja natakario reverb, fuzz i delay recimo, svi sljakaju u real-time processing modu. You're playing, gear is processing, we're hearing it and then it's gone. Nadam se da sam kolko tolko jasan dosad.
E sad uzmes taj isti tape na kom si sve to snimio ili za potrebe ove konverzacije, jos bolje, snimis taj isti dogadjaj (pesmu) iz jednog daha ko i pre, u real-time-u samo ne koristis ni fuzz ni reverb ni delay inicijalno recimo. Samo pure tone bilo da ide krzo ovo ili ono analogno pojacalo, DI box, direct u konzolu, stabilo. Izvorni signal je dry znaci, ti sad kazes ajd da mu stavim taki i taki delay na tolko i tolko ms sa tolkim i tolkim repom i sve to. Ispretiskas to bilo na hardveru bilo u softveru (DAW po zelji, nema veze). I kliknes play song od pocetka. Posto su delay, reverb i chorus recimo relativno jednostavni algoritmi a hardware i softver danas relativno mocni, ti imas utisak da sve cujes u realnom vremenu, zaboga pritisnuo si play i original svira a DSP odozgo lepi sta treba. Pesma se zavrsila kad je trebala da se zavrsi, nije trajala 30 sekundi duze jer je DSP razvuko da bi stigao da utisne te informacije koje treba da utisne. To je zbog hardvera i softvera danas. Nekad nije postojalo NLE (non-linear editing) bilo za audio bilo za video, i sve promene koje si pravio u prvim verzijama Pro Tools ili Cubase su isle na famozno 'renderovanje'. Podesis recimo delay kao gore navedeno, pritisnes play a ovaj izbaci 'rendering'. Mora da ucita prvobitnih par sekundi dogadjaja (pesme) procesira ih sa kasnjenjem, krene zvuk iz zvucnika par sekundi kasnije ali ono sto ti slusas je ono sto je on procesirao pre dve sekunde, njegov DSP vec radi na trecoj sekundi pesme dok ti slusas prvu. Ako hoces da promenis neki parametar delaya, poesma se zakoci, ti promenis sta treba i on ga opet 'renderuje' ili od pocetka pesme (joj smora) ili malo kasnijih godina tamo gde si stao (danas renderovanje zovemo baferovanje ali je to baferovanje danas neverovatno brze sa napretkom elektronike i softvera i prvenstveno koriscenjem DMA memorijskih arhitektura ali o tome bi tek mogli da se pisu epski postovi).
Pretpostavljam da bi se svi mi smorili da je to i danas slucaj, na srecu sve je napredovalo. Ali ne zavaravajte se, proces nije uopste izmesljen (i pored clever dizajna i upotrebe clever trikova i algoritama, the job at hand is still the same). Znaci danas <mi> imamo percepciju da to sve radi kako valja, mnogo bolje nego juce anyway. Pritisnem play, drndam one dugmice na delay-u bilo u hadrveru bilo u sofveru i cujem sve razlike u realnom vremenu, pesma pichi i momentalno cujemo reakcije na svaku akciju. Napredak jebiga, iako on ispod haube radi isti onaj posao ko pre 30 i kusur godina ali sad radi brze a nase uvo kao i oko ima odredjenu 'rezoluciju' kojim cuje/vidi i mi vise ne mozemo da zapazimo tu rendering fazu koja uvek postoji ali sad je toliko brza da se u nasim glavama cini kao da se to desava instantno, paralelno sa zivotom originalnog signala. It's not and never will be, dok se ne postignu kvantni pomaci u elektronici, verovatno koriscenjem elektro-optike.
E sad sve, gore navedeno je vezano za najprostije procesiranje tipa chorus, reverb, delay sto su matematicki sve efekti baziranu na vremenskom kasnjenju signala a ralika je u flavoru. Znaci koliko hoces da ti zakasnim taj signal, koliko hoces da je blendovan sa originalom i btw, kad smo vec tu hoces da promenim centar frekvencije, dubliram tripliram harmonski sadrzaj, naglasim ove harmonike smanjim one, igram se sa peakovima signala, razemstam ih po zelji, dok ti vrsim to procesiranje za kasnjenje nad tim istim signalom, pa kad je vec na operacionom stolu daj da se igramo. Na kraju krajeva neki delay ili reverb uredjaji su skuplji i bolji od drugih (Eventide comes to mind jel). Najbrza i najkvalitetnija elektornika, najbolji research, najbolji koderi i psihoakusticari i dobijes fin produkat.
Ali simulacija necega, to je different beast. Simulacija kompleksnog zvuka pogotovu. A gitarski zvuk preko pojacala je fenomenalno kompleksan signal za talasnu analizu (wave form analysis). Ako reverb ili delay ili chorus radeci na samplu (ajd da pretpostavimo da smo snimili onu klot gitaru na neki digitalni storage, AD konverzija je vec bila odradjena kod snimanja, pa sad tu ne gubimo dragoceno vreme) od 44,100 Hz, stigne novi 24 bitni sempl (zavisi u kom formatu radimo jel al recimo neki default) svake 22.7 mikro sekunde (22 milionita dela sekunde) ja imam tacno toliko vremena da ucitam ta tri bajta, prepakujem ih po delay algoritmu u drukcija tri bajta i posaljem na izlaz nazad u stream/mix. Moj delay algoritam recimo ima nekih 8 parametara prema kojima pakuje ta tri bajta, brzo ce on to. ALi ako simuliram pojacalo, moj algoritam za prepakovanje ta 3 bajta ima 32 ili 57 ili 112 parametara da iskalkulise za tih istih 22 milionita dela sekunde. Malo li je.
Sve je ovo u sustini mnogo komplikovanije u realnosti, jer algoritam ne gleda u indivudalni sempl od 3 bajta gleda u niz (desetine i stotine) semplova iza sebe a gleda i ispred sebe (look ahead) i analizira sta je stiglo pre, sta cek tek stici i kako da napravi korektne kalkulacije over hundreds of samples (u stvari thousands ili 44,100 ako vec hocete) da bi nama to predstavljalu sekundu muzikalne informacije a ne nekakvog baljezganja (which is why some manufactures designs sound better than others). Kad bi samo strikao ta tri bajta bez osvrta na sta je bilo pre i sta dolazi posle to bi bio tako katastrofalan zvuk da bi se kolektivno uhvatili za glavu.
Opet na primeru delaya, RTP vs NRTP, analogno vs didjitalno. Kad okacis najprostiji analogni delay izmedju gitare i pojacala, to keep it simple, on ima direktnu analognu vezu sa pojacalom bez obira da li ima recimo bypass switch. Originalni signal se 'cepa' na dva identicna signala (idealno) i prvi se sprovede direkt u izlaz netaknut, drugi se sprovede u taj isti izlaz sa kasnjenjem koje podesis i mos mu cacnes kako rekoh jos par stvari dok on obavlja to kasnjenje. Kasnjenje radi jedno kolo (kolo za kasnjenje jel, i to kolo uopste ne dira signal, samo ga zavlaci okolo po pasivnim komponentama) a modifikaciju tog signala rade druga kola ako su prisutna. Najrostije kolo za kasnjenje je obicna bakarna zica ali duzine odavde do Meseca. Da je 10 km duga, nebi bas cuo neki delay obzirom na brzinu prostiranja signala. Instrumenti bi zabelezili ali uvo jok. Ali jedno 200 i kusur hiljada milja zice i da vis kako je cujno kasnjenje. Posto to bas nije produktivni manir u dizajniranju pedale recimo dohakali su mu na druge fore, mnogo kompaktnije. Elem, oridjidji signal je tu, u realnom vremenu, on nastavi krzo dilej pedalu, stigne do pojacala a njegov delayed signal ga juri par desetina ili stotina ms kasnije.
Putanja i rok (zivotni vek) originalnog signala je uvek ista sem ako na delay pedali ne izaberes opciju 100% mix ili wet output. To znaci da se samo delayed signal pojavljuje na izlazu a to je katastrofa, zvuci ko quratz. I kasni. Ti sviras a ono sve vreme kasni ali ne cujes originalni signal. To niko ne radi. Originalni signal znaci postoji celom duzinom lanca gitara-delay pedala-pojacalo-zvucnik-usi (ili tape). SLicno radi i delay rack procesor kad se nabode u FX loop pojacala , i dalje originalni signal postoji sve vreme. Ali ako nabodes gitaru u procesor koji nema direct output ulaz izlaz i ceo input signal odmah konvertuje u digitalni, obradi ga i vrati ga u analogni pa u pojacalo recimo, gotovo je. Originalni signal je tehnicki umro na ulazu u procesor (ili prakticno na izlazi gitare) i nema mu povratka, it's all over. Originalni je izgubljen za sva vremena a digitalni pocinje svoj zivotni vek i sta god da radi i kako god da to radi, uvek postoji jedna konstanta - unosi kasnjenje. Svaki element procesiranja unosi kasnjenje a originalnog signala ni od korova ti sad samo cujes ovaj 'vestacki' signal sa kumulativnim kasnjenjem.
Just doesn't work for me in real time, vizavi simulacija i emulacija. Other than that knock yourselves out.
Mozda se i nastavim ali sad sam se smorio.