Sonic Pi と USB スピーカー

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

ALSAバイスの優先度を設定できるらしい。

/etc/motdprobe.d/alsa-base.conf

 

ALSA用設定ファイル .asoundrc

スピーカー用、マイク用といった、細かい設定をファイルに設定できるらしい。

スピーカー用のデバイス番号は、 

aplay -l

で確認する。

また、マイクのデバイス番号は、

arecord -l

で確認できる。

RaspberryPi3でマイクとスピーカーを使えるようにする | Corgi Lab. 〜備忘録のための技術ブログ〜