私的AI研究会 > ラズパイ覚書 > オーディオ

オーディオ接続

デバイスの確認

lsusb 接続中のデバイスを確認する。

$ lsusb
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8086:0808 Intel Corp. 
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

接続中のオーディオデバイスを確認する。

$ 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 IEC958/HDMI [bcm2835 IEC958/HDMI]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 0: ALSA [bcm2835 ALSA], デバイス 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
$ arecord -l
 **** ハードウェアデバイス CAPTURE のリスト ****
 カード 1: Device [USB PnP Sound Device], デバイス 0: USB Audio [USB Audio]
   サブデバイス: 1/1
   サブデバイス #0: subdevice #0

 オーディオデバイスをまとめると

カード番号をXとすると、plughw:Xと表す。カード番号X、デバイス番号Yを組み合わせてplughw:X,Y、さらにサブデバイス番号Zを追加したplughw:X,Y,Zと細かく指定することもできる。

オーディオデバイスの優先度を確認する。

$ cat /proc/asound/modules
 0 snd_bcm2835
 1 snd_usb_audio
 

オーディオデバイスの優先度を変更する

 再生時や録音時は、デバイスを指定しなければ優先度が高いものから利用る。予めデバイスそのものの優先度を変更しておくこともできる。

 

Raspberry Pi 内のサンプル音源でスピーカーをテストする。

$ aplay -D plughw:0,0 /usr/share/sounds/alsa/Front_Center.wav
再生中 WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, レート 48000 Hz, モノラル

女性の声で「フロント、センター」と聞こえたらOK。

 

オーディオデバイスの音量を変更する

 amixer sset XXX YYY -cZZZで各カードの音量レベルを変更することができる。(XXXにはコントロール名。YYYに数値、ZZZにカード番号)
 デフォールト設定の音量が小さいことがあるので、音量を設定してからテストした方がよい。

 

オーディオデバイスで録音・再生をする

 

グラフィカルなオーディオ調節ツール

$ alsamixer

参考資料

 

Last-modified: 2020-02-20 (木) 12:10:17