JACK — PulseAudio — Skype

 Mă bucur că ai revenit aici şi îţi urez succes în dezlegarea misterelor legate de audio sub Linux!

Dar ca să facem un pas concret înainte, astăzi o să dezleg misterul legat de JACK Audio Connection Kit.

Va fi un articol ceva mai lung de această dată, fiind ultimul din serie.

Spuneam în articolele precedente că am avut mari dificultăţi cu punerea la punct a sistemului audio pentru partea de muzică sub Linux.

Am avut nevoie să intru puţin în detalii privind subsistemul audio, deoarece ceea ce s-a petrecut la mine în sistem, se poate petrece la oricine.

Doar că în cazul meu, găsirea soluţiei s-a bazat pe cei 43 de ani de Engleză practică, 18 ani calculatoare şi vreo 15 de urmărit variate distribuţii Linux.

Cum e greu de presupus că toată lumea are aşa ceva în zestrea personală, am considerat folositor să dau mai departe păţaniile mele.

Începutul, a fost cu mult înainte să îmi dau eu seama cum vor evolua lucrurile. Şi acest început, se numeşte şi acum „Skype for Linux”.

Toată lumea cred că e de acord cu mine când afirm că Skype e un serviciu foarte bun. Partea proastă e că, deocamdată sub Linux, e singurul serviciu care asigură servicii de voce şi video prin internet. Aşa încât, momentan este singura soluţie funcţională. Cel puţin, până la un punct!

Şi spun asta deoarece Skype are şi el o lipsă majoră!

Fiind un produs comercial, chiar dacă programul este gratuit, suportul pentru Linux, este limitat!

Astfel, am reuşit să aflu după multe ore de muncă istovitoare şi re-instalări ale sistemului de oparare şi evident, ale aplicaţiilor, că Skype produce inconveniente insurmontabile atunci când vrei să faci din calculatorul tău o maşină pentru muzică şi producţie muzicală.

Skype for Linux

Cu toate că există o versiune pentru Linux, ea este pe 32 de biţi, iar Skype întârzie să dea semne de înţelegere şi acceptare a faptului că în calculatoarele de astăzi, avem procesoare pe 64 biţi şi magistrale de date, tot pe 64 biţi. Prin urmare, pachetul Skype, vine cu nişte biblioteci „cârpite”, pentru a funcţiona şi pe procesoarele moderne, pe 64 bit.

Astfel, nişte biblioteci critice pentru sistemul audio şi nişte module, între care şi serverul audio jackd2, vin în pachetul de instalare al Skype. Cum toate aceste module sunt pe 32 biţi, inclusiv serverul audio JACK Audio Connection Kit, ne vom vedea în situaţia de a avea instalat pe sistem unul şi acelaşi server audio, în două exemplare.

Ce consecinţe determină această situaţie?

În primul rând, apare un conflict între bibliotecile necesare unui server şi al celuilalt. E firesc să fie aşa, deoarece bibliotecile necesare sunt diferite, un set fiind pe 32 bit, altul pe 64 bit.

Astfel, JACK ar trebui să ştie când şi cum să facă „schimbul” de biblioteci, funcţie de aplicaţia pe care trebuie să o deservească. Dacă la prima vedere e simplu, în realitate, e o imposibilitate!

Simplist explicată diferenţa dintre lucrul pe 32 biţi şi 64 biţi:

  • Presupunem că vrei să rezolvi o treabă URGENTĂ asta înseamnă la calculator „Real Time”;

  • Tu ştii Engleză şi Română, cel cu care ai treabă ştie doar Chineză şi ai la dispoziţie doi translatori: un japonez care ştie Engleză şi un Finlandez care ştie Chineză şi Engleză.

  • Dificultatea constă în aceea că, ai doar o pereche de urechi, deci poţi asculta DOAR O SINGURĂ PERSOANĂ la un moment dat! Cum treaba trebuie rezolvată URGENT, adică ÎN TIMP REAL

Serverul audio JACK

Practic, exact asta se întâmplă pe calculator. Se ajunge la blocarea serverului audio JACK Audio Connection Kit.

Dacă pentru sunetele sistem asta rămâne fără consecinţe, pentru muzica pe calculator, blocarea JACK, este fatală.

Depanarea este foarte anevoioasă, deoarece se poate vedea un film şi se aude sunetul, se poate asculta muzică în continuare, alertele sistemului (la primirea unui mail de exemplu, a unui mesaj pe chat) funcţionează de asemenea! Totul pare să fie în regulă, doar că, orice aplicaţie de muzică pornesc, sunetul =0!!

Colac peste pupăză, actualizările sistemului de operare, „crapă” şi ele! Mai exact, primesc un mesaj din care rezultă că există un conflict între „definiţiile” din fişierul „x” al serverului audio JACK, motiv pentru care actualizarea JACK a fost abandonată cu erori.

Pasul următor e să închid fereastra cu mesajul. După aceea, apare alt mesaj, care mă anunţă că instalarea JACK este distrusă şi că am 39 de pachete deteriorate! Atât! Mi se sugerează să caut în lista cu cele… 60.000 de pachete (!!!), pe cele deteriorate… Probabil cine a conceput rutina aceea, ştie cu precizie că eu cunosc pachetele după culoarea ochilor. Care presupun că sunt violeţi, deci ar sări cumva în ochi, „din prima”!

În fine, ca să scurtez povestea…

Mi-a venit ideea să reinstalez JACK. Am făcut asta. Imediat după, am văzut iar anunţul de actualizare al Update Manager. De această dată însă, am capturat mesajele de la consolă (terminal), din timpul actualizării. Aşa am descoperit că de fapt în cauză şi responsabil de stricăciuni, era… Skype!

