PythonでTENORI-ONを動かすblog(仮)

PythonでMIDIを作ってYAMAHAのTENORI-ONをごにょごにょするよ。

M5Stack + MIDIモジュール + MycroPython + ライフゲーム + テノリオン

気がつけば3か月も放置していた。

 

ひとまず、M5Stack + MIDIモジュール + MycroPython + ライフゲーム +テノリオンの報告まとめです。
1月6日から着手して、ようやく完成したのが3月19日。長かった。

完成形。

 

 2-3月ダイジェスト

  • M5Stack MIDI モジュールが到着。
  • MicroPythonでMIDI信号がうまく出せない。

  =>MIDI system exclusiveのサンプルを色々探すが音が鳴らない。。

 

  • Twitterで話題になっていた1000円ロジアナ購入

       =>ドライバの問題なのか、家のMacで動かない。

 

  • 中古でちょっとお高いロジアナ購入。

  =>またエラーで進まず。Mojaveの既知バグらしく対応版のドライバを海外サポートからもらって解決。

 

  • ロジアナでUARTの信号を読む。一瞬データが取れて、途中から何も読めない状態が続く。

  => 8bit送信後にsleepを入れないと信号がひとかたまりになる、MIDI信号と認識されないのが原因。解決。

 

MicroPythonハマったところ

  • ライブラリの定義

     OK) from machine import UART

     NG) from pyb import UART

    => pybは古いバージョンなので、M5Stackでは使えなかった
  • UARTのボーレート

          =>MIDIは31250が正解

  • uart.writeで書き込むデータの形式

          =>リストをbytes()で変換することが必要

  • 8bit送信ごとにスリーブが必要

   =>time.sleep_ms(100)が適正値かは不明。もう少し短くても動くかも。

 

完成コード

 

MIDIモジュール取扱店

日本)necobit公式秋葉原ラジオデパート、スイッチサイエンス

海外)tindie

 

さて、そろそろMaker Faire Tokyo 2019の出展申し込みをしなければ。