Create interactive sounds, graphics, and custom effects!

Max for Mac

Max for Mac

  -  844 MB  -  Trial
Max for Mac connects objects with virtual patch cords to create interactive sounds, graphics, and custom effects. Connect your Max patches to the wide universe of MIDI and other external controllers. Use Max for macOS's user interface objects to make your own control interfaces with full support for MIDI/MPE, and OSC protocols.

Make your own unique synths, or craft your own swirling webs of delay. Teach your audio samples new tricks by using algorithms of your design, automation, and external hardware.

Combine Max for Mac’s flexibility with Jitter – real-time video, 3D/2D vector graphics, and effects. Experiment with audio-to-video control (and vice-versa) to create your own video processing routing and feedback systems. Gen integrates Max's familiar visual patching environment with the power of real-time code generation and compilation.

BEAP provides a robust library of high-level modules that you’ll know and love from the analog synth world. Patch them up and interface them with your own analog synth modules for a world of new possibilities and sounds.

Vizzie’s high-level visual processing modules let you make everything from VJ rigs or interactive video work with real-time controls to little patches that do amazing things with your webcam.

Connect to Max

Arduino
Use Max's serial communications to interface with electronic sensors, motors, and other components using your Arduino board.

Controllers
Max's built-in MIDI handling tools connect to any MIDI controller with knobs, sliders, buttons, or keyboards.

Synthesizers
Combine hardware synths with the app to create custom editors. It supports the full MIDI/MPE spec, so you can talk to any MIDI device.

DMX Lighting
Add audio-responsive and interactive elements to your show system lighting with the program.

Projectors
Take control of your visuals with interactive support for multiple screens, OpenGL hardware graphics, and video playback.

Live Inputs
Connect live instruments and sound sources to Max and experiment. Audio interfaces, USB Microphones, and built-in hardware all work seamlessly.

Note: 30 days trial version.

Also Available: Download Max for Windows

  • Max 8.6.0 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    Max 8.6.0 Screenshot 1
  • Max 8.6.0 Screenshot 2
  • Max 8.6.0 Screenshot 3
  • Max 8.6.0 Screenshot 4
  • Max 8.6.0 Screenshot 5

What's new in this version:

New Features:
- array & string: new objects for processing arrays and strings
- CEF/jweb: Updated to CEF 5735 with Chrome 114
- comment: bubble background color
- crosspatch: ‘bang’ message to resync
- crosspatch: dictionary output if client doesn’t understand setdictionary
- crosspatch: dim circles / alpha dimming attribute / misc improvements
- crosspatch: input / output connection highlighting
- Database: improved behavior when externals are added/removed
- dialog: ‘clearsymbol’ message
- dict: @legacy mode for ‘get’ value output (on by default for old objects)
- dict: rightmost outlet for file operation notifications
- dict.compare: new object
- dict.unpack: @legacy mode
- Displays: Move All Windows to Main Display feature
- gamepad: new object for receiving gamepad controller events
- info~: rightmost outlet reports full pathname
- jit.dx.grab: fps support
- js / Max SDK: ability to pass a js patcher to an external
- JS dict: ‘stringify_compressed’ method
- Left Toolbar: Max for Live browser, Object browser improvements, etc
- Live MIDI Tools: new MIDI Generator and MIDI Transformation device types (requires Live 12)
- live.adsrui: @tethering attribute to suppress output when there is input
- live.adsrui: outputmode attribute
- live.dial: needlemode attribute
- live.map: Get info for any Ableton Live parameter
- live.modulate~: Realtime control of Ableton Live parameters without taking over control
- live.param~: Support for applying live.modulate~ modulation
- live.remote~: @normalized attribute for controlling remote parameters with normalized range 0.-1.
- live.remote~: @getid attribute
- live.routing: route MIDI & Audio inputs/outputs in Live
- Max for Live: support for dynamic buffer sizes (as small as 32)
- mc.makelist~: @fixed attribute
- mc.miditarget: object to map MIDI channels to MC channels
- mc.unpack~: replicate attribute (like mc.wrapper~)
- mcp.record~: new MC mapping
- Node for Max: updated to Node v20.6.1
- Patching: allow for 1x1 patcher gridsize
- Patching: Apply Grid (1x1 Pixel Grid, or Current Pixel Grid) Arrange menu items
- Patching: Arrange->Apply Grid
- Patching: Snap to Pixel patcher attribute
- path: 'Patcher:' path prefix
- pattr: @thru 2 (suppress output when triggered from inlet)
- Preferences: 'Follow Live Theme' preference (defaults to on)
- Preferences: new 'Add Patchers to Search Path on Save' preference
- print: @bettersymquotes attribute for clearer symbol quoting
- RNBO: update to RNBO v1.2.4
- serial: @asyncread attribute to read continuously in the background (defaults to 0)
- serial: @break_duration to determine the length of a break signal
- serial: @postbreak_duration to specify a pause after the end of a break (MAB)
- serial: @rts attribute to support enabling RTS flow control
- serial: @rts to raise the RTS line
- serial: support for non-standard baud rates
- sfizz~ / mcs.sfizz~ / mc.sfizz~: sampler object based on the Sfizz library
- stash~: @extend attribute
- text objects: add ‘Edit…’ menu item support
- Themes: New Themes

