Friday 4 December 2020

Non-Euclidean, Non-Linear Sequencer/Toolkit = NonU in MaxForLive for Ableton Live

I always try to explore the edges of things. When pre-11 Ableton Live wasn't into probability, I published lots of MaxForLive devices showing some ways of adding probability, and Ableton seem to have taken the hint in Live 11! One other thing that I have always been interested in is unusual timing - my Probably sequencer includes probabilistic micro-timing per note, which is kind of tricky to get your head around. But recently, I've been playing with the opposite of the many Euclidean sequencers that are available in MaxForLive circles. So here's a non-Euclidean, Non-Linear, 4-section step sequencer/toolkit for you to explore elastic time and polyrhythms. I say 'toolkit' very deliberately here, because this isn't an M4L device that you just drop into a track and make cool drum sounds or 'bleepy' sequencer riffs, - rather it requires experimentation, recording of the output, retiming, and more. Once again, it is giving you 'modular'-style functionality in a DAW - although I don't know of any direct hardware equivalent modules for Eurorack et al...

MIDInonU

Above are the 'headlines' about MIDInonU, whilst below is the 'in use' shot where it is followed by a drum Rack (note that it is very wide!):


From left to right, there is the clock part, where you can choose between a free-running 'Asynchronous' clock, and Ableton Live's own internal 'Synchronous' transport clock. Then there are two 4-step sequencers, then a 3-step, and finally a 5-step sequencer.


The 'Resync' button forces all the internal counters inside MIDInonU back to zero, and so resets all the timing. You will find that changing the Time rotary controls can cause a section to get 'out of sync' with the other sections - which can be avoided by only making changes when the 'Sync' clock is selected but Live's transport is not running (a red light in the 'Live Transport' indicator... But stopping every time is not ideal, and tweaking timings live is good, so the 'Resync' button is there to get everything back on track. Unfortunately, there is a short delay whilst all those counters reset, though...

Euclidean...

Euclidean sequencers distribute steps as evenly as possible over the looped time: 4 beats on the beat being a familiar example that often gets overlooked! MIDInonU takes this as the starting point and then allows you to subvert it. So if you look at section A (there are 4 sections: A-D), then MIDInonU takes even time spacing as the starting point - so each of the 'Time' rotary controls is set half-way through the range, where the triangle is, at a value of 16. You can change the time between 2 and 30, which allows you to move the steps backwards and forwards in time by changing the 'Time' value away from the default value of 16 (where the triangle points to). 

The loop time is on the right hand side (underneath the section character), and is 64 (and green) when the looped time is a 4/4 bar. When the value is NOT 64 then it goes grey, because it is now longer or shorter in time that the 4/4 bar length. You can hear this by using section B to set up a 65 length sequence (as shown above), and you will hear the two sections drift out of time and back in again. (Read on to find out how to make this happen!)

The screenshot above shows a simple starting position. It plays a single note (MIDI 36) from step 1 of section A, 1 note per bar. 

The blocks of control buttons to the right of the Velocity indicators are used to control the note velocities. 'Off' mutes that step output. 'Manual' allows you to use the Velocity sliders on the left hand side to control the velocity directly. 


You can only adjust the velocity sliders when the 'Manual' buttons are lit with light purple. For the rest of the time, the sliders show the algorithmically-generated velocity values...


There are two algorithmic controls, which both use the 'Count' rotary controls: 'Split' just outputs two velocity values - max and off, and it does this based on a counter that increments for each repeat and resets when it reaches the 'Count' number. So for a Count value of 1, then every step will have high velocity, whereas for a Count of 3, there will be one high velocity and two low velocity steps. The 'Count' button just provides a scaled 0-127 velocity value, derived from the counter. This means that a Count value of 4 will step through four descending values of velocity. Try adjusting the count values and the buttons to see what the effect is on the velocity sliders.

In section A in the screenshot above, the Time3 and Time4 rotary controls are set to 15 and 17, but the loop time is still showing 64 (16+16+15+17=64). This means that step 3 is slightly ahead of where a pure 4 beats per bar step would be, whilst step 4 is slightly later. You can move the steps ahead or behind in time, and you do not need to have the total add up to 64 - as long as you are okay with the loop length not matching the bar length in Live.  


One important thing is hidden at the lowest part of the window - the small boxes there allow MIDI note numbers to be assigned to each step, so the 36 in section A is a bass kick drum, for example. You can set a different note number to each step, as well as assign the same note number in different sections - so you could have a '36' kick in sections A, B C, and D if you want. On the far right hand side of each section, in the 'All' column, are buttons labelled '=' that control all the buttons in that row. So the button to the right of the 'Off' row, sets all the buttons to 'Off'. Similarly, the small box on the right of the note number buttons sets all of the note numbers to the same value (and the same for the 'Count' rotary controls). You might find the following useful at this point:

"Just because you can, it doesn't mean you have to!"

