
Estou executando um conjunto de programas nos quais preciso encadear o áudio.
O programa 1 gera áudio que precisa ser roteado silenciosamente para o programa 2 e, em seguida, o programa 2 cria uma nova fonte de áudio que precisa ser roteado silenciosamente para o programa 3. Finalmente, o programa 3 cria áudio que deve ir para os alto-falantes.
Alguém pode me ajudar a descobrir qual é a melhor maneira de conseguir isso? Consegui rotear o áudio silenciosamente do programa 1 para o programa 2 usando "sudo modprobe snd-aloop", o que me fornece um dispositivo de loopback.
Mas agora não consigo entender como rotear silenciosamente esse áudio para o programa 3. Ah, e isso não pode ser alcançado por tubos.
Responder1
Pulseaudio ou ALSA puro? Pulseaudio é mais fácil: crie um coletor fictício
pacmd load-module module-null-sink sink_name=tmpsink
e deixe o programa 1 gerar saída para ele. O programa 2 lê da tmpsink.monitor
fonte. E assim por diante. Tudo isso pode ser programado. pacmd help
mostra mais comandos que podem ser úteis, por exemplo 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 no ALSA é provavelmente… divertido. Antes de tentar fazer isso no ALSA, tentaria fazer usando Jack.