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.