Table of Contents
Latency and xruns
Compensating for loopback latency
Although latency mostly refers to buffer size which delays immediate feedback of input, there is additional latency due to the basic processing of your audio interface. There is no way to reduce this “loopback” latency, but its existence will affect the timing of recorded overdubs. To address this, you can tell programs what the delay amount is so that compensation can be made, i.e. the recorded audio will be adjusted in time to account for this delay. Software alone cannot discover what the loopback latency is, so the following procedure is needed to determine the amount of compensation required:
You will need a loopback cable capable of connecting your audio device's physical input to its physical output.
1 - Connect your (mic) input to your (headphone) output with the loopback cable
2 - Start JACK with known good settings
3 - Open a terminal and run jack_iodelay. It will print 'Signal below threshold…' until we make the JACK connections
4 - Use Catia or Claudia to connect the system capture_1 to 'jack_delay in' and connect 'jack_delay out' to the system playback_1 port
5 - With both physical and JACK connections made, jack_iodelay should print output such as 'use X for the backend arguments -I and -O'
6 - In the terminal, use ctrl-C to stop jack_iodelay
7 - In Cadence or Claudia, open the JACK settings and enter the value X from jack_iodelay for both the the input and output extra latency values
8 - Engage the new JACK settings with the “Switch Master” button. If you re-run the above test there should be no additional loopback latency.
This information is used to tell programs how to adjust recordings so that the recorded result will line up precisely with how the original performance aligned with the previous tracks.
Minimizing xruns
Disable wireless internet when recording
Wifi adapters have been known to cause random xruns. Some laptops have an external hardware switch to disable wifi. Otherwise, uncheck “enable wireless” in the KDE system tray's network control. If primarily using ethernet, consider disabling wifi (aka 802.11 a/b/g/n) in the BIOS or UEFI menu.
Close browsers when recording
Many pop-up ads and popular web sites make use of Adobe Flash. If you have any browser tabs open, it only takes one to be using a little bit of Flash to cause a big loss of CPU, lower latency and more xruns.
Check for IRQ conflicts
Open a terminal and run:
cat /proc/interrupts
Ensure that your audio driver is not sharing an IRQ with another device. Fixing this can be as simple as changing which port a USB audio device is using, but otherwise see this guide to fixing IRQ conflicts.