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, я попытался сделать это с помощью Джека.