Alsa: snd-aloop está criando dispositivos de som surround

1

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

    
por marrold 16.03.2018 / 14:45

2 respostas

1

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.

    
por 17.03.2018 / 02:50
0

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.

    
por 17.03.2018 / 11:12

Tags