Qjackctl

Linux.fista
Versio hetkellä 3. heinäkuuta 2012 kello 01.51 – tehnyt Heikkiket (keskustelu | muokkaukset) (→‎Jackin asetukset: vaihdettu äänikortin etsimiskomento helppolukuisemmaksi)
Siirry navigaatioon Siirry hakuun
Qjackctl

Käyttöliittymä QT
Lisenssi GPLv2+
Kotisivu http://qjackctl.sourceforge.net

Qjackctl on Qt-pohjainen ohjelma Jack-äänipalvelimen hallintaan. Se tarjoaa yksinkertaisen graafisen käyttöliittymän Jackin asetuksille. Mikäli Jack ei ole tuttu, kannattaa tämän artikkelin ymmärtämiseksi lukea ensin Jackista.

Asennus

Qjackctl löytyy useimpien jakeluiden paketinhallinnasta nimellä qjackctl. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen. QJackCtl:stä on olemassa vain yksi versio, joka osaa toimia sekä Jackin ykkös- että kakkosversion kanssa. D-Bus -rajapintaa koskevat asetukset eivät toimi ollenkaan ykkösversion kanssa.

Käynnistys

Moderneissa Linux-jakeluissa QJackCtl katkaisee Pulseaudion toiminnan välittömästi käynnistyttyään. Tämä tarkoittaa, ettei normaaleista ohjelmista kuulu ääntä enää lainkaan. Ääni palautuu, kun QJackCtl suljetaan. QJackCtl:n käynnistäminen ei kuitenkaan vielä käynnistä Jackia, vaan sitä varten on klikattava Start-painiketta. Tämän jälkeen Jack käynnistyy, mikäli asetukset ovat kohdallaan. Mahdolliset käynnistyessä ilmenevät virheet löytyvät Messages-ikkunasta. Status-painikkeesta voi tarkastella käynnissä olevan äänipalvelimen tietoja, kuten näytteenottotaajuutta tai xrunien määrää.

Jackin asetukset

 
Jackin asetukset

Jackin asetukset. Tärkeimmät on kehystetty.

QJackCtl:ssä Jackin asetukset tehdään Options-ikkunassa.

Äänikortin ajuri valitaan oikean laidan Driver -valikosta. Vaihtoehtoja Linux-käyttäjälle ei ole kuin kaksi, eli alsa ja firewire. Firewire-ajuri on oikealta nimeltään FFADO ja sitä käytetään firewire-äänikorttien kanssa. Kaikkien muiden äänikorttien kanssa käytetään Alsa-ajuria.

Oikeanpuolimmaisesta sarakkeesta säädetään äänikorttiin liittyviä asetuksia. Tärkein on ylinnä oleva Interface, joka valitsee mitä äänikorttia käytetään. Laitteet on nimetty aitoon Unix-tyyliin, ja helpoin keino onkin koettaa vuorotellen kaikkia vaihtoehtoja, kunnes oikea laite löytyy. Varsinkin alsaa käytettäessä on syytä olla tarkkana, sillä valittavien laitteiden listassa näkyvät äänikorttien lisäksi myös esimerkiksi usb-midi-koskettimistot.

Huom! Äänikortti valitaan klikkaamalla oikeanpuolimmaista pikkunuolta, ei siis isoa pudotusvalikkoa heti Interface-tekstin vierellä.

Useamman äänikortin järjestelmä

Jos järjestelmään on asennettuna useampia äänikortteja, voi Jackin kanssa tulla ongelmia, sillä QJackCtl ilmoittaa käytettävän äänikortin Jackille indeksinumeroilla. Esimerkiksi hw:1 voi olla koneeseen liitetty ulkoinen USB-äänikortti. Indeksit kuitenkin annetaan laitteille sitä mukaa kun ne kytketään kiinni koneeseen, joten seuraavalla käynnistyskerralla äänikortti voi saada eri indeksinumeron, esimerkiksi hw:2 -indeksin. Tällöin Jack, etsiessään turhaan korttia hw:1-indeksillä, kieltäytyy käynnistymästä, ja asetuksia on pakko muuttaa.

Ongelmasta pääsee eroon kirjoittamalla Interface-kenttään kortin kutsumanimen indeksinumeron sijaan. Kutsumanimen saa selville komennolla

cat /proc/asound/cards

Komennon tulosteessa jokainen kortti kuvataan tähän tapaan:

0 [Intel          ]: HDA-Intel - HDA Intel
                     HDA Intel at 0xfc020000 irq 47