Am dezinstalat Skype, am reinstalat JACK şi, fericire, am din nou semnal şi de la controllerul UMX 610 şi la ZynAddSubFX şi la QTractor şi la Rosegarden şi la Ardour!

Fericirea a fost însă de foarte scurtă durată, deoarece…

Cei Trei Muşchetari: ALSA, PulseAudio şi JACK

Am explicat în articolele precedente ce înseamnă muzică pe calculator. ACUM, aceste explicaţii se leagă într-un tot UNITAR.

ALSA, înseamnă în primul rând, drivere pe 64 biţi, deoarece aplicaţiile de tip DAW, au nevoie de putere de calcul! Cu cât mai multă, cu atât mai bine! Asta înseamnă între altele, transferuri de date la o viteză cât mai mare. Pe un calculator care lucrează nativ pe 64 biţi, e normal să vreau să folosesc INTEGRAL această lărgime de bandă de comunicaţii!! Ca să pot face asta, trebuie ca TOATE driverele şi TOATE programele să funcţioneze pe 64 biţi!

Skype însă, mi-a băgat beţe în roate, cu driverele sale pe 32 biţi!

După ce am identificat „infractorul” şi l-am expulzat însă, ar fi trebuit să ştiu exact toată lista cu pachetele care trebuie instalate pentru a transforma calculatorul meu într-un Digital Audio Workstation. DAW adică. Ori asta, se învaţă în ani de practică…

Aşa încât, mi-a mai rămas metoda „încercare şi eroare”.

Am explicat mai sus cum am mers din aproape în aproape, urmărind toate mesajele afişate în consolă, din timpul proceselor de instalare. Din fericire pentru mine, am învăţat calculatoare pe vremea când linia de comandă era „Rex Absolutae”. Altfel, cred că aş fi găsit soluţia cam la anul pe vremea asta, dacă se milostivea cineva de mine…

Soluţia există pe net, e drept, dar e împrăştiată pe câteva zeci se situri în câteva sute de articole!

Din păcate, documentaţia Ubuntu este foarte fragmentată şi trebuie să ştii foarte bine ce cauţi ca să ai şansa să găseşti ceva!

Ori eu sunt totuşi, ÎNCEPĂTOR! OK, poate un începător mai „altfel”, dar totuşi, un începător!

PulseAudio. Spuneam înainte că PulseAudio, este serverul audio implicit în sistemele actuale Linux. El oferă ceea ce este necesar utilizatorului casnic. Din păcate însă, e inutil şi chiar incomod când vine vorba de muzică MIDI şi multi-track recording, deoarece îi lipsesc capabilităţile Real Time şi Latenţă redusă.

JACK Audio Connection Kit. Aici, intervine JACK. El rezolvă şi cu latenţa redusă şi cu lucrul cu procesoarele în modul Real Time. Doar că el fiind un server audio şi fiind cel mai performant, trebuie instruit special să colaboreze pe partea de redare audio, cu PulseAudio. De unde naiba să fi ştiut eu asta ca începător, când sunt atâtea alte sute de pagini de documentaţie de studiat la DAW, la pluginurile LADSPA şi LV2, RTAS, suportul pentru VST/VSTi dacă există, dacă lipseşte şi de ce, etc., pe lângă manualele programelor menţionate Ardour, Rosegarden, QTractor, Traverso, ZynAddSubFX, ce înseamnă sinteza de sunet digitală, etc., etc., etc.

Ei bine, după circa 30 de zile de chin şi nopţi nedormite, am aflat ce şi cum!

Iată ceea ce trebuie făcut pentru a pune în mişcare maşinăria complicată a Real Time, Low Latency Audio System:

  • Instalezi Jack;

  • Faci update la sistem;

  • Instalezi Patchage. Cu el se fac mult mai uşor conexiunile între intrări/ieşiri, de toate tipurile;

  • Instalezi pachetul de module pulseaudio-module-jack, care conţine modulele module-jack-sink, module-jack-source.

  • După aceste etape, poţi instala orice MIDI sequencer (DAW) îţi place ca stil de lucru şi ar trebui să funcţioneze, odată serverul JACK pornit şi conexiunile între variatele intrări şi ieşiri stabilite.

  • Verifici în final dacă s-a strecurat cumva din vreo greşeală, vreun modul pe 32 biţi. Dacă da… e mai complicat. Totuşi, dacă urmezi exact procedura asta, trebuie să meargă. La mine merge şi am urmat exact paşii aceştia descrişi aici.

  • În practică, am observat că singurele conexiuni care trebuie activate manual, sunt cele dintre claviaturile MIDI (echipamentele hardware, în general) şi software. Dar asta, e valabil şi sub Windows, deci e cam aceeaşi poveste şi e şi foarte logic.

  • Astfel, după ce am pornit JACK, PatchAge şi ZynAddSubFX, a mai fost nevoie doar să fac manual conexiunea între ieşirea (MIDI OUT) controllerului UMX 610 şi intrarea (MIDI IN) a sintetizatorului virtual ZynAddSubFX.

Închei aici seria articolelor dedicate muzicii sub Linux.

M-am gândit să realizez un eBook cu aceste materiale. Dacă te interesează să primeşti GRATUIT acest eBook, lasă un comentariu sub acest articol. Funcţie de câţi vor fi interesaţi, voi stabili ce fac în continuare.

Mulţumesc pentru atenţia acordată!


Vizualizări articol: (437)

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