Cadence Introduction

Cadence controls and monitors various Linux sound systems as well as audio-related system settings. Below is a screenshot of its main window and following that is an explanation of what it all means and how you use it.

System Information

This tells you the operating system, kernel version, and whether you are running a 32 or 64 bit OS. The kernel could be said to be the engine of Linux and KXStudio includes a low-latency kernel which has been optimized to get the best performance from JACK.

System Status

This lets you select the CPU Scaling Governor, a property of the Linux kernel which controls the CPU speed. In 'performance' mode, your CPU will run at full speed all the time. This mode consumes the most power but ensures the best performance and minimum CPU-related sound issues. In many cases (especially on battery powered devices) using 'ondemand' makes more sense as this ups the CPU speed when its needed but clocks it back down when the computer is idle which helps save power. Note: to enable this option in KXStudio 12.04.1, you must first install “indicator-cpufreq” but this is included by default in 12.04.3.

System Checks

Current kernel is a verification that you're running a realtime or lowlatency kernel. This check will be ticked already if you installed from the KXStudio ISO as it includes a low latency kernel. The other check verifies that your user is included in the audio group. Being a member of the audio group is required for your user to run JACK in realtime mode for optimal performance and is also required to access FireWire devices.

The user created during installation of KXStudio 12.04.3 is automatically added into the audio and video groups but newly created users will not be part of these groups. You can add a user to the audio group by running:

sudo adduser <username> audio

Replace <username> with a KXStudio user name when you run that command in a terminal. You will then need to log out and back in or reboot before the user will be recognised as being in the audio group. Alternately, you can manage users and groups using the graphical kuser tool which is included with 12.04.3.

JACK Status

Server Status tells you if the JACK server is running or not. You cannot run any JACK-dependant software unless the JACK server is started beforehand.

Realtime tells you if JACK is running with realtime scheduling or not. Realtime scheduling allows JACK to take priority over other programs being run and hence improves performance of JACK applications.

DSP Load is the current CPU load estimated by JACK. If it gets too high you may experience performance issues.

Xruns For JACK to operate smoothly and without drop-outs it requires that its buffers (the memory used to transport audio) provide a continuous stream of data. Whenever this data fails to arrive in time to satisfy the requests of a JACK app it causes an xrun which is often accompanied by a disruption to the sound output. The key to success with JACK is to eliminate (or at least minimize) xruns.

Buffer size is measured in frames per second. It determines the latency between the audio being received by JACK and being sent to the output device. The smaller the buffer the lower the latency and, as a result, the higher the accuracy when monitoring audio for multitrack recording. 1024 is the default and is usually a safe value but smaller buffer sizes have less latency, i.e. less delay between the input and output. Try different settings to see how low you can go when recording without getting xruns. The functioning of lower size buffers depends on the power of your CPU and the specifics of your audio device. The lowest buffer size most decent quality audio devices can handle well is 64.

Sample rate is the frequency JACK will run and record audio at. 44.1kHz is the CD audio standard, but 48kHz is more common to go with video or for other typical audio. Higher sample rates allow for higher quality but require more disk space. Even for professional purposes, 48kHz is usually fine as the default. Additionally, 48 and 96Khz allow for lower latency than using 44.1 or 88.2 due to the way it is calculated.

Latency is the JACK capture latency which measures the time taken to fill the audio capture buffer. This value is determined by the buffer, period size and samplerate settings used to start JACK.

JACK Controls

Start Starts the JACK server, if its not running. This is the recommended way to start JACK.

Stop stops the JACK server. It is wise to save your work in any open JACK apps before stopping JACK, just to be safe.

Force restart should 'Start' fail to start JACK, it is worth trying 'Force restart' but you may lose the last changes made to the JACK settings.

Configure opens the JACK settings window, which is covered in the next chapter.

Switch Master tells JACK to apply any changes made in the JACK settings window.

Auto-start JACK or LADISH at login lets you pick if you'd like to start JACK or a LADISH studio at boot. KXStudio includes an app called Claudia which lets you create virtual 'LADISH' studios of interlinked audio applications. After creating such a studio within Claudia, you can use Cadence to configure your machine boot into a saved LADISH studio configuration. Starting a LADISH studio at boot also starts JACK using the settings defined within the studio.

JACK Bridges

Cadence's main window integrates the control of a few 'JACK bridges' -services which enable alternate Linux sound systems to run seemlessly atop JACK.

The ALSA audio bridge enables one or more ALSA audio applications to access your JACK device when it is started. Most everybody will want to ensure this is kept running alongside JACK as it enables audio for non-JACK apps such as Firefox. If you have chosen for JACK to start at boot then the ALSA audio bridge also gets started automatically.

The ALSA MIDI bridge needs to be running if you want to use any MIDI hardware.

PulseAudio is not included by default with KXStudio and the PulseAudio bridge will not function until it has been installed. Most applications which use PA can use ALSA or JACK instead so there is often no need for PA and its bridge.

wiki/cadence_introduction.txt · Last modified: 2013/10/22 15:48 by danboid