JACK Audio Connection Kit
JACK (рекурсивний акронім від JACK Audio Connection Kit) — система для роботи з аудіо в реальному часі на низьких латентностях. JACK дає можливість кільком програмам одночасно під’єднуватись як до звукового пристрою, так і створювати аудіо- та MIDI-з’єднання між собою. Проект створено спеціально для використання в професійній роботі з аудіо. JACK — вільний програмний продукт, та працює на платформах Gnu/Linux, Solaris, FreeBSD, Mac OS X та Windows[3].
| |
Вигляд Qjackctl — графічної програми для керування звуковим сервером jack. | |
Тип | Звуковий сервер |
---|---|
Розробник | Paul Davis та інші[1] |
Версії | 1.9.20 (15 січня 2022)[2] |
Репозиторій | git://github.com/jackaudio/jack2.git, git://github.com/jackaudio/jack1.git |
Операційна система | Багатоплатформний |
Мова програмування | C, C++ |
Ліцензія | GPL, LGPL |
Вебсайт | jackaudio.org |
Основні характеристики
Звукова система JACK складається з двох основних компонентів: звукового сервера та бібліотеки для написання програм для роботи через звуковий сервер.
Звуковий сервер, jackd, запускається першим, далі по черзі запускаються всі інші програми, які під’єднуються до сервера. Під’єднавшись до сервера, кожна з програм створює порти входу і виходу, які можуть бути під’єднаними до будь-яких інших звукових портів у JACK. Крім програм, jackd утворює порти для аудіопристрою, на якому він працює.
Jack1 та Jack2
Вже існують дві окремі реалізації JACK API, які є майже повністю сумісні між собою і є вільними: jack1 та jack2. Обидві реалізації тепер розробляються паралельно, і відрізняються внутрішнім дизайном, а також кількома додатковими можливостями у jack2, основною з яких є часткова можливість розподілення оброблення звукового сигналу на різні процесори/ядра. Попри те, така можливість не завжди доступна через потребу в послідовному обробленні сигналу в послідовних з’єднаннях[4].
Сумісність JACK з програмами на ALSA
Існує безліч програм роботи зі звуком, які ще не підтримують інтерфейс JACK і є сумісними тільки з ALSA (наприклад Skype).
При роботі сервер JACK отримує монопольний доступ до звукової карти. Це призводить до того, що інші ALSA-сумісні програми не можуть виводити у неї звуковий потік. Але це не є перепоною для використання таких програм при запущеному сервері JACK. Існує простий спосіб маршрутизації звуку з ALSA-сумісних програм до JACK[5].
Програми сумісні з JACK
Для JACK існує велика кількість програм професійної роботи зі звуком.
Повний список, зокрема, включає:
- MIDI секвенсери (FluidSynth, Rosegarden)
- Процесори гітарних ефектів (Rakarrack)
- Віртуальні драм-машини (Hydrogen)
- Аудіоредактори (Audacity)
- Медіаплеєри (MPlayer)
- Аудіоплеєри (Audacious)
- VOIP-сервери (Asterisk)
- Редактори табулатур (TuxGuitar)
Примітки
- Перелік авторів JACK на розробницькій сторінці проекту. Архів оригіналу за 8 січня 2010. Процитовано 3 вересня 2011.
- JACK1 v0.126.0 and JACK2 v1.9.20 releases
- Сайт проекту
- Пояснення різниці між jack1 та jack2. Архів оригіналу за 7 вересня 2011. Процитовано 3 вересня 2011.
- Налаштування маршрутизації ALSA-звукових потоків через JACK