Euclidean sequencer max4live version now here!

Alright I got a bit distracted by other things and I forgot that there were people out there who really wanted this thing. What can I say, I get chronic blog fatigue.  I also wanted it to be good and to have preset recall and interpolation so I stalled on the initial release, then the comments mounted up on the teaser post…

screenshot of max4live version of the euclidean sequencer

Euclidean Sequencer M4L

But it’s here now! Installation is a breeze, simply download the file (see the bottom of the post), unzip and copy the “Euclidean Sequencer” folder to <your live library>\Presets\MIDI Effects\Max MIDI Effect\”. The sequencer will then appear the next time you load live in the “MIDI Effects\Max Midi Effect” part of Live’s browser.

A note about presets, presets are not stored with the live patch but are stored seperately as max pattr .json files when you click the write button, you can get them back using the read button. When you program a rhythm you like you can store it by selecting a note number and pressing store. Notice that the presets are referred to not by a number but by a note, this is because of how the presets are recalled using MIDI notes.

You can also interpolate between rhythm presets to generate odd material! To start with  manually select two presets to interpolate between by clicking on the note boxes labelled A and B and interpolate between them using the slider (you have to have first stored something in these preset slots for interpolation to occur).  Once you’ve programmed some material to work with you can go ahead and  sequence and automate the interpolation using MIDI clips or live MIDI input as follows. Playing or sequencing a note with a velocity above 64 causes a rhythm stored with that note to be recalled in box A. If the interpolation slider is set fully left then it will simply recall that rhythm. Playing or sequencing a note with a velocity below 64 causes a pattern stored with that note name to be recalled in box B. Again if the slider is set fully right it will simply recall that pattern. The interpolation slider itself can be controlled by MIDI CC 3.



If you like this sequencer then please consider donating me £2 GBP which after PayPal fees will give me roughly the £1.70 a pint of foaming nut brown ale costs in my local Wetherspoons. You don’t have to, but not doing so means you are well stingy plus since my uni funding ran out I’m completely brassic.

24 Responses to “Euclidean sequencer max4live version now here!”

  1. aco

    hello great code hacker:-)
    i wish you a big wave of pint´s and thanks again for these great work!!!!

  2. aco

    hello great coder 🙂
    i was checking all the functions, like saving presets to note, changing
    the slots with control 3- manually everythings works great,greater…
    but when i´m trying to remote the slot notes or the controler3 via
    clip dummy with envelope- i tried many different ways- live crashes bad…
    do you know perhaps why??? my system: win xp, max/msp 5.1.7, live 8.2.1
    greets from berlin. is there a way to comunicate with you via e-mail?

  3. crx

    Not tried dummy clip, will look into it. Our setups are the same so hopefully I’ll be able to reproduce it. I’ll email you.

  4. Alexkid

    Hi Robin,
    Could you please send me your email? I “modded” your patch so all parameters would be saved with the song or as presets. Though I have a couple of ideas/desires, and therefore wanted to have a chat with you… how can I get in touch with you ?

  5. Death

    I was hoping this would spit out some midi data when I press record so that I can meticulously edit it. Am I wrong that there is no way? If so, this is a grand device, but my donation went forward and I can’t really use this as I’d really like.

  6. crx

    Hey death, only just found your comment. You can record the midi by creating a second midi track in live that takes the output of whatever track hosts the sequencer as its input and then set it to record. Does that help? If you donated I really do want to help you get what you want out of this. It does spit out MIDI data, honest.

  7. shady

    hey… it doesn’t seem to work anymore? using ableton 8.3 and when i pop it into my rack i get a white box where the sequencer display used to be.. also no notes being spit out?

  8. crx

    It still works here with live 8.4 and the latest max. Have you copied the js script along with amxd? If it’s not there then the box won’t display the sequencer.

  9. shady

    ah alright i’m going to check it out once again once i get home from work! thanks for the pointer. i’ll let you know if it works.

  10. SRS

    Hello CRX,
    Not sure how active this thread is, but I wanted to mention that running the M4L version of this I’m finding a discrepancy in the output. Reading Toussaint’s paper regarding this algorithm, one of the examples he uses is EU 13-5, which in his paper is solved as: 1001010010100. However, when I run this ratio through the M4L patch, I get: 1001001001010.
    I can’t take credit for noticing this, it was pointed out in another thread regarding this algorithm ( A poster in that thread points to the same anomaly, and it does not seem that it has been fixed in that code yet. I’m not sure if your code is derivative of Hisschemoller’s but it would seem that both have similar bugs.

    This M4L patch is nice work and certainly generates many useful rhythms, so kudos for that and thank you for making it available to the Max community, it is a very helpful tool both for learning and for generating rythms. However, you may want to look at what’s up with the code because strictly speaking it does not always seem to follow the algorithm.

    This is meant as constructive contribution, hopefully it will be received as such. Please let me know if I am missing something here.


  11. crx

    Interesting thanks for raising this I’ll look into it as soon as I get a chance.


  12. Jonathan

    Hi Robin,

    This is a brilliant patch and COULD be really useful to me. Except, I can’t map the parameters in Live, and they don’t show up in Push (I’d want to be able to manually tweak them in real time). On the M4L discussion board they said I need to replace the Number boxes with live.Number boxes. Is there an easy way to do that without messing up your great work?


  13. crx

    I’m working on an updated patch that integrates better with M4L and solves the existing bugs.

  14. M!X

    Cool man.
    Looking forward for the latest version with the bugs fixed 🙂

  15. pepe

    Hello there, hope you are well.
    This is a very neat and highly appreciated device!
    However, i can’t figure out how to make it work with max for live running Live 9.2 and Max 7 or Max 6..
    Please help

  16. Francis


    This is a great patch but it doesn’t seem to save at all when I use the write/read buttons…

  17. elward

    Hey, thanks for the great work.. hoping this is still active, because I’d love to hear if the updates were made regarding the algorithm discrepancy and the Push/Live parameter mapping? Just downloaded the device and looking forward to using it, but if these features have been addressed then that would be great

  18. jjbabydarling


    very impressed with your sequencer. has all the features i have been looking for since ages. plus the added bonus of the interpolation thing which is very clever and exciting.

    however i now desperately want to automate the interpolation slider. is there a way?

    thank you!

  19. jjbabydarling

    actually scratch that last comment. i read in your description that youve provided a way to automate it. have got that going yet because i have a far more pressing issue that threatens the usability of the thing overall.

    when i load a project the sequencer has reset to default AND i can’t get it to recall presets at all. please help!

    if you can help me get this thing functioning ill sling you a fiver.


Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>