Akihiko Matsumoto

Max/MSP
マックスエムエスピー

People who know the name Max/MSP software may be limited to those who have been involved in electronic music since its early days or those who are interested in experimental genres. Max is a comprehensive sound-centered program development environment for audio, video, music, 3D graphics, and physical computing since the days when it was not common for each person to own a computer.

When you open Max software, at first you will only see an empty canvas. However, it becomes a place like a garden for invention, because you can build all of the mechanisms for creating sound there with your own ideas. It is one of the most widely used development software in the world of sound, not only in the fields of new media art, technological entertainment, and musical composition, but also in research and development, since the days when there were hardly any DAWs or even soft synthesizers.

Max is an unavoidable tool in the field of sound production, which requires unique development that cannot be achieved with off-the-shelf hardware or software, and has the advantage of a large number of users and a vast amount of online documentation and programs created by anyone, due to its long history.

If you are a creator working on experimental sound design or composition, learning how to use Max will greatly expand your range of expression, Especially in electronic music, the art of sound design can be as powerful support for composition as the art of playing musical instruments.

Max/MSPというソフトウェアの名前を知っている人は、エレクトロニックミュージックをやっている人の中でも黎明期から取り組んでいる人やエクスペリメンタルなジャンルに興味がある人に限られるかもしれません。コンピューターを一人一台所有することが当たり前ではなかった時代から、オーディオ、ヴィデオ、音楽、3Dグラフィックス、フィジカルコンピューティングを実現するための音を中心とした総合的なプログラム開発環境がMaxです。

Maxはソフトを開いても最初は何もないキャンパスが現れるだけです。しかし、そこに音を生み出す仕組みの全てを自分の発想で構築できるため、発明のための庭のような場所になります。 ニューメディアアート、テクノロジーエンターテイメント、作曲のみならず、研究開発の分野でも音を扱う世界で、DAWやソフトシンセすらほとんど無かった時代から最も広く利用されている開発のためのソフトウェアの一つです。 現在はMaxという名称が正式ですが、検索をしやすくするために旧来のMax/MSPという呼称も未だ健在です。

Maxは既製品ハードウェアやソフトウェアでは実現できない独自の開発を必要とする音の制作分野では避けては通れないツールであり、その歴史の長さもあり多くのユーザー数とオンラインの資料や誰かが作ったプログラムが膨大に公開されている強みがあります。

エクスペリメンタルなサウンドデザインや作曲に取り組むクリエイターであればMaxの使い方を習得しておくと表現の幅が大きく広がりますし、 特にエレクトロニックミュージックにおけるサウンドデザインの技術は、現代では楽器の演奏技術と同じくらい強力に作曲をサポートすることになります。そこに独創性や新規性を求める作曲家は珍しくありません。

Max Programming
Maxプログラミング

Download: Cycling '74 Max 8 Patch SimpleReese.maxpat

When you learn something about music, there are so many things you can do to deepen it by making and playing it. I believe that making is an act that is open to everyone, and even if you are not a musician, there is great value in learning through the act of making.
Especially in composition, learning theory and technique without practice, that is, without creating anything, is denied by many musicians.
Even on this page, rather than gaining detailed knowledge, we would like you to try making it yourself anyway and use it as material for your own thinking.
Developing something in Max is one of the lowest thresholds in programming. There is no problem if you do not try to do something big right off the bat, but rather just start with small things and increase your knowledge one by one. At first, it is important to aim for a form that can be established through ingenuity in usage while minimizing the number of things that must be learned, and if you feel that there is not enough there, it is important to continue learning new things. Skilled people will continue to learn forever that way.

I have uploaded one video here, a very simple program that opens Max and then plays a Reese-like detuned sawtooth wave.
Watch the video and imitate it. First and foremost, touch Max to create a mechanism that produces sound. It is okay to make mistakes in program development; no one will be injured or their computer destroyed by using Max. You may also understand the creative sense that it is in mistakes that unexpected discoveries and encounters can be made.
The finished product is also available in downloadable form, but please try to make it yourself as much as possible.

