JACK Audio Connection Kit
Тип | Звуковий сервер |
---|---|
Розробник | Paul Davis та інші[1] |
Операційна система | Багатоплатформний |
Мова програмування | C, C++ |
Ліцензія | GPL, LGPL |
Репозиторій | github.com/jackaudio/jack2 |
Вебсайт | jackaudio.org |
JACK (рекурсивний акронім від JACK Audio Connection Kit) — система для роботи з аудіо в реальному часі на низьких латентностях. JACK дає можливість кільком програмам одночасно під’єднуватись як до звукового пристрою, так і створювати аудіо- та MIDI-з’єднання між собою. Проєкт створено спеціально для використання в професійній роботі з аудіо. JACK — вільний програмний продукт, та працює на платформах Gnu/Linux, Solaris, FreeBSD, Mac OS X та Windows[2].
Звукова система JACK складається з двох основних компонентів: звукового сервера та бібліотеки для написання програм для роботи через звуковий сервер.
Звуковий сервер, jackd, запускається першим, далі по черзі запускаються всі інші програми, які під’єднуються до сервера. Під’єднавшись до сервера, кожна з програм створює порти входу і виходу, які можуть бути під’єднаними до будь-яких інших звукових портів у JACK. Крім програм, jackd утворює порти для аудіопристрою, на якому він працює.
Вже існують дві окремі реалізації JACK API, які є майже повністю сумісні між собою і є вільними: jack1 та jack2. Обидві реалізації тепер розробляються паралельно, і відрізняються внутрішнім дизайном, а також кількома додатковими можливостями у jack2, основною з яких є часткова можливість розподілення оброблення звукового сигналу на різні процесори/ядра. Попри те, така можливість не завжди доступна через потребу в послідовному обробленні сигналу в послідовних з’єднаннях[3].
Існує безліч програм роботи зі звуком, які ще не підтримують інтерфейс JACK і є сумісними тільки з ALSA (наприклад Skype).
При роботі сервер JACK отримує монопольний доступ до звукової карти. Це призводить до того, що інші ALSA-сумісні програми не можуть виводити у неї звуковий потік. Але це не є перепоною для використання таких програм при запущеному сервері JACK. Існує простий спосіб маршрутизації звуку з ALSA-сумісних програм до JACK [Архівовано 16 листопада 2011 у Wayback Machine.][4].
Для JACK існує велика кількість програм професійної роботи зі звуком.
Повний список [Архівовано 17 листопада 2011 у Wayback Machine.], зокрема, включає:
- MIDI секвенсери (FluidSynth[en], Rosegarden)
- Процесори гітарних ефектів (Rakarrack[de])
- Віртуальні драм-машини (Hydrogen[en])
- Аудіоредактори (Audacity)
- Медіаплеєри (MPlayer)
- Аудіоплеєри (Audacious)
- VOIP-сервери (Asterisk)
- Редактори табулатур (TuxGuitar [Архівовано 8 квітня 2011 у Wayback Machine.])
- ↑ Перелік авторів JACK на розробницькій сторінці проекту. Архів оригіналу за 8 січня 2010. Процитовано 3 вересня 2011.
- ↑ Сайт проекту. Архів оригіналу за 26 січня 2018. Процитовано 3 вересня 2011.
- ↑ Пояснення різниці між jack1 та jack2. Архів оригіналу за 7 вересня 2011. Процитовано 3 вересня 2011.
- ↑ Налаштування маршрутизації ALSA-звукових потоків через JACK. Архів оригіналу за 16 листопада 2011. Процитовано 22 листопада 2011.