У меня есть компьютер OrangePi, и мне нужно настроить ALSA SoftVol PCM для управления громкостью ЦАП i2S.
Поэтому я создал следующий /etc/asound.conf
pcm.!default {
type plug
slave.pcm "softvol"
}
pcm.softvol {
type softvol
slave {
pcm "hw:1,0"
}
control {
name "SoftVol"
card 1
}
}
и вот обнаруженные устройства
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
По какой-то причине управление громкостью с помощью alsamixer
ничего не делает. И если я меняю блок управления в asound.conf с SoftVol
на eg, то после перезагрузки в alsamixer Master
не появляется никакого управления с таким именем .Master
Так вот, у меня есть подозрение, что ALSA не читает мой файл /etc/asound.conf!
Я использую операционную систему Armbian -> Debian.
У меня есть еще один pi (nanopi), также работающий под управлением Armbian -> Debian, использующий тот же /etc/asound.conf, и там все работает.
решение1
Миксер не будет отображаться, пока он не будет использован в первый раз.alsa.opensrc.org:
Примечание:Новый регулятор громкости не появится немедленно! Только после первого использования нового определенного устройства (например, с помощью команды выше) должен
amixer controls | grep <control name>
отобразиться ваш новый регулятор. Микшеры, которые уже были запущены до первого использования (например, KMix), должны быть перезапущены для принятия изменений. Если вы все еще не видите новый регулятор, попробуйте перезапустить ALSA или ваш ПК.
Поскольку в вашей конфигурации по умолчанию установлено устройство softvol, запуска speaker-test
или aplay
воспроизведения файла .wav должно быть достаточно, чтобы появился регулятор громкости.