Table of Contents
JACK Configuration
Most of JACK's important configuration options are set within the Driver tab of Cadence's JACK Settings window which you can access via Configure under Cadence's main window, as shown below:
JACK Driver
The driver column to the left selects which JACK driver you wish to configure and use next time you start JACK with Cadence. Those using FireWire devices should use the FireWire driver but otherwise you should select ALSA for your JACK driver.
The top 3 drop-down options within Cadence's ALSA driver configuration are the most important as these let you select which device(s) to use for physical audio IO. If 'Duplex Mode' is enabled then you can assign different ALSA devices to handle Input and Output individually. This could be useful, for example, if you need a mic input but wanted to have your sound output via a USB audio device that doesn't have a mic input. In this case you could use your computers onboard ALSA device, which likely does have a mic input, as a separate input device. If Duplex Mode is not selected then the top drop-down is used to select the ALSA device to use for both audio input and output.
JACK Properties
Sample Rate, Buffer Size and Periods/Buffer determine the base JACK latency. Their default values of 48000, 1024 and 2 respectively should work with most devices but a latency over 10ms is not usually considered good enough to be called realtime. Anyone interested in multitrack recording may wish to experiment with these settings to achieve the lowest, xrun-free latency their hardware will allow. It is possible to achieve 1ms latency with good hardware and the correct configuration.
Sample Rate Due to the way latency is calculated, it is recommended you use 48000 or 96000Hz for the lowest latency.
Buffer A smaller buffer gives lower latency. The lowest size most devices can handle is 64. Lower quality hardware may not handle any lower than 512.
Periods/Buffer The larger the period size, the higher the latency but the less chance of xruns. Experiment with using 2 or 3 periods/buffer.
Extra Latency To achieve the highest level of precision in overdubbing you should provide the extra latency values (in frames) which can be obtained with jack_iodelay. This process is covered in the Latency chapter.
Checking for errors with cadence-logs
If JACK fails to start you can find out whats causing the problem by checking the Cadence logs. You can access the Cadence logs by launching it from under the 'Tools' tab of the main Cadence window or you can run cadence-logs from a terminal.
JACK and FireWire
kmix and alsamixer do not support FFADO. To adjust levels, enable phantom power and change other options for FireWire devices use ffado-mixer after you have started JACK with the FireWire driver. If you have trouble, running ffado-diag in a terminal may tell you more than Cadence's JACK error logs.
rtirq configuration
This is an optional step that can help reduce latency. rtirq is a script that detects audio devices and prioritises them with the kernel according to a list specified in its configuration file. KXStudio's default rtirq configuration looks like:
RTIRQ_NAME_LIST=“firewire snd usb i8042”
Here we see FireWire devices have priority over ALSA and USB devices because its mentioned first. If you are mainly running JACK on a USB device you may wish to make usb the first item in the list by editing that line in the rtirq config file with a command such as:
kdesudo kate /etc/default/rtirq