JACK — это аудио-сервер с низкой задержкой, написанный для любой операционной системы, которая является достаточно совместимой с POSIX. В настоящее время она существует для Linux, OS X, Solaris, FreeBSD и Windows. Он может подключить несколько клиентских приложений к аудиоустройству и позволить им обмениваться звуком друг с другом. Клиенты могут работать как отдельные процессы, такие как обычные приложения, или в пределах сервера JACK в качестве квоты;plugins-quot;. JACK был разработан с нуля для профессиональной аудио работы, и его дизайн фокусируется на двух ключевых областях: синхронное выполнение всех клиентов, и низкая задержка работы. Традиционно было трудно, если не невозможно писать аудио приложения, которые могут обмениваться данными друг с другом. Кроме того, настройка и управление аудио интерфейсом оборудования часто является одним из самых сложных аспектов написания аудио программного обеспечения. JACK изменяет все это, предоставляя API, который делает несколько вещей: 1. обеспечивает высокий уровень абстракции для программистов, что удаляет аудио интерфейс оборудования с изображения и позволяет им сосредоточиться на основной функциональности своего программного обеспечения. 2. позволяет приложениям отправлять и получать аудио данные друг от друга, а также аудио интерфейс. Нет никакой разницы в том, как приложение отправляет или получает данные независимо от того, идет ли оно из/идет в другое приложение или аудио интерфейс. Для программистов с опытом работы с несколькими другими аудио API, такими как PortAudio, CoreAudio от Apple, VST Steinberg и ASIO, а также многими другими, JACK представляет знакомую модель: ваша программа предоставляет функцию «квота;обратный вызов»; функцию, которая будет выполнена в нужное время. Обратный вызов может отправлять и получать данные, а также выполнять другие задачи по обработке сигналов. Вы не несете ответственности за управление аудио интерфейсами или резьбой, и нет никакой квоты;формат переговоров;: все аудио данные в JACK представлены как 32-битные плавающие значения тоных ток. Для тех, у кого есть опыт, уходящий корнями в мир Unix, JACK представляет несколько незнакомый API. Большинство API Unix основаны на модели чтения/записи, порожденной «квотой;все это файл»; абстракция, чем по праву славится Unix. Проблема с этой конструкцией заключается в том, что она не учитывает характер аудио интерфейсов в реальном времени, а точнее, не позволяет разработчикам приложений уделять достаточно внимания этому аспекту своей задачи. Кроме того, становится довольно трудно облегчить межпрогнезную аудио маршрутизацию, когда разные программы не работают синхронно. Использование JACK в вашей программе очень просто, и, как правило, состоит только из: - вызов jack_client_open() для подключения к серверу JACK. - регистрация квоты;порты; для того, чтобы данные были перемещены в приложение и из него. - регистрация цитаты;process callback-quot; которая будет вызвана в нужное время сервером JACK. - говорю JACK, что ваше приложение готово начать обработку данных. Существует гораздо больше, что вы можете сделать с интерфейсами JACK, но для многих приложений, это все, что нужно. Пример simple_client.c демонстрирует полный (простой!) Приложение JACK, которое просто копирует сигнал, поступающий в его входной порт в свой выходной порт. Аналогичным образом, inprocess.c показывает, как написать внутренний клиент «квота;plugin»; который работает в процессе сервера JACK.
история версии
- Версия 0.109.2 размещено на 2008-01-30
Несколько исправлений и обновлений - Версия 0.109.2 размещено на 2008-01-30
Подробная информация о программе
- Категории: Аудио и мультимедиа > Других
- Издателя: jackaudio.org/
- Лицензии: Бесплатный
- Цена: N/A
- Версия: 1.9.10
- Платформы: linux