前回MYOをつかってツッコミアプリを作りましたが、その裏側をご紹介。
検索してみるとMaxで扱うにはいくつかありそうな気配でしたが、最終的にこれを利用させてもらいました(感謝)
https://github.com/balandinodidonato/MyoMusic/releases
このページのDownloadからソースコードをダウンロードして、MyoToMIDIの中のMyoToMIDI.myoというファイルをMYOのソフトウェアMYO connectで実行する。
そうすると以下のようにMYOのApplication ManagerにMyoToMIDIがインストールされる。
次に一緒に入っているPDのサンプルを立ち上げる。PDは以下のサイトからPd-extendedをダウンロードしておく。
http://puredata.info/downloads
MyoToMIDI-example.pdを実行すると以下のような画面が立ち上がり、MYOのシンクがうまく言っていれば値を取り出し始める。
※PDのMIDI設定で入力デバイスをMyo Midi Output Clientut Client選ぶ必要があります。
これでPdで扱う準備は完了ですが、どうにもMaxに慣れすぎているのでここからデータをMaxに転送します。
やり方としてはOSCを使って送り込みます。PD側にはこのような実装をまず追加。
sendOSCオブジェクトを追加してMyoToMIDIオブジェクトからの信号にはsendをつけて送信。
同じコンピュータ内なので、localhostのポート8000でconnectする。これでPd側の準備完了。
続いてMax側は以下のような感じ。
udpreceiveオブジェクトがOSCのデータを受け取ってくれるので、ポートだけ合わせて8000にする。
MyoToMIDIから送られてきた信号は「"0" pitch 127」といったかたちなので、routeで'0"をとりのぞく。
さらに、それぞれrouteでパラメーターを指定してその中の数値を取り出せば後は自由に調理できます。
開発者の方はMax版のパッチも開発中とのことなので、それが公開されればPdを経由しなくてもスッキリできるようになりそうです。
ちなみに上記でも1時間など稼働しっぱなしでも安定して動いてました。
値は自由にとれるようになったので、後はいろんなことに応用していきます!