back to all posts

Max/MSP Quickstart

by jonathan barrios / September 23rd, 2019

What is Max/MSP?

Max/MSP also known as Max/MSP/Jitter is a visual programming language for music and multimedia. In the 90s, Max originally sent control commands through MIDI cables that were connected to other devices, like external synthesizers because Max couldn't handle internal audio processing. As computers became more robust, MSP(integrated audio signal processing) was added and Jitter(integrated video processing) followed soon after. Why is it called Max? Max was named after Max Mathews, a pioneer of computer music.

A Spectrum of Musicianship

In the context of electronic musicianship; we use code, UI or hardware to build patches that ultimately create sound, video, or a combination of the two. While the ability to read music, grasp music theory and express yourself on a musical instrument is helpful, it's optional for the scope of this tutorial.

Installing Max/MSP

  • Install Max/MSP on your OS from cycling74.com
  • Get an "Authorize Max" link by attempting to save a patch
  • Follow instructions to start your 'Free Trial'

Max/MSP UI Overview

Max has a simple UI for great user experience, which has been true for me since verion 5. For example, the top left of the UI is a zoom tool and you can also use z and the Shift + z keyboard shortcuts to zoom in and out.


max ui

The top row is for building max patches; such as buttons, objects, and toggles to name a few. You can create a new object by click on it in the top row or using the keyboard shortcut (n).

Add a button by clicking on it and it appears in the main patching window. You can resize, style and customize the button's behavior. The keyboard shortcut is (b) so you can just enter 'b' instead of clicking on the UI icon. You can delete objects by selecting them and clicking delete or right-click and select delete. Create two buttons and try to connect them by connecting the bottom outlet to the top inlet of another object.


patching cables

This patch cord will keep these objects connected. Click the top button and watch it activate the bottom button. The bottom will not activate the top button and that is how Max/MSP rolls. The graphical top to bottom data flow is a key feature of Max/MSP.

The left side of the UI contains built-in tools like audio loops and other goodies. Have a look. 👀

The bottom left of the UI is the lock tool which switches modes from edit to non-edit. You can also use(⌘ + e) or ⌘ click to toggle between these two modes.


Built-in Documentation

Max/MSP has great documentation and built-in tutorials. Head over to the Help tab and select Reference or use the keyboard command(⇧ ⌘ r). Remember to explore the Help as you need help as it is a great resource.


Fundamentals vs Technical Details

Fundamentals don't often change, they are the raw concepts that can be reused to create new concepts. Technical Details on the other changes often, like JavaScript frameworks that seem to come out every week. 👀 In this tutorial series, I will point out the difference between the two when appropriate so you don't get bogged down by a bunch of details. The priority for your mental real estate should be Fundamentals first and details as needed, which you can often use Google or another search engine anytime.


JavaScript and Max/MSP

The goal of this quickstart tutorial is to get musicians up and running with JavaScript. If you want to learn JavaScript I recommend getting a Treehouse membership and if you're interested in starting a career in web development or programming, take a look at their Techdegree programs at the end of this tutorial. First, you should be familiar with Visual Studio Code, if not read my Visual Studio Code Quickstart tutorial first. Note that you won't need to install all of the VS Code extensions I mention in that post, just the ES6 Code Snippets extension for JavaScript.

The JavaScript object

To begin, create a working folder on your Desktop or your preferred location and create hello.js inside. Open the folder in Visual Studio Code by dragging the folder into the icon open right-clicking, and selecting; open with Visual Studio Code.

Once open, create a new file called max-js.maxpat and to begin patching in Max/MSP. You can do this by opening Max/MSP and navigating to the folder you created on the Desktop or preferred directory.

Next, we want to create a js object by clicking on an object or the n keyboard shortcut, then type js followed by the name of the file; hello.js.


js object max

Let's head over to Visual Studio Code and start editing the hello.js file by adding autowatch = 1; which will synchronize VS Code and Max/MSP every time we save hello.js. Next, add a post('Hello!'); which will post Hello to the Max console( ⌘ M) each time we save the file in VS Code. That's it for this short tutorial but you can follow me on Twitter @_jonathan_codes for upcoming release updates. Thanks for reading and happy patching! 🙌


Treehouse

If you're interested in learning more about JavaScript or web development in general, check out Treehouse with free with a 7-day trial.

back to all posts