カテゴリ: max/msp/jitter
投稿者: mio
MacですとOS標準の機能で、ソフトウェア間でのMIDIのバイパスが簡単に行えるのですが、Windowsの場合はOS標準ではそういった機能はないようです。ですが、それだと不便ですよね。実は、Windowsでもソフトウェア間でMIDIデータをやりとりできる、MIDI Yokeというフリーソフトがありました。

MIDI Yoke のダウンロード
下記ウェブサイトの、左メニューから MIDI Yokeをクリックで、 MIDI Yoke のページのDownloadというところに、ダウンロードのリンクがあります。対応OSがWindows XPまでしか書かれていませんが、Windows 7 (32bit)でも動作しました。Win 7 (64bit)は未確認。
MIDI-OX
※MIDI-OXというソフトが目立っていますが、インストールの必要はありません。






MIDI Yokeの機能
MIDI Yokeは、ソフトウェアといっても、Windows起動時に自動的にバックグラウンドで立ち上がるソフトのようで、特に何かを操作したりということは一切ありません。何が変わるかというと、Ableton Live、Max/MSP、Cubase、FL Studio等、各種音楽ソフトの、MIDIの環境設定のportのところに、MIDI Yoke 1 〜 MIDI Yoke 8 までの8つのポートが追加されて、このポートを通じて、ソフトウェア間でMIDIデータの送受信ができるようになります。イメージとしては、ソフトウェア間でoutputのポートと、inputのポートを対応させることで、ソフトウェア間でMIDIケーブルをつなげるような感じです。

例えば、Max/MSPからの MIDIの出力を、Ableton Liveで受け取る場合は、Max/MSP側のアウトプットのポートを、MIDI Yoke 1にして、Ableton Live 側のインプットのポートの MIDI Yoke 1をアクティブにすれば、Max/MSPで生成したMIDIの出力を、Ableton Liveで受け取れるようになります。その他のソフトの場合も同様です。


↓Max/MSPの場合 (MIDIのアウトプット先として、MIDI Yokeが選べます)




↓Ableton Live の場合 (MIDI portsに、MIDI Yokeが並んでいます)




ALT OSC (KARAPPOが開発したiPhone/iPad用のOSCコントローラー)のMIDI Bridge ソフトの場合




FL Studioの場合

2007/10/06: Max/MSP 5

カテゴリ: max/msp/jitter
投稿者: mio
↓新機能を見れるムービー
http://www.cycling74.com/story/2007/10/5/91222/9559

非常に楽しみになってきた。

相当大きな変更があるとのプレスリリースがあったので、
何か勉強しなおさないといけないのかと思っていましたが、
そういうわけではなさそう。

Presentationモードというのが素晴らしい。
今まで面倒だった作業がこれでなくなる。
あと、Undoが今までは1回しかできなかったのが、
何回でもできるようになるらしく、それも素晴らしい。

jitterの描画処理がどうなるのかも楽しみ。
ProcessingやQCでしかやりにくかったことが、
jitterだけで簡単にできるようになったらいいんですけど。

後は、酷いと言われている音質も良くなると良いなぁ。

Max/MSP5が出るころには、
新しいMacが欲しいところ。
カテゴリ: max/msp/jitter
投稿者: mio
MaxLinkは便利そうなんですけど、MaxLinkはProcessingとMax/MSPの通信専用なので、もっと汎用性の高いOSC(OpenSound Control)について調べてみました。

OSCがMIDIに比べて良さげなところは、圧倒的に自由というところでしょうか。MIDIだと128段階でしかデータを送れませんが、OSCだと特に制限はありません。多分、1.34みたいな整数じゃないのも扱える。あと、自分の好きなメッセージ(言葉)も送れたりもします。チャンネルの制限とか、そういうのもないっぽい。このサイトの説明が詳しいです。それから、MIDIって接続速度が遅いらしいですが、そういう問題もないみたい。

これからはMIDIより、OSCベースの機材が増えてくるんでしょうかね、どうなんでしょうね。そういえば、LEMURもOSCベースで通信するんだったっけ。

と、脇道にそれちゃいました。


■Max/MSPでOSCの送受信

udpsend

答えから先に言うと、Max/MSP4.6以上の場合は、udpsendと、udpreceiveというオブジェクトが標準で入ってるので、それを使いましょうとのこと。使い方は、udpsendとかのヘルプパッチを見ればなんとなく分かるかと思います。基本的にこの2つのオブジェクトだけで通信できるっぽいです。オブジェクトの名前にはOSCとか入っていませんが、問題なくOSCで通信できます。

