Sipeed MAix Bit with MIC MaixPy で FFT と マイク入力の確認をしてみました。
Sipeed MAix Bit with MIC は、マイク と FFT(Fast Fourier Transformation) が内臓されているとの事なので、
それの確認のサンプルプログラムが、出ていたので早速確認してみました。
要は、Sipeed MAix Bit with MIC の内臓マイクから音を拾って、それを、内臓 FFT でフーリエ変換をして、音スペクトグラムを、LCD に表示します。
FFTに関しては、FFTの基礎と音響・振動測定への応用
が参考になります。
テスト環境
OS : Windows10
MaixPy(MicroPython) : maixpy_v0.3.2_no_lvgl.bin または、 maixpy_v0.3.2_full.bin
https://maixpy.sipeed.com/en/libs/Maix/fft.html
問題なく、そのままで、動作しました。
内臓マイクは、I2S で I2S(I2S.DEVICE_0) でアクセスできるようです。
I2S で マイクから取り込んだ、RAW データを、
FFT_res = FFT.run(audio.to_bytes(),FFT_points)
FFT_amp = FFT.amplitude(FFT_res)
で、DB変換しているみたいです。
それを、imageパッケージ で、スペクトグラムとして描いて、LCDへ出力しています。
これができるのであれば、K210 で、
Keras CNN Sound Classify #3
で、学習したモデルで、音の分類ができそうです。
但し、上記 Keras CNN の MobileNet の学習データもこちらの、FFT.ampltude() に合わせた
データにしないといけないようです。