个人工具

UbuntuHelp:HowToJACKConfiguration

来自Ubuntu中文

Wikibot讨论 | 贡献2010年5月19日 (三) 22:43的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航, 搜索

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 Qjack``Ctl, 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.

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): HowToJACKConfiguration?action=AttachFile&do=get&target=Audigy2ZSJACKSettings.png 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 Studio Preparation 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.

Firewire cards

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. There, the freebob "Using" (http://freebob.sourceforge.net/index.php/Using) and "FAQ" (http://freebob.sourceforge.net/index.php/FAQ) pages are your best friends, along with a bit of Googling. 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

HowToJACKConfiguration?action=AttachFile&do=get&target=jack-firewire-edirol-fa66.png

M-Audio Transit USB Sound card

Auto-starting your setup

Once you get the latency settings right how you want them, we recommend that you have Qjack``Ctl automatically start the JACK server when you launch it. Check off the boxes to make your config look like this: HowToJACKConfiguration?action=AttachFile&do=get&target=QjackCtlMiscSettings.png 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.