Home  

Random  

Nearby  



Log in  



Settings  



Donate  



About Wikipedia  

Disclaimers  



Wikipedia





JACK Audio Connection Kit





Article  

Talk  



Language  

Watch  

Edit  





JACK Audio Connection Kit (orJACK; a recursive acronym) is a professional sound server API and pair of daemon implementations to provide real-time, low-latency connections for both audio and MIDI data between applications. JACK was developed by a community of open-source developers led by Paul Davis (who won an Open Source Award in 2004 for this work)[3] and has been a key piece of infrastructure and the de facto standard for professional audio software on Linux since its inception in 2002. The server is free software, licensed under GPL-2.0-or-later, while the library is licensed under LGPL-2.1-or-later.[2]

JACK Audio Connection Kit
Original author(s)Paul Davis, Stéphane Letz
Developer(s)JACK team
Stable release
JACK1:v0.126.0 / January 15, 2022; 2 years ago (2022-01-15)
JACK2:v1.9.22 / February 3, 2023; 17 months ago (2023-02-03)
Repositorygithub.com/jackaudio/jack2
Written inC,[1] C++
Operating systemBSD, Linux, macOS, Solaris, Windows, iOS
TypeSound server
LicenseServer: GPL-2.0-or-later
Library: LGPL-2.1-or-later[2]
Websitejackaudio.org Edit this at Wikidata

Implementations

edit

The JACK API is standardized by consensus, and two compatible implementations exist: jack1, which is implemented in plain C and has been in maintenance mode for a while, and jack2 (originally jackdmp), a re-implementation in C++ originally led by Stéphane Letz, which introduced multi-processor scalability and support for operating systems other than Linux.[4]

JACK can be used with ALSA, PortAudio, CoreAudio, FFADO and OSS as hardware back-ends. Additionally, a dummy driver (useful if no sound output is desired, e.g. for offline rendering) and an Audio-over-UDP driver exist. One or both implementations can run on Linux, macOS, Solaris, Windows, iOS, FreeBSD, OpenBSD and NetBSD.

The JACK API is also implemented by PipeWire for backwards compatibility as a complete drop-in replacement provider for JACK clients, mapping JACK API calls to equivalent PipeWire calls.[5] If used as a replacement for ALSA and PulseAudio as well, it can unify the different sound servers and APIs that might be typically found on a machine, and allow better integration between different software. PipeWire also claims to add a number of features and fix a number of limitations compared to JACK.[6] The use of PipeWire as the default implementation of JACK is the default on Fedora 34 and newer.[7]

Low-latency scheduling

edit
 
Like PulseAudio, JACK daemon is an "audio daemon", i.e. it does mixing of audio from applications via software. For this it assumes to have exclusive access to the kernel's audio sub-system.

The scheduling requirements of JACK to achieve sufficiently low latencies were one of the driving forces behind the real-time optimization effort for the Linux kernel 2.6 series,[8][9] whose initial latency performance had been disappointing compared to the older 2.4 series.[10] Real-time tuning work culminated in numerous scheduling improvements to the mainline kernel and the creation of an -rt branch for more intrusive optimizations in the release 2.6.24, and later the CONFIG_PREEMPT_RT patch.[11]

Applications with JACK support

edit

See also

edit

References

edit
  1. ^ "JACK". Analysis Summary. Ohloh. Retrieved 2012-01-08.
  • ^ a b "JACK Audio Connection Kit - License". Archived from the original on 2021-05-03. Retrieved 2021-06-08.
  • ^ "Open Source Awards 2004: Paul Davis for JACK". techrepublic.com.com. Retrieved 24 May 2016.
  • ^ "What's new in JACK2? - Linux Audio Conference 2009 paper by primary JACK2 author Stephane Letz". linuxaudio.org. Retrieved 17 February 2010.
  • ^ "JACK - Wiki - PipeWire/pipewire". PipeWire on GitLab. Retrieved 11 February 2021.
  • ^ "FAQ - Wiki - PipeWire/pipewire". PipeWire on GitLab. Retrieved 11 February 2021.
  • ^ Larabel, Michael. "Fedora 34 Gets Sign-Off For Trying To Default To PipeWire For Audio Needs". Phoronix. Phoronix Media. Retrieved 11 February 2021.
  • ^ "Original announcement of a voluntary pre-emption patch for the Linux 2.6 kernel series by Ingo Molnar, 2004". lkml.org. Retrieved 17 February 2010.
  • ^ "Finding Origins of Latencies Using Ftrace, paper by Steven Rostedt from the Real-time Workshop 2009" (PDF). Retrieved 17 February 2010.
  • ^ "Real-time audio vs. 2.6, Linux Audio Conference 2006 paper by Lee Revell" (PDF). Retrieved 17 February 2010.
  • ^ "Real-Time Linux Wiki". Kernel.org (The Linux Kernel Archives). Retrieved 8 June 2010.
  • edit

    Retrieved from "https://en.wikipedia.org/w/index.php?title=JACK_Audio_Connection_Kit&oldid=1186500871"
     



    Last edited on 23 November 2023, at 15:46  





    Languages

     


    العربية
    Čeština
    Deutsch
    Español
    Français

    Italiano
    עברית
    Latina
    Nederlands

    Norsk nynorsk
    Polski
    Português
    Русский
    Suomi
    Svenska
    Türkçe
    Українська

     

    Wikipedia


    This page was last edited on 23 November 2023, at 15:46 (UTC).

    Content is available under CC BY-SA 4.0 unless otherwise noted.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Terms of Use

    Desktop