MaixPyの最近のブログ記事

Sipeed MAix Bit with MIC MaixPy で マイクのお試し #3

Sipeed MAix Bit with MIC MaixPy で マイクのお試し #3 です。

前回、Sipeed MAix Bit with MIC MaixPy #2 で
バイナリーのまま、音データを送信してみましたが、Serial通信でのデータ抜けが結構ありました。
そこで、今回は、 #2 のプログラムにハンド・シェイクを組み込んでみました。

プロトコル
PC側                     |           Bit側
1) b's' 送信       ------>        b's' が来たら、音データ(1 CHUNK*2 バイト)をバイナリ送信
                        <------          音データ(バイナリ) + '\r\n' 送信
2) 最後が、'\r\n'
で無ければ、  b'r' ---->        b'r' であれば、先に送ったデータを再送
                        <------          前の音データ(バイナリ) + '\r\n' を再送
3) 最後が、'\r\n'
であれば、     b's' ---->        b's' であれば、次のデータを送信
                        <------          音データ(バイナリ) + '\r\n'  送信

この様な簡単なプロトコルです。
Serial 通信は、多分、全2重なので、送信と受信が同時に行えます。

Sipeed MAix Bit with MIC MaixPy で マイクのお試し #2

Sipeed MAix Bit with MIC MaixPy で マイクのお試し #2 です。

前回、Sipeed MAix Bit with MIC MaixPy  で
UART0 から、UART1に替えて、別途 USB-Serial (FT232RL) を付けて試してみました。

※ UART1 に、別途 USB-Serial (FT232RL) を付ける。
Maix-Bit silk  |  k210 IO  |  USB-Serial (FT232RL)
    15  --  IO15 (tx)  -->  Rx
    17  --  IO17 (rx)  -->  Tx
     GND                  -->  GND
注)上記以外は、オープン
  USB-Serial VCC は結線しません。

Serialの速度は、460800 まで上げる事は出来ましたが、PCから出てくる音は、
余り変わりないので、今回は、Bit の I2S で取り込んだRAW データを ASCII に変換する事なく、
バイナリーのまま PCへ送ってみる事にしました。


よりシンプルにを基本に、データ長は固定長なので、簡単なアルゴリズムで改造してみました。

アルゴリズム
送りて(Bit):
  音データ(16bit * Sample Point のバイナリデータ) の後ろに、\r\n の 2バイトを付加する。
  CHUNK*2+2 の固定長データ

受けて(Windows10 PC)
  ・Serial.read() で、受信データ長=CHUNK*2+2 で受信する。
    受信したデータの末尾に、\r\n があれば、 OKデータとします。
  ・OK でなければ、
    Serial.readline() で次の \r\n 迄、受信して、上記処理へ戻ります。
  ・OKデータ であれば、マイクへ末尾の \r\n を除いたデータを出力します。
    最初の処理へ戻ります。

Sipeed MAix Bit with MIC MaixPy で マイクのお試し

Sipeed MAix Bit with MIC MaixPy  で マイク入力の確認が出来たので、
PC へ Serial で送れないか試してみました。

PC: Windows10

Sipeed MAix Bit with MIC を PC に USB接続して、TTL-Serialでデータの受信をします。

PC 側は、Python で serial で RAWデータを受信して、pyaudio.PyAudio() で、
PCのスピーカーへ音を出してみます。

Sipeed MAix MaixPy で FFT と マイク入力の確認

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

Sipeed MAix MaixPy YOLO-V2 学習モデル作成

Sipeed MAix MaixPy YOLO-V2 学習モデル作成で、
アライグマのObject Detection Model の作成が出ていたので、
試してみました。

https://homemadegarbage.com/ai02
https://www.hackster.io/dmitrywat/object-detection-with-sipeed-maix-boards-kendryte-k210-421d55

何とか、model.tflite から model.kmodel を作成して、マイクロSDカードに入れて、いざ、
Sipeed MAix Bit で、 MaixPy IDE から racoon_detector.py 実行した所、エラーになりました。

ValueError: [MAIXPY]kpu: load error -1

このアーカイブについて

このページには、過去に書かれたブログ記事のうちMaixPyカテゴリに属しているものが含まれています。

前のカテゴリはMAixDuinoです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

ウェブページ

サイトナビ