blog - Max/MSPカテゴリのエントリ
以下のコマンドをメッセージボックスに書き、Bangを送ればよいです。
逆にマウスカーソルを表示させるには、以下の通り。
;
Max hidecursor
逆にマウスカーソルを表示させるには、以下の通り。
;
Max showcursor
Max/MSPで基本周波数、ピッチ、アタック、ピークなどを検出するのに、fiddle~ というエクスターナル・オブジェクトを使用していましたが、Max6 では、標準で、 fzero~ というオブジェクトが用意されています。
とても、便利。
とても、便利。
Max/MSP/Jitterで、jit.windowなどのウィンドウを最大化するときに、メニューを消すには、Max5までは、max hidemenubar;などとすればよかったのですが、これが、Max6から仕様が変わりました。
jit.windowのアトリビュートとして、anyname @fsmenubar 0と記述します。
例えば、
とします。
jit.windowのアトリビュートとして、anyname @fsmenubar 0と記述します。
例えば、
jit.window stage anyname @fsmenubar 0
とします。
Max/MSP/Jitterでカメラ画像を扱う際、モニター上では、自分の動きが左右反対に見えてしまい、何かと不便に感じる。自分の動きは鏡で見るように映ってほしいところだ。
プロジェクター出力だと、ミラー反転、すなわち鏡像に変換してくれる機能がついているのだが、PCのモニターでは、これができない。
そういう場合は、jit.rotaを使ってミラー反転画像を作ればよい。
具体的には、zoom_xに-1を指定し、boudmodeに2を指定すればよい。
ちなみにzoom_yに-1を指定すると上下が反転する。
もともとzoom_xやzoom_yは、指定した軸上に拡大縮小する機能なのだが、マイナスの値を指定すると、軸の向きにミラー反転して拡大縮小される。
プロジェクター出力だと、ミラー反転、すなわち鏡像に変換してくれる機能がついているのだが、PCのモニターでは、これができない。
そういう場合は、jit.rotaを使ってミラー反転画像を作ればよい。
具体的には、zoom_xに-1を指定し、boudmodeに2を指定すればよい。
ちなみにzoom_yに-1を指定すると上下が反転する。
もともとzoom_xやzoom_yは、指定した軸上に拡大縮小する機能なのだが、マイナスの値を指定すると、軸の向きにミラー反転して拡大縮小される。
ゼミスペのiMacにMax/MSPからkinectにアクセスできるようにつなげました。ソフトはJean Marc氏のjit.freenect.grabです。
http://jmpelletier.com/freenect/
Mac用のkinectドライバは、 OpenKinectプロジェクトのlibfreenect libraryを使っているようで、Xbox360用kinectでもちゃんと動きます。
ダウンロードパッケージは、以下にまとめてあります。
https://github.com/jmpelletier/jit.freenect.grab/downloads#download_64612
ダウンロード、解凍後、Cycling 74フォルダに移動後、使えるようになります。
helpを立ち上げ、kinectをデバイスopenし、qmetroでサンプリングすると、デプス映像とRGB映像がキャプチャされます。
motorでkinectの仰角を動かしたり、3D加速度センサの値を取得したりなどは、すぐにできますが、Jitterの知識がないと、応用は難しそうです。
http://jmpelletier.com/freenect/
Mac用のkinectドライバは、 OpenKinectプロジェクトのlibfreenect libraryを使っているようで、Xbox360用kinectでもちゃんと動きます。
ダウンロードパッケージは、以下にまとめてあります。
https://github.com/jmpelletier/jit.freenect.grab/downloads#download_64612
ダウンロード、解凍後、Cycling 74フォルダに移動後、使えるようになります。
helpを立ち上げ、kinectをデバイスopenし、qmetroでサンプリングすると、デプス映像とRGB映像がキャプチャされます。
motorでkinectの仰角を動かしたり、3D加速度センサの値を取得したりなどは、すぐにできますが、Jitterの知識がないと、応用は難しそうです。
Max/MSP/JitterのWindowで日本語表示する方法をまとめてみる。
まず、Max5であること、MacOSXであることが条件となる。
Max4や、Windows XP や Vistaまた 7 だとうまくいかない。おそらくOS内部の日本語処理のUnicodeの問題らしい。Maxは5になって日本語処理が格段によくなっており、Unicode化されているため、日本語だけでなくユニバーサルな言語で対応可能のようだ。
そこで、Jitterでの日本語表示の例だが、Max5 / MacOSならば話は簡単。
例えばjit.lcdにwriteでメッセージを送るときには、まず、
また、jit.gl.text2dなどのOpenGLで、テキストをjit.gl.renderに送る場合も同様で、
ちなみに、PreferencesのDefault Font や System Font は変更しなくてもよい。
まず、Max5であること、MacOSXであることが条件となる。
Max4や、Windows XP や Vistaまた 7 だとうまくいかない。おそらくOS内部の日本語処理のUnicodeの問題らしい。Maxは5になって日本語処理が格段によくなっており、Unicode化されているため、日本語だけでなくユニバーサルな言語で対応可能のようだ。
そこで、Jitterでの日本語表示の例だが、Max5 / MacOSならば話は簡単。
例えばjit.lcdにwriteでメッセージを送るときには、まず、
font Osaka 12
とjit.lcdに日本語フォント(この場合はOsaka)の指定をしてやる。そして、write 今日は。
などのmessageをjit.lcdに送るのだが、このmessageのInspectorを開いてFontタグのFont NameをOsakaなどの日本語フォントにしてやればよい。また、jit.gl.text2dなどのOpenGLで、テキストをjit.gl.renderに送る場合も同様で、
font Osaka 12
とjit.gl.text2dに日本語フォントの指定をして、text 今日は。
などのmessageをjit.gl.text2dに送るのだが、このmessageのInspectorを開いてFontタグのFont NameをOsakaなどの日本語フォントにしてやればよい。ちなみに、PreferencesのDefault Font や System Font は変更しなくてもよい。
Max.MSPのライセンスは、通常PCに個別にオーソライズされるので、1ライセンスにつき、1つのPCでしかライセンスを使用できない。しかし、USBのドングルキーの一種であるiLokキーにライセンスをオーソライズすれば、iLokをUSBにさすだけで、どのPCでもMax/MSPを使用できるようになる。その方法は以下の通り。
なお、iLokは、もともとはdigidesign社のProtoolsのソフトウェアやプラグインのライセンスを管理するために作られたものなので、M-poweredなど、Protoolsの製品を買うとついてくる。また、iLok単品は、サウンドハウスなどで購入可能。
- iLokのサイトにてアカウントを作る。
確認メールが送られてくるので、リンクよりコンファームする。
iLokのアカウント管理をするために,同サイトからiLok License Managerをインストールする. - cycling'74のサイトから、Max/MSPのライセンス情報をiLokのアカウントへ移動させる。
Max/MSPのシリアルナンバーなど、必要情報を入力。
登録したiLokアカウントのUser ID, Emailなどを入力しないとCycling'74がオーソライズ情報を移してくれない。
[Submit iLok]をクリックする。
手続きが終わるとcycling'74よりお知らせメールが届く。通常1-3日を要す。 - iLokのアカウント上に移動されたライセンス情報を、実物のiLok本体に移動させる。
iLokのサイトにログインすると、「You have a license」という表示があるはず。
iLokをUSBに差し込んで「Synchronize」ボタンを押すと、現在のiLokの情報が表示される。
[download license]でライセンスをiLok本体にダウンロードし、オーソライズする。
なお、iLokは、もともとはdigidesign社のProtoolsのソフトウェアやプラグインのライセンスを管理するために作られたものなので、M-poweredなど、Protoolsの製品を買うとついてくる。また、iLok単品は、サウンドハウスなどで購入可能。
Max/MSP4.6/Jitter1.6とQucikTime7.6.5 (Windows XP/Vistaの場合)
- 執筆 :
- kuha 2009-11-25 22:00
最近、Windows XP/VistaでMax/MSP4.6+Jitter1.6が立ち上がらなくなる現象が起こって、困っていた。Javaの更新に問題があるのか、Windowsの更新パッチに問題があるのか、いろいろ調べたが、原因はQuickTimeにあることがわかった。
Windows XP/Vista上のMax/MSP4.6 + Jitter1.6は、QuickTimeを7.5.6にバージョンアップすると、Maxが起動しなくなる。Max/MSPまではうまく起動するのだが、Jitterの起動のところで、最新版のQuickTimeとの不整合で落ちるようだ。この場合、QuickTimeのバージョンを7.6.0に下げると、問題は回避され、Max/MSP+Jitterが無事、立ち上がるようになる。あるいは、Jitterのみアンインストールすると、Max/MSPだけは立ち上がる。
なお、MacOSXやMax/MSP/Jitter5ならば、QuickTime7.6.5でも問題ない。
Windows XP/Vista上のMax/MSP4.6 + Jitter1.6は、QuickTimeを7.5.6にバージョンアップすると、Maxが起動しなくなる。Max/MSPまではうまく起動するのだが、Jitterの起動のところで、最新版のQuickTimeとの不整合で落ちるようだ。この場合、QuickTimeのバージョンを7.6.0に下げると、問題は回避され、Max/MSP+Jitterが無事、立ち上がるようになる。あるいは、Jitterのみアンインストールすると、Max/MSPだけは立ち上がる。
なお、MacOSXやMax/MSP/Jitter5ならば、QuickTime7.6.5でも問題ない。
Max5になって、JavaScriptへの引数をリストで渡す際の個数が大幅にアップした。
従来のMax4.6までは、引数をリストで渡せるのは最大256個までだったので、たとえばマトリックスの全セルの要素の値をforループで計算するときも、16*16=256までのマトリックスが限界だった。それより大きいマトリックスはoffsetなどを指定して、セルを複数に分けてリスト渡しするしかなかった。
ところが、Max5で、リスト渡しできる最大個数が128*128=16384個にまで増えた。これで、128*128のマトリックスの全セルの計算がJavaScriptで一気に行える。
たとえば、matrixの全セルの値をjit.spillでリストに吐き出し、jsパッチでJavaScriptに渡して、セルの値の最大値とそのセル番号をリスト出力するのは、こんな感じ
従来のMax4.6までは、引数をリストで渡せるのは最大256個までだったので、たとえばマトリックスの全セルの要素の値をforループで計算するときも、16*16=256までのマトリックスが限界だった。それより大きいマトリックスはoffsetなどを指定して、セルを複数に分けてリスト渡しするしかなかった。
ところが、Max5で、リスト渡しできる最大個数が128*128=16384個にまで増えた。これで、128*128のマトリックスの全セルの計算がJavaScriptで一気に行える。
たとえば、matrixの全セルの値をjit.spillでリストに吐き出し、jsパッチでJavaScriptに渡して、セルの値の最大値とそのセル番号をリスト出力するのは、こんな感じ
inlets = 2;
outlets = 1;
var in01_; //input values of all cell as list(array)
var in02_; //input matrix dimmension x,y
function list()
{
if ( inlet == 0 ) { in01_ = arguments; }
if ( inlet == 1 ) { in02_ = arguments; }
if ( inlet == 0 )
{
var n;
var max_i; //最大値セルの番号
var max_data = 0; //セルの最大値
n = in02_[0] * in02_[1]; //マトリックスの全セル数
var data00_ = new Array( n );
var data01_ = new Array( 2 );
for( var i = 0; i < n; i++){
data00_[i] = in01_[i]; //入力リストを配列に格納
if( max_data <= data00_[i] ){ //最大値とセル番号の格納
max_data = data00_[i];
max_i = i;
}
}
data01_[0] = max_i; //出力結果(セル番号)を入れる
data01_[1] = max_data; //出力結果(セル最大値)を入れる
outlet( 0, data01_ ); //結果の入った配列をoutletからリスト出力
delete data00_;
delete data01_;
}
Max/MSPフォルダーのexamples > javascript > simulationの中にboidroidやspiringoidなど面白い生命体のような動きをするサンプルがあります。個体数、大きさ、形状、色合いといった生命体の属性や、重力係数、バネ係数、摩擦係数などの物理的な動きを変数で制御できます。
Javascriptはオープンソースなので、独自のカスタマイズも可能です。
Javascriptはオープンソースなので、独自のカスタマイズも可能です。