第1回 - Max/MSPとは?

一言でいうと音響/映像表現のためのビジュアルプログラミング環境という言い方が出来ます.これではかなり曖昧ですよね.「音響/映像表現のための」という部分と「ビジュアルプログラミング言語」という部分にわけて説明しましょう.

まず前半の方ですが,Max/MSPでできることとしては以下のようなものがあります.

  • シンセサイザ,サンプラーなどのMIDI機器の制御
  • 音響合成,サンプリング,エフェクトなど,音声信号の処理

細かくあげていけばまだまだいくらでもあげられますが,だいたいはこの二つに分類できます.


実はMax/MSPはMaxとMSPという二つにわけることができ,それぞれ上の二つの分野に対応しているのです.歴史的には,1980年代にMIDIなどを扱うMaxが最初に作られ,その後,1999年にオーディオを扱うMSPがMaxに追加されました(MaxとMSPという Max/MSPとスラッシュでわけて書くのはこのためです).これは,リアルタイムに音を処理できるだけの計算速度が一般的なPCでも実現したためです.MaxはMIDIを扱うのがメインの機能ですが,それ以外の一般的な計算やタイミングの管理など,プログラムを組む上で必要な機能を一通り実現しています.ですので,実際にはMSPだけでプログラミングをすることはまずほとんどなく,Maxの機能を利用することが必要になります.

さらにその後,Jitterという映像を扱う部分も追加されました.そこで最近では,Max/MSP/Jitterとつなげて表記する場合もあります.

再度,それぞれの機能をまとめます.

Max - プログラムの制御情報 / MIDIなど
MSP - オーディオ処理
Jitter - 主に映像表現

動作するプラットフォームは Mac OS XとWindowsになります.

もともとMaxはMiller Puckette氏によって,フランスのIRCAMという研究所で開発されました.現在は,Cycling’74が権利を持っており,開発を続けています.Max/MSPを購入したい場合,Cycling’74のサイトから直接カードで購入するか,日本の代理店を通して注文することに鳴ります.一部の大手の楽器屋さんの店頭には,Maxが並んでいるかのもしれません.しかし,最新版ではない場合もあり,また多少割高になってしまうので,Cycling’74から直接購入した方がよいかと思います.ちなみに,Maxには残念ながら日本語版が存在しません.ヘルプファイルを呼んだりするためには,ある程度は英語力が必要かもしれませんね.がんばりましょう.

まだ実際にどういうことができるかわからないという人も多いと思います.ネット上で実際にMaxを利用している作品が多数公開されているので,Googleなどで検索してみても良いかもしれません.僕が見つけたのは,Cycling’74自体がYouTube上で公開している,Maxの使用例のムービーです.音楽,デザイン,インスタレーション,さまざまな例が公開されてます.

Maxを使っているミュージシャンは数多いですが,Wikipediaには Autechre, Jamie Lidell, Merzbow, Monolakeなどが挙っています.その他,エレクトロニカ,電子音楽のミュージシャンでMax/MSPを多用している人はたくさんいるはずです.

次に,「ビジュアルプログラミング環境」とは何かについてです.通常,プログラミングというと,C言語やJavaのように一定の文法にそってテキスト(たいてい英語に近い)を作っていくようなものを想定するかと思います.音楽用のプログラミング言語の中にも CSoundSuperColliderのようにテキストベースのものがあります.

それに対して,ビジュアルプログラミングとは,アイコンや図形,アニメーションなどの視覚的な要素を組み合わせることで,プログラミングを行うことを指します.テキストではないため,プログラミング「言語」とはいいにくいので,あえて「環境」と呼ぶことにしました.Max/MSP以外にも多くのビジュアルプログラミング言語が提案されていますが,ほとんどが研究段階でじっさいには使われていないものが多いといえます.多分,Max/MSPは世界で最も広く使われているビジュアルプログラミング環境の一つでしょう.

# Processingのように視覚表現に特化したプログラミングをビジュアルプログラミングという場合もありますが,ここではプログラム自体がテキストではなくビジュアル的に表現されているものをビジュアルプログラミングということにします.

機能が視覚的に表現されるために,初心者にとってとっつきやすいのがビジュアルプログラミングの利点の一つです.下に「440Hzのサイン波を出力する」プログラムをSuperColliderとMax/MSPで書きました.どちらがわかりやすいでしょうか.

一方で,ビジュアルプログラミング環境には,プログラムが複雑になったときに管理が難しいという欠点もあります.たとえば,下のサイン波を1000個出力しなければならない場合を考えてください.このアイコンを1000個ならべないといけないとしたら大変ですよね(実際にはそんな必要はないのですが…). SuperColliderのようなテキストベースのプログラムとMax/MSP,どちらも一長一短あり,どちらが優れているとはいえません.用途に応じてつかいわけるべきものです.ただ,一ついえるとしたら,SuperColliderやCSoundが音楽に特化しているのに対して,Max/MSPの方は映像表現やインスタレーションにも利用できるという強みがあります.

SuperColliderの例
(  Synth.play({SinOsc.ar(440,0,0.1,0)}); )

Max/MSPの例
Max patch

以上を踏まえて,Max/MSPの利点と欠点をまとめてみます.一部,まだ説明してない項もあります.

◯ 直感的なプログラミング /初心者にやさしい(ビジュアルプログラミング)
◯ 高い拡張性 / 活発なユーザコミュニティ
◯ デバイスとの連携 / インスタレーション作品などへの応用
◯ 映像の生成とコントロール / 映像作品などのへの応用
◯ Windows, Mac両方で使える

× プログラムが複雑になったときに煩雑になりがち
× 高価な商用ソフトウェアである / Open Sourceではない

これで Max/MSPがどういったものかわかっていただけたでしょうか.次から早速Max/MSPのプログラムに入りましょう.


There are no comments on this post

Leave a Reply