ばかおもちゃ本店:Youtube twitter:@sashimizakana Amazon.co.jpアソシエイト

2014年5月6日火曜日

BeagleBone Black(Ubuntu)でUSBスピーカーをつかう


Ubuntuを入れたBeagle Bone BlackにUSBスピーカーを接続して使ってみた。
Webアプリケーションの開発なんかではLinuxを利用してはいても、デスクトップとして利用していないので結構苦労した。サウンドデバイスへのアクセスに権限が必要なことに気付かず色々無駄な設定をしてしまった。
sudoで実行したら動作することに気づき、その後、audioグループに追加すれば良いと分かった。

実際の設定自体はごく単純で、ALSAをaptでインストールしてUSBサウンドデバイスを
/etc/asound.confで設定するだけである。USBスピーカーは物によるかもしれないが、私が買ったamazonで安かったやつはそのまま認識された。
注意点としてはUSBスピーカーは途中からつなぐのではなく、電源投入時には接続している必要がある。

alsaのインストールは以下のとおり。
#alsaを入れる
sudo apt-get install alsa-base

#ユーザーをaudioグループに入れる
sudo usermod -aG audio ubuntu
#ログオフ・オンでグループ反映される。
lsusbコマンドを実行して一覧の中に入っていれば、デバイスとしては認識されている。
さらにaplay -lでcardが二つ以上(一つは元からHDMIに付いてるサウンド)あれば音声デバイスとしても認識されている。
表示されなかった場合、sudo aplay -lで表示されれば権限の問題である。
上にも書いてあるが、ログオフ・ログオンしてaudioグループの権限があれば実行できるはず。

で、たぶんHDMIの方がデフォルトになっているので設定を変える。
デバイスの設定は上記のとおり、/etc/asound.confに設定ファイルを作成する。
たぶんデフォルトだと無いので、sudo vi /etc/asound.confなどで作成して、

pcm.!default sysdefault:Speaker

上記を追加するとHDMIの代わりにUSBデバイスが選ばれる。
Speakerの部分は自分の環境でaplay -lで表示される名前を入れる(デフォルトのカードだとBlackって部分)。

実行は、aplay ファイル名 で行う。
音が鳴らない場合、エラーメッセージのようなものがなければ、違うデバイスが選択されていると思う。
エラーメッセージがある場合、設定が間違ってる。
/etc/asound.conf はaplayの実行時に呼ばれるっぽいので、書き直せばすぐ反映されるため、色々試してみると良い。

音量が大きい場合、alsamixerコマンドから設定できる。
ちなみにこれもaudioグループにいないと実行できない。



ELECOM 木のスピーカ 2.1W USB ブラック MS-W11UBK
エレコム (2012-04-19)
売り上げランキング: 1,868
つかえた。