親子IoTワークショップ

マイコンとクラウドを使ってIoTとプログラミングを学ぼう

[ トップ | 開催予定・概要 | 2024-12開催 | お知らせ | Facebook ]

USBマイクを使う

ラズパイのZeroには、マイクもマイク接続用のジャックも付いていません。したがって、ラズパイに音を入力するには、外部マイクをBluetooth経由で無線接続するか、USB経由で有線接続するかの選択になります。

ここではUSB経由で接続する方法を説明します。まずは、適切なマイクを用意します。Bluetoothマイクなら、ほぼどれでもラズパイに接続可能ですが、USBマイクは接続できるものと、できないものがあります。一番簡単なのは、メーカーの製品情報に「Raspberry Pi対応」や「Raspberry Piでの動作確認済」などと書いてあるものを選ぶことです。例えば、これはその例です。このとき、ラズパイの機種まで気にする必要はありません。例えば、Raspberry Pi 4に対応、または3B+に対応などと記載されている場合、それはRaspberry Pi Zeroでも動作します。

また、製品情報に「ドライバーなしで接続できる」(No driver needed. No need to install a driver)、「プラグ・アンド・プレイ」(Plug and play、PnP)などと記載されているものも使えます。私はこれを使っています。

他にも、これこれも使えるはずです。購入前に、製品レビューをざっと眺めて、ラズパイに接続して使えたと報告されていれば、さらに安心して購入できるでしょう。

ものによっては「Raspberry Piには使えない」(Not compatible with Raspberry Pi)と明記している機器もありますが、「ドライバーなしで接続できる」と謳っているものは接続できる可能性があります。以前のバージョンのラズパイOSでは認識できなかったが、今のOSでは認識できる、ということがあります。例えば、私はこれを試してみたら問題なく接続できました。自宅に接続できるかどうか分からないマイクがあったら、とりあえず試してみるとよいでしょう。

マイクを接続する

まずは、マイクをラズパイに接続します。ラズパイの電源がOFFになっている状態で、マイクをラズパイにつなげてください。

マイクのUSB接続口は、通常の(昔ながらの)USBの形状であることが多く、マイクロUSBの形状ではないと思います。その場合は通常のUSBとマイクロUSBの変換アダプターを使ってください。USBハブを使っても構いません。

続いて、ラズパイの電源をONにしてください。そして、ラズパイの画面右上にある音量アイコンを「右クリック」します。通常のクリックではなく「右」クリックです。すると以下のように、スピーカー一覧が表示され、一番下に「Device Profiles」という項目が表示されます(スピーカーをラズパイに接続したことがない場合は、スピーカー一覧は表示されません)。

メニューの一番下の「Device Profiles」をクリックすると、ウィンドウが開いて、ラズパイに接続されているマイクが表示されます(以下写真参照)。

マイクのメーカー名が表示されず「USB PnP Sound Device」と表示される場合もあります(以下写真参照)。

このウィンドウにマイクが表示されていない場合は、ラズパイOSがマイクを認識していないということです。

マイクを使って録音したら、録音ができたかどうか再生してみて、テストする必要があります。「Bluetoothスピーカーを使う」を参考に、スピーカーもラズパイに接続しておいてください。

マイクから入力する音量の調節

次に、マイクから取り込む音の大きさを調節します。これが小さすぎると、マイクから音を拾えません。

Terminalを開いて、以下コマンドを実行してください。

alsamixer

すると、以下のような設定画面がTerminalウィンドウ内に表示されます。

キーボードのF4(ファンクションキーの4)を押すと、ウィンドウ左上の「View」のところで「Capture」がハイライトされ、マイクから取り込む音の音量を調節できます。キーボードの上向き矢印と下向き矢印を使って、音量をパーセンテージで設定します。上記写真では85%にしています。設定が終了したら、キーボードの「Esc」を押します。

もしこの音量設定が大きすぎて、録音した音が音割れするようなら、後で数字を下げてください。逆に録音した音が小さいようなら、数字を上げてください。

マイクをテストする

それでは、接続したマイクのテストをします。Terminalで以下のコマンドを実行してください。

arecord -d 5 test.wav

ここで、「-d 5」は録音時間が5秒を意味しています。最後の「test.wav」が、出力の音声ファイルです。「-d X」の指定を忘れると録音がずっと(無限に)続きます。録音を終わらせたくなったらControl-Cして止めてください。上記のコマンド例では、各種設定をすべてデフォルト値にしており、その結果、昔のアナログ固定電話(や3G携帯電話)の品質で音が録音されます。

なお、上記コマンドを実行する際に、「audio open error」というようなエラーメッセージが出る場合は、ラズパイがマイクを正常に認識していない可能性大です。

上記コマンドが終了したら、「Bluetoothスピーカーを使う」を参考に、出力された音声ファイルを再生して、録音が正常にされたことを確認してください。例えば以下のようにします。

aplay test.wav

自習プロジェクトの目次に戻る