Eu tenho um pc orangepi e preciso configurar um alsa softvol pcm para controlar o volume do i2s dac.
Portanto, criei o seguinte /etc/asound.conf
pcm.!default {
type plug
slave.pcm "softvol"
}
pcm.softvol {
type softvol
slave {
pcm "hw:1,0"
}
control {
name "SoftVol"
card 1
}
}
e aqui estão os dispositivos detectados
root@orangepipcplus:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: audiocodec [audiocodec], device 0: SUNXI-CODEC sndcodec-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: snddaudio [snddaudio], device 0: SUNXI-TDM0 snddaudio-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: sndhdmi [sndhdmi], device 0: SUNXI-HDMIAUDIO sndhdmi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
Por alguma razão, controlar o volume alsamixer
não faz nada. E se eu alterar o bloco de controle no asound.conf de SoftVol
para, por exemplo, Master
nenhum controle com o nome Master
aparece no alsamixer após uma reinicialização.
Portanto, minha suspeita desagradável é que meu /etc/asound.conf não é lido pelo alsa!
O sistema operacional que estou usando é Armbian -> Debian.
Eu tenho outro pi (nanopi) também rodando Armbian -> Debian usando o mesmo /etc/asound.conf e aí está tudo funcionando.
Responder1
O mixer não aparecerá até que seja usado pela primeira vez. Poralsa.opensrc.org:
Observação:O novo controle de volume não aparecerá imediatamente! Somente após a primeira utilização do dispositivo recém-definido (por exemplo, com o comando acima), deverá
amixer controls | grep <control name>
exibir seu novo controle. Os mixers que já foram iniciados antes do primeiro uso (como o KMix) devem ser reiniciados para adotar as alterações. Se você ainda não vir o novo controle, tente reiniciar o ALSA ou o seu PC.
Como sua configuração define o dispositivo softvol como padrão, executar speaker-test
ou usar aplay
para reproduzir um arquivo .wav deve ser suficiente para fazer o controle de volume aparecer.