Como fazer o plugin dmix do alsa funcionar com a saída de arquivos como escravo?

0

Atualmente eu tenho duas fontes de som, servidor MPD e bluetooth sink. Cada um direciona seu som para um dispositivo softvol para que eu possa alterar seu volume independentemente e também possa misturá-los se quiser. Suponho que a mixagem seja feita na própria placa de som. Isso funciona. (veja meu asound.conf )

Mas, no final do dia, quero que o som seja enviado pela rede com Snapcast . Com apenas uma fonte como entrada para o plugin de arquivo, o som correto sai da placa de som do meu cliente snapcast. Mas se ambas as fontes estão ativas, elas não se misturam, elas se alternam, o que parece realmente cruel.

Poderia ter esperado que o plug-in do arquivo não seja compatível. Então, por que não usar dmix . Então eu configurei meu asound.conf como mostrado abaixo. Acontece que dmix só funciona com plugues hw como pcm escravo.

Alguém tem um método para fazer o dmix funcionar com o plugin do arquivo? Ou alguém pode oferecer uma configuração alternativa para obter os sons misturados e canalizados para a saída do arquivo?

pcm.snd_card {
        type hw
        card 0
        device 0
}
pcm.mpd {
   type            softvol
   # works: slave.pcm       snd_card
   # cruel sound: slave.pcm rate48000Hz
   # does not work:
   slave.pcm   dmixer
   control.name   "MPD"
   control.card    0
pcm.btspeaker {
   type            softvol
   # works: slave.pcm       snd_card
   # cruel sound: slave.pcm rate48000Hz
   # does not work:
   slave.pcm dmixer
   control.name   "BT"
   control.card    0
}
# Snapcast extension:
pcm.writeFile {
    type file
    slave.pcm null
    file "/tmp/snapfifo"
    format "raw"
}
pcm.rate48000Hz {
    type rate
    slave {
        pcm writeFile
        format S16_LE
        rate   48000
        }
}
# dmix extension
pcm.dmixer {
    type dmix
    ipc_key 666
    ipc_perm 0666
    # problem is here:
    slave.pcm rate_48000Hz
}

PS: Estou trabalhando no Raspberry 3B + com o mais novo Raspbian Stretch lite.

    
por FredSchreck 23.07.2018 / 09:45

0 respostas

Tags