2001年6月1日に正式リリースされました。
以下は、事前情報を元にしたコメントです。
ロサンジェルスで開催されたAES(Audio Engineering Society) 109th Conventionで、Max 4.0とMSP 2.0がアナウンスされました。実際のリリースは、今年(2000年)暮れ(before the end of this year)のようです。また、来年(2001年)にはMax/MSP/PluggoのWindows版がリリースされるようです(本当かな?)。
追記:2000年12月末現在、Cycling'74のWEBサイトでは、Max 4.0とMSP 2.0のリリースを「first quarter of 2001」、Windows版のリリースを「second quarter of 2001」とアナウンスしています。
追記2:2001年3月29日に配信されたmax-mspメーリングリストで、David Zicarelliはあと1ヵ月程度かかりそうだ(I'll guess we have another month.)と発言し、遅延を詫びています。
現在、Cycling'74のWEBサイトでは、Max 4.0やMSP 2.0の新機能、新オブジェクト、改良点などが簡単なコメント付きでリストアップされています。
このリストから受ける印象は、まず、Max 4.0は開発プラットフォームとしての体裁を整えることを目指している、ということです。これまでもパッチをスタンドアローンのアプリケーションに仕立てることができましたが、ユーザインターフェースやウィンドウの扱いにおいて、自由度が低かったことが弱点でした。つまり、特徴的なボタンやスライダーはあるものの、標準的なGUI、すわわち万人が抵抗感なく受け入れられるGUIを構築することが難しかったわけです。Max 4.0で導入されるpictctrlやsliderctrlは、カスタマイズ可能なボタンやスライダーを提供するようですから、標準的なGUIはもちろん、巷のMP3プレーヤに見られるような即物的なGUIも手軽に作成できることでしょう。
従来は面倒であったボタンの配列を実現するmatrixctrlや、ラジオボタンを取り扱うradiogroupも便利そうです。境界線を描くborderやテキスト入力のtextedit、さらにはヒントを表示するhintなども、標準的なGUIに欠かすことができません。
さらには、suspend、gestalt、screensizeなどを用いれば、アプリケーションが実行されている環境の状態を知ることができます。つまり、実行環境に応じて処理を変えたり、警告を出すといったことが可能になるわけで、万人に向けたアプリケーションの開発に役立つことでしょう。
パッチ作成を支援する諸機能も充実するようです。コンテクストメニューやインスペクタは、今日的な操作方法を提供してくれそうです。パッチコードに色を付けたり、色によってオブジェクトを選択的に見ることができることは、楽しいだけでなく、効率的なパッチ管理が可能になります。また、パッチがレイヤーとして構造化されるので、ユーザインタフェース・オブジェクトと実際の処理のためのオブジェクトを分離するなど、便利な活用方法が考えられそうです。
そして、最も注目すべきは伏兵は、スクリプティング機能の導入でしょう。すなわち、スクリプトによってオブジェクトを生成したり、パッチコードで結んだり、さらには移動や隠蔽、削除などができるようです。これが実際にどのようなものかは想像するしかないのですが、優れたメカニズムを持っているならば、自己増殖や自己変更するようなパッチが作成できることになります。当然のことながら、トロイの木馬も作れるでしょう。そこまでの機能は持たないにしても、単純作業からは開放されることが期待されます。ユーティリティ的なマクロも作れるかもしれません。
次に、MSP 2.0は対応するオーディオ入出力が広がることが注目されます。これまでは、Sound Managerといくつかのオーディオカードに対応していただけでしたが、2.0では、ASIOに正式対応し、 ReWire、DirectConnectに対応するようです。これで、CubaseやProToolsといった他のソフトとの連携が可能になります。MSPでPluggoプラグインが使えないという奇妙な状況も解決できることになります。もっともこれは抜本的にvst~が対応していることを期待したいところです。
オーディオ入出力に関しては、512チャンネルまでハンドリングできて、オーディオドライバを含めてダイナミックにマッピング変更できるとなっています。こうなると、大規模なコントロールセンターをMSPで実現できそうですが、気になるのはレイテンシーやら異なるサンプリングレイトやビット数の扱いということになります。これらの基本性能や安定性が高いことを願わざるを得ません。
処理能力については、Velocity Engineに対応するので、いよいよG4の本来の性能を発揮できることになります。ベクトル処理でない従来のコードも30%速くなっているそうですから、非G4ユーザにも朗報です。ちなみに、マルチプロセッサ対応については言及されていないので、リクエストをガンガン出すことにしましょう。なお、Signal Vector Sizeは2まで落とせるそうなので、パワーは必要なものの変な処理もできそうです。
一方、非リアルタイムモードも新設されるとのことなので、CPUパワーが劣るマシンを使う場合でも、極めて複雑で大規模な処理でも、時間さえかければ処理を完遂させることが可能になります。しかしながら、これは、従来すべてリアルタイム処理を前提としていたMax/MSPが異なる性質を持つことになります。
MSP 2.0の新しいオブジェクトのひとつにpoly~があり、これまで律儀にポリ数だけサブパッチを並べざるを得なかった面倒から解放されそうです。ただし、これも従来のMax/MSPのプログラミングスタイルから逸脱する面があり、どのようにスマートに実装されるかが注目されます。
また、CPUパワーの増大とともに昨今流行しているFFT処理も強化され、pfft~によってスペクトラル処理が容易になるようです。詳細は不明ですが、amplitude = sqrt(real*real +imaginary*imaginary), phase = atan(imaginary/real)程度はするでしょうし、2連奏FFTによるオーバーラップ処理も引き受けてくれるそうです。
その他には、ユーザインターフェース・オブジェクトとして波形表示するwaveform~や、オーディオイレトで動作するシーケンサseq~などもあり、従来のオブジェクトも機能強化されるようです。総じて、MSP 1.0がMac/Maxでのオーディオ処理を最小限ながら現実のものとして提示したという意味合いが強いのに対して、MSP 2.0は実用的な入出力と本格的な処理に耐え得る環境として実現されそうです。
(以上は下馬評以外の何ものでもないのですが、正式リリースを楽しみに待つことにしましょう。)