jackd
Provide low-latency audio connection server
SYNOPSIS
jackd [options]
PARAMETERS
-d
Select the audio driver to use. Common drivers include 'alsa', 'portaudio', and 'dummy' for testing.
-r
Set the sample rate in Hz (e.g., 48000).
-p
Set the period size in frames (e.g., 1024). The period size defines the number of audio samples processed in each processing cycle.
-n
Set the number of periods per buffer (e.g., 2). Increasing the number of periods can improve reliability but increases latency.
-m
Enable MIDI support.
-X
Specify the real-time scheduling backend (e.g., 'fifo', 'posix').
-s
Suppress error messages.
-v
Increase verbosity. Useful for debugging.
-h
Display help.
DESCRIPTION
JACK (JACK Audio Connection Kit) is a low-latency audio server for professional audio applications on Linux and other Unix-like operating systems. The jackd
command is the main server daemon. It manages audio and MIDI connections between different applications.
JACK allows audio software to interact in real-time, making it suitable for tasks like recording, mixing, and live performance. It offers low latency, ensuring that the delay between input and output is minimal, crucial for real-time processing. jackd
is highly configurable, allowing users to tailor its performance to their specific hardware and needs. JACK also supports inter-application audio routing, enabling flexible workflows where audio can be easily passed between different programs.
CAVEATS
JACK requires proper configuration of audio hardware and real-time privileges. Incorrect settings can lead to performance issues or system instability. Real-time privileges may need to be configured via `/etc/security/limits.conf` or a similar mechanism.
DRIVER-SPECIFIC OPTIONS
Many JACK drivers (e.g., ALSA) have their own specific options that can be passed to jackd
. These options are typically documented in the driver's own documentation or via jackd -h
. For instance, with ALSA, options such as the device name or buffer size can be specified.
JACK CONTROL
JACK can be controlled and configured using graphical interfaces like QjackCtl
or command-line tools like jack_control
, providing a more user-friendly way to manage JACK sessions, connections, and parameters.
JACK AND REAL-TIME PRIORITY
To achieve optimal low-latency performance, jackd
requires real-time priority. This may necessitate configuring system settings to grant the user the appropriate permissions. Insufficient real-time priority can lead to XRUNs (buffer overruns/underruns), which cause audio glitches.
HISTORY
JACK was originally developed by Paul Davis to provide a robust and flexible audio server for professional audio applications on Linux. It has since become a standard component of many digital audio workstations (DAWs) and other audio software. JACK's design prioritizes low latency and precise synchronization, making it well-suited for real-time audio processing. The current stable release is commonly refered to as jack2 (also known as jackdmp), which aims to be a multi-processor version of the original jackd (now also known as jackd1).
SEE ALSO
jack_control(1), qjackctl