MYOをPd経由でMax/MSPで使う方法

投稿日:

前回MYOをつかってツッコミアプリを作りましたが、その裏側をご紹介。

検索してみるとMaxで扱うにはいくつかありそうな気配でしたが、最終的にこれを利用させてもらいました(感謝)

https://github.com/balandinodidonato/MyoMusic/releases

このページのDownloadからソースコードをダウンロードして、MyoToMIDIの中のMyoToMIDI.myoというファイルをMYOのソフトウェアMYO connectで実行する。

そうすると以下のようにMYOのApplication ManagerにMyoToMIDIがインストールされる。

myotomidi.jpg

次に一緒に入っているPDのサンプルを立ち上げる。PDは以下のサイトからPd-extendedをダウンロードしておく。

http://puredata.info/downloads

MyoToMIDI-example.pdを実行すると以下のような画面が立ち上がり、MYOのシンクがうまく言っていれば値を取り出し始める。
※PDのMIDI設定で入力デバイスをMyo Midi Output Clientut Client選ぶ必要があります。

MyoToMIDI-example_pd.jpgこれでPdで扱う準備は完了ですが、どうにもMaxに慣れすぎているのでここからデータをMaxに転送します。

やり方としてはOSCを使って送り込みます。PD側にはこのような実装をまず追加。

pd2.jpgsendOSCオブジェクトを追加してMyoToMIDIオブジェクトからの信号にはsendをつけて送信。

同じコンピュータ内なので、localhostのポート8000でconnectする。これでPd側の準備完了。

続いてMax側は以下のような感じ。

myotomax.jpgudpreceiveオブジェクトがOSCのデータを受け取ってくれるので、ポートだけ合わせて8000にする。

MyoToMIDIから送られてきた信号は「"0" pitch 127」といったかたちなので、routeで'0"をとりのぞく。

さらに、それぞれrouteでパラメーターを指定してその中の数値を取り出せば後は自由に調理できます。

開発者の方はMax版のパッチも開発中とのことなので、それが公開されればPdを経由しなくてもスッキリできるようになりそうです。

ちなみに上記でも1時間など稼働しっぱなしでも安定して動いてました。

値は自由にとれるようになったので、後はいろんなことに応用していきます!

Max/MSPの関連記事