図6はラズベリーパイにマイク付きのWebカメラをUSB接続した状態で上のコマンドを実行した結果の一例です。

図6●マイクを見つけるためのarecordコマンド
$ arecord -l 
カード 1: U0x46d0x825 [USB Device 0x46d:0x825], デバイス 0: USB Audio [USB Audio]
 サブデバイス: 1/1
 サブデバイス #0: subdevice #0

 「arecord -l」を実行した結果、情報が提示されるのは「マイクとして利用できるサウンドカード」です。ここでは、そのサウンドカードのカード番号が1であることが分かります。また、それがUSB Audio(USB機器)であることも調べられます。

 スピーカー(音声再生)として使う設定になっているサウンドカードは図7のコマンドを実行すると見つかります。

図7●スピーカーを見つけるためのaplayコマンド
$ aplay -l 
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: ALSA [bcm2835 ALSA], デバイス 0: bcm2835 ALSA [bcm2835 ALSA]
  サブデバイス: 8/8
  サブデバイス #0: subdevice #0
  サブデバイス #1: subdevice #1
  サブデバイス #2: subdevice #2
  サブデバイス #3: subdevice #3
  サブデバイス #4: subdevice #4
  サブデバイス #5: subdevice #5
  サブデバイス #6: subdevice #6
  サブデバイス #7: subdevice #7
カード 0: ALSA [bcm2835 ALSA], デバイス 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0

 「aplay -l」を実行した結果、情報が表示されるのは「スピーカーとして利用できるサウンドカード」ですから、ここではカード番号が0のサウンドカードがスピーカーとして使えることが分かります*1。さらに、そのサウンドカードに接続しているデバイス1がHDMIを使って音を出すために使われることも分かりました。デバイス0はステレオジャックから音を出すために使われます。

*1 利用できるサウンドカードは次のコマンドを使っても確認できます。この実行結果では、サウンドカード0にbcm2835、サウンドカード1にusb_audioが認識されていることが分かります。
$ sudo cat /proc/asound/modules 
 0 snd_bcm2835
 1 snd_usb_audio

瀬谷 啓介(せや けいすけ)
Double Bind(ダブルバインド)代表取締役社長
「アジャイルソフトウェア開発の奥義」「まるごと学ぶiPhoneアプリ制作教室」 などソフトウェア・プログラミング関連の著書・訳書多数。オンラインIT動画学習サイト「zero2one」を運営。幅広くIT教育に関わる。日本TI半導体グループ技術主任、日本AMD次世代製品開発センター長、 フィルモアアドバイザリーCTO・執行役員などを歴任。小型飛行機免許所有、理論物理学学士、物性物理学修士。