Jack e’ il server audio che rappresenta di fatto lo standard per lavorare con audio professionale in Linux, si occupa di gestire i flussi audio e le sincronizzazioni ed e’ croce e delizia per chi si vuole occupare di audio su Linux. Non e’ l’unico server audio, in ambito non professionale il server che gestisce l’audio in Linux e’ Pulseaudio, di fatto e’ il sistema che ci permette di ascoltare musica da un player, l’audio di un video su youtube o anche i suoni di sistema. Jack e Pulse Audio usano entrambi ALSA,The Advanced Linux Sound Architecture, che e’ parte del Kernel di Linux e si occupa di gestire l’hardware Audio e MIDI e quindi di gestire l’interfaccia di acquisizione hardware.
Jack e’ il server audio usato in ambito professionale perche’ permette di creare un sistema modulare in cui vari programmi o varie sorgenti trasferiscono flussi audio ad altri programmi o altri riproduttori e questo puo’ avvenire all’interno della stessa macchina o anche via rete locale o internet, di fatto Jack e’ un potentissimo strumento che permette cose anche parecchio avanzate ma che per incominciare ad usarlo non richiede troppo studio e approfondimento.
Inoltre Jack si occupa anche di sincronizzare i vari programmi interconnessi.
Non tutte le applicazioni supportano Jack, quelle che lo fanno si indicano come “Jack Aware”, al loro avvio si interfacciano con Jack e mettono a disposizione i loro inputs e outputs per il routing del segnale audio o midi. Le applicazioni professionali sono quasi tutte Jack Aware mentre quelle general purpose o piu’ consumer utilizzano PulseAudio, ma la cosa interessante e’ che Jack si puo’ collegare a pulseaudio tramite un ponte, “Jack-PulseAudio Bridge” e quindi l’audio di una applicazione che usa pulse audio puo’ essere instradato verso l’input di un’altra applicazione che usa Jack. Per esempio si puo’ registrare l’audio di un video youtube riprodotto in Firefox con Ardour, oppure una conversazione via skype o altro VoIP puo’ essere registrata con Audacity.
Mentre su windows o mac di solito si lavora sempre all’interno della DAW dove vige il concetto di plugin, applicazioni che vengono caricate all’interno della DAW per processare o generare un flusso audio che rimane all’interno della DAW stessa, nella struttura modulare di Linux l’audio puo’ “entrare ed uscire” dalle varie applicazioni per essere processato o registrato quindi si ha una estrema flessibilita’ e possibilita’ di settare un sistema audio complesso e su misura per le proprie necessita’ che e’ sia appunto un punto di forza che una difficolta’ concettuale per chi viene all’audio su Linux da altri sistemi.
Jack e’ un server che si fa partire da riga di comando e si controlla anche tramite la stessa ma per fortuna esistono ottimi software GUI per Jack che prendono il nome di Jack Managers, tra i quali i piu’ noti e facili da usare sono Qjackctl e Cadence.
Tramite Cadence e’ possibile impostare i parametri del driver ALSA come il sample rate di acquisizione e il il buffer size, parametri che determinano la latenza del sistema. Come detto sopra tramite Cadence e’ possibile anche avviare i bridges di Jack verso ALSA, ALSA MIDI e PulseAudio.
Jack non si occupa solo del routing dei flussi audio ma anche della sincronizzazione delle varie applicazioni, in questo modo per esempio Ardour puo’ comandare tramite i suoi controlli anche la riproduzione sincronizzata di altre applicazioni. vedremo qui per esempio come sincronizzare Ardour con Hydrogen in modo da registrare una traccia di “batteria”
Per cominciare bisogna impostare, in Hydrogen, Jack come audio system e J.Tansport nel suo pannello di trasporto. In questo modo Jack comanda il sistema di trasporto di Hydrogen.
In Ardour, nelle impostazioni di sincronizzazione “External Timecode Source”, bisona selezionare Jack,e quindi anche nel pannello di trasporto selezionare Jack nel seletttore int/Jack. Inoltre bisogna impostare Ardour Transport come “Time Master”
A questo punto Hydrogen e Ardour sono sincronizzati e il pannello di trasporto di Ardour comanda anche quello di Hydrogen, impostando i bpm su Ardour automaticamente questa impostazione viene trasferita a Hydrogen.
Ardour usa Jack come sistema audio in modo integrato e offre un’ interfaccia a matrice per la gestione degli inputs e outputs forniti da Jack, in questo sistema basta selezionare come input di una traccia Audio l’output di Hydrogen e facendo partire il tutto con il comando di registrazione di Ardour avremo la possibilita’ di registrare una traccia di batteria generata da Hydrogen in perfetto sincrono con Ardour.
Qualsiasi sequencer esterno puo’ essere registrato in Ardour in questo modo.
Questo e’ un piccolo esempio che puo’ aiutare a capire meglio come l’Audio su Linux possa essere gestito in modo modulare proprio grazie a Jack che si occupa di far comunicare e sincronizzare i vari moduli.
Per un approfondimento rimando a questo articolo dove potrete trovare anche altri dettagli e maggiori informazioni
Add Comment