JACK Audio Connection Kit

維基百科,自由的百科全書
跳至導覽 跳至搜尋
JACK Audio Connection Kit
File:LogoJack.png
File:QjackctlConnectionsForm.png
原作者Paul Davis, Stéphane Letz
開發者JACK團隊[1]
目前版本
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    原始碼庫
    • {{URL|example.com|可选的显示文本}}
    Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
    程式語言C[2], C++
    引擎
      Module:EditAtWikidata第29行Lua錯誤:attempt to index field 'wikibase' (a nil value)
      作業系統BSDLinuxMac OS XSolarisWindows
      類型Sound server英語Sound server
      特許條款GNU GPL, GNU LGPL
      網站jackaudio.org

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

      它是由保羅·戴維斯英語Paul Davis (programmer)(他憑着這項工作贏得了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. ^ JACK Developer Information. jackaudio.org. [2010-01-02]. (原始內容存檔於2010-01-08). 
      2. ^ Ohloh Analysis Summary - JACK. Ohloh. [2010-02-02]. (原始內容存檔於2012-06-06). 
      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]. (原始內容存檔於2010-03-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]. (原始內容存檔於2016-08-18). 
      6. ^ Finding Origins of Latencies Using Ftrace, paper by Steven Rostedt from the Real-time Workshop 2009 (PDF). [2010-02-17]. (原始內容存檔 (PDF)於2012-10-21). 
      7. ^ Real-time audio vs. 2.6, Linux Audio Conference 2006 paper by Lee Revell (PDF). [2010-02-17]. (原始內容存檔 (PDF)於2020-11-10). 
      8. ^ Real-Time Linux Wiki. Linux Kernel Organization. [2010-06-08]. (原始內容存檔於2012-02-06). 

      外部連結[編輯]