Настройка маршрутизации в PipeWire

Ответить
ki.schilin
Сообщения: 14
Зарегистрирован: 26 июн 2025, 17:13
Operating system: ROSA Fresh Desktop 12.5.1

Настройка маршрутизации в PipeWire

Сообщение ki.schilin »

Здравствуйте!

Подскажите, пожалуйста, как настроить маршрутизацию в PipeWire, у меня не получается сделать универсальный захват из всех источников звука.

В Росе 12.5 со стартом системы у меня запускался следующий скрипт для JACK:
sleep 1
jack_control start
sleep 1
pacmd set-default-sink jack_out
pacmd set-default-source jack_in
pactl load-module module-jack-sink client_name=Наушники channels=2 connect=no
pactl load-module module-jack-sink client_name=Мониторы channels=2 connect=no
sleep 1
alsa_out -j GS2.1 -d hw:CARD=Device_1 -r 48000 >/dev/null &
alsa_out -j GS2.2 -d hw:CARD=Device -r 48000 >/dev/null &
alsa_out -j GS3 -d hw:CARD=Device_2 -r 48000 >/dev/null &
alsa_in -j GS2.1in -d hw:CARD=Device_1 -r 48000 >/dev/null &
alsa_in -j GS2.2in -d hw:CARD=Device -r 48000 >/dev/null &
alsa_in -j GS3in -d hw:CARD=Device_2 -r 48000 >/dev/null &
sleep 1
jack_disconnect "PulseAudio JACK Sink":front-left system:playback_1
jack_disconnect "PulseAudio JACK Sink":front-right system:playback_2
jack_connect "PulseAudio JACK Sink":front-left GS2.1:playback_1
jack_connect "PulseAudio JACK Sink":front-right GS2.1:playback_2
jack_connect Мониторы:front-left GS2.2:playback_1
jack_connect Мониторы:front-right GS2.2:playback_2
jack_connect Наушники:front-left GS3:playback_1
jack_connect Наушники:front-right GS3:playback_2
jack_connect "PulseAudio JACK Sink":front-left "PulseAudio JACK Source":front-left
jack_connect "PulseAudio JACK Sink":front-right "PulseAudio JACK Source":front-right
jack_connect GS2.1in:capture_1 "PulseAudio JACK Source":front-left
jack_connect GS2.1in:capture_1 "PulseAudio JACK Source":front-right
jack_connect GS2.2in:capture_1 "PulseAudio JACK Source":front-left
jack_connect GS2.2in:capture_1 "PulseAudio JACK Source":front-right
jack_connect GS3in:capture_1 "PulseAudio JACK Source":front-left
jack_connect GS3in:capture_1 "PulseAudio JACK Source":front-right
На три маленькие usb-шные карты с семплрейтом 48000 отправлялся звук со встроенной, которая считала в 44100 (в скрипте оно не указано, но так оно работает, насколько я понимаю), вместе с тем входы внешних карт и выход PulseAudio JACK Sink подключались к PulseAudio JACK Source, таким образом у меня была возможность, например, анализировать референс-треки плагинами в Ardour прямо из браузера и транслировать звук с компьютера во время созвонов в мессенджере.
Схема показана на первом скриншоте.

Как решить вопрос семплрейта мне подсказал turik02 в теме про Vitalium, за что ему большое спасибо! А вот с захватом звука у меня затык. В PipeWire я приноровился делать посыл вручную при помощи Catia, но, во-первых, это непрактично, а во-вторых, PipeWire воспринимает каждое приложение отдельно и замечает их только тогда, когда они звучат, т.е. я не могу послать звук с компьютера в мессенджер заранее, как это было с общим входом в JACK, вначале мне приходится открыть мессенджер и сказать что-нибудь в микрофон, чтобы PipeWire обнаружил Chromium Input - такие себе пляски с бубном. На втором скриншоте Chromium - это браузер, из которого звук идет на колонки, а Chromium Input - это мессенджер, который забирает звук с микрофона и с колонок. Я не знаю, почему все называется Chromium, нужный результат я получил методом научного тыка. :)
Еще на втором скриншоте видно hdmi, на него в данном случае можно не обращать внимание.

Наверняка существует способ, как в PipeWire прописать установку аналогичную той, что была в JACK, но я, к сожалению, слишком тупенький, чтобы врубиться самостоятельно, потому и прошу помощи.
Вложения
Первый скриншот
Первый скриншот
Второй скриншот
Второй скриншот
Ответить

Вернуться в «Программы РОСА десктоп»