/var/log/messages

debugging with sixth sense

RaspberryPI に USB マイク付けて云々

デバイス自体は普通に認識。

$ sudo apt-get install pulseaudio
$ lsusb
Bus 001 Device 006: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter
$ pactl list short sources

出力略。認識できてるみたいです。つうか RasPI は USB がポート二つしかなくてキーボードとマイク繋ぐとマウスががが状態。困ってたら alsamixer は端末で表示できちゃうんですね。

なんかワケワカんねぇ、と言いつつ alsamixier で、とか alsa-oss 入れて、とかやっていたのですがよくよく見てみるに /dev/snd というディレクトリを発見。

以下なカンジ。

pi@raspberrypi ~ $ ls /dev/snd -l
total 0
drwxr-xr-x 2 root root       60 Mar 24 16:40 by-id
drwxr-xr-x 2 root root       80 Mar 24 16:40 by-path
crw-rw---T 1 root audio 116,  0 Mar 24 16:17 controlC0
crw-rw---T 1 root audio 116, 32 Mar 24 16:40 controlC1
crw-rw---T 1 root audio 116, 16 Mar 24 17:27 pcmC0D0p
crw-rw---T 1 root audio 116, 56 Mar 24 16:40 pcmC1D0c
crw-rw---T 1 root audio 116, 48 Mar 24 17:27 pcmC1D0p
crw-rw---T 1 root audio 116,  1 Jan  1  1970 seq
crw-rw---T 1 root audio 116, 33 Jan  1  1970 timer

aplay -l の出力がざっくり以下なカンジなので

pi@raspberrypi ~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 7/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: Set [C-Media USB Headphone Set], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

おそらくは pcmC1D0[cp] というデバイスがそれに当たるはず。でも c とか p とかって何なのかな。む、以下な文書にてフォローあり。

pcmC?D?p は pcm playback devices で、pcmC?D?c は pcm capture device らしい。これを開いて云々、で良いのかどうか。

追記

とりあえず、ということでふつーに鳴ってる音を録音することはできました。

$ sudo arecord --device hw:1 -r 44100 -f S16_LE ~/sample.wav

凄いすね。ちなみに hw:1 の 1 は card 1: の 1 です。

Comments