Euclidean Sequencing in Reaktor

Here is a ridiculously cool Euclidean sequencer for Reaktor. It features 16 individual channels each with their own settings and an adjustable lowest note for MIDI output.

The sequencer makes no sound itself but you can direct its MIDI output to anything. Here’s a video showing the sequencer in use triggering Microtonic:

Sequencer download and more information here. I stumbled across the author’s site while searching for some tips on how to use the Reaktor event bus, one of the components of the partials framework, about which the author – the mysterious “marv” – has written an article here.

For more on Euclidean rhythms and sequencing in general, check out this superb and inspiring article on the topic at Create Digital Music.

Update: Marv / Normalised has kindly posted an updated version of the sequencer below in the comments. There’s just one sequencer in the newer instrument but it should be a breeze to copy and paste it.

  • Janne Nummela

    Hi, any idea if anybody is doing object like this to MSP/Max? As far I have seen, this is most useful and developed EuclidSeq object. What I still missing is to sharing one circleobject two parts: both parts own Steps, Fill, Shift parameters.

    • Not sure if I understand you correctly – you want to have multiple parts share the same steps, fill etc? You can do that with internal connections between knobs – see p. 426 in the application reference.

      Or you want to have something like a class-object relationship, where one object runs multiple sequences with different settings? That’s trickier but doable by assigning parts to different voices in the same object.

      • Janne Nummela

        Sorry dont know anything about Reaktor. Can you give link to “application refence”?

        I mean, half the circle like that for example: first equal half of the circle divided 3 Steps, second equal half of the circle divided 5 Steps.

        Why two divided parts: because there is some musical function (see rumba clave etc).

        Why not more parts: because its going unnecessarily complicated, and all the combinations are possible to construct from simpler seqs.

        Anyway, im interested in to program something like this (visual sequencer object) to MSP/Max. Just wander if anybody know, this is already done?

        Is it possible use this sequencer in Reaktor by 16 midi channels in Player mode?

        • Janne Nummela

          … or maybe there would be musical intention some more delicated structures to make rhytmical pattern chains. It is very hard to say, because I have experience only this polymetric seq:

          And this polyrhytmic seq:

          • Janne Nummela

            It seem, this Reaktor euclidean seq go above boht of those limitations: there is 1 – 1/32 Speed for each channel, and there is master tempo BPM in Reaktor plyer. Is it possible to control master tempo by Midi… learn midi assign?

          • In Reaktor the thing to do would be to slave it to a clock that you can control, or run it in a host with an automatable BPM, because as far as I know you can’t control the clock directly.

            That Max patch looks like the basis of what you want.

            BTW I don’t think you can mod this Reaktor patch using Reaktor player. But in the full version it’s easy to change things to send to different channels.

          • Janne Nummela

            Thank you for clear answers.

            I have some experience with these sequencers I linked. I have used to change tempo with foot pedal (you can hear what i mean here:

            Problem for me to to use Reaktor is just practical: I dont have money for all the licening in the world. And I have used to work with MSP/Max.

            I need quite a lot flexibility (to configure sequencer interface) in this case, because I have some certain realtime improvisation / composition use in my mind.

        • At a certain point, you have to ask yourself whether those sorts of things would be easier to sequence in a boring old piano roll than design a graphical sequencer and enter the parameters to accomplish the same thing.

          IMHO algorithmic sequencers shouldn’t get TOO complicated, or too top-down, because the results are already going to be somewhat unpredictable. You have to, I think, surrender some degree of control and not be too detail oriented.

  • Sook

    Would love to add a loop function to your version of this euclidean sequencer (this one ) so that the sequencer could say reset over “x” bars, but its beyond my reaktor abilities…

    • Had a look in the structure. You’d have to replace all the song position modules with 1/96 clocks and accumulators, and then time the reset. It’d be easier to adjust each sequencer to bar length a factor of the bar length.

      Or, here’s an idea, record the MIDI out and trim it to the length where you want the reset to happen, then loop that.

      Though frankly, I prefer the freeform out of control nature of having everything set to different lengths and timings.

      • Sook

        Thanks for the reply Peter…

        When the sequencer is currently set at maximum resolution of 32nd notes there is maximum of 24 steps, that would allow 3/4 a bar… even at 16th notes (which i most often use) it would allow 1.5 bars, if i wanted to loop the sequence over say 4 bars, it would not be possible using this method of setting the correct amount of steps… also the pattern is based on a euclidean algorithm so if i wanted the pattern of say 5 hits filling 15 steps… but looping over a set amount of bars, this would not give the same fill pattern if the loop was set to the exact bar…

        Haha yes atm i do record it to midi… i loop a section in the sequencer, which resets the sequence, so i can get a feel for the pattern… then i record it out…

        But like you say the freedom of being able to do this in the sequencer and leave it running is whats desired…

        I will have a crack at adding a clock to the song position, but my reaktor creation abilities are not strong at all… But thanks again for your response and your page here, i just discovered it… 🙂

        • Hmmm. But resetting every n bars with a trigger would give you the same thing as cropping at n bars – the pattern wouldn’t be the same when looped.

          Reading what you’re saying about maximum numbers of steps – would more steps solve the problem? Or do you need to think about finding a lowest common denominator between your euclidean pattern and number of bars? And what’s a bar – a 4/4 bar, or a 5/4 bar, or…?

          • Sook

            Raising the maximum number of steps wouldnt solve the problem truly… as the number of steps affects the placement of the hits… For instance simply if i wanted loop 15 x 16th notes with 5 fills over 1 bar… this is not the same as 16 x 16th notes with 5 fills to loop it… the first sequence would have hits 1,4,7,10,13,1 repeating, the second sequence would have 1,5,8,11,14…

            i get what you say about finding a common denominator… That would resolve the pattern to completion, could be quite a large denominator given the 8 variables in the sequence though haha… but not really interested in playing it out over more than 2,4 or 8 bars generally and resolving the pattern isnt really essential for me… As it stands recording the midi out is an adequate solution, but would be great if i had the know how to implement it directly into the sequencer…

            Basically i use this sequencer to create an interesting polyrhythm which i then loop over say 2,4 or 8 bars in 4/4… writing techno, so looking for interesting complex rhythms, but keeping the dance music arrangement formula, its important to come back to that strong 1 in the pattern at some point… but as above the actual resolution of the poly rhythm isn’t essential…

            I fell in love with euclidean rhythms when i first read about them… thats how i stumbled onto this sequencer and this post…

          • Are you using Ableton as a host? What you can do is have different length euclidean MIDI clips in a scene, and change scenes when it “feels” right according to the underlying unch-unch of the track, regardless of where the “playhead” is in the uneven clips.

  • keyse2s

    Would love to get this sequencer to run, though I suspect my issue is probably my 5.9 version of reaktor running in OS X 10.9. But, on the off chance that it’s user error, here goes: I cannot for the life of me figure where to attach a pitch/gate output module to get the sequencer to actually trigger the fill notes. Running as a plug in ableton live, I see a “steps” output and a “cycle” output. Those do trigger gate and pitch info, though not in the pattern as set by the steps and fills values. The video posted in the article makes it look really easy to set up, and I am seeing notes come in to the midi channel that has reaktor as the input. Again, just not in the pattern set on the sequencer. Thanks.