音楽について何かを学ぶとき、作ったり演奏することでより深くできるようになることはとても多いです。作ることは誰にでも開かれた行為であり、あなたが音楽家ではなかったとしても作るという行為を通して学ぶことは大いに価値があることだと私は考えます。
特に作曲においては実践を伴わない、つまり何も作らずに理論や技術を学ぶことは多くの音楽家から否定されることです。
このページでも細かい知識を得るというより、とにかく自分で作ってみて自分で考えるための材料にしていただきたいです。
Maxで何かを開発することはプログラミングの中でもかなり敷居は低い方です。いきなり大きなことをやろうとせず、小さなことから一つ一つ引き出しを増やしていくだけで問題はありません。最初は覚えなければいけないことを最小限に止めながら使い方の工夫で成立する形を目指し、そこに物足りなさを感じたらまた新たなことを学ぶ積み重ねが重要です。熟練者もそのように永遠に学習を続けていきます。

ここに一つの動画をアップロードしました。Maxを開いてから、Reeseのようなディチューンされたノコギリ波を鳴らすとてもシンプルなプログラムです。
動画を見ながら真似をして、まず何よりもMaxを触って音が出る仕組みを作ってみましょう。プログラム開発は間違っても大丈夫です。これだけで人が怪我をしたりパソコンが破壊されるようなことはありません。間違いのなかにこそ、想定外の発見や出会いがあるという創造的な感覚も理解できるかもしれません。
完成品もダウンロードできる形で置いてありますが、できるだけ自分で作ってみてください。

maxmsp

When you open New Patcher, you will initially see a brand new screen. We will build the sound system here one by one.
The object that generates the sawtooth wave is completed by double-clicking on the window and typing phasor~. In this video, three sawtooth wave oscillators are prepared, and the + and - objects are used to add and subtract frequencies and send the values to the left and right oscillators.
Max has a help menu on every object, which can be opened by option+click, and is itself a program that can be executed, helping you learn as you work.
+ - objects should be entered with a single space before entering a numerical value. The unit is Hz. Then, the actual Hz value of the whole frequency can be varied by using the number box. The number box appears when you press the i key. If you make a mistake, press delete.
Next, place the live.gain object that controls the volume. This can be found in the Audio tab of the Max for Live Objects, Audio tab. The object to play the created sound through the speakers is ezdac~.
When the program is complete, click on the key symbol in the lower left corner to lock the entire program and prevent editing, instead allowing you to click on the UI to change numbers and move sliders.
If you want to edit the program itself again, simply lock it with the key symbol in the lower left corner.

Now, did you think there was something wrong with the sound of this program?
Yes, I am making a mistake here. + The number 25 that I am entering in the - object is in Hertz, but I mistakenly entered a number that is supposed to be in cents, so I think I have a dissonant harmony rather than a detuned one.
But if you hear this sound and it inspires an idea other than detuning, that's where Max's depth begins!

New Patcherを開いたら最初は真っ新な画面が出てきます。ここに一つ一つ音が出る仕組みを構築していきます。
ノコギリ波を生成するオブジェクトはウインドウをダブルクリックしてphasor~と入力すれば完成です。この動画ではノコギリ波のオシレーターを3つ用意し、+オブジェクトと-オブジェクトを利用して周波数を足し引きした数値を左右のオシレーターに送っています。
ちなみにMaxはオブジェクトに必ずヘルプメニューが存在していて、option+clickで開くことができる上、それ自体がプログラムになっていて実行可能なので動かしながら学ぶことを助けます。
+ -のオブジェクトは半角スペースを空けてから数値を入力してください。単位はHzです。では実際全体を何Hzにするかはナンバーボックスで可変できるようにしてあります。ナンバーボックスはiキーを押すと出てきます。間違ったらdeleteを押してください。
次に音量を制御するlive.gainオブジェクトを配置します。これは上のメニューバーのMax for Live ObjectsのAudioタブにあります。そして作られた音をスピーカーから鳴らすためのオブジェクトはezdac~です。
プログラムが完成したら左下の鍵のマークをクリックすると全体にロックがかかり編集ができなくなる代わりにUIをクリックして数字を変えたりスライダーを動かしたりできるようになります。
またプログラム自体を編集したくなったら左下の鍵のマークでロックをかければいいだけです。

