

#Apc 40 step sequencer ableton 10 how to
Our first task for the controller is to figure out how to get data into and out of the live.step objects.

This allows the display and range of the parameters to be fully customized, and ensures a nice uniform bar chart appearance to each panel, rather than a different style for different modes. Each of the objects are set to display the extra1 parameter rather than the corresponding pitch/velocity sequence they represent. A single live.step device will do all of these things on its own, so why 5 separate devices? So that the sequences can be looped independently, with varying lengths to create generative, non-repeating (or long-playing anyway) sequences rather than repeating one bar ad infinitum. The core of the mono sequencer is a set of five of these live.step devices, each of which controls a single parameter (pitch, velocity, octave, duration, and repeats). Thanks, Mark! Next, we need to figure out how to send this data to the sequencer itself, which is also already built but needs more input and output. So, we now have the necessary bits in order to send messages to and from the APC 40. This leaves us with a much simpler initialization patcher. As a bonus, we’ll also check whether the current track is selected so we can revert to regular controls when the sequencer isn’t active. The only objects we need are control of the button matrix (1 object), the scene launch buttons (5 objects), and the clip stop buttons (8/9 objects).
#Apc 40 step sequencer ableton 10 Patch
So, there’s a whole bunch of Live API pieces that won’t be necessary for our purposes, and I was able to delete about half of the patch based on that alone. Mark’s patch actually stores its patterns in MIDI clips on the current track, which we won’t need to worry about. Fortunately, the 40-button matrix controls are handled by a single live.object, which lets you address buttons by row and column (whew).

Above, you can see all the append and route objects that are needed to send a simple message like 4 1 (meaning “activate button 4”) into a simple “turn on” message sent routed to one of 8 live.objects, each with one of 2 possible control numbers. – Deactivate the “session control” functionality so that button presses don’t trigger clips.īecause the APC40 and APC20 have different control number assignments, this ends up being quite a task. – Activate a bunch of live.object objects to send light/status info as output – Activate a bunch of live.observer objects to receive button presses as input – Get the name/ID of the selected control surface

The hardware control flow of the patch does something like this: Then I started looking under the hood of Mark’s APC device (which does a lot more than it looks like in presentation mode) and started disconnecting things to see what they did. So, I started by making a copy of the Mono Sequencer. But as released, it has no hardware control, and we all know how much fun it is to program melodies with the mouse. Unlike Mark’s device, the Mono Sequencer much better suited for programming basslines and melodies. Check out this video I made to see how the device works when it’s hooked up to my APC40 and a nice 303-esque Analog patch: It’s built on top of Live 9 Mono Sequencer device, made by Cycling 74 to show off the Max for Live platform, and Mark Egloff’s APC Step Sequencer, an awesome device for turning the APC40/20 into a grid-based step sequencer perfect for programming drum patterns. For my latest project, I essentially frankensteined two of my favorite patches together to make an unholy new device, the APC Mono Sequencer. One of the great things about Max programming is that you almost never have to start from scratch.