OSCはTCPとかUDPみたいにインターネットで使うプロトコルなので、通信に使うホストとポートを指定すると良いみたいで、それだけ指定すればOSC使えちゃうという優れものです。


ちなみに、Max/MSP4.5のときまでは、OSCを開発しているカルフォルニア州立大学バークレー校のCNMAT(Center for New Music and Audio Technorogies)が公開している、Max/MSP用のOSCエクスターナルオブジェクトを使っていたようです。(今は使わなくて大丈夫だけど、このエクスターナルオブジェクト集の中にはいくつか便利なオブジェクトも混ざっているようなので、ダウンロードする価値はあるかも)

その便利そうなオブジェクトは、[osc-route]というもの。
受信したOSCのデータを解析するのに便利そうです。
多摩美の授業のPDFに結構出てきました。


ちなみに、CNMATのページの中のエクスターナルオブジェクトがおいてあるページは、こちら。あと、Max/MSP4.5以前の場合は、このページにある、「otudp」というオブジェクトも必要みたいです。
カテゴリ: max/msp/jitter
投稿者: mio
今回のはちょっとしたことですが、エクスターナルオブジェクトを、Cycling'74のexternalsフォルダに入れてると、最初から入ってるエクスターナルオブジェクトと混ざってしまって、分かりにくくなるので、自作エクスターナルだとか、ネットでダウンロードした細かいパッチ、それからCNMATのOSCみたいに大量のエクスターナルは、それぞれ別のフォルダに分けて管理したい。

そういうときに便利なのが、Max/MSPのメニューの、Options -> FilePreferences.
ここで、指定したフォルダは、Max起動時に読み込んでもらえるので、上に書いたような自分で作ったフォルダを書くことができます。これは結構便利、

Max/MSP FilePreferences



カテゴリ: max/msp/jitter
投稿者: mio
かなり簡単なエクスターナルオブジェクトですが、karappoではよく使っているので公開します。max/mspで作ったオブジェクトなので、特殊なことができるわけじゃありません。ちなみにヘルプパッチはありませんので、ここで使い方を説明します。

ちなみにインストールは、アプリケーションフォルダの
MaxMSP 4.6/Cycling '74/externals/
とかに放り込めばOKです。
詳しくはこちら


■noteonin
noteonin
このオブジェクトは、指定したノート番号とチャンネルのノートオンをbangで返すオブジェクト。
MIDIコントローラーのnoteをスイッチ代わりに使いたいときに便利です。(ノートオフは拾わないので)
使い方は簡単。アーギュメントに拾いたいノート番号と、チャンネルを書くだけ。ちなみにチャンネルは省略できます。(チャンネルは2つ目のアトリビュートです)
noteonin ダウンロード

■keyCode
keyCode
こちらは、特定のキー入力をbangで返すエクスターナルオブジェクト。いちいち"select 49"とか書くのは面倒なので作りました。イベントにMidiコントローラーのUSBケーブルを持っていき忘れたときに急遽作った思い出のエクスターナルオブジェクト。
keyCode ダウンロード
カテゴリ: max/msp/jitter
投稿者: mio
さてさて、2061:Maxオデッセイも発売されて、あまり基本的すぎることを書いてもなぁというのと、ある程度jitterを使えるになってきたので、今後は本に載ってないこととかを書いていけたらなと思います。本に載ってるものでもこれは!というのがあれば載せるかもしれませんが。

ということで。本題に入りましょう。


jitter enable

今回のこいつは使えます。最近max/msp/jitterをVJのときにも使い始めたのですが、色々なオブジェクトを出したり消したりしたいときに、どうすればいいのか困っていました。結局先日のTENT(@SuperDeluxe)では、jit.glオブジェクトのレンダリング先を "drawto off"みたいな感じで何もないところに変えてレンダリングしないようにしたり、使わないオブジェクにはbangを送らないとか、そういう感じのちょっと強引な手法を使ったのですが、どうやらenableというアトリビュートがあって、そのメッセージを送ってやれば簡単にON/OFFができるということが分かりました。

教えてくれたDance and Media Japanの筒井さんありがとうございました!これで心置きなくオブジェクトを作れます。enableについてはHelpパッチには載ってないような気がしますが、HTMLリファレンスの方にこっそり載っています。もうちょっと目立たせて欲しかったところです。


筒井さんのウェブ
http://adsr.sub.jp/

