In order to get the most out of JACK, you will want the lowest possible latency. It can be a daunting task at first, because there are a lot of settings and if you change them a certain way, you can cause the server to not start up properly.
Firstly, you will want Real-Time capabilities; either install the ubuntustudio-audio package, or read through the UbuntuStudioPreparation page for help on getting your studio set up properly.
Now, open up QjackCtl, and change the settings in here. Generally, to get the lowest latency, you're mostly concerned with the Frames/Period, Sample Rate, and Periods/Buffer settings.
note: its a good idea to put "jackd -S" instead of just "jackd" for the server path. Running JACK in synchronous mode creates less Xruns in JACK2, which is now the default.
Creative PCI card
For a Creative Audigy2 ZS PCI card, these settings seem to work well on my system (actual settings may vary for your card/system):
As you can see, the latency is as low as just under 3ms. Not bad! You can even make it less if you lower the Frames/Period from 64 to 32, 1.33ms. A good, acceptable setting is 128, with a latency of 5.33ms.
You must save the settings and then try starting the JACK server before you will know if the settings work or not. Your ultimate goal is to reduce the number of Xruns you get to 0, while still having an acceptable latency. Many people have no issues with 10ms latencies, or even higher. Your ability to get low latencies while still avoiding Xruns will depend on several factors: your overall system speed, your particular sound card and its abilities, and your kernel configuration. If you aren't sure what Xruns are all about, re-read the UbuntuStudioPreparation page.
Some sound cards have issues with sampling rates of 44.1KHz, and some sound cards have issues with 48KHz sampling rates. You probably will want to try using 48KHz first, and if you can't get settings that work, drop it down to 44.1KHz and try that.
Configuration here is a bit trickier. For 8.04, the library used is called freebob. In 9.04 and 9.10, the ffado library, the successor of the freebob project, is used. See http://www.ffado.org/?q=node/130 for a disambiguation.
See FireWire Audio for more detailed setup instructions.
As seen in the Hardware section (https://help.ubuntu.com/community/UbuntuStudio/HardwareOptimization), first check that your card is supported. Then you'll have to play with the configuration options.
Here is how I configure my Edirol FA-66:
- be sure to select the "freebob" Driver if using 8.04 or the "firewire" (ffado) driver for 9.04 or 9.10.
- be sure to select the right interface (by trial and error). In my case, my card is called hw:1
- check the "Realtime" box, of course
- play with the settings to reduce latency while keeping a stable setup
M-Audio Transit USB Sound card
* See MaudioTransitUSB
Auto-starting your setup
Once you get the latency settings right how you want them, we recommend that you have QjackCtl automatically start the JACK server when you launch it. Check off the boxes to make your config look like this:
Be aware though automatically starting JACK can cause the daemon (jackd) and/or the GUI (qjackctl) to crash/freeze if device settings change between two sessions (for example, a USB soundcard can get different device numbers across sessions). If so, set the appropriate entry (autolaunch) to 0 in the ~/.jackdrc file, qjackctl should work again.