コンテンツにスキップ
Max
Max Basics - Part 1

Max Basics - Part 1

Updated: 2026-05

本記事は2020年以前に執筆したものです。バックアップとして掲載していますが内容は古く、リンクも切れている可能性があります。

Cycling’74 Maxとは

2020.6.20一部更新(本記事は2017時点のMac版のMax 7をベースの執筆しています。徐々にWindows版Max 8に対応していきます)

Max(マックス)は、Cyclin’74社が 開発、販売しているグラフィカルなプログラミング環境。Processing等のコード記述によるプログラミングとは異なり、様々な機能を持ったボックス をパッチコードで接続していくノードベースによるプログラミングを行う。視覚的にプログラムの流れを理解しやすく、プログラムの修正やパラメータの変更が 容易なため、試行錯誤を必要とするプログラムのプロトタイピングやメディアアート作品に用いられることが多い。日本ではMI7が販売している。MI7のサイトには日本語の情報も多い。登録すれば日本語パッチやリファレンスの日本語化にも対応している。

映像や音響合成などの機能にも特化しており、音楽ライブや映像演出でも使われることが多い。プログラムの実行スピードは openFrameworksなどのC++のほうが高速だが、手軽さという面ではMaxが優れている。PCの高速化のおかげで音楽ライブでの演奏や映像演 出でも問題なく利用することができる。

バージョン4まではMax/MSP/Jitterという名称だったが、バージョン5以降は単にMaxという名称になった(もどった?)。もとはミラー・パケット氏が開発したものだが、現在はCyclin’74社が開発を続けている。ミラー・パケット氏が開発したPure Dataも Maxと同様なグラフィカルプログラミング環境でフリーで公開されているが、完成度はMaxのほうが高く、使い勝手も良い。バージョン7以降は、6までの Runtimeが1つのアプリケーションとして内包されており、Demoモード(保存不可、編集可能)として動作する。バージョン8から、一カ月期間限定 のTrial版利用時(保存含めて全ての機能可能)にもアカウント作成をして試用を開始する。この方法により、Demoモードで機能を理解して、必要な時 にTrial版利用という選択ができるようになった。


Maxツアーチュートリアル

本演習ではMI7が公開しているMaxツアーに沿って進める。映像自体は5分程度しかないが、ここで紹介されている機能を理解するには幅広い知識が必要となる。以下の映像ではバージョン6を利用しているが、本演習ではバージョン8を利用する。(現在はMac版Mac 7をベースとしているが原稿をWindows版Max 8へ移行中)映像の再生に関してはimovieオブジェクトではなく、jit.movieオブジェクトを用いる。


ステップシーケンサーとは?

このチュートリアルでは最終的に音と映像が連動したステップシーケンサーを作成する。ステップシーケンサーは、音をステップ毎に入力して、ステップが進行しながら音源を鳴らす自動演奏システム。

デジタル楽器を演奏しながらその演奏データを記録することを「リアルタイムレコーディング」と呼ぶが、シーケンサーは一音一音入力していくため「打ち込み」と呼ばれる。


Maxの起動

Maxを起動する。

コンソールウィンドウ(下図)が表示される。

コンソールウィンドウには、プログラムの動作状態がテキスト表示される他、デバッグにも利用する。パッチャーウィンドウが表示されている場合は閉じても問題はない。


新規パッチャーの作成

①FileメニューからNew Patcherをクリック

Maxではプログラムを行うウィンドウのことをパッチャー・ウィンドウ(もしくはパッチ・ウィンドウ)と呼ぶ。作成したプログラム自体はパッチ(もしくはパッチャー)と呼ぶ。

②パッチャー・ウィンドウ

新規パッチャーを作成すると、空のパッチャー・ウィンドウが表示される。


パッチャー・ウィンドウの使い方

①パッチャー・ウィンドウのユーザ・インターフェース(UI)

パッチャー・ウィンドウにはツールバーが周りを取り囲んで表示される。

②Maxのプログラミング作法

Maxではツールバー上段の様々なオブジェクト(700種以上の機能)を下図のように配置し、それらをパッチ・コードで接続することでプログラミングを行う。


button、パッチ・コードの接続

①buttonの追加

下図のアイコンをドラッグ&ドロップして追加する。

アイコン下に白三角があるものはクリックすることでサブメニューから他のオブジェクトを選択することもできる。

②サイズの変更

オブジェクトの四隅の白い四角部分をドラッグしてサイズを変更することができる。

③移動と複製

オブジェクトはドラッグして移動する。ドラッグと同時にキーボードのOPTIONキーを押せば複製することもできる。このあたりの操作はAdobe

Illustratorと同様である。複製はキーボードショートカットのCommandキー+C(コピー)、Commandキー+V(ペースト)でも可 能。