Fixed:
- amxd~: improved read-only device attribute behavior
- borax: detects illegal note numbers
- bpatcher: fixed crash with closebang fontface
- buffer~: fixed issues with writing > 2GB audio files on MacOS
- CEF / jweb: improved startup/shutdown sequence
- chooser: fixed crash with enter and key object (Win)
- click~: improved sample accuracy at high signal vector sizes
- coll: fixed crash when name is > 79 characters
- Colors: fixed crash when setting bgcolor without any arguments
- comment: Home and End in multiline jumps to correct line
- crosspatch: dimmed connection alpha is constrained
- Database: improved added/removed externals
- Database: prevent potential hangs on quit
- dict: ‘remove’ message supports array notation
- dict: improved efficiency
- dict.view: improve performance of large dictionaries
- Displays: fixed ‘phantom’ handles (Win)
- Displays: fixed drag of window between displays on Windows
- encapsulate: can encapsulate 256 or more objects
- File Browser: externals in internal packages are listed once
- File Search Path: obtrusive error warning about adding single files to search path
- fpic: drag and drop from project shows loaded image
- function: modern curve now draws using the modern curve formula
- function: redraws when changing classic_curve mode
- fuzzy Math: improve float comparison epsilon
- gen~ codebox: require finds genexpr files that are in Project paths
- GLCore: allow 1D texture updates
- GLCore: fixed crash when freeing camera when slab is receiving input
- Help / Ref: missing object error now refers to the missing object instead of jbogus
- hover: fixed usage with objects that have keyboard entry
- Inspector: view updates immediately when dragging boxes
- jit.gl.handle / jit.gl.mesh: works with auto_handle
- jit.gl.material: improved vtf_normals heightmap
- jit.gl.multiple: fixed drawing jit.gl.node color
- jit.gl.sketch: fixed axes geometry
- jit.gl.sketch: fixed issues on Windows / Max for Live
- jit.gl.sketch: fixed vertex colors usage
- jit.gl.sketch: glrect command re-implemented
- jit.gl.text: fixed draw errors on visiblity change
- jit.gradient.ui: misc improvements
- jit.str.regexp: fixed crashing
- Jitter GL: fixed crash with implicit context finder
- js: jsarguments are no longer truncated
- JSUI: fixed crash on Mac VMs
- jweb: removed in built applications without CEF support
- live.dial: increased arc line width to avoid blurriness
- live.menu: svg files are included as dependencies in Projects
- live.step: fixed crash on Push 3
- live.text: properly sets value when mouse released outside box
- matrixctrl: supports 'dictionary' message
- Max for Live Devices / Node for Max: maintains organization when unfreezing
- Max for Live Devices: fixed crashes when creating and freeing devices
- Max for Live Devices: loadtime performance improvements
- Max for Live: fixed loading of decoded Live audio files
- Max for Live: improved mouse behavior in device with no parameters
- Max for Live: Keyboard input changes parameter value during modulation
- maxurl: fixed crash when object is created and destroyed quickly
- mc.combine~: unassigned outputs are appropriately zeroed
- mc.in~/mc.out~/mc.route~: bumped channels max to 128
- mc.list~: eliminated 'bad number' warning when using @chans attribute
- mc.poly~: fixed issues with resampling and vs
- mc.sig~: fixed crash when changing chans attribute
- midiselect: note off can only output a 0 from the note outlet
- midiselect: release velocity is output correctly
- node.script: dependencies are found when file paths are updated
- node.script: fix error reporting
- Object Action menu: fixed crash with very large number of attributes
- Parameters: fixed issues with parameter value overrides
- Parameters: fixed potential crash toggling parameter mode enable
- Path: don’t search collective if a fullpath is given
- Path: fixed plugin name conforming for VST3
- pattr: @bindto works on project load in 3rd level nested subpatchers
- pattr / pattrstorage: prevent feedback routings
- pattrstorage: autorestore respects changeable arg when saving new view
- pattrstorage: disallow managed pattrstorage objects in the same patcher
- pattrstorage: fixed indent level in windows
- pattrstorage: get edited works for AMXD parameters
- pattrstorage: improved @changemode behavior with int/float comparison
- pattrstorage: reduce output of a bound pattr object
- playlist~: clip loop points are properly initialized
- playlist~: improved resolution when patcher is zoomed
- plugin~ / plugout~: fixed crash with bad arguments message
- poly~: fixed crash with ‘wclose’ message when there is no loaded patcher
- Presentation mode / thispatcher: fixed issues when quickly switching mode
- Projects: amxds unfreeze to the M4L devices folder
- Projects: development path available for amxds opened from Max again
- Projects: Open Project Folder now opens the current project folder
- regexp: substitution works as well as @substitute with no argument
- ReWire: removed
- sah~: reversed triggermode 4 / 5 labels
- selector~: improved performance
- serial: outputs 'read 0' when there is nothing in queue
- Shortcuts: fixed cmd + apostrophe in French keyboard
- Sidebar: fixed crash when triple-clicking on left sidebar icons
- stash~: mode 1 works with all sizes
- table~: fixed issues with @size attr / attribute order
- table~: removed inmap scaling of next increment
- textedit: hints work when ignoreclick is set to 1
- thispatcher: fixed window messages when inside a bpatcher
- Toolbar Browsers: improved behavior when DB is updated
- umenu: ‘&’ character is drawn in dropdown
- umenu: empty items are retained in parameter enum lists
- updown~: handles ramps of very small values
- VIZZIE AUDIOSPLITTR: fixed usage when there is no GL context
- vst~: embedded editor updates values when changing controls
- Zoom: improved zoom-dependent coordinate quantization