Комплект для подключения аудио JACK - JACK Audio Connection Kit

Комплект для подключения аудиосистемы JACK
LogoJack.png
Оригинальный автор (ы) Пол Дэвис , Стефан Летц
Разработчики) Команда ДЖЕК
Стабильный выпуск
JACK1: v0.125 / 14 сентября 2016 г . ; 4 года назад ( 2016-09-14 )
JACK2: v1.9.14 / 19 ноября 2019 г . ; 19 месяцев назад ( 2019-11-19 )
Репозиторий github .com / jackaudio / jack2
Написано в C , C ++
Операционная система BSD , Linux , macOS , Solaris , Windows , iOS
Тип Звуковой сервер
Лицензия Сервер: GPL-2.0 или новее
Библиотека: LGPL-2.1 или новее
Веб-сайт jackaudio .org Отредактируйте это в Викиданных

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

Реализации

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

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

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

Планирование с малой задержкой

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

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

Приложения с поддержкой JACK

Смотрите также

Рекомендации

Внешние ссылки