こんにちは! けい(Twitter)です。
今回は、ラズパイでマイクを接続する方法についてまとめていきたいと思います。
目次
USBマイク
ラズパイに接続するためのマイクとしてUSBマイクを使用します。
ラズパイのUSBアダプターに挿すだけの簡単接続が可能なマイクです。
自由自在に曲げれます。
ラズパイに接続します。
マイクが青色に光りました。
とりあえずの接続は出来ているようです。
コマンドで接続を確認する方法
それでは、ラズパイにUSBマイクを接続した状態で、ラズパイのターミナルを開きましょう。
lsusbで確認
「lsusb」で、usbに接続しているデバイスを確認します。
$ lsusb
マイクを接続した時に、デバイス数が3→4になったので、新しく認識されていることが確認できます。
ALSAからの認識を確認
それでは、次にLinuxのオーディオドライバ「ALSA」から見たUSBマイクの認識を見ていきましょう。
「arecord -l」というコマンドを実行します。
$ arecord -l
**** ハードウェアデバイス CAPTURE のリスト ****
カード 2: Microphone [USB Microphone], デバイス 0: USB Audio [USB Audio]
サブデバイス: 1/1
サブデバイス #0: subdevice #0
「USB Microphone」ということで、しっかり認識されていますね。
ここで重要なのは、カード番号とデバイス番号です。
今回の私の場合は、カード番号が「2」で、デバイス番号が「0」となっています。
これらの数字を、ALSAの設定ファイルに書き込んでいきます。
ALSAの設定ファイルに書き込み
それでは、ALSAにマイクをデフォルトで優先的に認識させるために、ALSAの設定ファイルに書き込んでいきましょう。
$ nano ~/.asoundrc
このコマンドで、ファイルを編集していきます。
次のコードをコピペしてください。
pcm.!default {
type asym
capture.pcm "mic"
}
pcm.mic {
type plug
slave {
pcm "hw:カード番号,デバイス番号"
}
}
ここで変更する場所は、カード番号と、デバイス番号です。(先ほど確認したもの)
私の場合は、カード番号が2、デバイス番号が0でした。
コピペと変更が出来たら、Ctrl+X、Y、Enterの順に入力して、ファイルの編集を終了します。
ここまでできたら一度、ラズパイを再起動しましょう。
$ sudo reboot now
USBマイクで録音&再生
arecordで録音
それでは、USBマイクで録音をしてみましょう。
「arecord out.wav」というコマンドを実行します。
$ arecord out.wav
録音が開始されます。終了はCtrl+Cでできます。
これで録音は終了です。とっても簡単に録音することができます。
音声ファイルは「out.wav」というファイルで保存されます。
aplayで再生
続いて、先ほど録音した音声ファイル「out.wav」を再生してみましょう。
「aplay out.wav」で再生できます。
$ aplay out.wav
音が出ない場合は、ラズパイ側の音声出力環境を見直してみて下さい。
私の場合は、「VNC Viewer」を使っていて、HDMIなどで画面出力しているわけではないので、音はラズパイに備わっている「A/V OUT」端子にイヤホンを接続しています。
HDMIをラズパイとディスプレイで接続している場合は、ディスプレイから音が出るかと思います。もし出ない場合は、youtubeなどを再生した場合に音が出るかどうが確認んしてみて下さい。
マイクの音量を調整する
マイクでどれくらいの大きさの音を拾うかという「マイクのゲイン」を調整できます。
「alsamixer」というコマンドを実行します。
alsamixer
いかにもな感じの画面がでてきます。
ここで、F6キーを押して、サウンドカードの選択を開きます。
↓キーを押して、「USB Microphone」を選択したらEnter。
「再生ミキサーがありません」と表示されますが、それもそのはず、このマイクにはスピーカーがついてないので、OKです。
続いて、F4キーを押して、「録音」の項目を選びます。
この画面でマイクの音量調節が出来ます。
↓キーでゲインを下げて、↑キーでゲインを上げれます。
ここはお好みで。