1. はじめに
Raspberry Piで双方向通話ができないか試している。当然、スピーカーやマイクが必要になるが、Raspberry Piで音を扱ったことがほとんどない。そこで、いくつかの手持ちの機器でサウンドの操作について調べてみることにした。
2. 機材
- Raspberry Pi 4B
OSは、Raspberry OS(Bullseys Lite 64bit) 2023/05/03版 - ヘッドセット
ELECOM HS-HP07SUBK
https://www.elecom.co.jp/products/HS-HP07SUBK.html
マイク付きヘッドセットが色々と便利そうで楽そう。
3. 準備
ヘッドセットは、USB 2.0の下側(LANが右にある状態でみている)に挿した。
音源が必要なので、ネットで適当にフリーのWAV音源を探す。探したらwgetで取得しておく。以後、test.wavとしておく。
wget https:/<検索してみつけたURL>/ファイル名.wav
USBデバイスとしての認識を確認。
2行目の「USB PnP Audio Device」がそれっぽい
pi@raspberrypi:~ $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 0c76:161f JMTek, LLC. USB PnP Audio Device
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
サウンドモジュールの確認
デフォルトからUSB Audioが増えている。
pi@raspberrypi:~ $ cat /proc/asound/modules
0 snd_bcm2835
1 vc4
2 vc4
3 snd_usb_audio
再生デバイスのリストを表示。
カード3として認識されている。
pi@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Headphones [bcm2835 Headphones], device 0: bcm2835 Headphones [bcm2835 Headphones]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: vc4hdmi0 [vc4-hdmi-0], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: vc4hdmi1 [vc4-hdmi-1], device 0: MAI PCM i2s-hifi-0 [MAI PCM i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: Device [USB PnP Audio Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
4. 試す
4.1. 再生テスト
ハードウェアの番号で指定する。カード3だったので、3,0とする。
aplay --device=hw:3,0 test.wav
番号ではなくてaplay -Lで出てきた。識別で指定もできる。
xacti@raspberrypi:~ $ aplay -L
~略~
hw:CARD=Device,DEV=0
USB PnP Audio Device, USB Audio
Direct hardware device without any conversions
plughw:CARD=Device,DEV=0
USB PnP Audio Device, USB Audio
Hardware device with all software conversions
sysdefault:CARD=Device
USB PnP Audio Device, USB Audio
Default Audio Device
~略~
aplay --device=plughw:CARD=Device,DEV=0 test.wav
でも鳴るし、
aplay --device=hw:CARD=Device,DEV=0 test.wav
でも鳴った。
4.2. 録音テスト
こちらもハードウェアとして3番を指定する。
マイクに向かって適当に話す。
arecord -D plughw:3 -f cd rectest.wav
再生すると自分で話したことが聞こえてきた。
aplay --device=hw:3,0 rectest.wav
5. 今後
- その他のヘッドセット、マイク、スピーカーでテスト
- 実際の通信で使ってみる。
以上