JACK sound server and Routing Audio Tracks in Ardour

This tutorial will help you to get started with Ardour in Linux. Two topics will be discussed namely the role of JACK in Ardour and knowing the basics of audio routing.

Importance of JACK sound server

First, you need to know a few important things before you start doing recording, mixing and mastering projects with Ardour. This software utilizes JACK, an audio connection kit which is essentially a sound server that you can use to record with as much as low latency as possible. Low latency is important for professional music production and JACK is the tool to do this.

Without JACK, no dedicated resources (memory and CPU) in real time that can be utilized by Ardour. The result is that during actual multitrack recording session, your tracks will begin to slow down and experience delay/latency or lag. During installation of Ardour, you already configured JACK to operate in real time as needed. This implies that whenever Ardour is running, it connects to JACK that will dedicate a substantial amount of computer system resources for optimal operation.

Second, Ubuntu runs on PulseAudio sound server by default which is essentially the reason why you will be able play music by default. When you start Ardour and JACK; the PulseAudio will shutdown itself. Unless with some configuration; you will not be able to listen to your Linux default music player and other players unless JACK is properly configured to accept PulseAudio streams.

Do not confuse with the differences between ALSA, PulseAudio and JACK or even FFADO. They are all different. ALSA is a generic sound driver that communicates directly with your sound device/hardware (except for Firewire audio interface which are handled by FFADO). PulseAudio is a sound server that interacts with a variety of software in your operating system that utilizes audio (such as Rhythmbox, your browser etc). JACK is also a sound server similar to PulseAudio only that it provides “low latency” operation suitable for music production.

Start and Turning off JACK

Opening an Ardour session will start the JACK server. Or you can type “qjackctl” (without quotes) in terminal and click “Start”. The objective of starting JACK is to have no errors and almost negligible XRUNS. Encountering serious error or JACK failed to start means a problem with your audio device, JACK installation etc. Read step 4C of this tutorial for details about starting JACK. To lower the XRUNS or to make it stable, you need to properly assign some settings on your JACK. This can be done by clicking the SETUP. For example, below is a stable JACK settings for a Firewire audio interface (Saffire Pro40) playback (not recording):

Jack setting

Jack setting

JACK optimal settings might differ for every audio interface and system, so you need to tweak a lot. You can read step3 of this tutorial for more tips on configuring JACK for more stable operation.

To stop JACK server, simply click the stop button. Below is the screen shot of the JACK GUI when it is turned off:

Jack audio server connection kit

Jack audio server connection kit

When JACK is off, you can resume using PulseAudio sound server for normal audio applications.