Skip to content
Hudson Santos edited this page Nov 9, 2021 · 96 revisions
Clone this wiki locally

Welcome to the JACK Audio Connection Kit wiki!

Notice: this wiki is undergoing renovation, not all content is currently up-to-date. Drop into IRC for the latest.

jackd is the JACK audio server daemon that allows JACK client programs to process and route audio and MIDI data in a synchronous, sample-accurate and low-latency manner. Originally written for the GNU/Linux operating system, it also runs on various Unix platforms, Mac OS X and MS Windows.

JACK can connect a number of different client applications to an audio device and also to each other. Most clients are external, running in their own processes as normal applications. JACK also supports internal clients, which run within the jackd process using a loadable "plugin" interface.

JACK differs from other audio servers in being designed from the ground up for professional audio work. It focuses on two key areas: synchronous execution of all clients, and low latency operation.

User Resources

Manuals

Guides and walk-throughs

Configuration

Control

Multiple soundcards

PulseAudio integration

Bridges

Session management

Both LASH/LADISH and JACK Session are deprecated, and the use of NSM and an NSM GUI like Agordejo is recommended.

NSM clients usually come with jackpatch, which automatically saves connections but isn't the most robust of software.

Other suggestions can be found at: https://wiki.linuxaudio.org/wiki/session_management

Connection management

Terminal

Graph

Connection saving

Tools

JACK2 package commands:

jack_alias
jack_bufsize
jack_control
jack_cpu
jack_cpu_load
jack_disconnect
jack_evmon
jack_freewheel
jack_iodelay
jack_latent_client
jack_load
jack_metro
jack_midi_dump
jack_midi_latency_test
jack_midiseq
jack_midisine
jack_monitor_client
jack_multiple_metro
jack_net_master
jack_net_slave
jack_netsource
jack_rec
jack_samplerate
jack_server_control
jack_session_notify
jack_showtime
jack_simple_client
jack_simple_session_client
jack_test
jack_thru
jack_transport
jack_unload
jack_wait
jack_zombie

JACK Transport / JACK Timebase

jack_transport> ?
  activate	  Call jack_activate().
  exit		  Exit transport program.
  deactivate  Call jack_deactivate().
  help		  Display help text [<command>].
  locate	  Locate to frame <position>.
  master	  Become timebase master [<conditionally>].
  play		  Start transport rolling.
  quit		  Synonym for 'exit'.
  release	  Release timebase.
  stop		  Stop transport.
  tempo       Set beat tempo <beats_per_min>.
  timeout	  Set sync timeout in <seconds>.
  ?  		  Synonym for `help'.

echo play | jack_transport
  # pass a command to execute. tempo change doesn't work via this method.

JACK Clients

Playback

Recording

Editing / DAW

  • Audacity - multi-track recording and editing
  • Ardour - the digital audio workstation
  • Zrythm - highly automated and intuitive digital audio workstation
  • GNUsound - multitrack sound editor for GNOME 1 and 2
  • Marlin - sample editor for Gnome 2, uses GStreamer
  • ReZound - graphical audio file editor
  • Snd - a sound editor

Mixer

Host / FX

  • Carla - fully-featured modular audio plugin host
  • Ingen - realtime modular audio system based on LV2
  • JACK Rack - an effects "rack" for the JACK
  • See also the LV2 wiki for other JACK LV2 hosts

Framework

Samples

Looping

Synthesis

Metronome

Timeline

DJing

Tuners

Effects

Convolution

Visualisation

Beamforming

Radio

CV

MIDI

Arpeggiation

Keyboard

Sequencing

Looping

Hardware configuration

Bridge

OSC

Networked

gst-launch-1.0 jackaudiosrc ! audioconvert ! audioresample ! opusenc ! rtpopuspay ! udpsink host=localhost port=5004

Then Janus etc. can convert that RTP stream to WebRTC.

Websockets

Radio

Hardware

Installation and packaging

Developer resources

Bindings

Metadata

jack_property - list, set and delete any metadata associated with the ports and clients of a JACK server

Frameworks

Testing

Video

  • XJADEO - The X Jack Video Monitor - a software video player that displays a video-clip in sync with an external time source (MTC, LTC, JACK-transport). Xjadeo is useful in soundtrack composition, video monitoring or any task that requires to synchronizing movie frames with external events.

WINE

Haiku

Proposed features

Historical

  • [https://lac.linuxaudio.org/2009/cdm/Thursday/01_Letz/JACK2_LAC_2009_slides.pdf What's new in JACK2 - LAC 2009]

See also