RaspberryPi
USB
Raspberrypi3

【マメ知識】ラズパイに接続したロジクールC270で録音をする

ラズパイのマメ知識メモ

ロジクール社のUSBカメラC270はマイク機能も持った優れもののUSBデバイスです。
これを使って録音をする場合のメモです。
ポイントとして、録音に関してはデフォルトのものもあるので、コマンドのパラメータでデバイス番号を指定する必要があることがあります。

動作確認は
* Raspberry Pi 3 MODEL B
* RASPBIAN STRETCH WITH DESKTOP 2017-11-29
* ロジクール HD Webcam C270
の組み合わせで行っています。

デバイスが認識されていることの確認

プラグアンドプレイに対応しているので、OS起動中にケーブルを指す形で構いません。

$ lsusb
Bus 001 Device 004: ID 046d:0825 Logitech, Inc. Webcam C270
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

デバイス番号の確認

arecordは最初からOSに入っているコマンドです。

$ arecord -l
**** ハードウェアデバイス CAPTURE のリスト ****
カード 1: U0x46d0x825 [USB Device 0x46d:0x825], デバイス 0: USB Audio [USB Audio]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0

この結果から、USBマイクは
カード番号: 1
デバイス番号: 0
であることがわかります。

マイクのボリュームコントロール

amixerも最初からOSに入っているコマンドです。事前に調べたカード番号:1をパラメータで指定します。

$ amixer -c 1
Simple mixer control 'Mic',0
  Capabilities: cvolume cvolume-joined cswitch cswitch-joined
  Capture channels: Mono
  Limits: Capture 0 - 16
  Mono: Capture 12 [75%] [24.00dB] [on]

ボリュームの最大値が16で現在が12であることがわかります。
次のコマンドで最大の16をセットします。

$ amixer sset Mic 16 -c 1
Simple mixer control 'Mic',0
  Capabilities: cvolume cvolume-joined cswitch cswitch-joined
  Capture channels: Mono
  Limits: Capture 0 - 16
  Mono: Capture 16 [100%] [30.00dB] [on]

録音

録音はarecordコマンドで行います。
-Dのオプションでカード番号:1 デバイス番号:0を指定します。
-dのオプションは時間間隔です。
他にもビット長、ビットレートなどいくつかオプションはありますが、最低限のパラメータとしては以下の形になります。

$ arecord -D plughw:1,0 -d 5 Music/test.wav
録音中 WAVE 'Music/test.wav' : Unsigned 8 bit, レート 8000 Hz, モノラル

(おまけ)再生テスト

再生はaplayコマンドで行えます。一番簡単にテストするには、イヤホンをラズパイのジャックに差し込んでから次のコマンドを実行します。

$ aplay Music/test.wav 
再生中 WAVE 'Music/test.wav' : Unsigned 8 bit, レート 8000 Hz, モノラル

関連リンク 【マメ知識】ラズパイ+ロジクールC270+fswebcamで写真撮影をする場合のエラー対策