Linux E X P R E S

Facebook

QJackCtl: Nastavení

jack.png

Realtimový (nízkolatenční) zvukový server JACK a jeho grafická uživatelská nadstavba QJackCtl slouží převážně muzikantům a studiovým technikům k propojení vstupů a výstupů zvukové karty a jednotlivých programů sloužících ke zpracování zvuku, a to v reálném čase, tedy s velmi nízkou latencí (zpožděním) v řádu milisekund. Dnes se zaměřím na nastavení JACKu pomocí jeho grafického rozhraní QJackCtl.


Základním předpokladem je, že máte funkční zvukovou kartu. Dalším předpokladem je, že jste nainstalovali a zprovoznili realtimový zvukový server JACK, což bylo náplní úvodního článku tohoto seriálu.

Hlavní okno aplikace QJackCtl Hlavní okno aplikace QJackCtl

Na stránkách projektu o nastavení nic nepíší, takže si to probereme zde. Podotýkám, že dnes je již možné, že ve vaší distribuci bude program QJackCtl téměř kompletně v češtině. Uvádím tedy české popisky v závorkách za anglickými výrazy. Pod tlačítkem Setup (Nastavení) se schovává okno všemožných nastavení programu na čtyřech kartách.

Karta Settings (Nastavení)

QJackCtl | Setup | Settings QJackCtl | Setup | Settings

Zde se nacházejí dvě velmi důležité věci. Určení vstupních a výstupních zařízení a nastavení latence (zpoždění). Ale než se pustíte do nastavování vstupních a výstupních zařízení, zkontrolujte si, že máte zaškrtnutou volbu Realtime (Skutečný čas), aby JACK opravdu pracoval v režimu reálného času. Vstupní zařízení vyberte pomocí tlačítka se symbolem > u položky Input Device (Vstupní zařízení). V mém případě se pro zvukovou kartu Creative SoundBlaster Audigy ES zobrazí následující výběr.

Input Device Input Device

Zvolíte-li jakoukoli jinou volbu kromě Multichannel Capture/PT Playback, zobrazí se v okně propojení, které se vyvolá v hlavním okně programu QJackCtl pomocí tlačítka Connect (Spojit), pouze dva vstupní kanály, tedy pouze mikrofonní vstup. Naopak při výběru zmíněné volby se kanálů zobrazí šestnáct. O jednotlivých kanálech bude řeč hned v příštím článku.

Podobně vyberete i výstupní zařízení u položky Output Device. V mém případě se opět zobrazí následující výběr, který je trochu odlišný od předchozího.

Output Device Output Device

Zde můžete ponechat volbu (default), nebo vyberte jen obecně zařízení hw:0. V tomto případě se výstupní kanály zobrazí dva (levý a pravý). V případě, že budete tvořit prostorový (vícekanálový) zvuk, můžete vybrat volbu Multichannel Playback a kanálů budete mít k dispozici opět šestnáct.

Co se týká latence (zpoždění), ta je vázána na volbu Frames/Period (Snímky/Údobí (perioda)). Čím menší číslo, tím i menší latence. Já osobně používám hodnotu 128. V tomto vyváženém stavu je latence rozumně nízká a systém přitom není nadměrně zatěžován tak, že by mohl začít vynechávat, ale má dostatečnou rezervu. Latenci nejlépe posoudíte při realtimovém efektování např. pomocí programu JACK Rack, o kterém bude řeč v jednom z dalších dílů tohoto seriálu. Při velmi nízké latenci může docházet k výpadkům zvuku (přerušení), které se projeví praskáním ve zvuku, naopak při velké latenci je zpoždění mezi zahráním tónu a návratem zefektovaného signálu tak velké, že vás to rozhodí z rytmu, zvláště při staccatovém hraní. Pomocí volby Frames/Period lze nastavit latenci na hodnoty uvedené v následující tabulce. V tabulce je uvedeno i zatížení DSP (Digital Signal Procesor) a dále použitelnost dané volby. Nezapomeňte prosím, že používám kartu Creative SoundBlaster Audigy ES. Pro vaši zvukovou kartu může být popisovaná použitelnost jiná, a to jak lepší, tak i třeba horší.

Latenci samozřejmě ovlivňuje i hodnota Sample Rate (vzorkovací frekvence). Čím tato hodnota bude nižší, tím úměrně bude latence vyšší. Např. při hodnotě 128 snímků za cyklus a vzorkovací frekvenci 48 kHz bude latence 5,33 ms, ale při stejné hodnotě 128 snímků za cyklus, ale vzorkovací frekvenci 44,1 kHz, bude už latence 5,8 ms. S ohledem na potřebnou kvalitu zvuku byste určitě pod hodnotu 44,1 kHz neměli jít (což je vlastně kvalita zvukového CD). Obecně platná zásada je taková, že samplovací frekvence by měla být minimálně dvojnásobkem frekvence nejvyššího zaznamenávaného tónu. Latenci ovlivňuje ještě jeden parametr, a to je volba Periods/Buffer (Údobí/Vyrovnávací paměť). Ovšem tu doporučuji zachovat na hodnotě 2, při vyšších hodnotách se vám nemusí povést JACK vůbec nastartovat.

