5000円で作れるAirplay、Bluetooth両対応スピーカー
RaspberryPiとその辺に転がってるBluetoothとWifiドングルを、RaspberryPiに組合せて、リモートスピーカーを作ってしまえる。
ぶっちゃけ、USBスピーカーをつなぐだけなんだけど。 テレビにつないじゃば、AppleTVに早変わり。スピーカーにつないじゃえばAirMAcExpressに早変わり。AirPlayスピーカーの出来上がり。
ボタンつけて、ボタンにRadikoつないだらラジオに早変わり。
そんな夢の様なRaspberryPiオーディオの基本的な使い方で、一番基本のUSBスピーカーから
Raspberry Pi にUSBスピーカーをつないだ
今回つないだのは、うちにあったこれの中華版
USBスピーカーを繋ぐ前に知っておくこと
USBスピーカーは、USBからの電源を使うものと、自分で電源を確保するものがある。
電源をギリギリで動かしているRaspberryPiだとUSBスピーカーで音を出した瞬間に電力不足で再起不能になるか、リブートします。最低でも5V1Aは用意しておくこと
USBで電源を取るタイプのものとは違います。
このようにUSBで電源を取るタイプとはちがってUSBでサウンドデバイスとして認識されるものを使いました。
USBスピーカーはつないだら認識する。
USBスピーカーはつないだら認識するので楽ちん。
lsusb や aplay 、amixerなどで確認する。
takuya@raspberrypi:~$ sudo lsusb Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. Bus 001 Device 004: ID 0d8c:0103 C-Media Electronics, Inc. CM102-A+/102S+ Audio Controller Bus 001 Device 005: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
takuya@raspberrypi:~$ sudo aplay -L null Discard all samples (playback) or generate zero samples (capture) default:CARD=Device USB Sound Device, USB Audio Default Audio Device sysdefault:CARD=Device USB Sound Device, USB Audio Default Audio Device front:CARD=Device,DEV=0 USB Sound Device, USB Audio Front speakers surround40:CARD=Device,DEV=0 USB Sound Device, USB Audio 4.0 Surround output to Front and Rear speakers surround41:CARD=Device,DEV=0 USB Sound Device, USB Audio 4.1 Surround output to Front, Rear and Subwoofer speakers surround50:CARD=Device,DEV=0 USB Sound Device, USB Audio 5.0 Surround output to Front, Center and Rear speakers surround51:CARD=Device,DEV=0 USB Sound Device, USB Audio 5.1 Surround output to Front, Center, Rear and Subwoofer speakers surround71:CARD=Device,DEV=0 USB Sound Device, USB Audio 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers iec958:CARD=Device,DEV=0 USB Sound Device, USB Audio IEC958 (S/PDIF) Digital Audio Output default:CARD=ALSA bcm2835 ALSA, bcm2835 ALSA Default Audio Device sysdefault:CARD=ALSA bcm2835 ALSA, bcm2835 ALSA Default Audio Device
USB スピーカーをデフォルトに
Rpiには、HDMIと音声OUTが最初から付いているので、USBスピーカーをデフォルトにする
慣れないうちは、とりあえずUSBスピーカーをデフォルトにするにするのが動作確認には手っ取り早いので
sudo vim /etc/modprobe.d/alsa-base.conf
14 # Keep snd-pcsp from beeing loaded as first soundcard 15 options snd-pcsp index=-2
次のように設定してReboot
ボリュームの調整
sudo alsamixer
でボリュームの調整
コマンドからボリュームの調整
sudo amixer set PCM 13%
私の場合、PCMになっていたので、上記のようにしてボリュームをコマンドから調整した
takuya@raspberrypi:~$ sudo amixer Simple mixer control 'PCM',0 Capabilities: pvolume pswitch pswitch-joined penum Playback channels: Front Left - Front Right Limits: Playback 0 - 9472 Mono: Front Left: Playback 2978 [31%] [-25.37dB] [on] Front Right: Playback 2842 [30%] [-25.90dB] [on] Simple mixer control 'Loudness',0 Capabilities: pswitch pswitch-joined penum Playback channels: Mono Mono: Playback [on]
コマンドから音のON/OFF
sudo amixer set PCM off
sudo amixer set PCM on
あとは、これをGPIOにつないだタクトスイッチから操作すれば、USBスピーカーのボリュームの大小オンオフを切り替えられますね。
サンドチェック
sudo mplayer 03\ メルト.m4a
などと、mplayer を使うのが手軽でした。
USBスピーカー
小さいわりにボリューム確保できてて、ケーブル一本で済むのでお勧めです。
液晶モニタに載せておけば邪魔にならないしね。液晶モニタのスピーカーが非力なときに重宝します。
市販のBluetoothスピーカー高すぎるわ
iPhoneの充電機能すらない「素」のスピーカーが10000円超えて売られてて、それを買う人がいっぱいるとか、この国は豊かですね。