RasPiにダイソーの300円スピーカーを繋いで、Sonic Pi からの音声出力できている。
この場合、RasPiのスピーカー出力を analog に設定するだけで良かった。
しかし、スピーカーを USBスピーカーに変更したところ、音がでない。(涙
タスクバーのスピーカーアイコンを右クリックすると、メニューがでてくるが、analog と HDMI を選択する事ができる。ここで HDMI を選択し、HDMIなモニタにスピーカーがついていれば、問題なくモニタのスピーカーから音がなる。
しかし、この設定では USBスピーカーに出力されない。
aplay -D plughw:1,0 というふうに、デバイス番号を指定すると USBスピーカーから音は出る。なので、Sonic Pi に出力デバイス指定できれば USBスピーカーから音が出るはず。
とここまでは比較的すぐに思いついたが、この先が長かった。多少ググった範囲では、Sonic Pi 側に出力デバイスを指定する方法は見つからなかった。Orz...
ということは。Sonic Pi はシステムのデフォルト?設定をみて、出力先を判断しているはず。
その観点で、改めてググった。
amixer cset
amixier cset (デバイス番号)でデバイスを設定すると、出力デバイスを覚えてくれるらしい。
alsa-base.conf
/etc/motdprobe.d/alsa-base.conf
ALSA用設定ファイル .asoundrc
スピーカー用、マイク用といった、細かい設定をファイルに設定できるらしい。
スピーカー用のデバイス番号は、
aplay -l
で確認する。
また、マイクのデバイス番号は、
arecord -l
で確認できる。
RaspberryPi3でマイクとスピーカーを使えるようにする | Corgi Lab. 〜備忘録のための技術ブログ〜