JACK Audio Connection Kit

JACK Beskrivelse af LogoJack.png-billedet. Beskrivelse af QjackctlConnectionsForm.png-billedet. Information
Udviklet af Paul davis
Sidste version 1.9.17 (15. januar 2021)
Depositum git: //github.com/jackaudio/jack2.git og git: //github.com/jackaudio/jack1.git
Skrevet i C ++ og C
Operativ system Unix-type
Miljø POSIX
Type Lydserver
Licens GNU GPL
Internet side jackaudio.org

JACK , rekursivt akronym af J ACK A udio C onnection K it, er software til sammenkobling af lydapplikationer til Unix-systemer som GNU / Linux og macOS og også til Windows . Det blev designet til at opnå forbindelser i realtid med lav latenstid og synkron udførelse af sine lyd- og MIDI- klienter . Bortset fra at være på tværs af platforme er det en af ​​de to vigtigste lydservere under Linux sammen med PulseAudio, som er mere kontor- og spilorienteret.PipeWire , inspireret af Gstreamer, sigter mod at forene disse to lydservere såvel som videostrømmene.

Det er udviklet af et samfund af open source-udviklere ledet af Paul Davis (som vandt en Open Source Award i 2004 for sit arbejde) og har været et centralt element i infrastrukturen og en de facto standard for professionel lydsoftware. På Linux siden dets optagelse i 2002.

Serveren er FLOSS under GNU GPL- licens , mens biblioteket er under den mere tilladte GNU LGPL- licens .

Brug

Lydserveren køres som en dæmon ved hjælp af jackd- programmet . Det kan styres ved hjælp af forskellige grafiske grænseflader, hvoraf den mest berømte er qjackctl .

JACK gør det muligt at sammenkoble ind- og udgange fra alle sine klienter meget enkelt: musen bruges til at oprette forbindelser på samme måde som kabler ville blive brugt på en scene eller i et studiestudie. Dette gør det muligt at udføre enhver samling, som brugeren finder nyttig.

Implementering

JACK kan bruge ALSA , Portaudio , CoreAudio , FreeBoB , FFADO og OSS hardwaredrivere . Derudover er en dummy-driver inkluderet (nyttig, hvis der ikke ønskes lydudgang, f.eks. Til offline- gengivelse ) og en Audio-over-UDP-driver (nyttig til betjening af serveren på et netværk, som helst skal dedikeres). Det kører på Linux , macOS , Solaris , Windows , FreeBSD , OpenBSD og NetBSD . JACK API er standardiseret ved konsensus, og der er to kompatible implementeringer: jack1, som er implementeret i C , og jack2 (oprindeligt jackdmp) blev implementeret i C ++ under tilsyn af Stéphane Letz. Denne seneste implementering er i hurtig udvikling, den introducerede understøttelse af flere processorer og support til andre operativsystemer end Linux.

I modsætning til andre lydservere, hvor applikationer sender deres data til serveren, bruger JACK en model, hvor serveren dikterer hvornår og i hvilken rækkefølge applikationer skal sende lyd- eller MIDI-data til den.

Planlægning med lav latenstid

JACKs behov for planlægning med lav latens var en af ​​drivkræfterne bag realtidsoptimeringsindsatsen for den nuværende 2.6-serie af Linux-kernen, mens den oprindelige latenstensydelse havde været skuffende i forhold til den gamle. Arbejdet med at introducere realtid i Linux-kernen er i gang. Mange planlægningsforbedringer er allerede blevet foretaget, og -rt-grenen blev oprettet til mere påtrængende optimeringer med version 2.6.24 og senere fra patch CONFIG_PREEMPT_RT. Fra og med denne dato integreres et af hovedfunktionerne i -rt-patch (de tvangsgjorte irq-håndterere) i Linux-kernen.

Sessionsledere

Der er tre hoved JACK-sessionschefer, som findes under de forskellige Linux-distributioner, der har avanceret lydsupport:

Applikationer, der understøtter JACK

Et stort antal applikationer er kompatible med JACK, og deres liste vokser over tid. Dette store antal applikationer og muligheden for at forbinde dem frit betyder, at de eneste praktiske grænser for et lydcomputersystem, der bruger denne lydserver, er maskinens kraft og brugerens fantasi. Nyere versioner af JACK gør det også muligt at distribuere lydberegninger på flere maskiner via netværket .

Nogle Linux-distributioner som Kxstudio , LibraZiK, Ubuntu Studio , DeMuDi , gruppe pakker Pro Audio af Arch Linux har gjort deres server standard.

Referencer

  1. Udgivelse 1.9.17  " ,15. januar 2021(adgang til 8. februar 2021 )
  2. (in) "  Open Source Awards 2004: Paul Davis for JACK  " , techrepublic.com.com (adgang 16. februar 2010 )
  3. (in) "  Hvad er nyt i jack2? - Linux Audio Conference 2009-papir af den primære JACK2-forfatter Stephane Letz  ” ( ArkivWikiwixArchive.isGoogle • Hvad skal jeg gøre? ) , Linuxaudio.org (adgang til 17. februar 2010 )
  4. "  Paul Davis [LAD] jack routing vs pulse routing  " ( ArkivWikiwixArchive.isGoogle • Hvad skal jeg gøre? )
  5. (in) "  Oprindelig meddelelse om en frivillig pre-emption-patch til Linux 2.6- kerneserien af Ingo Molnar, 2004  " , lkml.org (adgang til 17. februar 2010 )
  6. (in) "  Find Origins of Latencies Using ftrace, paper af Steven Rostedt fra Real-Time Workshop 2009  " (adgang 17. februar 2010 )
  7. (in) "  Lyd i realtid vs. 2.6, Linux Audio Conference 2006-papir af Lee Revell  ” (adgang til 17. februar 2010 )
  8. (in) "  Real-time Linux Wiki  " , Linux Kernel Organization (adgang til 8. juni 2010 )
  9. (in) "  linux-2.6.39 med styrke threaded irq-handlers: vores nye kernel-rt  " Torben Hohn LAD Linux Audio Development mailingliste (åbnet 23. april 2011 )
  10. “  LASH, audio session manager  ” , på LinuxMAO.org

Se også

Relaterede artikler

eksterne links