私はOrangePi PCを持っており、i2s DACボリュームを制御するためにALSA SoftVol PCMをセットアップする必要があります。
そこで私は次の/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
再起動後に alsamixer にMaster
その名前のコントロールが表示されなくなります。Master
つまり、私の嫌な疑念は、/etc/asound.conf が alsa によって読み取られていないということです。
私が使用しているOSはArmbian -> Debianです。
同じ /etc/asound.conf を使用して Armbian -> Debian を実行している別の Pi (nanopi) があり、そこではすべて動作しています。
答え1
ミキサーは初めて使用するまで表示されません。alsa.opensrc.org:
注記:新しいボリューム コントロールはすぐには表示されません。新しく定義されたデバイス (上記のコマンドなど) を初めて使用した後にのみ、
amixer controls | grep <control name>
新しいコントロールが表示されます。最初の使用前にすでに起動されていたミキサー (KMix など) は、変更を適用するために再起動する必要があります。それでも新しいコントロールが表示されない場合は、ALSA または PC を再起動してみてください。
設定によりデフォルトが softvol デバイスに設定されているため、 を実行するspeaker-test
か、aplay
.wav ファイルを再生するだけでボリューム コントロールが表示されます。