さて、このプログラム、何か音がおかしいと思いませんでしたか?
そうです、ここでは私も間違いをしています。+ -オブジェクトに入力している25といいう数値はヘルツなのですが、セントという単位を想定した数値を間違えて入力してしまったので、ディチューンというより不協和なハーモニーになってしまっていると思います。
でも、この音を聞いていたらディチューンとは別のアイデアをひらめいてしまった人はそこからがMaxの深みのスタートです!

History of Max
Maxの歴史

maxmsp

The history of Max begins in the 1980s when Miller Puckette of IRCAM, a French institute dedicated to the research of music and sound, especially in the fields of avant garde and electro-acoustical art music, wrote a music language for Macintosh called Patcher a music language for the Macintosh, to create an interactive computer music system.

The software was first used in a musical work, Pluton, by French composer Philippe Manoury in 1988.

In 1989 IRCAM ported a version of Max/FTS for NeXT, short for Faster Than Sound. It required an external device for real-time sound synthesis and processing called ISPW. Max/FTS has been installed in 30 laboratories and studios around the world, including IRCAM.

In 1989, Max was licensed to Opcode Systems, and in 1990, the first commercial version of Max, Max/Opcode, was released. Opcode would later be released by Cycling74, a company founded by David Zicarelli. Meanwhile, in 1996, Miller Puckette developed PD, an extension of Max's sound processing capabilities, at the University of California, San Diego. Inspired by this, Zicarelli later introduced real-time sound processing to Max, which had only a midi generation function, and released it as a package called MSP. The term MSP is a reference to Miller S. Puckette.

In 1998 IRCAM releases jMax, an open source java version of Max, but the project has now been terminated. The latest version as of 2023 is Max 8.5.

Maxの歴史は1980年代フランスの音響研究所 IRCAMのMiller Puckette (ミラーパケット) がインタラクティブなコンピュータ音楽のシステムの構築のためにMacintosh用のPatcher という音楽言語を書いたところからスタートします。

このソフトが最初に音楽作品で利用されたのは、1988年フランスの作曲家Philippe Manoury (フィリップ・マヌリ)のPlutonという作品です。

1989年IRCAMはNeXTのためにMax/FTSというバージョンを移植します。Faster Than Soundの略がFTSです。これはISPWと呼ばれるリアルタイム音響合成、音響処理のための外部装置を必要としました。Max/FTSはIRCAMをはじめとして世界中の30箇所もの研究所やスタジオに導入されました。

1989年にはOpcode Systems社にMaxのライセンス供与を行い、1990年には初の商用版のMaxであるMax/Opcodeを発売します。後にOpcodeはDavid Zicarelliが設立したCycling74社から発売されるようになります。一方、1996年にMiller Pucketteはカリフォルニア大学サンディエゴ校にてPDというMaxの音響処理機能拡張版とも言えるソフトを開発しています。これに触発され、Zicarelliは後にMidi生成機能しか持たなかったMaxにもリアルタイム音響処理を導入しMSPというパッケージとして発売されました。このMSPという言葉にはMiller S. Pucketteの意味が含まれています。

1998年IRCAMはオープンソースjava版のMaxであるjMaxを発表しますが、プロジェクトは現在では終了しています。 2023年現在の最新版はMax8.5。

Pluton - Philippe Manoury
(1988)

Composition by Philippe Manoury http://msp.ucsd.edu/syllabi/271.01f/doc/manoury-pluton/index.htm#overview

The work was begun in 1987 at IRCAM in France by Philippe Manoury (1952-), one of the most influential composers in France today, and was completed after about two half-days of work a week for six months.

