LiveClip - a m4l patch for Monome Grid


A step sequencer for Ableton Live clips.

This project is an integration between Ableton Live and the Monome Grid built using Java and M4L. It is basically an XOX style controller that adds notes directly to an Ableton Live clip.

There was once an old step sequencer m4l patch for the Ableton APC40 that was pretty fun to use. It was designed to promote M4L and the APC40 which I think were both new when Ableton 8 or 9 first was released. I was building a stand alone midi step sequencer some years ago for an MPD226 in Max and wanted to build pattern storage. I decided that since I was ultimately going to use Ableton for my work at the time, it would be better to use the clips in Ableton to store the patterns. I thought back to this old APC40 step sequencer, found the patch, and started reverse engineering it.

Ultimately, I built something that worked well when it worked, but setting it up could be tricky. My design involved something similar to the way monomeserial worked (UDP connections with ports configured manually), but I found the connections created were unreliable and challenging to debug in practice.

When I started building midiosc, I realized I could rebuild the patch using serialosc/midiosc to create the connection between Ableton and my controller. This project is the result of rebuilding my original patch. The major difference is that the original allowed for played velocities to be stored. To get around this limitation, I have taken inspiration from Vi/Vim. Velocities can be changed by switching modes between note mode and velocity mode.

Under the hood, I think I have a reusable design for building patches that integrate with Ableton Live. The model stuff is all built in Java with a JavaScript layer to handle communication between Max and Ableton. You could replace the Java layer with Max objects or with C/C++.


Ableton 9, but 10 or 11 will probably work too, M4L, Monome grid or midiosc


Documentation can be found at


v1.0.0 - [GitHub - SitStayCreate/MaxExternals: Max 7 mxj Externals and related max patches] - the archive labeled LiveClip (GitHub - SitStayCreate/MaxExternals: Max 7 mxj Externals and related max patches)