Dance and Media Japan
http://www.dance-media.com/
カテゴリ: max/msp/jitter
投稿者: mio
当たり前のことかもしれませんが、jit.gl.videoplaneなどのオブジェクトに静止画を読み込ませてそれを動かしたい(スケールや位置などを変える)ときは、jit.qt.movieなどにbangメッセージを送り続ける必要はありません。このbangメッセージを送るか送らないかでフレームレートがかなり変わるので、ムービーではなく静止画を読み込ませるときは注意しましょう。

ちなみに私が試したときは、bangを送らずに動かしているときは40〜50fps程度、bangを送ると20〜30fpsと20fpsぐらいの差がありました。これは凄い差。
カテゴリ: max/msp/jitter
投稿者: mio
ついに使えるようになりました。以前取り上げた、spigot~のバグなんかも修正されてるみたいですね。
素晴らしいです。

僕はインテルマックではないので関係ないですが、ユニバーサルバイナリー化もされたそうなので、新しいマック使ってる人にも朗報ですね。Lemurも値下げされてるらしいですが、max/mspを全然使いこなせていない現状ではもちろん手は出せません。

http://www.cycling74.com/

1043 : Jitter 1.6の新オブジェクト&新機能 : 赤松正行
1044 : Max/MSP 4.6の変更点 : 赤松正行

μ memo
カテゴリ: max/msp/jitter
投稿者: mio
ここ数日、30日間の体験版が切れてしまったので、急いで購入しようとしたわけですが、使えるようになるまでなかなか時間がかかりました。多分、購入したのが土曜日だったというのが悪かったような気がします。

購入後にくるメールを確認すると、「一営業日待てばシリアル番号が載っているメールが届きます。」といった内容のメールが来るのですが、この「一営業日」(one businessday)というのがミソで、どうも彼らは土日祝日はしっかり休む人たちらしく、結局土曜日に注文して、シリアル番号をもらったのは、水曜日の朝でした。多分月曜日も向こうは祝日か何かで会社が休みだったんでしょうね、サイトのどこかで9/4は休みです、みたいなのを読みました。

で、Maxが使えるようになるまでの道のりを簡単に整理しておくと。

1.
Cycling'74のサイトで、Max/Msp/Jitterをクレジットカードで注文

2.
購入後すぐに自動返信メールが来る。(注文内容の確認)

3.
約一営業日後に、シリアル番号が記載された納品書メールが届く。
(シリアル番号は納品書pdfに記載されています。)

4.
Maxを立ち上げてオーソライズ画面に進み、チャレンジコードをコピーして、Cycling'74のサイトで、オーソライズページに、チャレンジコードやシリアル番号等、必要項目を埋めた上で送信する。

5.
約一営業日後に、レスポンスコードがメールで返ってくるので、それをMax起動後のオーソライズ画面で入力するとようやく使えるようになる。

トータルで考えると、早くて2〜3日、遅くて1週間ぐらいかかる場合も考えられますね。購入するつもりがあるのであれば、購入するのは体験版の期限が切れる1週間前ぐらいにしておくのが無難でしょうね。体験版が切れてもすぐに使いたいという人は。


あと、値段に関してですが、Max/Msp/Jitterのセットで、850$。つまり約10万円ですね。なので、カメオ・インタラクティブで11万5000円払うよりかは全然安いですね。まぁ、カメオインタラクティブで買うとついてくる日本語の本みたいなのはないですがあれの内容はそんなに充実しているわけでもなさそうなので、個人的には、Cycling'74のサイトでやすく買うのをおすすめします。
カテゴリ: max/msp/jitter
投稿者: mio
gl.render

これは楽しい!3Dで動く物体の残像がのこせるようになりました。
jitter使ってる人がよくこんなことしてるけど、やっと分かった!

ポイントは、jit.gl.renderにつながってる、pak erase_colorってところ(背景を黄色くしてるところ)。ここで、jit.gl.renderの中でeraseするときに、どういう色で消すかを指定できるのですが、左からRGBAという風に指定できるようになっています。で、このAはalphaなのですが、こいつを、0.1とかにしてやると、毎回0.1ずつ古くなった映像を消していくので、必然的に残像が残るようになります。

そして、#021でも書いた、jit.gl.renderの背景色もかえられるようになりました。これも楽しいなぁ。フーリエ変換か何かを使って、音の周波数に合わせて色を変えるとかできそうだしね。

ちなみに、今回パッチの右側にぐちゃぐちゃ色々書いてるのは、全部、jit.gl.platoに繋がってて、要はどういうオブジェクトをどうやってレンダリングするかを指定してるだけです。ワイヤーフレームにするのは、poly_modeね。