JACK Audio Connection Kit
| JACK Audio Connection Kit | |
|---|---|
| | |
| |
| Тип | демон и Звуковой сервер |
| Разработчик | Пол Дэвис |
| Написана на | C++ и Си |
| Операционные системы | Unix-подобная операционная система, macOS[1] и Windows[1] |
| Последняя версия | |
| Репозиторий | github.com/jackaudio/jac… |
| Лицензия | GNU GPL |
| Сайт | jackaudio.org (англ.) |
JACK Audio Connection Kit (чаще просто JACK или JACKIT) — звуковой сервер-демон, позволяющий с низкой задержкой соединять между собой так называемые «джэкифицированные» («jackified») приложения. Становится возможной передача как аудио-, так и MIDI-данных.
Джэк может работать с ALSA, PortAudio, CoreAudio, FreeBoB, FFADO и (пока в тестовом режиме) OSS. К 2008 году стал возможен запуск на Linux, FreeBSD и macOS. Текущая версия также поддерживает и Windows.
Название «JACK Audio Connection Kit» переводится на русский язык как «Набор для соединения аудио Джэк» и является рекурсивным акронимом.
Примеры применения JACK
Многоканальная запись


Предположим, нам нужно записать многоканальную композицию с вокалом и синтезатором в качестве инструментов. У нас есть MIDI-клавиатура, программный (виртуальный) синтезатор на компьютере, а также микрофон, подключённый ко входу звуковой карты. По каким-то причинам мы хотим записать обе дорожки одновременно. Тогда, с помощью JACK, мы можем подключить:
- MIDI-клавиатуру к виртуальному синтезатору;
- Звуковой выход синтезатора к аудиокарте (чтобы слышать, что играем);
- Звуковой выход синтезатора к соответствующей дорожке программы звукозаписи;
- Звуковой вход аудиокарты (туда подключён микрофон) к соответствующей дорожке программы звукозаписи.
Соответственно, когда мы нажмём на запись, две эти дорожки будут записываться синхронно.
Дублированный перевод
Другой пример не связан с записью музыки. Благодаря тому, что JACK поддерживается любым из известных в Linux проигрывателей видео (и аудиопроигрывателей, разумеется), можно всё так же подключить микрофон к дорожке программы звукозаписи, но, кроме того, ещё и подключить эту программу к проигрывателю видео. Таким образом можно смотреть фильм и переводить его. Причём перемещение по фильму приведёт к аналогичному перемещению по записываемой звуковой дорожке и наоборот.
Библиотеки
- Allegro — библиотека для программирования компьютерных игр
- bio2jack — библиотека, упрощающая портирование приложений, блокирующих ввод-вывод (blocked input/out, bio) OSS или ALSA на Jack
- libjackasyn — библиотека, конвертирующая программы, написанные для системы OSS, в программы, понимающие JACK