④インレットとアウトレット

あらゆるオブジェクトの全てには、メッセージの送受信を行うためのインレット(受信側)とアウトレット(送信側)がある。このインレットとアウトレットを接続することで、それぞれのオブジェクトがメッセージをやり取りしてプログラムを組み立てていく。

オブジェクトの種類によって複数のインレット、アウトレットを持つものがある。アウトレットやインレットで送受信するメッセージはオブジェクトによって決められているため、接続できない組み合わせもある。詳しくはヘルプなどを確認しながら行う必要がある。

⑤パッチ・コードの接続

buttonのアウトレットをインレットを接続する。アウトレットもしくはインレットのどちらからでもドラッグすることでパッチ・コードを引っ張り ながら接続することができる。一つ目のオブジェクトのアウトレット(インレット)をクリックした後に、二つ目のオブジェクトのインレット(アウトレット) をクリックしても接続できる。

⑥オブジェクトの削除と複数オブジェクトの選択

左クリックでオブジェクトを選択してDELETEキーを押す。複数のオブジェクトを選択する場合は、左ドラッグで領域選択する。複数オブジェクトの移動、複製も可能。

⑦パッチ・コードの削除

左クリックでパッチ・コードを選択して、DELETEキーを押す。
複数のパッチ・コードを選択する場合は、Alt(Option)キーを押しながら領域選択する。


パッチャー・ウィンドウのロック

①パッチャー・ウィンドウのロック

パッチの動作確認をするためには、パッチャー・ウィンドウをロックする必要がある。下図のように、パッチャー・ウィンドウ左したの鍵のアイコンをク リックしてロック/アンロックを切り替えることができる。または、Ctrl(Command)キーを押しながらパッチャー・ウィンドウ内の何もない所をク リック。キーボードショートカットではCtrl(Command)+Eでロック/アンロックを切り替えることができる。

注意点として、アンロック状態とロック状態では下図のように違いがわかりにくい。鍵アイコンの状態を確認するか、上部バーのunlocked/表示なしを確認しながら操作する必要がある。

②パッチの動作確認

パッチャー・ウィンドウがロックされた状態で、上のbuttonをクリックすると上のbuttonが光ると同時に下のbuttonにbangメッ セージが送信され、下のbuttonが光る。このように異なるオブジェクトをパッチ・コードを通じてメッセージを送信することが可能となる。button ではbangメッセージしか送信できないが、数値や文字列などを送信できるオブジェクトもあり、オブジェクトによって異なる。詳しくはヘルプを参照。

③動作確認のもう一つの方法

パッチの動作確認のもう一つの方法として、パッチをロックしなくても、Ctrl(Command)キーを押しながらオブジェクトを操作すれば動作させることもできる。


パッチの保存

パッチの保存はFileメニューのSaveから行う。保存されたファイルには.maxpatの拡 張子がつく。特に、Maxのようなプログラミングを行うソフトウェアは動作が不安定になりやすく、突然アプリケーション自体が落ちることもあるので、作業 途中でもSaveすることをおすすめする。

Maxでは日本語のファイル名も可能だが、他アプリケーションや英語圏とのやりとりすることを考えると、英語で記述しておいてほうが無難である。また、保存ファイル名には連番を付加してバージョン管理し、作業途中からやり直すことも想定して作業を進めたほうがよい。


オブジェクト・ボックス

①オブジェクト・ボックスの追加

下図のオブジェクトボックスのアイコンをクリックもしくはドラック&ドロップして追加する。または、パッチャー・ウィンドウの何もない場所でダブル・クリックしても追加できる。キーボードショートカットではNキー。

②オブジェクト名の入力

オブジェクト・ボックスはbuttonなどとは異なり、追加しただけでは何も動作しない。下図のようにオブジェクト・ボックス内にカーソルが点滅し ているので、そこにオブジェクト名を入力する。オブジェクト名を入力してはじめて、特定の機能のオブジェクトとして動作する。汎用的なオブジェクトと言え る。

オブジェクト名を入力する際は、すべての文字を入力しなくても下図のように候補となるオブジェクト名を表示してくれるので効率的にオブジェクト名を 指定することができる。オブジェクト名は半角英数で入力する。オブジェクト名を入力した後、Returnキーを押して確定する。

オブジェクトの種類は700種以上あり、様々な機能を持ったものがある。下図は今回のチュートリアルで利用するもの。

ちなみに、すでに利用したbuttonも、オブジェクト・ボックスに「button」と入力することで呼び出すこともできる。

②アーギュメントについて