It is a work for MIDI piano and computer, each synchronized and running a device for sound synthesis called Sogitec4X. Attempts like score following have been made since the development of Max, and at that time, performers were required to play with a sense of tension, as even a single mistouch would cause the MIDI information to be lost and the computer to fail to process. The first performance was given by Japanese pianist Ichiro Nodaira.

この作品は現在フランスで最も影響力を持つ作曲家の1人、フィリップ マヌリ(Philippe Manoury, 1952-)によって1987年からフランスの国立音響研究所IRCAMで制作が開始され、半年間一週間に二日程度半日の作業を経て完成された作品です。

これはMIDIピアノとコンピュータのための作品であり、それぞれがシンクロしSogitec4Xという音響合成のための装置を動かしています。Max開発当時からスコアフォローイングのような試みが行われており、当時では演奏者は一音でもミスタッチを行うとMIDI情報が欠損し、コンピュータの処理が失敗してしまう緊張感のある演奏が求められました。初演は日本のピアニストである野平一郎氏によって行われています。

Max/MSP Features
Max/MSPの特徴

maxmsp

Unlike C and other languages, Max/MSP is characterized by its ability to develop programs that execute specific commands by graphically constructing logic by connecting boxes called objects that perform various types of calculations with wires. Moreover, Max does not require compiling, which is a process that allows you to develop programs while playing sounds, so even if you have a vague idea of what you want to create, you can develop your ideas while listening to the sounds.

However, there is a weakness in this approach, which is that readability becomes overwhelmingly complex and worse when implementing algorithms comparable to those in Java or C. Complicated wiring is also commonly referred to as spaghetti patches. To overcome this complexity, after moving to Cycling'74, Max has taken the approach of increasing the number of objects to prevent complicated patching. By preparing standard algorithms as Max objects, users can use only the results of calculations by supplying variables without knowing how this object works, thus reducing the difficulty of learning Max.

Max/MSPの特徴はC言語などとは異なり、さまざまな種類の計算を行うオブジェクトとよばれる箱をワイヤーで繋ぎ、グラフィカルに論理を構築して特定の命令を実行するプログラムの開発が行える部分ではないでしょうか。しかもMaxはコンパイルと呼ばれる作業が不要で、音を出しながらプログラムの開発ができるため、何を作りたいのか曖昧な場合でも音を聞きながら発想を膨らませることが可能です。

しかし、この方法には弱点があり、JavaやCと同程度のアルゴリズムを実装する場合の可読性が圧倒的に複雑になり、悪くなるという点です。複雑に絡み合ったワイアリングは俗にスパゲティーパッチとも呼ばれます。 この複雑さを克服するためにCycling’74に移行後はMaxはオブジェクトを増やすというアプローチで複雑なパッチングを防いでいます。 定番のアルゴリズムをMaxオブジェクトとして用意することで、ユーザーはこのオブジェクトの仕組みを知らなくても変数さえ与えれば計算結果だけを利用することが可能になり、Maxを学ぶ敷居が下がることになりました。

Max Overview
Maxの概要

maxmsp

Max/MSP is composed of Max, MSP, and Jitter, which are separate processing objects, as well as extensions called gen~ and RNBO.

  • Max … User interface, timing, communication, MIDI programming
  • MSP … Extension for audio processing
  • Jitter … Extension for video processing with matrix and generation of 3D graphics using OpenGL
  • gen~ … Extension to allow development of signal processing per sample, included since Max6
  • RNBO … This is an extension function that has been included since Max 8.5, which enables export to vst, au, C++, Web Audio, External Object, etc. by developing within a dedicated object.

To see what the latest version of Max can do for you, visit the Learn section of Cycling'74's website.

Max/MSPはMaxとMSP、Jitterという別々の処理を行うオブジェクト群に加えて、gen~、RNBOという拡張機能によって構成されています。

  • Max … ユーザー インターフェイス、タイミング、通信、MIDIプログラミング
  • MSP … オーディオ処理のための拡張
  • Jitter … マトリクスによる映像処理やOpenGLを使った3Dグラフィックスの生成のための拡張
  • gen~ … Max6から搭載された1サンプルごとに信号処理の開発が可能な拡張
  • RNBO … Max8.5から搭載された拡張機能で専用のオブジェクト内で開発することでvst, au, C++, Web Audio, External Objectなどへの書き出しが可能になる。

