跳至內容

JACK Audio Connection Kit

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
JACK Audio Connection Kit
原作者Paul Davis, Stéphane Letz
開發者JACK團隊[1]
目前版本
  • 1.9.22(2023年2月2日;穩定版本)[2]
編輯維基數據連結
原始碼庫 編輯維基數據連結
程式語言C[3], C++
作業系統BSDLinuxMac OS XSolarisWindows
類型Sound server英語Sound server
特許條款GNU GPL, GNU LGPL
網站jackaudio.org

JACKJACK Audio Connection Kit遞歸縮寫)是一個專業級的聲音服務守護行程),它為聲音和MIDI數據提供即時的、低延時的連接,有關的程式使用JACK的API

它是由保羅·戴維斯英語Paul Davis (programmer)(他憑着這項工作贏得了2004年的開源獎[4])帶領的一個開源社區開發。自從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作業系統。[5]

低延時排程

[編輯]

JACK為達到足夠的低延時的排程要求是目前Linux 2.6 內核的即時作業系統最佳化的動力[6][7]。Linux 2.6 內核最初的延時表現和老的2.4內核對比是讓人失望的。[8]即時作業系統的調整工作已經在眾多的對主線內核和一個對2.6.24版本的插入最佳化的 -rt分支中的排程調整中達到頂峰,最後成為一個CONFIG_PREEMPT_RT(組態優先)修補程式。 [9]

參見

[編輯]

參考資料

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

外部連結

[編輯]