计算机科学

首页 > 计算机科学

JACK Audio Connection Kit

2018-08-31 10:21:42     所属分类:应用程序接口
JACK Audio Connection Kit
LogoJack.png
原作者 Paul Davis, Stéphane Letz
开发者 JACK团队[1]
稳定版本
稳定版本

(JACK1) v0.125.0(2016年9月15日,​23个月前​(2016-09-15[±]

(JACK2) v1.9.10(2014年7月20日,​4年前​(2014-07-20[±]
编程语言 C[2], C++
操作系统 BSD、Linux、Mac OS X、Solaris、Windows
类型 Sound server英语Sound server
许可协议 GNU GPL, GNU LGPL
网站 jackaudio.org
源代码库 github.com/jackaudio/jack2.git

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

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

目录

  • 1 实现
  • 2 低延时调度
  • 3 参见
  • 4 参考资料
  • 5 外部链接

实现

JACK 能使用ALSA、PortAudio、CoreAudio、FFADO和OSS作为硬件层的后端。此外, 还有一个虚拟的驱动(当不需要声音输出时是很有用的,例如离线渲染)和一个通过UDP协议的音频驱动(Audio-over-UDP driver)。它可以运行在Linux、 Mac OS X、 Solaris、 Windows、 FreeBSD、 OpenBSD 和 NetBSD上。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]

参见

  • Ardour
  • LADSPA
  • PulseAudio
  • aRts

参考资料

  1. ^ JACK Developer Information. jackaudio.org. [2010-01-02]. (原始内容存档于2010-01-08). 
  2. ^ Ohloh Analysis Summary - JACK. Ohloh. [2010-02-02]. 
  3. ^ Open Source Awards 2004: Paul Davis for JACK. techrepublic.com.com. [2010-02-16]. (原始内容存档于2012-07-01). 
  4. ^ What's new in JACK2? - Linux Audio Conference 2009 paper by primary JACK2 author Stephane Letz. linuxaudio.org. [2010-02-17]. 
  5. ^ Original annoucement of a voluntary pre-emption patch for the Linux 2.6 kernel series by Ingo Molnar, 2004. lkml.org. [2010-02-17]. 
  6. ^ Finding Origins of Latencies Using Ftrace, paper by Steven Rostedt from the Real-time Workshop 2009 (PDF). [2010-02-17]. 
  7. ^ Real-time audio vs. 2.6, Linux Audio Conference 2006 paper by Lee Revell (PDF). [2010-02-17]. 
  8. ^ Real-Time Linux Wiki. Linux Kernel Organization. [2010-06-08]. 

外部链接

  • 官方网站
  • JACK的文档
  • Linux日志
  • 连接到OSX和Windows二进制文件的Jackdmp
  • 支持JACK的软件列表
  • 其他关于JACK的文章 (只有PDF)

上一篇:OpenMAX
下一篇:Emmet
相关推荐