Descobri que havia arquivos de configuração em:
/usr/share/alsa/pcm
Isso estava criando as interfaces de som surround. Eu deletei os arquivos e as interfaces não são mais criadas.
Eu preciso criar duas interfaces de loopback do ALSA para vincular dois aplicativos.
Eu tenho o seguinte em /etc/modprobe.d/sound.conf -
alias snd-card-1 snd-aloop
options snd-aloop pcm_substreams=2,2 id=1,2 enable=1,1 index=10,11
Isso cria os loopbacks e está funcionando, mas também cria cargas de interfaces de som surround que eu não preciso. Exemplo abaixo -
surround51:CARD=D2,DEV=0
Loopback, Loopback PCM
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=D2,DEV=0
Loopback, Loopback PCM
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
Existe alguma maneira que eu possa criar dispositivos loopback apenas para o Stereo?
Obrigado
Descobri que havia arquivos de configuração em:
/usr/share/alsa/pcm
Isso estava criando as interfaces de som surround. Eu deletei os arquivos e as interfaces não são mais criadas.
Alternativa com o Pulseaudio:
Para tornar um aplicativo em Pulseaudio, a saída de outro aplicativo é bastante fácil:
O Pulseaudio tem o conceito de fontes sonoras e sumidouros de som. Você pode conectar arbitrariamente aplicativos para aqueles. O Pulseaudio possui módulos para lembrar essas conexões e restaurará a conexão da próxima vez que o aplicativo for reiniciado (se a conexão for possível). Caso contrário, o Pulseaudio escolherá as conexões padrão para você.
Você pode inspecionar e alterar tudo isso usando a pavucontrol
GUI, que também permite alterar os controles de volume na conexão entre o aplicativo e a origem / coletor e a própria fonte / coletor.
O caso de uso básico de quatro fontes / sumidouros é para representar gravação e reprodução de hardware. Mas não se limita a isso: existem várias maneiras de criar outros tipos de fontes e pias. Em particular, cada coletor conectou a ele uma .monitor
source, que apenas loopbacks. Na verdade pavucontrol
usa esses para implementar a exibição de medição de som.
Então, dois loops, até 100 loops, ou conexões em forma de tee com vários aplicativos ouvindo um aplicativo, são realmente simples.
Se a GUI não for suficiente para você, há também os aplicativos de linha de comando pacmd
e pactl
, que permitem o script. Veja pacmd help
ou pactl help
para detalhes. (Eu não tenho idéia do porque há dois deles ...). No entanto, sua saída não é particularmente fácil de analisar e precisa de um pouco de mexer com grep -A
etc.
O Pulseaudio inclui uma camada de compatibilidade para permitir que todos os aplicativos da ALSA usem o Pulseaudio, por meio do dispositivo pulse
ALSA.
Se você tem um .asoundrc
como
pcm.!default pulse
ctl.!default pulse
em seguida, todos os aplicativos da ALSA usarão o Pulseaudio por padrão (a menos que você o configure para usar um dispositivo ALSA diferente). Alguns aplicativos da ALSA acham que precisam usar hw:...
(que é um design ruim), e você precisa convencer esses aplicativos a usar default
. Alguns aplicativos ALSA tentam fazer coisas que só funcionam em hw:...
, e isso causará problemas, mas são raros.
Linha de fundo: O som de roteamento é muito mais fácil com o Pulseaudio (ou com o Jack) do que com o ALSA diretamente.