원저자 | 폴 데이비스, 스테판 레츠 | ||||
---|---|---|---|---|---|
개발자 | JACK 팀 | ||||
안정화 버전 |
| ||||
저장소 | github | ||||
프로그래밍 언어 | C,[1] C++ | ||||
운영 체제 | BSD, 리눅스, macOS, 솔라리스, 윈도우, iOS | ||||
종류 | 사운드 서버 | ||||
라이선스 | 서버: GPL-2.0-or-later 라이브러리: LGPL-2.1-or-later[2] | ||||
웹사이트 | jackaudio |
잭 오디오 커넥션 키트(JACK Audio Connection Kit, 재귀 약자: JACK)는 전문 사운드 서버 API이자 응용 프로그램 간 오디오 및 MIDI 데이터 모두에 대해 지연 시간이 짧은 실시간 연결을 제공하는 데몬 구현 쌍이다. JACK은 폴 데이비스(Paul Davis, 이 작업으로 2004년 오픈 소스 상을 수상함)[3]가 이끄는 오픈 소스 개발자 커뮤니티에 의해 개발되었으며, 처음부터 리눅스 전문 오디오 소프트웨어의 핵심 인프라이자 사실상 표준이었다. 서버는 GPL-2.0 이상에 따라 라이선스가 부여된 자유 소프트웨어이며, 라이브러리는 LGPL-2.1 이상에 따라 라이선스가 부여되었다.
JACK API는 합의에 의해 표준화되었으며 두 가지 호환 가능한 구현이 존재한다. 일반 C로 구현되어 한동안 유지 관리 모드에 있었던 jack1과 원래 스테판 레츠(Stéphane Letz)가 주도한 C로 재구현된 jack2(원래 jackdmp)이다. 다중 프로세서 확장성과 리눅스 이외의 운영 체제에 대한 지원을 도입했다.[4]
JACK은 하드웨어 백엔드로 ALSA, PortAudio, CoreAudio, FFADO 및 OSS와 함께 사용할 수 있다. 또한 더미 드라이버(오프라인 렌더링과 같이 사운드 출력을 원하지 않는 경우 유용함) 및 Audio-over-UDP 드라이버가 있다. 하나 또는 두 구현 모두 Linux, macOS, Solaris, Windows, iOS, FreeBSD, OpenBSD 및 NetBSD에서 실행될 수 있다.
JACK API는 이전 버전과의 호환성을 위해 JACK 클라이언트를 위한 완전한 드롭인 대체 공급자로서 PipeWire에 의해 구현되어 JACK API 호출을 동등한 PipeWire 호출에 매핑한다.[5] ALSA 및 펄스오디오의 대체품으로도 사용되는 경우 일반적으로 컴퓨터에서 찾을 수 있는 다양한 사운드 서버와 API를 통합하고 다양한 소프트웨어 간의 더 나은 통합을 허용할 수 있다. PipeWire는 또한 JACK에 비해 다양한 기능을 추가하고 여러 가지 제한 사항을 수정한다고 주장한다.[6] JACK의 기본 구현으로 PipeWire를 사용하는 것은 Fedora 34 이상에서 기본값이다.[7]