Desk log · 584 titles

Mac software news, brief and clear


Cycling '74 Max program icon
Mac Apps

Cycling '74 Max 9.0.9 Mac

Updated · Filed by Rosa Delgado

Download (924 MB) Earlier builds

From the photo desk

Building custom audio tools, synthesizers, or interactive installations often means choosing between limited off-the-shelf software and writing code from scratch. Max offers a third path: a visual programming language where you connect objects to shape sound, MIDI, video, and data in real time.

What is Max used for?

It's a modular environment for music and multimedia. Composers, performers, researchers, and artists use it to patch together signal processors, sequencers, generative systems, and custom interfaces without writing traditional text-based code, according to Cycling '74.

RNBO v1.3.5 arrives alongside a crash fix for text-field inspectors

The update bundles RNBO v1.3.5, adds button-assignment support for parameter banks in live.banks, and fixes an Inspector crash that could occur when editing or closing a text field. The release notes keep the list short and practical.

Apple Silicon Macs get native support starting at macOS 11

As of version 9.0.9, Max requires macOS 11 or later and runs natively on both Apple Silicon and 64-bit Intel Macs. The system demands depend entirely on the patches you build—memory and processor use scale with your project's complexity.

Building a real-time audio looper: a start-to-finish workflow

Most newcomers open Max and stare at a blank patcher window. Here's a concrete task that gets audio moving within half an hour: a four-track looper that records from a microphone, plays back in sync, and lets you overdub on any track.

Start by creating four buffer~ objects, each named loop1 through loop4. Set their duration to 8000 milliseconds, enough for a two-bar phrase at 120 BPM. Connect an adc~ object through a selector~ to route input to whichever buffer you're recording into. The selector~ input comes from four toggle objects wired through a radiogroup, so only one track arms at a time.

For playback, each buffer feeds its own groove~ object—this handles time-stretching and pitch preservation when you change tempo later. Route the outputs through individual gain~ sliders to a dac~. Add a metro at 120 BPM tied to a counter to track bar position; patch the counter's output into each groove~ sync inlet so all loops stay locked together. Wrap the whole thing in a presentation mode, lock the patcher, and you've got a functioning looper with transport controls, level faders, and record-arm buttons—all built from about 35 objects.

Clean up a messy canvas with encapsulation in the first hour

The patcher window rewards organization immediately. Within the first hour of building anything non-trivial, you'll want to group related objects into patcher subpatches—Max calls this encapsulation, and it turns a sprawling canvas into something you can actually debug. Right-click any selection, choose "Encapsulate," and those objects become a single named box with inlets and outlets you define.

Get comfortable with the object inspector early. Select any object, hit Command-I, and you'll see attributes that aren't visible on the object itself—color settings, font sizes, scripting names, and for UI objects, the full palette of sizing and appearance options. The crash fix in 9.0.9 makes this safer than it was a version ago.

Keyboard shortcuts matter more here than in most Mac software. Lock and unlock the patcher with Command-E—locked mode is where you interact with sliders and buttons, unlocked is where you wire things together. New users toggle this constantly. Command-B sends a bang message to any selected object, which fires its output without needing a physical controller connected. When testing a synth patch at 2 a.m. with no keyboard hooked up, this keeps things moving.

One habit that pays off: save incrementally. Max patches are single files, but complex ones can reach tens of megabytes with audio buffers embedded. Version numbers in filenames have rescued more than one late-night session.

Performance under load

Max's resource footprint mirrors what you ask of it. A simple MIDI router patch sips around 120 MB of RAM and barely registers on CPU meters. Start stacking FFT processes, granular engines, or multiple RNBO exports, and those numbers climb fast. The scheduler runs at audio vector size—typically 64 or 128 samples—so responsiveness stays tight even when the DSP load pushes past 60 percent on an M1 or M2 machine.

On Apple Silicon, the native ARM build loads noticeably faster than the Intel version running through Rosetta; cold-launch to usable patcher takes under four seconds on an M1 MacBook Air. Patches that lean heavily on jit.world for OpenGL visuals or vst~ for hosting plug-ins benefit most from the native architecture. Intel Macs running version 9.0.9 still perform solidly for audio-only work, though complex video patches show their age on older hardware.

Stability in daily use comes down to third-party externals. The core object set—MSP audio, Jitter matrix processing, the standard Max objects—rarely causes unexpected quits. Where things get shaky is with community externals compiled for older Max versions. If a patch freezes, the Max console window usually names the object responsible, and restarting the audio engine from the DSP Status window often clears transient glitches without a full relaunch.

A construction kit for tools your DAW can't provide

Does Max replace a DAW, or does it sit alongside one? It's not a replacement for Logic or Ableton Live. Think of it as a construction kit for the tools those DAWs can't provide—a MIDI processor that no off-the-shelf plug-in offers, a live performance patch that reacts to sensor input, or a generative sequencer with rules you define. Many users build a Max patch and route its output into their DAW via virtual MIDI ports or Soundflower-style audio routing.

How much coding experience do I actually need? None to start, but some to go deep. The 40-plus interactive tutorials walk you through message passing, signal flow, and UI construction step by step. Each object has a help file—right-click and choose "Open Help"—that includes a working demonstration you can copy and modify. That said, Max's deeper features, like the JavaScript object or the C SDK for building externals, absolutely reward programming knowledge. Plenty of working musicians never touch those parts.

Can I run patches someone else built without understanding how they work? Yes, and that's how a lot of people get started. Lock the patcher, and you're using a finished application. Many users download Max for a specific community patch—a convolution reverb, a drum machine, a video mixer—and only later start poking at the wiring to tweak behavior.

What happens to my patches if I stop using Max? Patches are plain-text JSON files with a .maxpat extension. They sit on your drive like any other document. Opening them again requires a running copy of Max, but the files themselves don't expire or lock. The software doesn't phone home to validate file ownership, and patches created in version 9.0.9 open in any 9.x release.

Version
9.0.9
Download
924 MB
Developer
Cycling '74
Languages
English
Activation
K'ed by TEAM HCiSO
Compatibility
macOS 11 or later
Architecture
Apple Silicon, Intel 64-bit

Letters to the desk 0

Sign in or open a desk account to write a letter.

No letters on this brief yet. They are read before they run.

More in Mac Apps

The whole section