Showing posts with label Live. Show all posts
Showing posts with label Live. Show all posts

Back to Max

I seem to have a love/hate relationship with Max. Every time I have an idea that for a Max patch the same thing happens: 1) bang out a rough working first iteration; 2) fix the obvious issues; 3) iterate, and get even more enthused about the project as things start sounding better. That's usually when the patch just stops working as expected or even at all. Turns out there are a few non-obvious things about Max that you need to be mindful of. For example, the position of elements in your patch will have an effect on the order in which events are processed. At first this seemed insane but I think I'm coming to see this as a useful feature (or maybe it's just a bad idea?) Another thing that I recently discovered is that the send and receive objects used for passing data around without cables makes that data available in the global scope, which is just asking for trouble. Then there's the naming of the objects in Max. Seriously, who the hell thought zl would be an appropriate name for an object that does list processing? And uzi for sending out a series of events in quick succession (I guess this was Cycling's idea of a joke?) This weird naming scheme (if you can call it that) makes finding the right object for the job incredibly frustrating at times, though the documentation seems to have improved. While these quirks do cause occasional frustration I'm finding that working with Max is getting easier. I've also realized that a key factor in keeping one's sanity while developing and especially for maintaining a patch over time is to keep things as clean as possible. There's nothing worse than trying to untangle a knot of a patch when fixing a bug. That said, I'm giving Max another chance. Let's see how long the relationship lasts this time.

Oh and as my first foray into the world of Max this year was to revisit an old Max for Live patch I started a few years ago. As expected, the patch was a total mess, in fact it didn't even work. So I re-started it and now it works again (for now). The inspiration for the patch came from reading about analogue shift registers, devices which were occasionally found in modular systems. Basically such devices allow you to route identical voltage (or MIDI) values to multiple sources in sequence. The concept is relatively generic so you can achieve all sorts of effects using it. In Live routing is done with velocity since I haven't found a way to take advantage of MIDI channel data. I recently uploaded a demonstration of what it can sound like, but I suggest just downloading it and trying it out for yourself to see what happens. Basically all you need is a Live set that consists of a single MIDI channel with: 1) the effect followed by 2) an instrument rack with chains configured to receive single velocity values between 1 and 8. Play some MIDI into the channel and you should hear the effect immediately. It can be subtle or profound depending on the input so be sure to try different sequences and note lengths.

Polyrhythmic sequencer

I've been spending some more time with my sequencer idea for the Novation Launchpad using only the built-in MIDI functionality included in Live. The latest version makes it possible to play the sequence from step 1 to 8 while at the same time playing the same sequence but from steps 1 to n, where n is <= 8. In other words, it's possible to make a canon out of a sequence.

Besides this, each step's on/off, pitch, octave up/down, octave up every 3rd bar, random velocity, high velocity and short/long note length are programmable. Steps on the grid are arranged horizontally, that is, step 1 is represented by the first column, step 2 by the second, and so on. The sequences to play are determined by the last column of buttons on the Launchpad (normally used to play scenes in Live), where the top button plays a 1 step long sequence, and the last 8 steps. And the buttons on the top of the Launchpad are used to repeat the last step of the active sequence(s), which can be useful for hearing changes to steps.

Here's a short video of me messing around with the sequencer. It includes basic instructions on how the sequencer works:

To use the sequencer, download the Live set and place it in the Templates folder of your Live library. This way you can create new Live sets with the set without overwriting the original. You can also download a Live project that works like the one in the video above to try it for yourself. You'll need a Launchpad and Live's included MIDI plug-ins to use the sequencer.

Please send any comments or feedback to me via Twitter @mattpatey. Enjoy!

8-step sequencer for Live + Launchpad

I've just uploaded an 8-step sequencer for Live that uses only Live effects and it doesn't require Max for Live. I owe some credit to Aurex's 8-Step V2 sequencer, which inspired me to make a sequencer using the Launchpad. My implementation is simpler and, in my opinion, easier to use. I also find that in being more limited my take on the sequencer encourages more experimentation with your patches rather than going for a shotgun approach of letting your sequencer do everything for you. Go ahead and try it and tell me what you think.