Tentando alcançar:
Assim, em geral, o processo deve ser capaz de ouvir o áudio do dispositivo e gravar áudio como se fosse recebido pelo microfone. O processo sabe como fazer isso se o dispositivo de áudio estiver configurado.
Para ativar isso, tentei configurar o PulseAudio e ter um dispositivo virtual que possa manipular entrada e saída.
A primeira configuração foi:
pulseaudio -D --exit-idle-time=-1
pactl load-module module-null-sink sink_name=DummyOutput sink_properties=device.description="Virtual_Dummy_Output"
pacmd load-module module-virtual-sink sink_name=v-sink
pacmd set-default-sink v-sink
pacmd set-default-source v-sink.monitor
(inspirado por esta resposta )
Isso permitiu ouvir o áudio da saída do dispositivo virtual. Para adicionar também entrada de áudio (microfone) adicionei o seguinte para adicionar microfone virtual:
pactl load-module module-null-sink sink_name=MicOutput sink_properties=device.description="Virtual_Microphone_Output"
pacmd load-module module-virtual-source source_name=VirtualMic
Depois de adicionar isso, comecei a mixar áudio - alto-falante & mic - que faz com que a conexão peer obtenha ecos e não um som claro.
Eu entendo que preciso separar o dispositivo virtual para dois coletores diferentes, mas qualquer configuração que eu tentei causou outros resultados inesperados.
Não tenho muita experiência com o PulseAudio, por isso, agradeço qualquer ajuda / referência.
Como o PulseAudio pode ser configurado para ter o (s) dispositivo (s) virtual (is) padrão (s) que podem atuar como line-in e alto-falantes regulares. E quando a tubulação de áudio para o microfone não será ouvida pelos alto-falantes?