Pulseaudio ou ALSA puro? Pulseaudio é mais fácil: criar uma pia fictícia
pacmd load-module module-null-sink sink_name=tmpsink
e deixe o programa 1 sair para ele. O programa 2 lê a partir da fonte tmpsink.monitor
. E assim por diante. Tudo isso pode ser roteirizado. pacmd help
mostra mais comandos que podem ser úteis, por ex. list-sink-inputs
, list-source-outputs
ou move-sink-input
e move-sink-output
se você não puder especificar fontes e coletores para os programas na linha de comando.
Fazer isso na ALSA é provavelmente ... divertido. Antes de tentar fazer isso na ALSA, eu tentava fazer isso usando o Jack.