Audioの再生はできたけど、録音ができなかったエントリの続きです。
音量調整
alsamixer
コマンドはGUIで音量の設定をできるものです。
コマンドを実行すると、こんな画面が表示されます。
サウンドカードの選択は、F6
キーで押すと、サウンドカード選択用のポップアップが表示されます。
カーソルキーで2 C-Media USB Headphone Set
を選んでエンターキーを押します。
ヘッドホン、マイクのボリューム調整画面に変わるので、カーソルキーで調整してEsc
キーで抜けます。
録音
録音で利用できるデバイスを確認します。
root@sparkgene_edison:~# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
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 0: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
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: dummyaudio [dummy-audio], device 0: 14 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: dummyaudio [dummy-audio], device 1: ((null)) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: dummyaudio [dummy-audio], device 2: ((null)) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Set [C-Media USB Headphone Set], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
再生と同じで、card 2, device 0でした。
マイクを繋いで録音を試してみます。
root@sparkgene_edison:~# arecord -D plughw:2,0 record.wav
Recording WAVE 'record.wav' : Unsigned 8 bit, Rate 8000 Hz, Mono
このコマンドだと、Ctrl + C
で中断するまでずっと録音を続けるので、無駄にでかいファイルにならないように -d 5
オプションを指定して5秒で録音を停止すると便利。
しかし、うまく録音されません。。
色々と調べてみても原因がわからず、使っているのが子供のおもちゃ用だからかなと思い。。。
原理は同じなのでイアホンをマイクの所に挿し、録音を試すとわずかに雑音が!
あれ?と思い、MacにUSBのサウンドカードを挿して試してみると、おもちゃのマイクだと全く入力がないけど、イアホンを挿すと雑音だけど入力がある。。
よくよく見ると、マイクの方もコネクタがステレオ対応していそうな端子がついてて、それが悪さをしているのかと思い、浅く挿したら音を拾うようになったww
というわけで、Edisonのファームを2.1にアップデートすると、簡単にオーディオを扱えるようになりました。