Cei trei muşchetari ai Linux audio partea 2

Header Audio MIDI muzică cu Linux

MIDI şi muzică sub Linux (4)

Am vorbit în prima parte a articolului „Cei trei muşchetari ai Linux audio” despre ce trebuie să fie sistemul de operare pentru o staţie de lucru destinată creării de conţinut media, sau Media Content Creation workstation.

Acum voi vorbi despre următoarele două „cărămizi” ale fundaţiei: LATENŢA MIDI şi AUDIO şi ALSA, driverul magic, translatorul universal.

Latenţă (foarte) mică şi stabilitatea serverului audio.

Chestiunea latenţei şi a serverului audio, este critică şi la producţia grafică (+ foto) şi la producţia audio şi la producţia video. Fluxurile de date de la mai multe surse audio şi respectiv video, sunt cu atât mai greu de sincronizat cu cât latenţa audio este mai mare.

Motivaţia este simplă: subsistemele audio şi video se află pe aceeaşi maşină şi partajează (împart) ACELEAŞI RESURSE!

Cu sincronizarea semnalelor audio analogice şi digitale, se ocupă două componente de bază: [1] Serverul audio, care sub linux este JACK Audio Connection Kit şi [2] Kernelul RealTime. Aici intervin latenţa audio şi latenţa MIDI. Orice desincronizare, dă peste cap tot sistemul. O singură aplicaţie dacă „îngheaţă”, complexul flux de date coordonat de JACK, „îngheaţă”. Şi e logic să fie aşa, pentru că fiecare dispozitiv, vrea să primească „scrisorile” (mesajele specifice) lui, nicidecum ale vecinului de la palierul 7 şi cu certitudine, ultimul lucru pe care mi l-aş dori şi eu, este ca vecinul de la 7 să-mi citească corespondenţa. Eventual să se uite prin albumele mele cu poze sexy… Altfel spus, să ne imaginăm puţin scena asta… Dacă un semnal MIDI de la Korg PA500 se adresează DAW (Digital Audio Workstation, cum sunt Ardour, Rosegarden sau Qtractor, eventual Seq24) dar ajunge să se rătăcească printre fire şi e trimis la Roland FA06, destinatarul DAW, va aştepta… să primească semnalul trimis şi orice activitate se suspendă. Ce face Roland cu semnalul primit, e deja altă poveste. Am dat un exemplu simplu, dar putem avea un lanţ de 10 efecte + câteva synth-uri pe un singur canal (bus?), caz în care lanţul de procesare DSP (Digital Signal Processing) este foarte lung şi complex şi atunci descâlcirea iţelor încurcate, poate fi chiar imposibilă. Dar despre instrumente şi echipamente virtuale sau cum li se mai zice, „pluginuri” LADSPA, LV2, VST, cu altă ocazie, când voi reuşi să trec de testul cheie: agăţatul unui controller MIDI de coada sistemului de operare!

ALSA

Semnificaţia acronimului ALSA este Advanced Linux Sound Architecture.

După funcţia cea mai înaltă pe care o are, am putea spune că ALSA este „driverul driverelor”. Asta însemnând că ALSA se ocupă cu punerea cap la cap a funcţionării diferitelor drivere de dispozitive hardware, fiind el însuşi un fel de „driver universal”. De fapt, este o interfaţă universală dedicată. Gândeşte-te la driver, ca la un translator universal, care vorbeşte toate limbile pământului, făcând legătura cu mai mulţi oameni, din orice ţară ar fi ei. Reamintesc acum că ALSA înseamnă Advanced Linux Sound Architecture adică, „Artitectură Avansată pentru Sunet în Linux”.

Driverele unui sistem (calculator), simplist explicat, sunt nişte programe codate hardware ŞI software (funcţionează doar împreună) care se ocupă cu conversia diferitelor semnale electrice care intră şi ies dintr-un echipament fizic (sau virtual) oarecare, în semnale digitale binare şi invers, cu care componentele sistemului pot lucra şi cu comunicările dintre sistem şi echipamentul respectiv. Problema driverelor este, că ele sunt majoritar PROPRIETARE, subiect deci al legislaţiei privind copyrightul. Unele, sunt disponibile OpenSource în regim GNU-GPL sau LGPL. Altele au licenţe mai restrictive iar pentru altele, codurile pot fi obţinute doar pe baza semnării unui contract de confidenţialitate (NDA – Non-Disclosure Agreement), cum este de pildă cazul algoritmului JPEG, MJPEG şi MPEG. Sunt însă foarte multe echipamente pentru care rescrierea driverelor pentru Linux, presupune plata unor taxe anuale substanţiale. Şi aici, cercul vicios, se încheie. Un exemplu clasic de încăpăţânare este compania Nvidia, care face drivere proaste şi le ţine sub cheie. A se vedea filmul cu Linus Torvalds, cu pasajul „F**k Nvidia!”. Din această perspectivă, ALSA este un driver foarte special, care înglobează în sine un limbaj pe cât posibil universal, inteligibil pentru toate tipurile de hardware audio. Altfel spus, recunoaşte multe echipamente şi ştie să le gestioneze. Din anul 2002, este un modul destinat kernelului Linux, modul care asigură recunoaşterea şi funcţionarea hardware-ului audio, cum sunt: amplificatoare, căşti, microfoane, monitoare de studio, mixere, instrumente electrice şi electronice, echipamente şi instrumente MIDI, atât fizice cât şi virtuale.

Am să închei aici trecerea în revistă a celor trei elemente cheie ale unei staţii de lucru (workstation) destinate creaţiei şi producţei de conţinut media.

În următorul episod (5), voi vorbi din nou despre LATENŢĂ, „Latenţa: Cuiul lui Pepelea?

– Citit de 17 vizitatori