It generates a MIDI note with note on and note off messages. Makenote - This object takes arguments for pitch, velocity, and duration. In this case, index, pitch, velocity, duration, extra1, and extra2. Unjoin 6 - Breaks a list down into six components. Has pitch, velocity, duration, two “extra” parameters, and a loop brace. Live.step - huge compound object dedicated to monophonic step sequencing. These are text instructions sent to objects generally to trigger a type of event or to set a parameter value. Route 0 - If the input is 0, send it to one outlet. Unjoin 2 - Breaks a list down into two components. Midiparse - Object to help break complex MIDI messages down to more relevant bits, in this case pitch and velocity. Midiin - All MIDI from Live (CC, Notes, etc.) Alternatively Max MSP Jitter For Music by VJ Manzo would be a solid first step. If you open up Help->Max Reference, the most important steps would be knowing bang, messages, and lists. I’d hold off on Step by Step, as it is more of an intermediate level book. I will be honest and say that most of that post makes so little sense to me hence why I have only ever used devices built by others. You’ll need to use the “counter” object for this and replace the “next” message with a “step $1” message.ĮDIT: I saved it as an M4L object with presentation mode if you want to hack it from there: ĭOUBLE EDIT: I highly, highly recommend buying this book, which is all about hacking the live.step object for more advanced behaviors: Maybe have a certain pitch advance the step sequencer by 2 or 3, or backwards by 2 or 3.
Make “next” respond to a specific MIDI note and “reset” to another.It takes an MIDI Note On message to advance the sequencer. Thus, the second output is presumably all note on messages.Īt this point, the sequencer is good to go. Here, we say “route 0” to route all velocity 0 (note off) messages to the first output. We then use a “route” object, which routes an input to different outputs depending on value matching.We use “unjoin 2” to break that list into separate note and velocity outputs.
We can assume that all “Velocity 0” messages are note offs, so we want any non-zero velocity. The first outlet is a note/velocity list. midiparse breaks down incoming MIDI messages into multiple outlets.Connect midiformat’s first output to midiout and you’re good to go. So, add a “join 2” object to pack makenote’s outputs up and send that list to midiformat’s first input. The midiformat object prepares messages for output.Plug outputs 2, 3, and 4 from unjoin into makenote’s inputs.
The first live.step outlet is a list providing index, note, velocity, duration, extra1, and extra2. Create an “unjoin 6” object (not message).
#Max msp poly tutorial Patch#
You can already test this sequencer visually by clicking on the messages when the patch is locked.