JACK Audio Connection Kit

Frå Wikipedia – det frie oppslagsverket
Gå til: navigering, søk
JACK
LogoJack.png
Utviklar: Paul Davis et al.
Utgjeve: 1998
Nyaste versjon: JACK1: v0.121.3, JACK2: v1.9.9 (28/9-2011, 10/12-2011)
Operativsystem: Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, Windows
Type: Audioteknologi
Lisens: GPL og LGLP
Nettstad: JACK Audio Connection Kit

JACK Audio Connection Kit (JACK) er ein miksar/tenar som sit mellom lydhandsamarprogram på brukarnivå og ein lågniva lydhandsamingsinfrastruktur som ALSA eller FFADO i Linux-kjernen, eller Core AudioMac OS X. JACK vart frå grunnen konstruert for proffesional bruk, der låg forsenking er viktig[1].

Oppbygging[endre | endre wikiteksten]

Funksjonaliten og programmeringsgrensesnittet til JACK er på eit høgare nivå enn underliggande infrastruktur som ALSA, FFADO og CoreAudio. JACK inneheld funksjonaliten som tillet utveksling og miksing av audiostraumar mellom ulike prosessar (tenarar og brukarprogram), grensesnitt og lydkort. JACK abstrakterer grensesnittet mellom ulike processar, og tek seg av trådhandsaming og synkronisering, slik at programmeraren kan konsentrera seg om å skriva kode for funksjonalitet. Internt i JACK vert kvar audiosample representert på enkelpresisjon flytkommaformat. JACK tek hand om konvertering til/frå 16- og 24-bit fastkommarepresentasjon som I/O-einingane nyttar[2].

JACK er bygd opp av fleire modular: jackd er ein tenarprocess (eller «deamon» om ein nyttar UNIX-terminologi) og libjack er eit biblioteket som brukarprogamma linkar til. Som anna lydhandsamingprogramvare kommuniserer JACK med drivarane via attendekallfunksjonar. I tillegg til å ruta audiostraumar mellom brukarprogram som køyrer som eigne prosessar kan JACK òg utvidast med plugin som nyttar prosesskontekst som JACK.

JACK nyttar funksjonaliteten som er innebygg i den underliggande infrastrukturen og innfører ikkje forseinking ut over forseinking som stammar frå ALSA eller CoreAudio. Det ekstra laget med programvare i JACK innfører litt ekstra arbeid for prosessoren, men ekstralasta er ikkje meir enn rundt 1% [1].

JACK på fleire operativsystem[endre | endre wikiteksten]

JACK vart utvikla for Linux, men køyrer òg på fleire UNIX-liknande operativsystem, som BSD, FreeBSD, NetBSD, OpenBSD og Mac OS X. JackOSX er ei programvarepakke som tilpassar JACK for Apple CoreAudio. JACK kan lett tilpassast alle operativsystem med POSIX-grensesnitt. Etter som Windows òg har eit POSIX-grensesnitt (i tillegg til WinAPI) kan JACK nyttast på Windows-maskinar. I praksis er det likevel ASIO som er mest utbreidd nytta i samband med profesjonell lydhandsaming på Windows-maskinar.

Verktøy[endre | endre wikiteksten]

qjackctl.

JACK har fleire små program som utfører ymse oppgåver.

qjackctl[endre | endre wikiteksten]

qjackctl er eit Qt-basert grafisk controllprogram for JACK. qjackctl let brukaren oppretta forbindelsar mellom ulik lydkjelder, tenarar, brukarprogram og utgangar ved å ta tak i kjelder med markøren og dra dei til program og/eller utgangar.

jack_lsp[endre | endre wikiteksten]

jack_lsp er eit kommandolinjeverktøy som listar informasjon om I/O-portane som JACK kjenner til.

NetJack[endre | endre wikiteksten]

NetJack er ein modul som utvidar JACK med nettfunksjonalitet[3]. NetJack har ein «meister» som sender ein audiostraum og ein eller fleire mottakarar (slavar) som tek imot audiostraumen. NetJack syt for at alle mottakarane er synkroniserte med sendaren, slik at det ikkje oppstår datatap.

Brukarprogram som nyttar JACK[endre | endre wikiteksten]

Kjelder[endre | endre wikiteksten]

  1. 1,0 1,1 JACK Audio Connection Kit
  2. Jack-audio-connection-kit, 13/10-2010.
  3. Mills, D. og Jonsson, R., NetJack - Jack Over The Net, sourceforge.net/.

Sjå òg[endre | endre wikiteksten]