USBスピーカーからラズベリーパイの音を出す
2018/07/24
ラズベリーパイにUSBスピーカーを繋いで音を出す
スピーカーの無いラズベリーパイから音を出すには、イヤフォンジャック、HDMIそしてUSBスピーカーがあります。今回はUSBから電源と信号を出力するタイプのスピーカーを使用します。
使用したもの
(これは安価でUSBケーブルのみの接続のため配線がスッキリします。)
USB機器の確認
USBスピーカーがちゃんと繋がっているか確認します。
$ lsusb
Bus 001 Device 005: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller
Bus 001 Device 004: ID 1a81:1004 Holtek Semiconductor, Inc.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
桃文字のようにUSB機器として認識されています。
オーディの確認
オーディオの割り当ての番号を調べます。
$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: ALSA [bcm2835 ALSA], デバイス 0: bcm2835 ALSA [bcm2835 ALSA]
サブデバイス: 7/7
サブデバイス #0: subdevice #0
サブデバイス #1: subdevice #1
サブデバイス #2: subdevice #2
サブデバイス #3: subdevice #3
サブデバイス #4: subdevice #4
サブデバイス #5: subdevice #5
サブデバイス #6: subdevice #6
カード 0: ALSA [bcm2835 ALSA], デバイス 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
カード 1: Device [USB PnP Sound Device], デバイス 0: USB Audio [USB Audio]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
桃文字がUSBスピーカーです。この場合「カード1」の「デバイス0」として認識されています。
モノラルのwavを再生する場合
$ aplay -D plughw:1,0 test.wav
再生中 WAVE 'test.wav' : Signed 16 bit Little Endian, レート 48000 Hz, モノラル
OpenJTalkの音声はモノラルなので「plug」を付けると再生できます。
mp3を再生する場合
$ mpg321 -a hw:1,0 test.mp3
Playing MPEG stream from test.mp3 ...
MPEG 1.0 layer III, 192 kbit/s, 44100 Hz joint-stereo
[0:01] Decoding of robot.mp3 finished.
GUIでUSBスピーカーをデフォルトにする
Remminaかディスプレイを繋いでGUIから設定します。
設定→Audio Device Settings → Audio Advantage Microll (Alsa mixer)を選択します。それからMake Defaultをクリックします。
まとめ
USBスピーカーはRaspberrypi3Bには繋いだだけでは音は出ません。USBスピーカーを出力先に設定し、音量の設定が必要となります。他の機器でイヤホンジャック等に差し込むと自動的に出力先が切り替わるものもありますが、それと同じ感覚だと戸惑うかもしれません。