Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

JACK Audio Connection Kit (или JACK ; рекурсивная аббревиатура ) - это профессиональный API звукового сервера и пара реализаций демона для обеспечения соединений в реальном времени с низкой задержкой как для аудио, так и для MIDI-данных между приложениями. JACK был разработан сообществом разработчиков с открытым исходным кодом во главе с Полом Дэвисом (который выиграл премию Open Source в 2004 году за эту работу) [2] и был ключевым элементом инфраструктуры и стандартом де-факто для профессионального аудио программного обеспечения для Linux. с момента создания в 2002 году. Сервер является бесплатным программным обеспечением , под лицензией GNU GPL., в то время как библиотека находится под более либеральной лицензией GNU LGPL .

Реализации [ править ]

JACK API стандартизирован консенсусом, и существуют две совместимые реализации: jack1, который реализован на простом C и некоторое время находится в режиме обслуживания, и jack2 (первоначально jackdmp), повторная реализация на C ++, первоначально возглавляемая Стефаном Летцем. , который представил многопроцессорную масштабируемость и поддержку операционных систем, отличных от Linux. [3]

JACK можно использовать с ALSA , PortAudio , CoreAudio , FFADO и OSS в качестве аппаратных внутренних компонентов . Кроме того, существуют фиктивный драйвер (полезный, если вывод звука не требуется, например, для автономного рендеринга) и драйвер Audio-over-UDP. Одна или обе реализации могут работать в Linux , macOS , Solaris , Windows , iOS , FreeBSD , OpenBSD и NetBSD .

JACK API также реализуется PipeWire , который может действовать как полноценный поставщик замены для клиентов JACK, сопоставляя вызовы JACK API эквивалентным вызовам PipeWire. [4] Если он используется как замена ALSA и PulseAudio, он может объединить различные звуковые серверы и API-интерфейсы, которые обычно можно найти на машине, и обеспечить лучшую интеграцию между различным программным обеспечением. PipeWire также утверждает, что добавляет ряд функций и устраняет ряд ограничений по сравнению с JACK. [5] Использование PipeWire в качестве реализации JACK по умолчанию является значением по умолчанию в Fedora 34 и новее. [6]

Планирование с малой задержкой [ править ]

Как и PulseAudio , демон JACK является «звуковым демоном», то есть он выполняет микширование звука из приложений с помощью программного обеспечения. Для этого предполагается, что он имеет эксклюзивный доступ к аудиоподсистеме ядра.

В планировании требований JACK достичь достаточно низкая латентность была одной из движущих сил в режиме реального время усилий по оптимизации для Linux ядра 2.6 серии, [7] [8] , начальной задержки производительности была Неудовлетворительно по сравнению со старой 2,4 серии. [9] Работа по настройке в реальном времени завершилась многочисленными улучшениями планирования в основном ядре и созданием ветки -rt для более интрузивной оптимизации в выпуске 2.6.24, а затем в патче CONFIG_PREEMPT_RT . [10]

Приложения с поддержкой JACK [ править ]

См. Также [ править ]

  • LADSPA & LV2 - API для плагинов
  • PulseAudio - звуковой сервер для настольных ПК
  • Список аудиопрограмм для Linux
  • Сравнение бесплатных программ для аудио
  • Бесплатные альтернативы ASIO

Ссылки [ править ]

  1. ^ "ДЖЕК" . Резюме анализа . Охлох . Проверено 8 января 2012 .
  2. ^ "Open Source Awards 2004: Пол Дэвис для ДЖЕКА" . techrepublic.com.com . Проверено 24 мая +2016 .
  3. ^ «Что нового в JACK2? - Статья на Linux Audio Conference 2009, автор основного автора JACK2 Стефана Летца» . linuxaudio.org . Проверено 17 февраля 2010 года .
  4. ^ "JACK - Wiki - PipeWire / pipewire" . PipeWire на GitLab . Проверено 11 февраля 2021 года .
  5. ^ "FAQ - Wiki - PipeWire / pipewire" . PipeWire на GitLab . Проверено 11 февраля 2021 года .
  6. ^ Ларабель, Майкл. «Fedora 34 получает разрешение на попытку использовать PipeWire по умолчанию для аудио» . Фороникс . Phoronix Media . Проверено 11 февраля 2021 года .
  7. ^ "Оригинальное объявление Инго Молнара о добровольном упреждающем патче для серии ядер Linux 2.6, 2004 г." . lkml.org . Проверено 17 февраля 2010 года .
  8. ^ «Поиск истоков задержек с использованием Ftrace, статья Стивена Ростедта из семинара в реальном времени 2009 г.» (PDF) . Проверено 17 февраля 2010 года .
  9. ^ «Звук в реальном времени по сравнению с 2.6, документ Linux Audio Conference 2006, автор Ли Ревелл» (PDF) . Проверено 17 февраля 2010 года .
  10. ^ "Linux Wiki в реальном времени" . Kernel.org (архивы ядра Linux) . Проверено 8 июня 2010 года .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Документация JACK API
  • Статья в Linux Journal
  • Jackdmp со ссылками на двоичные файлы OSX и Windows на Wayback Machine (архивировано 6 июня 2012 г.)
  • Список приложений с поддержкой JACK
  • Еще одна статья о ДЖЕКЕ (PDF, платно)
  • JACK на iOS (iPhone и iPad)