Uvedená tabulka platí pro výše zmíněnou zvukovou kartu při vzorkovací frekvenci 48 kHz. Zatížení DSP bylo monitorováno při plném zatížení, tedy při efektování v reálném čase pomocí pěti současně zapnutých LADSPA pluginů. LADSPA pluginy (Linux Audio Developer's Simple Plugin API) jsou efekty svým založením podobné pluginům VST (Virtual Studio Technology), které možná znáte z Windows nebo Mac OS. Použitelnost byla dána jednak pocitem ze hry na kytaru v závislosti na době odezvy zefektovaného zvuku po zahrání tónu, případně na zmiňovaném praskání ve zvuku. Známkování použitelnosti je jako ve škole, s tím, že reálně použitelné je hodnocení 1 a 2.

Tabulka hodnocení použitelnosti nastavené latence (hodnocení jako ve škole)

Frames/Period

DSP Load

Latency

Použitelnost

16

Cca 60 %

0,667 ms

5

32

38 – 43 %

1,33 ms

4

64

27 – 30 %

2,67 ms

2

128

17 – 22 %

5,33 ms

1

256

16 – 17 %

10,7 ms

3

512

14 – 15 %

21,3 ms

4

1024

13 %

42,7 ms

5

K tomu DSP Load, to není nic jiného než zatížení hlavního procesoru počítače, tedy CPU (Central Processing Unit), které nám tvoří onu DSP jednotku, protože LADSPA efekty jsou samozřejmě softwarové. Čím víc jich najednou použijete, tím samozřejmě bude i větší zatížení procesoru a může docházet k výpadkům ve zpracování zvuku, a to v případě, že procesor ve spolupráci se zvukovou kartou nebude stíhat zvuk zpracovat s nastavenou latencí. Zvuková karta a CPU jsou tak trochu spojité nádoby. I zvuková karta má procesor. Zvuková karta musí zvládat práci v reálném čase.

Pro operační systém Windows existují pro různé zvukové karty speciální ovladače ASIO (Audio Stream Input/Output), které umožňují nízkolatenční zpracování zvuku. Samotný operační systém Windows s ničím takovým nepočítá. V Linuxu „jakés takés“ realtimeové zpracování můžeme očekávat i od základního jádra (kernelu), pro spolehlivější funkci je pak samozřejmě nutno použít realtimové jádro, o kterém jsem psal v úvodním článku seriálu. Situace bude o to složitější, a pro procesor náročnější, když zvuk nebudeme jenom v reálném čase efektovat, ale zároveň nahrávat. Nahrávat můžeme dokonce do několika stop současně, a ještě si představte, že během onoho nahrávání budeme další stopy pouze přehrávat a navíc na každé přehrávané stopě může být aplikováno několik efektů současně též v reálném čase. A počítač toto všechno musí zvládat bez nějakých zpoždění nebo nedej bože dokonce výpadků, tedy reálně se zpožděními maximálně v řádu milisekund.

Už se vám z toho motá hlava? Další spojitou nádobou jsou tedy logicky i disky a jejich přenosové rychlosti, a to oběma směry současně, jak záznam, tak čtení.

Karta Display (Zobrazit)

QJackCtl | Setup | Display QJackCtl | Setup | Display

Zde je zajímavá pouze estetická volba Draw connections and patchbay lines as Bezier curves, tedy možnost nezobrazovat spojnice vstupů a výstupů jako přímé čáry, ale jako hladké (Beziérovy) křivky. Této volby můžete, ale nemusíte využít, jak vám to bude vyhovovat. O propojování vstupů a výstupů si něco povíme hned v příštím článku.

Karta Misc (Různé)

QJackCtl | Setup | Misc QJackCtl | Setup | Misc

Na ní je vhodné zatrhnout položku Start JACK audio server on application startup (Spustit zvukový server JACK okamžitě při spuštění aplikace). Od této chvíle již po spuštění aplikace QJackCtl nebudete muset zvukový server JACK spouštět tlačítkem Start (Spustit) v hlavním okně programu.

Karta Options (Volby)

Ta je pro nás v tuto chvíli nezajímavá, ale samozřejmě si ji můžete prohlédnout, a každopádně můžete experimentovat i s dalšími zde nepopisovanými volbami na ostatních záložkách.

Nakonec všechny změny potvrďte tlačítkem OK. A to je pro dnešek vše.  

Diskuze (3) Nahoru