こんにちは、Jorgeです。この投稿では、i.MX 8MIC-RPI-MX8ボードを使用してオーディオを設定、録音、再生する方法を説明します。
要件:
8MIC-RPI-MX8アクセサリ・ボードは、I.MX 8M製品ファミリでの音声対応アプリケーションのプロトタイピングと開発用に設計されています。ボードは、i.MX 8M MiniおよびNano EVKの40ピン拡張コネクタに直接差し込みます。
このボードの特長は次のとおりです。
i.MX 8MIC-RPI-MX8ボードを接続。
i.MX 8MIC-RPI-MX8ボードには、EVKボードに直接接続できる40ピン拡張コネクタがあります。次の図に示されているように、8MIC-RPI-MX8のピン1がEVK J1001のピン1と一致していることを確認してください。
ボード上のデバイス・ツリーを選択。
プリコンパイル済みのイメージをボードにフラッシュし(UUUを使用してLinux BSPをフラッシュ)、8MIC-RPI-MX8を接続した後、8MICボードを処理するための正しいデバイス・ツリーを選択する必要があります。U-bootで、次のコマンドを使用してBSP上の利用可能な.dtbファイルを確認してください。
u-boot=> fatls mmc 2:1
そして、対応する.dbtファイルのリストを取得できます。
このケースでは、I.MX 8M Mini EVKで作業しており、対応.dtbファイルは以下の通りです。
imx8mm-evk-8mic-revE.dtb
選択するには、環境変数を設定し、次のように保存してください。
u-boot=> setenv fdtfile imx8mm-evk-8mic-revE.dtb
u-boot=> saveenv
以下の方法で再確認してください。
u-boot=> printenv fdtfile次に、以下のコマンドを使用してLinuxを起動する時です。
u-boot=> boot
i.MX 8MIC-RPI-MX8ボードでオーディオを録音。
Advanced Linux Sound Architecture (ALSA)は、Linuxオペレーティング・システムにオーディオおよびMIDI機能を提供します。ALSAの主な特長は次の通りです。
Linux上で起動したら、以下を使用してボード上で検出されたオーディオ・コーデックを次のコマンドで確認できます。
arecord -lさて、オーディオを録音するには、IMX8ボードでALSAのarecordコマンドを使用して録音を開始する必要があります。次のリンクで確認できるさまざまなオプションがあります。このケースでは、次のものを使用します。
arecord -D hw:imxaudiomicfil -c8 -f s16_le -r48000 -d10 sample.wav
-D:デバイスを選択します。
-c:録音のチャネル数を選択します。
-f: フォーマットを選択します。
-r:サンプリング・レートを選択します。
-d: 録音時間を秒単位で決定します。
sample.wav:生成されるオーディオ・ファイルの名前です。
最後のコマンドを実行し、オーディオの録音を開始しました。音を出して録音する時間です!
IMX8ボードからオーディオを再生。
今、ヘッドフォンまたはスピーカーをジャックに接続する時です。
また、arecordコマンドのように、次のコマンドを使用してボードからオーディオを再生できるデバイスを確認することができます。
aplay -l
そして、オーディオを再生するためのすべてのコーデックを入手できます。
録音を再生するには、ALSA aplayコマンドを使用する必要があります。ボード上のジャックからオーディオを聞くには、正しいオーディオ・コーデックを選択することが重要です。
aplay -Dplughw:3,0 sample.wav
-D:デバイスを選択します。
sample.wav:再生する音声ファイルの名前です
PDMマイクを使用してオーディオを録音し、IMX8ボードからオーディオを再生したい方にとって、これが役立つことを願っています。
よろしくお願いいたします。