EMUTE-MUSIIKKITEKNOLOGIASIVUSTO
Emute

Linux - JACK-asetukset ja QJackCtl

Kirjoittanut Sami Kainulainen | 03.06.2013

JACK-audiopalvelin muodostaa selkärangan monien audiosovellusten toiminnalle, ja siksi sen vakaa toiminta on ensiarvoisen tärkeää. Väärillä asetuksilla JACK kiukuttelee tiuhaan tai suorastaan kieltäytyy käynnistymästä. Tässä artikkelissa käydään läpi JACK-äänipalvelimen tärkeimmät asetukset käyttäen QJackCtl-apuohjelmaa.

QJackCtl on JACK:n hallintaan tarkoitettu graafinen käyttöliittymä, ja se sisältyy oletuksena useimpiin audiotuotantoon suunnattuihin jakeluihin. Kaikki JACK:n asetukset on mahdollista tehdä myös suoraan pääteohjelman komentoriviltä.

Ohjelman toimintopaneeli sisältää JACK-palvelimen käynnistämiseen ja pysäyttämiseen tarvittavat Start- ja Stop-painikkeet, transport-painikkeet (play/stop/kelaus eteen ja taakse), pääsyn reititysikkunaan (Connect) sekä asetukset-painikkeen (Setup).


JACK-palvelimen käynnistyminen ja vakaa toiminta edellyttää asianmukaisten asetusten tekemistä. Asetusikkunaan päästään johdonmukaisesti Setup-painikkeella.

Asetusikkunassa voidaan valita mm. käytettävä äänikortti (interface, input/output device), käytettävien sisään- ja ulostulojen määrä (input/output channels), käytettävä näytteenottotaajuus sekä siihen liittyvä bufferin koko (frames/period). Lisäksi voidaan tehdä muita lisäasetuksia, joista kannattaa tarkistaa ainakin Realtime-kohdan valinta. Audion käsittely ja luotettava synkronointi matalalla latenssilla edellyttää JACK-palvelimen ajamista reaaliaikamoodissa.

Interface-kohdassa on listattuna nousevalla numerojärjestyksellä kaikki järjestelmän tunnistamat audiolaitteet. Klikkaamalla pientä hakasta (>) pudotusvalikon oikealla puolella saa näkyviin helpommin ymmärrettävän tekstimuotoisen listan laitteista. Sama pätee sisään- ja ulostulolaitteen (input/output device) valintaruutuun. Asetusikkunasta poistutaan ja otetaan asetukset käyttöön OK-painikkeella. Vaihtoehtoisesti muutokset voi perua Cancel-painikkeella.

Bufferi ja latenssi

Audiobufferin koko vaikuttaa latenssiin eli audionkäsittelyyn liittyvään aikaviiveeseen. Pieni bufferi tarkoittaa käytännössä pientä viivettä ja järjestelmän jouheaa toimintaa, mutta vaatii koneelta suurta suorituskykyä. Liian pieni bufferi saattaa aiheuttaa erilaisia räpsyjä ja muita häiriöitä audion toistoon ja tallennukseen. Näistä näkyvänä varoituksena toimivat QJackCtl-paneelin punaisella merkityt xruns-lukemat kellonlukeman vasemmalla puolella jo ennen kuin ongelmia välttämättä kuuluu.

Suurempi bufferi aiheuttaa suuremman latenssin, mikä  kasvaessaan yli 10 millisekunnin saa järjestelmän toiminnan vaikuttamaan tahmealta. Suuri latenssi haittaa erityisesti softasyntetisaattorien reaaliaikaista käyttämistä. Lopullinen asetus bufferin koolle on kompromissi käytettävyyden ja koneen suorituskyvyn välillä. Tavoitteena voitaisiin yleisluontoisesti pitää tuntuvasti alle 10 millisekuntia. Laskennallinen latenssi näkyy Setup-ikkunan oikeassa alakulmassa (latency).

Uudelleenkäynnistys

Asetusten muuttamisen jälkeen JACK-palvelin täytyy käynnistää uudelleen, jotta uudet asetukset voidaan ottaa käyttöön. Tämä tapahtuu QJackCtl:n pääpanelissa. QJackCtl-ohjelmaa ei tarvitse sulkea välissä. JACK-palvelin pysäytetään Stop-painikkeella (JACK varoittaa ja pyytää vahvistusta) ja tämän jälkeen käynnistetään palvelin uudelleen Start-painikkeella. Mikäli kaikki sujuu hyvin, palvelin käynnistyy ja QJackCtl-ikkunan tilailmoitus (keltainen) on “Started”. Tarkista myös, että tämän vieressä vilkkuu RT,  tarkoittaen reaaliaikamoodia.
Huomaa, että kaikki JACK:iin kytketyt sovellukset menettävät palvelimen pysäyttämisen yhteydessä kytköksen palvelimeen ja toisiinsa. Varaudu siis rakentamaan reititys uudelleen. Lisäksi voi olla tarpeen käynnistää joitakin sovelluksia uudelleen JACK-yhteyden uudelleenluomiseksi. Ainakin Hydrogen ja Ardour osaavat kytkeytyä JACK:iin uudelleen automaattisesti. Vältä kuitenkin JACK-asetusten muuttamista kesken session.

Connect -välilehti ja reititys

Yksi JACK:in vahvuuksista on kyky reitittää signaaleja edestakaisin sovellusten välillä. Joissakin sovelluksissa kuten Ardourissa tämä onnistuu ohjelman sisältäkin käsin, mutta varsinkin useasta eri sovelluksesta rakentuvassa sessiossa on kätevintä hoitaa kytkennät keskitetysti yhdestä ja samasta paikasta. QJackCtl:n reititysikkunaan päästään pääpaneelin Connect-painikkeella. Hieman sekavasta ulkoasusta huolimatta reititys hoituu kuitenkin melko lailla selkeästi: vasemmalla puolella näkyvät kaikkien JACKin tiedossa olevien hardware-laitteiden ja sovellusten ulostulot, joista vedetään halutut kytkennät oikeanpuoleisessa sarakkeessa näkyviin sisäänmenoihin. Esimerkiksi tyypillisessä tapauksessa halutaan kytkeä Ardourin master-ulostulon vasen ja oikea kanava äänikortin ulostuloihin Playback 1 ja Playback 2 sekä vastaavasti äänikortin sisääntulot 1 ja 2  (Capture 1/Capture 2) Ardourin raidoille 1 ja 2 (Audio in 1 / Audio in 2).

Connect-näkymä

Kunkin sovelluksen tai laitteen alta saadaan yksittäiset sisään- ja ulostulot näkyviin klikkaamalla nimen vasemmalla puolella olevaa pientä +-merkkiä.

Katso myös

Linux - johdanto
Linux - jakelut
Linux - musiikkiohjelmat
Linux - hankkiminen ja asennus
Linux - Demosessio