Маршрутизация звука с помощью виртуальных аудиокабелей

Маршрутизация звука с помощью виртуальных аудиокабелей

Я запускаю набор программ, в которых мне нужно направить звук по цепочке.

Программа 1 генерирует звук, который необходимо беззвучно направить в программу 2, а затем программа 2 создает новый источник звука, который необходимо беззвучно направить в программу 3. Наконец, программа 3 создает звук, который необходимо направить на динамики.

Может ли кто-нибудь помочь мне понять, как лучше всего этого добиться? Мне удалось направить звук без звука из программы 1 в программу 2 с помощью "sudo modprobe snd-aloop", что дает мне устройство обратной связи.

Но теперь я застрял на том, как тихо направить этот звук в программу 3. Ах да, и этого нельзя добиться с помощью каналов.

решение1

Pulseaudio или чистый ALSA? Pulseaudio самый простой: создайте фиктивную раковину

pacmd load-module module-null-sink sink_name=tmpsink

и пусть программа 1 выводит на него данные. Программа 2 читает из источника tmpsink.monitor. И так далее. Все это можно записать в скрипт. pacmd helpпоказывает больше команд, которые могут быть полезны, например list-sink-inputs, list-source-outputs, или move-sink-inputи move-sink-outputесли вы не можете указать источники и приемники для программ в командной строке.

Делать это в ALSA, наверное... весело. Прежде чем я попробую сделать это в ALSA, я попробую сделать это с помощью Джека.

Связанный контент