Kortin kutsumanimi on heti indeksinumeron jälkeen. Tässä tapauksessa kyse on ensimmäisestä kortista, eli kortista numero 0, ja sen kutsumanimi on Intel. Kun siis Interface-kenttään kirjoittaa hw:Intel, Jack käyttää joka kerta Intel-nimistä korttia.

Harvinaisempia asetuksia

Joissain tapauksissa voi olla tarpeen myös vaihtaa Duplex-asetuksen tilalle Capture Only tai Playback Only. Tämä säätö vaikuttaa siihen, yrittääkö Jack toimia duplex-modessa, eli sekä nauhoittaa sisääntulevaa ääntä että soittaa ulosmenevää ääntä samaan aikaan, vai tekeekö se vain jompaakumpaa. Lisäksi on säätö, jolla jackin käsittelemään äänisignaaliin voi lisätä Dither-kohinaa.

Näiden alapuolelta löytyvät tarkemmat valinnat, Input device ja Output device, joilla voi halutessaan säätää sisääntulevalle ja ulosmenevälle signaalille eri äänikortit. Lisäksi voi rajoittaa listattujen kanavien määrää Input Channels ja Output Channels -valinnoilla.

Viimeisenä on vielä mahdollisuus lisätä sisään ja ulos menevään ääneen latenssia. Alakulmassa näkyy kokonaislatenssi, joka pienimmillään on muutamia millisekunteja, ja suurimmillaan joitain kymmeniä tai jopa satoja millisekunteja. Latenssi vaihtuu kaikkien asetusikkunassa tehtävien säätöjen mukaan, ja tästä puhutaankin tarkemmin seuraavaksi.

Latenssi kohdalleen

Latenssi on heti äänikortin valinnan jälkeen tärkein yksittäinen asia, jota Jackin asetuksilla säädetään. Suomeksi latenssi tarkoittaa viivettä, eli aikaa, joka äänisignaalilla kuluu koneen läpi kulkiessa.

Ammattimaisessa käytössä hyvänä voi pitää alle kymmenen millisekunnin latenssia, koska tällöin onnistuu softainstrumenttien soittaminen ilman viiveitä, sekä monitoroitavan signaalin reaaliaikainen efektointi. Toisaalta taas usean raidan yhtäaikainen nauhoittaminen voi aiheuttaa xruneja, jolloin latenssia kannattaa nostaa. Useamman kymmenen millisekunnin latenssi tekee reaaliaikaisesta soittamisesta jo lähes mahdotonta, mutta esimerkiksi miksatessa tai editoidessa se ei juuri haittaa.

Latenssin säätämisessä kaikista tärkein asetus on Frames/Period, jolla säädetään puskurin kokoa, eli sitä, minkä mittaisia audiopaloja Jack prosessoi. Mitä pienempi Frames/Period -arvo, sitä alhaisempi latenssi. Alhaisen latenssin saavuttamisessa erittäin merkittävä tekijä on hyvä äänikortti: Jack pystyy korkeintaan niin nopeaan operointiin kuin mitä äänikortti antaa myöten. Mikäli käytössä tulee xruneja, on Frames/Period-arvoa syytä nostaa suuremmaksi. Frames/Period -arvoa voi muuttaa käynnistämättä Jackia uudelleen, mutta QJackCtl ei tarjoa tähän mahdollisuutta. Ainakin Ardourista käsin puskurin kokoa on mahdollista säätää lennossa, ja hommaan löytyy myös komentorivityökalu jack_bufsize.

Periods/Buffer-säätö on myös syytä muistaa, mikäli xruneja ilmenee. Yleensä oletusasetus 2 on hyvä, mutta USB- ja Firewire-äänikorttien kanssa suositellaan sen nostamista kolmeen (Firewire-korteissa asetus onkin oletuksena 3). Muidenkin äänikorttien kanssa arvon muuttaminen voi joskus auttaa. Jackin käyttöohjeissa mainitaan esimerkkinä Yamahan YMF-sirua käyttävät kortit.

Realtime

Asetusikkunan vasemmassa yläkulmassa on yksinkertainen asetusruutu: realtime. Tämä laitetaan päälle aina kun käytössä on realtime-ydin, ja järjestelmän realtime-asetukset ovat kunnossa.

Midi-liitännät

 
Yoshimi on hyvä esimerkki ohjelmasta, joka tarjoaa oletuksena vain Jack midi -liitännän.

Nimestään huolimatta QJackCtl:n kautta voi kontrolloida myös Alsa midiä. Alsa midi on Jackia vanhempi midistandardi, jota edelleen käytetään monissa ääniohjelmissa. Tietokoneeseen kytkettävät ulkoiset midilaitteet näkyvät etupäässä alsa-liitäntöinä, koska suurin osa midiajureista on rakennettu osaksi Alsaa.

