デフォルトのソースを で定義された仮想 dsnoop デバイス (dmic_sv) に設定しようとしており、次の行を追加しました~/.asoundrc
。~/.config/pulse/default.pa
# Tried placing the line below both before and after `load-module module-udev-detect tsched=0`,
# but it didn't make a difference
load-module module-alsa-source device=dmic_sv
...
set-default-source alsa_input.dmic_sv
起動時にPulseAudioはdmic_svを見つけることができないため、それをロードしてデフォルトのソースに設定することはできませんが、PulseAudioを再起動すると問題が解決します。 PulseAudioがALSAの前にロードされていると思われるので、ALSAをロードした後にPulseAudioを再起動することはうまくいきますが、それを解決するための良い方法が見つかりませんでした(下のハックだけがdmic_svが出力に表示されるのを待ってからarecord -L
PulseAudioを再起動します)。
while ! arecord -L | grep dmic_sv > /dev/null
do
echo "Waiting for dmic_sv..."
sleep 2
done
killall pulseaudio
ハッキングを使用する必要がないように正しい方法で設定するのを手伝ってくれてありがとう。