Maxの最新版でどのようなことができるのかは、Cycling’74社のサイトのLearnのコーナーをご覧ください。

Max Programming Basics
Maxプログラミングの基本

maxmsp

Download: Cycling '74 Max 8 Patch MustLearnMax.maxpat

Still, Max is a programming language, so it is true that it is an environment that is distant from music. Many people are stumped as to how to learn it. Therefore, I have compiled a list of objects that you should definitely learn.

In fact, many of the objects that exist in Max can be combined to perform the same calculations. If you have seen the contents of my Max for Live devices, you know that most of them use only the basic objects shown above. Don't you think that's less than you think? Now you just need to be creative in how you combine these objects! First, please open the help file and memorize the functions of just the objects here!

それでもMaxはプログラミング言語であるので、音楽とは距離がある環境であることも事実です。学びかたがわからずつまづいてしまう人も少なくないと思います。 そこで、絶対に覚えるべきオブジェクトをまとめました。

実はMaxに大量に存在するオブジェクトはこれらのオブジェクトを組み合わせることで同じ計算を実行することができるものも多いです。 少なくとも私が開発しているMax for Liveデバイスはほとんどが上にあるような基本的なオブジェクトしか使用していないことは、私のデバイスの中身をみたことがある人ならお分かりだと思います。 思ったよりも少ないと思いませんか?あとはこのオブジェクトの組み合わせかたの自由な発想が必要となるだけです! まずはここにあるオブジェクトだけでもヘルプを開いて機能を暗記してください!

Multilinguality of Max/MSP
Max/MSPのマルチリンガル性

maxmsp

Another feature of Max is the ease of communication with various languages and protocols: Java, Javascript, Lisp, OSC, MIDI, RTcmix, csound, Chuck, Supercollider, Max for Live, VST, TCP/IP, xml, sql, etc. TCP/IP, xml, sql, etc., are all available as objects or libraries within Max/MSP. Max/MSP is probably the only software that can work with such a wide variety of software and languages internally.

For more information on the multilingual nature of Max/MSP, an article with sample patches by Professor Brad Garton of Columbia University's Computer Music Center on the Cycling'74 website is useful.

Maxのもう一つの特徴として、様々な言語、プロトコルとの通信が容易ということがあげられると思います。Java, Javascript, Lisp, OSC, MIDI, RTcmix, csound, Chuck, Supercollider, Max for Live, VST, TCP/IP, xml, sqlなど数えてもきりがありません。これほど様々なソフトや言語と連携がとれるソフトはMax/MSPだけでしょう。

Max/MSPのマルチリンガル性については、Cycling’74のサイトに掲載されている、コロンビア大学コンピュータ音楽センターのBrad Garton教授のサンプルパッチ付きの記事が有効です。

Max for Live
マックスフォーライブ

Max for Live is a collaborative project between Ableton and Cycling '74. Add to Ableton Live the power and potential of Max/MSP, which gives you access to virtually everything a computer can do. Not only will you be able to develop instruments and effects, but you will also be able to hack into Ableton Live itself and develop mechanisms to make it do special things.

Max for Live は、Ableton と Cycling ’74 による共同開発プロジェクトです。 コンピューターができうるほぼ全ての機能にアクセス可能なMax/MSPのパワーとポテンシャルをAbleton Liveに加えます。 インストゥルメントやエフェクトだけでなく、Ableton Live自体をハックし特別な動作をさせる仕組みを開発することも可能になります。

