JACK Audio Connection Kit

Daemon bzw. eine Software-Schnittstelle für Audio-Computerprogramme unter Unix-ähnlichen Systemen

JACK Audio Connection Kit oder JACK ist ein Daemon bzw. eine Software-Schnittstelle für Audio-Computerprogramme unter Unix-ähnlichen Systemen. Der Name ist ein rekursives Akronym.

JACK Audio Connection Kit

Logo
Basisdaten

Entwickler Paul Davis, Stéphane Letz
Aktuelle Version 1.9.19[1]
(15. Juli 2021)
Betriebssystem Linux, Unix, Microsoft Windows, macOS, iOS
Programmiersprache C++, C
Kategorie Soundserver
Lizenz LGPL (nur die Bibliothek) und GPL-2
deutschsprachig nein
jackaudio.org
Screenshot des Steuerprogramms qjackctl zum Verwalten der Audio-Routen

Aufgabe und Funktionsweise Bearbeiten

Der JACK-Daemon verwaltet die Ein- und Ausgänge von Audioprogrammen (zum Beispiel Sequenzer, Software-Synthesizer) und Audio-Hardware (zum Beispiel Mikrofoneingang, Audioausgang zum Lautsprecher) und routet die Audiosignale zwischen ihnen. So können die einzelnen Elemente des computergestützten Tonstudios wie in einem herkömmlichen Studio intuitiv miteinander verbunden werden.

Der JACK-Server synchronisiert die Clients, indem er zu festen Zeiten Callback-Funktionen aufruft, die einen Block von Audiodaten lesen oder schreiben.

Bei Programmen, die nicht speziell für den Einsatz mit JACK programmiert sind, ist es durch virtuelle Adapter auch möglich, Software für ALSA oder OSS unter Jack zu verwenden. So können inkompatible oder auch alte Programme mit JACK benutzt werden.

Eine besondere Eigenschaft von JACK ist die niedrige Latenzzeit. Um diese vollständig auszuschöpfen, ist ein moderner Rechner und evtl. ein modifizierter Linux-Kernel nötig, der über Ingo Molnárs und Thomas Gleixners Echtzeit-Patch verfügt.

Mit Qjackctl[2] und Patchage[3] gibt es benutzerfreundliche Qt/GTK-basierte Oberflächen zum Einrichten und Handhaben von JACK. Das Programm verwaltet zusätzlich noch das MIDI-Routing unter ALSA.

JACK funktioniert mit ALSA, PortAudio, FFADO/FreeBob und OSS als Backend und ist für alle POSIX-konformen Betriebssysteme verfügbar, wie GNU/Linux, macOS und *BSD. Die Jack Library ist unter der LGPL frei erhältlich, der Rest steht unter der GPL.

Neben dem klassischen Jack1 setzt sich seit 2010 immer mehr die Variante Jack2/jackdmp durch. Jack2 unterstützt zur Laufzeit auch jedes für Jack1 gebaute Programm, ist aber besonders für moderne Multiprozessor-Computer optimiert.[1]

JACK-kompatible Programme Bearbeiten

  • qjackctl,[2] ein Qt-basiertes Kontrollprogramm für JACK
  • Ardour, eine Digital Audio Workstation
  • SuperCollider, eine Echtzeit-Programmiersprache
  • X Multimedia System, ein Mediaplayer, mit xmms-jack-Plugin[4] für JACK
  • Rosegarden, ein Sequenzer
  • Hydrogen, ein Drumpattern-Sequenzer
  • Aeolus, ein Pfeifenorgel-Synthesizer
  • ZynAddSubFX, ein virtueller Additiver/Subtraktiver Synthesizer
  • Yoshimi, eine Variante des Synthesizers ZynAddSubFX mit verbesserter JACK-Unterstützung
  • Specimen, eine einfache Samplersoftware.
  • CALF-Jackhost, eine Software, mit der sich einige Softwaresynthesizer und Effekte im LV2-Format mit JACK betreiben lassen.
  • JACK Rack[5], ein virtuelles Effektrack
  • JAMin[6], ein Werkzeug für das Mastering von Audioaufnahmen
  • Non[7], eine Digital Audio Workstation
  • Pure Data, eine graphische datenstrom-orientierte Programmiersprache
  • energyXT2[8], ein kommerzieller Sequenzer und modulares Studio
  • Renoise, ein Rastersequenzer (Tracker)

Siehe auch Bearbeiten

Weblinks Bearbeiten

Einzelnachweise Bearbeiten

  1. a b Jack2 releases (englisch)
  2. a b Qjackctl
  3. Patchage
  4. xmms-jack-Plugin für JACK
  5. JACK Rack
  6. JAMin
  7. Non
  8. energyXT2