Euclidean time — a 3-track Euclidean pattern generator

Credit to JoeCool on the ZOIA discord for kickstarting me thinking about this again. I wrote a Euclidean generator… three years ago, but it was complicated to use and I never ended up publishing it.

This one is much simpler, I think! (It turns out you can learn something in three years.) I spent a lot of time thinking about the UI, and while it’s not perfect, I do think it’s fast and easy to program.

The patch produces no sound on its own. But it does produce both CV and MIDI (and accepts CV and MIDI clock).


Euclidean patterns, or rhythms, for the uninitiated, distribute beats as evenly as possible a given number of steps. A simple Euclidean distribution is a 4/4 kick (Os are beats, Xs are rests):


But what if you wanted to distribute three beats across eight counts. If you distribute the beats absolutely equidistant, they fall off the grid. So a Euclidean distribution like that looks like:


The beats aren’t perfectly equidistant, but they are as close to equidistant as possible while still being quantized to the tempo.

In 2005, Godfried Toussaint published a paper identifying these Euclidean patterns as fundamental to almost all types of world music. (Link: I’ll just quote the enticing opening paragraph: “What do African rhythms, spallation neutron source (SNS) accelerators in nuclear physics, string theory (stringology) in computer science, and an ancient algorithm described by Euclid have in common? The short answer is: patterns distributed as evenly as possible. For the long answer please read on.” I’d recommend checking it out, if you’re interested in the subject. There is some math, but I’m no math whiz and found it very legible.


Using the color-coded (green for track 1, blue for track 2, red for track 3) buttons in the bottom right corner select one of the three tracks.

The top two rows will change the color associated with that track (e.g. green for track 1). These two rows are used to set the NUMBER OF TOTAL STEPS you want to use. As the beats play, the lights will flash white on the appropriate step.

The two rows below these will remain aqua for each track, but other lights on them will change to represent that track’s settings. These two rows are used to set the beat count and rotation.

To set the BEAT COUNT (the number of beats distributed across the steps), simply press one of the buttons on the rows. That button will light up, and the beats will begin to be distributed accordingly.

To set the rotation, press the ROTATE button in the bottom right corner. Then, press one of the eight buttons on the top row of the aqua buttons. When the rotation is moved to any point other than the first step, that button will turn purple. (If the button coincides with the beat count selection, it will be bright purple.) The rotation determines what the “1” of the given rhythm is, so it allows you to move the rhythms in relation to one another, for instance, if they share a common step count.

You can MUTE any of the tracks by pressing the track button in the bottom right corner once that track has been selected. You can unmute the track by pressing that button again.


On the second page, labeled “Options,” you will find some options to customize the rhythms.

In each case (except the individual track clock dividers), there is an option to sync the controls. When the controls are synced, the green/track 1 control will act as the master control for all three tracks.

GATE LENGTH allows you to set the gate length for a given track, from 0% (not very useful, but you’ve got to start somewhere!) to 100% (which can adjoining beats glomming together, which might be useful. Glomming is a technical term).

MICROTIMING allows you to nudge beats off the grid. It can only be applied positively, but something like negative microtiming can be achieved at the extreme, since you are moving the beats closer and closer to next point on the grid as you approach 1.

SWING can be applied positively or negatively. It affects the clock for that track, not the beats specifically, so it can be subtle to pick up and/or undetectable (if, for instance, you are using a number of beats/step count divisible by 2).

Each track has its own CLOCK DIVIDER. The clock dividers have a phase correction circuit to make sure that, if adjusted, they quickly return to phase sync with the master clock.

You can use TAP TEMPO with the white TAP TEMPO user button (on Zebu). If porting this patch to ZOIA, you can recreate this button by connecting a pushbutton, stompswitch, UI button, etc. to the tap input of the LFO on the page marked “Clock.”

MIDI is presently unassigned (so, default condition: channel 1, MIDI note #21), but the MIDI note outputs are on the page labaled “CV MIDI outputs.”

If you use one of my patches in something uploaded to social media, please consider tagging me or sharing a link on the patch page! Also, please consider liking it on Patchstorage!

Youtube: @ChristopherHMJacques

Leave a Reply

  • Platform:
  • Category: Sequencer Utility
  • Revision: 0.1
  • License: Creative Commons Attribution Share Alike 4.0
  • Modified: 1 year ago
  • Views: 1519
    Likes: 11
    Downloads: 451