JACK은 POSIX를 합리적으로 준수하는 모든 운영 체제에 대해 작성된 대기 시간 오디오 서버입니다. 그것은 현재 리눅스, OS X, 솔라리스, FreeBSD 및 윈도우에 대 한 존재. 여러 클라이언트 응용 프로그램을 오디오 장치에 연결하고 서로 오디오를 공유할 수 있습니다. 클라이언트는 일반 응용 프로그램과 같은 별도의 프로세스로 실행하거나 잭 서버 내에서 & 플러그인 및 쿼트로 실행할 수 있습니다. JACK은 처음부터 전문 오디오 작업을 위해 설계되었으며, 디자인은 모든 클라이언트의 동기 실행및 낮은 대기 시간 작업이라는 두 가지 주요 영역에 중점을 둡니다. 전통적으로 서로 데이터를 공유할 수 있는 오디오 응용 프로그램을 작성하는 것은 불가능하지는 않지만 어려웠습니다. 또한 오디오 인터페이스 하드웨어를 구성하고 관리하는 것은 오디오 소프트웨어를 작성하는 데 가장 복잡한 측면 중 하나였습니다. JACK은 다음과 같은 몇 가지 작업을 수행하는 API를 제공하여 이 모든 것을 변경합니다. 1. 그림에서 오디오 인터페이스 하드웨어를 제거하고 소프트웨어의 핵심 기능에 집중할 수 있도록 하는 프로그래머에게 높은 수준의 추상화기능을 제공합니다. 2. 응용 프로그램은 오디오 인터페이스뿐만 아니라 서로 오디오 데이터를 보내고 받을 수 있습니다. 응용 프로그램이 다른 응용 프로그램 또는 오디오 인터페이스로 전송되는지 여부에 관계없이 데이터를 전송하거나 받는 방법에는 차이가 없습니다. 포트오디오, 애플의 코어오디오, 스타인버그의 VST, ASIO 등 여러 다른 오디오 API를 경험한 프로그래머의 경우, JACK은 친숙한 모델을 제공합니다: 프로그램은 적시에 실행될 & 콜백"기능을 제공합니다. 콜백은 데이터를 보내고 받을 수 있으며 다른 신호 처리 작업을 수행할 수 있습니다. 오디오 인터페이스 또는 스레딩을 관리할 책임이 없으며,quot;format 협상": JACK 내의 모든 오디오 데이터는 32비트 부동 점 값으로 표시됩니다. 유닉스 세계에 뿌리를 둔 경험을 가진 사람들을 위해, 잭은 다소 익숙하지 않은 API를 제공합니다. 대부분의 유닉스 API는 유닉스가 정당하게 유명한 파일 & 추상화에 의해 생성 된 읽기 / 쓰기 모델을 기반으로합니다. 이 디자인의 문제점은 오디오 인터페이스의 실시간 특성을 고려하지 못하거나 보다 정확하게 응용 프로그램 개발자가 작업의 이 측면에 충분한 주의를 기울이도록 강요하지 못한다는 것입니다. 또한, 다른 프로그램이 모두 동기적으로 실행되지 않을 때 응용 프로그램 간 오디오 라우팅을 용이하게하는 것이 다소 어려워집니다. 프로그램 내에서 JACK를 사용하는 것은 매우 간단하며 일반적으로 다음과 같은 것으로 구성됩니다. - 잭 서버에 연결하려면 jack_client_open()를 호출합니다. - 등록 및 견적 포트 & 응용 프로그램에서 데이터를 이동할 수 있도록 합니다. - 잭 서버에서 적시에 호출됩니다 & 쿼트 프로세스 콜백 및 쿼트 등록. - 응용 프로그램이 데이터 처리를 시작할 준비가 되어 있음을 JACK에게 말하십시오. JACK의 인터페이스로 할 수있는 더 많은 것이 있지만 많은 응용 프로그램의 경우 이 모든 것이 필요합니다. simple_client.c 예제에서는 완전(단순!) 입력 포트에 도착하는 신호를 출력 포트에 복사하는 JACK 응용 프로그램입니다. 마찬가지로, 프로세스 .c 내부 클라이언트를 작성하는 방법을 보여줍니다 & quot;plugin" 잭 서버 프로세스 내에서 실행.
버전 기록
- 버전 0.109.2 에 게시 2008-01-30
몇 가지 수정 및 업데이트 - 버전 0.109.2 에 게시 2008-01-30
프로그램 세부 정보
- 범주: 오디오 및 멀티미디어 > 다른
- 게시자: jackaudio.org/
- 라이센스: 무료
- 가격: N/A
- 버전: 1.9.10
- 플랫폼: linux