Connections-ikkunan Alsa-välilehdelle ilmestyvät kaikki vanhaa Alsan midirajapintaa käyttävät liitännät. Jack-välilehdelle taas ilmestyvät uutta Jack-midiä käyttävien ohjelmien liitännät. Joskus on tarpeen sillata liitäntöjä, eli peilata vanhaa Alsa midiä käyttävät liitännät uusiksi Jack Midi -porteiksi, tai toisinpäin.

Asetusikkunan vasemman alakulman Midi driver -valikosta säädetään Alsa midi -yhteensopivuus käyttöön. none tarkoittaa, että portit eivät ilmesty näkyviin, raw tarkoittaa, että tietokoneeseen kytketyt laitteet näkyvät, mutta muu ei, ja seq tarkoittaa, että sekä tietokoneeseen kytketyt laitteet että kaikki ohjelmat näkyvät Midi-välilehdellä.

Midi-signaalin siltauksen voi toteuttaa myös muulla tavoin. Yksi suosittu menetelmä on käyttää a2jmidid-apuohjelmaa, joka ajetaan komentoriviltä käsin. a2jmidid ei asennu järjestelmään Jackin mukana, vaan on kokonaan erillinen ohjelmansa.

Patchbay

Patchbay on mainio tapa automatisoida toistuvien kytkentöjen tekeminen. Sen avulla voi luoda kytkennät, jotka QJackCtl tekee automaattisesti aina kun niitä vastaavat inputit ja outputit ilmestyvät näkyviin.

 
Esimerkki patchbaysta, jossa paljon sekä midi- että audiokytkentöjä

Tee aluksi kaikki tarvittavat kytkennät niin että ääni kuuluu. Klikkaa sitten QJackCtl:n pääikkunassa Patchbay-nappia. Eteen aukeaa periaatteessa melko paljon Connections-ikkunaa muistuttava ruutu, mutta älä anna sen hämätä: Tähän ruutuun luodaan kytkentäkaavio, jonka kytkennät QJackCtl sitten tekee automaattisesti puolestasi, kun asianmukaiset inputit ja outputit ilmestyvät näkyviin.

Oikealla puolella olevaan sarakkeeseen luodaan output socketit. Klikkaa "Add" ja eteen aukeaa uusi ikkuna. Ylimpänä on socketin nimi. Tähän voi laittaa mitä vain, mikä kuvaa sockettia. Client-kohtaan valitaan haluttu client eli ohjelma. Sen jälkeen seuraavasta valikosta valitaan haluttu ulostulo ja klikataan Add Plug. Stereoäänen tapauksessa on syytä lisätä vielä toinenkin plugi, jonka jälkeen klikataan OK. Sama toistetaan toisessa sarakkeessa.

Samalla lailla luodaan myös midi-kytkentä – hieman hämäävästi samoihin sarakkeisiin. Isompien setuppien kanssa kannattaa olla tarkkana, ja luoda vaikkapa tyhjät Socketit, joille antaa nimet "Audio" ja "Midi". Oheisessa kuvassa on tehty juuri näin. Tämän jälkeen toimitaan samoin kuin Connections -ikkunassa: valitaan haluttu output ja input, ja klikataan "Connect" -nappulaa. Vaihtoehtoisesti voit vetää hiirellä piuhan inputista toiseen – kuten Connections -ikkunassakin.

Nyt Patchbay on valmis. Se kannattaa tallentaa yläreunan save-nappulalla johonkin järkevään kansioon. Mikäli patchbay-määritelmiä alkaa kertymään, niille voi olla järkevää tehdä kokonaan oma kansionsa. Tiedostolle kannattaa antaa järkevä nimi, koska se ilmestyy näkyviin myös preset-valikkoon. Viimeiseksi klikataan Activate-nappi pohjaan, ja kaiken pitäisi olla valmista!

Patchbay myös osaa tunnistaa automaattisesti sellaiset liitännät, joiden perässä on vaihtuva numero. Tästä on hyötyä esimerkiksi Portaudiota käyttävien ohjelmien kanssa, sillä oletuksena niiden luomat liitännät ovat joka käynnistyskerralla hieman eri nimisiä. Asetuksista voi Options-välilehdeltä ottaa käyttöön Patchbay Persistense-toiminnon, joka lataa määritellyn patchbayn automaattisesti aina käynnistyksen yhteydessä.

Katso myös