Latenţă şi Real Time

 Zâmbeşte! Viaţa e frumoasă! Dacă ştii să ţi-o faci! 😉

Vorbeam mai înainte despre plimbatul semnalelor electrice de la un dispozitiv la altul.

Acum hai să ne imaginăm cum circulă un semnal audio prin lanţul de procesare digitală. Apăs pe o clapă a claviaturii. Semnalul MIDI, este generat şi trimis prin cablul USB. Semnalul ajunge în calculator, după timpul T1. De la intrare, este preluat de către serverul audio, care trebuie să îl dirijeze în locul cuvenit. Asta înseamnă din nou timp consumat, adică, T2. Dacă semnalul este MIDI, el trebuie să ajungă la intrarea MIDI într-un un DAW. Dar de acolo, el trebuie trimis unei maşinării virtuale, numită sintetizator digital de sunet, mai scurt, sintetizator. Aici, codul MIDI este interpretat, se generează sunetul şi unde e cazul, se aplică procesări digitale asupra lui, conform codurilor MIDI transmise pe canalul respectiv. Asta, înseamnă T3. De aici, semnalul trebuie convertit din digital în analog şi trimis la sistemul de reproducere audio (boxe, monitoare de studio, THX, etc., adică T4. Dacă adunăm aceşti timpi, rezultă o întârziere de la mommentul 0 al apăsării pe clapă şi până la apariţia sunetului în boxe. Această întârziere, se numeşte LATENŢĂ. Cu cât valoarea ei este mai mare, cu atât calculatorul este mai puţin potrivit pentru producţie audio.

Din acest motiv, un server audio profesional, trebuie să aibă acces direct la procesor, astfel încât, în loc să îşi aştepte rândul la prelucrarea datelor ca celelalte programe fapt care măreşte întârzierea să aibă prioritate maximă la procesare.

Totuşi, chiar şi în aceste condiţii, la prelucrări complexe ale sunetului cum ar fi sintetizatoare multiple, efecte uzuale şi procesări complexe de distribuţie spaţială a sunetelor pe 3… 8 canale audio, cum este la SoundSorround THX, întârzierile, pot ajunge la valori deranjante, producând variate distorsiuni ale suntetului final.

Totuşi, un server audio, are nevoie de semnale COMPATIBILE şi de o logică A COMUNICĂRII.

De partea de reguli de comunicare, se ocupă ALSA.

ALSA Advanced Linux Sound Architecture

Deşi sună puţin criptic, ALSA este acea parte software care se ocupă cu „împăcarea” dispozitivelor hardware cu calculatorul. Dat fiind faptul că aceste dispozitive fac obiectul proprietăţii intelectuale, regulile de lucru cu acestea, diferă de la producător la producător. Pentru acest motiv, se scriu nişte programe care se numesc generic „drivere”. Totuşi, pentru a putea asambla mai multe componente hardware şi software în ceva „inteligibil”, e nevoie de un „creier” care să ştie ce trebuie făcut, funcţie de situaţie.

Aici, intervine ALSA, care stabileşte legătura între dispozitivele fizice şi calculator, prin intermediul driverelor specifice. Totuşi, până aici, e doar o parte de treabă rezolvată. Şi e mai puţin de jumătate! Asta, deoarece mai avem aplicaţiile care au nevoie de semnalele de intrare, să ştie de unde le preiau şi unde le trimit mai departe.

Dacă acest limbaj de comunicare API, Application Programming Interface se numeşte îl pune la dispoziţie ALSA, partea de dirijare a semnalelor de la o intrare la alta, o face efectiv serverul audio, pe baza acestui API.

De aici mai departe însă, începe complicaţia.

Pentru uz general, adică pentru utilizatorul obişnuit, condiţiile tehnice pot fi mai relaxate. Cum am vorbit despre latenţă, o să precizez că la aplicaţiile obişnuite (filme, ascultat muzică) sunt necesare mai puţine condiţii tehnice stricte. De aici, rezultă costuri mai mici pentru sistemele audio „home”, adică pentru acasă.

Pentru zona profesională însă, un server audio care să asigure parametri obişnuiţi, este insuficient. Producţia audio, are condiţii foarte stricte pentru foarte mulţi parametri iar CALITATEA, rezultă din respectarea acestor cerinţe.

Astfel, în mod obişnuit, avem instalat pe sistem serverul PulseAudio, care acoperă chiar şi nevoile mai „exotice” ale pasionaţilor muzicii, cum ar fi redarea pe sisteme THX. Ceea ce este însă bun pentru acasă, e insuficient pentru producţie audio. Explicaţia este relativ simplă. În vreme ce utilizatorul casnic va folosi o singură sursă de semnal de intrare DVD/BRay player şi îi este suficient pentru că ascultă muzică ori vede un film, un profesionist în audio, are surse de semnal multiple, care trebuie mixate, filtrate, prelucrate şi de foarte multe ori, ÎN TIMP REAL.

Pentru acest tip de sarcini, PulseAudio este necorespunzător, acesta ignorând latenţa şi procesarea în timp real, întrucât la nivelul sarcinilor curente, puterea de calcul necesară, este mai mult decât suficientă.

Astfel, este necesar al doilea server audio, care să se conformeze standardelor profesionale audio, care prevăd clar anumite condiţii speciale.

Acest al doilea server, este JACK Audio Connection Kit.


Vizualizări articol: (472)

Articole înrudite:
Scuze! M-am străduit, dar... fără rezultat! :( .