Wreckage Systems Technical Overview [Part Three of ???] (Patreon)
Content
E. Bjorklund’s A Metric for Measuring the Evenness of Timing System Rep-Rate Patterns (Bjorklund, 2003) proposed a method for discovering “the properties of ugliness” (2003) in a given pattern, and then avoiding that ugliness by distributing X number of things across a length of Y as evenly as is possible.
And who hasn't at some time or other wanted to sculpt a little sense out of the chaos surrounding us? To create a fragile pocket of order to cower in while life rages all around outside?
Presumably driven by this urge, a fellow human called Godfried Toussaint wrote a paper called The Euclidean algorithm generates traditional musical rhythms (Toussaint, 2004). In a surprise twist, given that the original paper was about the atomic timing of neutron accelerators or something, Toussaint showed that by applying Bjorklund's metrics to music, you could map almost all rhythms from music across the world and throughout history. For real. Check it out.
These days Euclidean rhythm making tools are becoming pretty popular in commercial music software and hardware. They are a handy way to make pleasing rhythms quickly. But. While using Bjorklund’s algorithm makes it possible to generate these patterns at the press of a button, it is a different approach to using randomisation or chance: there is only one way of evenly distributing 5 pulses across 16 steps using a rhythmic Euclidean algorithm, no matter how many times you run it. So if used alone, it is more like a rhythmical equivalent to a preset sound on a synthesiser. It is also important to note that just because all Euclidean rhythms are pleasant to listen to, it does not follow that all rhythms that are pleasant to listen to are Euclidean.
As ever, the trick with this algorithm, like all of them, is how you use it, what you put in, and what you do with the things that come back out.
THE DECOMPOSITION THEORY EUCLIDEAN BEAT GENERATOR
The DTEBG was originally a Max For Live MIDI effect developed in 65LABS. It generated Euclidean patterns and streamed them in real time in the form of both MIDI notes for the audio and OSC instructions for the visuals.
This is how it works.
It takes two values - a number of steps, and a number of pulses. The number of pulses needs to be less than or equal to the number of steps. The number of steps is the total number of, er, steps, in a single bar of a looping beat. And the number of pulses are the 'on' steps in that beat.
For example, a pattern of 5 pulses across 16 steps would return this:
1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0
because this is the most even (and therefore rhythmically pleasing) way to distribute 5 things across 16 whole things (without using fractions).
8 pulses across 15 steps would return this:
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
So The DTEBG would begin by generating strings of ones and zeros like this, by taking in two numbers - pulses and steps, that we could either put in manually, or let it pick randomly from given ranges.
With the numbers we got back, we would then do what is so clearly explained in the diagram above.
Prior to triggering the algorithm, we would have collected small stores of different drums, seasonal offerings from the 65LABS Drum Farms that we maintain in the Hope Valley. The kick drums are kept in a dark, cool room while the snares require cold storage. The glitch blooms we replant in the main courtyard of 65HQ and let them grow wild.
When The DTEBG runs, it first picks a few new kick drums and snares from the latest crop, and grabs a handful of glitches from the nearest bloom. Each of these samples are then assigned MIDI note numbers. For example:
kicks = [36,37,41];
snares = [39,40,42];
glitch = [38,43,44,45,46,47];
Once we have a sequence of ones and zeros, The DTEBG randomly picks a kick MIDI note integer (i.e - 36, 37 or 38) and a snare MIDI note integer to populate the rhythm with. It then iterates through the pattern. If it encounters a 1, it randomly plants either a kick or a snare, unless it is the first beat of the pattern, in which case it will always plant a kick.
The DTEBG has two modes: SPARSE and NON_SPARSE. If the mode is set to SPARSE then this is all that will happen, the rhythm is planted and left to grow into a prime slice of electronica. If it is set to NON_SPARSE, whenever it iterates through a zero, instead of staying silent, it will plant a random MIDI note from the glitch array notes. Unlike the kick and snare which stay consistent within any generated pattern, a different glitch MIDI note is chosen for every zero. The glitches these notes use are shorter than the kicks and snares, either processed hi-hat samples or else waveforms with similarly short decays.
These seemingly minor aesthetic choices are as much a part of the composition as the algorithm wrangling, and the choices that are also hardest to qualitatively measure. The balance of three different kick drums, three different snares and the eight glitch samples was as important a choice as anything else, to enable creation of a sound palette that worked in the context of everything else happening in any particular song. By changing the number of possibilities in these MIDI note arrays, and changing the fields and crops from which we sourced our samples, a wide range of rhythmical possibilities became available to us.
SYNTH FLOOD VARIATION
A variation of The DTEBG also exists in the song Synthflood on our Kazimir e.p from the A Year of Wreckage project.
Aside from the decision to only have one choice of kick and snare, the main addition to this was a NO_GLITCHROLLS/MAYBE_GLITCHROLLS toggle. When set to NO_GLITCHROLLS the generator didn't change. When set to MAYBE_GLITCHROLLS, there was an 20% chance it would introduce a glitch roll on every step of the Euclidean pattern where a kick or snare was placed.

If it did introduce a roll, instead of placing a single kick or snare on that step of the pattern, it would first subdivide that step into either 4, 8, 12 or 16 sub-steps, then fill all of those steps with MIDI notes that would trigger the drum sample in quick succession.
WRECKAGE IMPLEMENTATION
This system exists in Wreckage Systems V1, but not quite in the way described here. It is not The DTEBG itself, but we use the Bjorklund algorithm in the Harp Collateral system to produce the rhythms of the synth melodies. We are currently experimenting with incorporating it into V2 in a more beat-centric way. We will hopefully share some results with you once it is up and running, but our technicians are currently divided on whether this will be a success or not. As explained above, while Euclidean rhythms can be incredibly useful at creating compelling rhythms quickly, it is at is best when used in collaboration with actual, live humans who are able to curate and adjust its output. Left to its own autonomy, it will churn out the same selections of, cold, rhythmical logic over and over again.
Files
Previews only