That should give you some of the flavour of MIDInonU. Yep. Quirky. Not your average step sequencer, and not the usual controls or the usual way of working. 

Sections C and D


Section C has only three steps, and so doesn't start out with 64 micro-steps. You can set it so that there are 64 steps by increasing the time between each step - you can think of the steps as being connected by elastic, if you increase the time between two steps then you will need to reduce it between some others to keep the overall length of 64. Unless you don't want 4/4 bars, of course. Each of the sections can have different lengths. 

Section D has five steps. This makes any nicely-equally-spaced timing difficult, which, in this context, is definitely good! It is probably a good idea to start out with section A first, then add section B, and get very used to how they work with or against each other before jumping into using sections C and D.

Delays


Sections B, C and D can each have their timing delayed (individually) from section A. This can be surprisingly musical! When you have discovered that playing a 64/64 loop against a 65/64 loop just sounds like a drum pattern gradually going out of time and then back again, then it can be very  gratifying to discover that changing the delay can often immediately give a good-sounding output! 

Explore

The quick introduction above only scratches the surface of what you can do with MIDInonU. Note that you get two clock sources: an Asynchronous clock where the rate is not tied to Live's transport, and a Synchronous clock where the clock is the same rate as Live's transport. This means that you can explore timings that are not synced to Live if you wish, and if you are brave, you can change the timing source dynamically by mapping an LFO to the clock selector switch... Instead of using a drum instrument, try a synth instrument, for instance - and remember that you can assign a note number to any step in any section, or multiples of either. Try moving steps in pairs: increase the time on one, and reduce it on another - this keeps the loop length the same. Alternatively, deliberately have different loop lengths! Explore the 'Split' and 'Count' algorithms - the velocity accenting can change the feel of the sequence hugely. Basically, MIDInonU gives you the freedom to change a lot of things which conventional thinking normally stops you from changing. Enjoy! 

16 rotary controls...


A previous blog post featured my visual reminder accessory for my DJ Tech Tools MIDI Fighter Twister, which has 4 banks of 16 rotary controls, just like the 4 4 3 5 Time controls in MIDInonU. This is not a coincidence, and actually there are 16 'Count' controls as well, which could be mapped to a different bank in the Twister...


Getting MIDInonU

You can get MIDInonU here:

     https://maxforlive.com/library/device/6758/midinonu

Here are the instructions for what to do with the .amxd file that you download from MaxforLive.com:

     https://synthesizerwriter.blogspot.co.uk/2017/12/where-do-i-put-downloaded-amxd.html

(In Live 10, you can also just double-click on the .amxd file, but this puts the device in the same folder as all of the factory devices...)

Oh, yes, and sometimes last-minute fixes do get added, which is why sometimes a blog post is behind the version number of MaxForLive.com...

Modular Equivalents

In terms of basic modular equivalents, then implementing MIDInonU is interesting - there are many 3,4, and 5 step sequencers that you could use, but the micro-timing is less common, and might be easier to do by processing the clocks for the step sequencers, probably using another sequencer. The velocity algorithms are going to require a quite sophisticated processing module because of those counters. One brute force method might be to use more sequencers to do the counting, but this is probably not going to be straight-forward. You could use a descending sawtooth LFO to replace the counters, or course, and then use a threshold gate for the 'Split' function.

One possible alternative would just be to use a sophisticated digital sequencer module, but then this is closer to a DAW and not quite in the spirit of DAWless 'analogue' modular... Tricky!

Overall, I reckon that MIDInonU would require an ME of about 20 minimum, which is quite high. I haven't tested this out myself, but I would be very interested to hear about it if anyone manages to get something like this functionality (or better!). 

Links

Probably   A step sequencer that does a lot, and then some...

DJ Tech Tools MIDI Fighter Twister   One of my all time favourite MIDI Controllers!

Euclidean  Let's go to the source...

---

If you find my writing helpful, informative or entertaining, then please consider visiting this link:

Buy me a coffeeBuy me a coffee (Encourage me to write more posts like this one!)


Synthesizerwriter's StoreSynthesizerwriter's Store
 (New 'Modular thinking' designs now available!)


  




3 comments:

  1. This comment has been removed by a blog administrator.

    ReplyDelete
  2. Hello. I have been reading your blog for a while and I really enjoy your devices. I am hoping you can help. I am looking for a m4l device that can play 4 asynchronous loops not tied to Ableton’s tempo or any tempo really. Thinking Discreet Music by Eno. I’d also like to be able do Reich style phasing with it. I am hoping you know of something that exists. Drag and drop would be ideal. Anyway, I hope you have a happy holiday and keep up the great work!
    -Brian

    ReplyDelete
  3. @ElDepleto: Thanks for your comment. I have partially answered it here: https://blog.synthesizerwriter.com/2020/12/thoughts-on-asynchronous-loops-in.html

    Cheers,
    Martin

    ReplyDelete