Max for Liveの主な機能
Max for Liveの主な機能

  • Build your own audio effects, MIDI effects, and instruments
  • API to control Live sets, tracks, clips, devices, notes, loops, parameters, etc.
  • Extends hardware functionality: provides objects to access hardware controllers connected to Live
  • Includes a dedicated version of Max that allows creation and editing of Max devices
  • Includes ready-to-use Max devices for audio and MIDI processing, algorithm synthesis, real-time performance, and hardware control
  • Live playback continues while device is being edited in Max
  • Flexible user interface design: tailor UI to Live or create your own UI
  • Includes numerous built-in Max objects for logic, MIDI, scripting, audio, and video processing
  • Supports video compositing and animation via "Jitter" objects
  • Step-by-step tutorials to learn how to program with Max for Live

  • 独自のオーディオエフェクト、MIDI エフェクト、インストゥルメントを構築可能
  • API を使って、Live セット・トラック・クリップ・デバイス・ノート・ループ・パラメータなどをコントロール
  • ハードウェアの機能を拡張: Live に接続されているハードウェアコントローラにアクセスするオブジェクトを提供
  • Max デバイスの作成と編集を可能にする専用バージョンの Max を搭載
  • オーディオと MIDI 処理、アルゴリズム合成、リアルタイムパフォーマンス、ハードウェアコントロールにすぐ使用できる Max デバイスが付帯
  • デバイスは Max で編集中も Live での再生が継続
  • フレキシブルなユーザインターフェースデザイン: Live に合わせた UI や独自の UI を作成可能
  • 論理、MIDI、スクリプト記述、オーディオ、ビデオ処理に対する数々の 内蔵 Max オブジェクトが付属
  • 「Jitter」オブジェクトを介してビデオ合成とアニメーションに対応
  • ステップ・バイ・ステップで Max for Live を使ったプログラム方法を学べるチュートリアル

Max/MSP-like software
Max/MSP類似ソフトウェア

openmusic

  • Native Instruments Reaktor … It is easier to learn and use than Max, but it is an applied system of modular synths, less capable in terms of FFT and other aspects, and not capable of generating video or network-based works.
  • Apple Computer Quartz Composer … It is patch-type programming and the programming process is very similar. This is a software for video generation and does not have an excellent library for sound.
  • Pure Data … The original developer, Puckette, released Pure Data in 1996 as a free software program that was a redesign of Max. It differs from Max in some basic respects, but is largely similar, and the patches themselves are loadable from Max.
  • OpenMusic … A program developed by IRCAM for algorithmic composition, Max is primarily suited for real-time processing in the act of playing, whereas OpenMusic is suitable for non-real-time output of scores (MIDI data or Finale format) and sound files. OpenMusic is suitable for outputting non-real-time scores (MIDI data or Finale format) and sound files. It supports the SDIF format developed by IRCAM, and has extensive data exchange with a variety of software, including Audiosculpt, Max, and Finale.

  • Native Instruments Reaktor … Maxよりも学習が容易で使い易いが、モジュラーシンセの応用系であり、FFTなどの面で能力が低く、映像やネットワークを利用した作品の生成を行うことはできない。
  • Apple Computer Quartz Composer … はパッチ型プログラミングでありプログラミングのプロセスは非常に似ている。これは映像生成のためのソフトであり、音響に関しては優れたライブラリ等を持っていない。
  • Pure Data … オリジナル開発者PucketteはMaxを設計しなおしたフリーソフトウェアプログラムとして1996年にPure Dataをリリースした。 これは基本的な点でMaxと異なる部分があるが、大部分は似ておりパッチ自体Maxのものが読み込み可能なものとなっている。
  • OpenMusic … IRCAMによって開発されているアルゴリズミックコンポジション用プログラム。Maxが主に演奏行為におけるリアルタイム処理を目的とした使い方に適しているのに対し、OpenMusicは非リアルタイムの楽譜(MIDIデータまたはFinale用フォーマット)やサウンドファイルの出力に適している。 IRCAMが開発したSDIFフォーマットに対応しており、AudiosculptやMax、Finaleをはじめとする様々なソフトウェアとのデータのやり取りも充実している。

Max/MSP Generative Music
Max/MSP 生成音楽