オブジェクト名の後ろにある数値は、アーギュメントと呼ばれるもので、オブジェクトのパラメータ(媒介変数)として作用する。複数のアーギュメント を持つオブジェクトもある。オブジェクト名とアーギュメントの間、アーギュメントとアーギュメントの間は、スペースを空けて入力する。アーギュメントの指 定の仕方によっては、インレットやアウトレットの数が変更されるオブジェクトもある。

③オブジェクト名の変更、取り消し、やり直し

オブジェクト名の変更:一度確定したオブジェクト名を変更する場合は、オブジェクト上でダブルクリックする。

取り消し:Ctrl(Command)+ Z
やり直し:Ctrl(Command)+ Shift + Z


randomオブジェクト、ナンバー・ボックス

①randomオブジェクト

randomオブジェクトは、オブジェクトボックスにオブジェクト名「random」を入力する。アーギュメントは出力する数値の最大値を表す。第 1インレットに受信したbangのタイミングで、0からアーギュメントまでの範囲内でランダムに数値をアウトレットから出力する。

②ナンバー・ボックス

ナンバー・ボックスは整数を扱う入出力インターフェース。インレットに受信した整数を表示するだけでなく、マウスでドラッグもしくは数値を入力することでアウトレットからその値を出力することもできる。

③randomオブジェクトとナンバー・ボックスの動作確認

下図のように、オブジェクトを接続した後、パッチャー・ウィンドウをロックする。buttonをクリックして、ナンバー・ボックスにランダムに数値が表示されることを確認する。


counterオブジェクト

①counterオブジェクト解説

counterオブジェクトは、第1インレットにbangを受け取る毎に、第1アウトレットから数値を増加/減少させるオブジェクトである。アーギュメントの指定の仕方によって動作状態は異なる。

アーギュメントを指定しない場合

第1インレットにbangを受け取る毎に、初期値0から1増加した値を第1アウトレットに出力する。

2つのアーギュメントを指定した場合

1つ目のアーギュメントは最小値、2つ目のアーギュメントは最大値となる。第1インレットにbangを受け取る毎に、最小値を初期値として1増加した値を第1アウトレットに出力する。最大値に達した後は最小値にもどる。

3つのアーギュメントを指定した場合(1つ目が0の時)

2つのアーギュメントを指定した場合を動作は同じ。

3つのアーギュメントを指定した場合(1つ目が1の時)

1つ目のアーギュメントは最小値、2つ目のアーギュメントは最大値となる。第1インレットにbangを受け取る毎に、最大値を初期値として1減少した値を第1アウトレットに出力する。最小値に達した後は最大値にもどる。

3つのアーギュメントを指定した場合(1つ目が2の時)

1つ目のアーギュメントは最小値、2つ目のアーギュメントは最大値となる。第1インレットにbangを受け取る毎に、最小値を初期値として1増加した値を第1アウトレットに出力する。最大値に達した後は減少に転じ、最小値に達した後は増加に転じる。

このように、アーギュメントの指定の仕方によって、オブジェクトに様々な動作を行わせることができる。アーギュメントの指定方法やその影響はオブジェクト毎によっても異なるので、ヘルプを確認しながら作業を行う。

②counterオブジェクトの動作確認

以下のように接続し、buttonを押す毎にナンバー・ボックスの数値が増加することを確認する。


metroオブジェクト、toggle

①metroオブジェクト

metroオブジェクトは、アーギュメントに指定した数値の間隔でアウトレットからbangを出力する。単位はms(ミリセカンド, 1/1000秒)。動作のON/OFFにはインレットに1/0を入力する。下図の設定では120ms間隔でbangを発生させる。

②toggle

toggleオブジェクトは、metroオブジェクトのように一度ONすると動作を継続して行うようなオブジェクトに対してスイッチのような役割を行う。クリックすることでON/OFFが切り替わり、アウトレットからは1/0を出力する。

③metroオブジェクトとtoggleの動作確認

metroオブジェクトとtoggleを使うことで、パッチの自動制御が可能になる。


ヘルプ、各種ドキュメント

①ヘルプの表示

オブジェクト上でOPTION or ALTキーを押しながら左クリックすると、ヘルプを表示することができる。Maxのヘルプは秀逸で、説明だけでなく、実際に動かすこともできる。さらに、 ヘルプ上のオブジェクトをコピーして、自分のプログラムにも追加して利用することができる。

②各種ドキュメント

Helpメニューから様々な有益なドキュメントにアクセス可能。これらを利用するだけでも独習できる。

  • Max Tour 初心者向けツアー
  • Browse Lessons レッスン形式の学習コンテンツ
  • Reference リファレンス検索だけでなく、チュートリアルも豊富
  • Example 様々なパッチのサンプルがあり、そのまま利用も可能

下図はReferenceウィンドウ。下方にTutorial等の様々なコンテンツが用意されている。