Керування аудіоз'єднаннями у GNU/Linux (JACK, PipeWire)

Інструменти й поради для налаштування звукових серверів JACK і PipeWire

Аудіо в Лінукс §

Основний звуковий функціонал у лінуксі забезпечує ALSA. Щоб спростити роботу з аудіо, ми використовуємо звукові сервери — програми, які дають можливість легко керувати потоками аудіо, наприклад, по-різному їх поєднувати або передавати через мережу. Ось кілька найпопулярніших:

JACK Audio Connection Kit
аудіосервер, створений спеціально для професійної роботи зі звуком
PulseAudio
більше зосереджений на повсякденному використанні, але більшість тепер надає перевагу PipeWire
PipeWire
у свою чергу, намагається поєднати найкраще з JACK і PulseAudio

Більше тут (лол мені в половині матеріалу помогла арчвікі)

Очевидно, що більшість програм для професійної роботи зі звуком — клієнти JACK, тому далі будемо балакати про нього та його замінник для PipeWire.

Можливо, JACK потрібно буде встановити, але він може поставлятися й разом із дистриб’юцією.

pacman -S jack # наприклад, за допомогою pacman в Арч Лінуксі та похідних

Якщо ваша система використовує PipeWire як аудіосервер, то логічно буде натомість установити pipewire-jack. Також для роботи з PipeWire корисно буде почитати https://github.com/mikeroyal/PipeWire-Guide (обережно, де-не-де пропрієтарщина).

Налаштування з’єднань §

Нарешті ми дійшли до дійсно кльової штуки, яку нам дають аудіосервери — патчбеїв, тобто програм для з’єднання різних джерел звуку з різними виводами.

GUI §

Для керування JACK я раніше використовував Qjackctl, а зараз на PipeWire вжиткую Qpwgraph (хоча helvum і виглядає гарніше, цим значно зручніше користуватись). Нюхайте й обирайте те, що зручно вам.

Вигляд з'єднань у QPWGraph

для JACK: §

Qjackctl, Cadence, studio controls, — більше програм тут

для PipeWire: §

patchage ніби працює і з PipeWire, і з JACK.

CLI §

Усе, що пропонують графічні програми, і навіть більше, можна робити в терміналі.

для JACK: §

тут ше інфо

jack_lsp # список портів
jack_lsp -c # з'єднані порти

далі можна їх з’єднувати за допомогою jack_connect і jack_disconnect

для PipeWire: §

man pw-link
pw-link -iol -I # список усіх портів та їх з'єднання

Корисно почитати §