Alternative takes on the classic step sequencer format have long been popular in the modular realm, and as modular has risen in popularity in recent years many of these ideas have begun to seep into more mainstream hardware and software tools.
One such format is the Euclidean sequencer, based on the idea of Euclidean rhythms that was first posited by computer scientist Godfried Toussaint in 2004. Without getting too bogged down in the underlying theory, Euclidean rhythms have their roots in Greek mathematician Euclid’s algorithm and involve using the greatest common divisor of two numbers to place hits in a sequence as evenly as possible across a set timing division.
In practice this is actually simpler than you might think - simply set a number of steps for your sequence and a number of events to generate rhythmic pattern. How evenly spaced the resulting pattern is will depend on how neatly the step length divides by the number of events.
For example, an eight-step sequence with four events will result in an evenly-spaced pattern of one hit every other step, whereas an eight-step sequence with five events will result in a less even pattern with hits falling on steps 1, 2, 4, 5 and 7.
From a creative point of view, layering up multiple Euclidean-derived patterns is a great way to replicate the interweaving cross rhythms of African and Latin music. The format translates very well to the evolving patterns of synth ‘bleeps’ often associated with modular music or complex ambient melodies, too.
In the software realm several DAWs and plugins offer some form of Euclidean sequencing. Ableton’s (opens in new tab) Rotating Rhythm Generator has it built in, and there are third party Max devices out there as well. Reaktor (opens in new tab) users can find a number of free community-created Euclidean tools, too. The format has begun to creep into mainstream plugin design as well, with several ‘super synths’ such as Softube (opens in new tab) Parallels and FXpansion (opens in new tab) Strobe 2, coming equipped with Euclidean modulators.
Euclidean generators aren’t the only alternative sequencers out there though. Make Noise’s (opens in new tab) René, say, calls itself a Cartesian sequencer (after Descartes) and uses a grid layout to create sequences that can be modulated across multiple axes. A ‘grid’ format is found in NI’s (opens in new tab) Reaktor Blocks too.
How to create an ambient melody using Euclidean sequencing
Euclidean sequencing is good for melody, too. Let’s create an evolving ambient pattern…
Step 1: We’re using Alkman’s excellent Euclidean Sequencer for Max For Live. We load it all up, along with Operator’s African Bars preset, which is a lovely atmospheric FM mallet sound. We’ve set the project tempo to a mellow 112bpm.
Step 2: This sequencer has four tracks. It’s possible to create note sequences for each of these, but for simplicity we’re going to stick to having each track trigger a single MIDI note. We set these a D#2, F#3, A#4 and C#5 – creating a D#m7 chord, but spread out across several octaves.
Step 3: To start we set our D# track to a step length of 16 with five events. This gives us a pulsing, predictable bass note that loops over two bars. Above this, we set the F# a step length of 12 with seven events. The difference in step lengths creates a cross rhythm that syncs up every six bars.
Step 4: For the A# track, we set a step length of 10 and three events. We move the Rotation setting around by two, to offset the position a little. We also change this track’s direction so the pattern ‘bounces’ back and forth, for extra rhythmic unpredictability.
Step 5: Next we set the C# track with a step value of 28 with seven events. We play with velocity levels on each track to emphasise the bass note more than the others. To turn our sequence into more of an ambient backdrop, we turn up Operator’s attack and decay, and add some lush reverb and modulated delay.
Step 6: Finally, to add a small element of predictability to the sequence, we use a MIDI clip to Resync the Euclidean Sequencer every 16 bars, meaning that our four patterns all simultaneously jump back to step 1.