JACK Audio Connection Kit

JACKJACK Audio Connection Kit递归缩写)是一个专业级的声音服务守护进程),它為声音和MIDI数据提供实时的、低延时的连接,有關的程式使用JACK的API

JACK Audio Connection Kit
原作者Paul Davis, Stéphane Letz
開發者JACK團隊[1]
穩定版本(JACK1) v0.125.0(2016年9月15日2016-09-15[±] (JACK2) v1.9.16(2020年10月17日2020-10-17[±]
源代码库
编程语言C[2], C++
操作系统BSDLinuxMac OS XSolarisWindows
类型Sound server
许可协议GNU GPL, GNU LGPL
网站jackaudio.org

它是由保羅·戴維斯(他凭着这项工作赢得了2004年的开源奖[3])带领的一个开源社区开发。自从2002年初以来一直是Linux下的关键的基础设施和事实上的专业音频软件标准。这个服务是在GNU GPL协议下的开源软件,它的库則採用更宽松的GNU LGPL协议。

实现

JACK 能使用ALSAPortAudioCoreAudioFFADOOSS作为硬件层的后端。此外,还有一个虚拟的驱动(当不需要声音输出时是很有用的,例如离线渲染)和一个通过UDP协议的音频驱动(Audio-over-UDP driver)。它可以运行在LinuxMac OS XSolarisWindowsFreeBSDOpenBSDNetBSD上。JACK的API被标准化,并且存在两种可融合的实现:jack1,由简单的C实现并且已经维护了一段时间;至于jack2(原来的jackdmp),由Stéphane Letz领导的用C++重写的实现,jack2在积极开发中,目标是支持多处理器和对其它非Linux操作系统。[4]

低延时调度

JACK为达到足够的低延时的调度要求是目前Linux 2.6 内核的实时操作系统优化的动力[5][6]。Linux 2.6 内核最初的延时表现和老的2.4内核对比是让人失望的。[7]实时操作系统的调整工作已经在众多的对主线内核和一个对2.6.24版本的插入优化的 -rt分支中的调度调整中达到顶峰,最后成为一个CONFIG_PREEMPT_RT(配置优先)补丁。 [8]

参见

參考資料

  1. . jackaudio.org. [2010-01-02]. (原始内容存档于2010-01-08).
  2. . Ohloh. [2010-02-02]. (原始内容存档于2012-06-06).
  3. . techrepublic.com.com. [2010-02-16]. (原始内容存档于2012-07-01).
  4. . linuxaudio.org. [2010-02-17]. (原始内容存档于2010-03-17).
  5. . lkml.org. [2010-02-17]. (原始内容存档于2016-08-18).
  6. (PDF). [2010-02-17]. (原始内容存档 (PDF)于2012-10-21).
  7. (PDF). [2010-02-17]. (原始内容存档 (PDF)于2020-11-10).
  8. . Linux Kernel Organization. [2010-06-08]. (原始内容存档于2012-02-06).

外部連結

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.