An idiosyncratic rhythm generator that builds patterns from negative space. The initial inspiration for this device was my desire to create a rhythm generation algorithm that would be able to produce the regular, evenly-distributed patterns that the Euclidean algorithm is known for, as well as lopsided patterns that are unevenly distributed, with clusters of notes in a short amount of time. What ended up coming out was an algorithm that could do exactly what I hoped AND way more: a one-to-four track rhythm generator that can produce a range of interlocking polymetric patterns. It works great for percussion, obviously, but also Mask Pattern 2 delivers surprising melodic discoveries through the interplay of patterns running at different pitches.
I strongly recommend pairing this one with the Reduce transformer, which allows you to generate a crazy polyrhythmic pattern, then systematically reduce its density to arrive at something appealing.
Technical Explanation
This is one of those devices that is much easier to grasp through play than through a written explanation, but here’s my attempt at a written explanation:
There are two euclidean patterns: the “underlying pattern” and the “masking pattern”. To be honest, these two names are a bit misnomer-y, but it’s fine… bear with me. The interaction of these two patterns allows us to great four separate resulting patterns A, B, C, and D.
Put as succinctly as possible, these patterns are the following:
- Pattern A is the expression of the underlying pattern, masked by the masking pattern
- Pattern B is the inverse of pattern A
- Pattern C is the expression of the masking pattern, masked by the underlying pattern.
- Pattern D is the inverse of pattern C.
Maybe that makes sense. But I doubt it! If you’re still curious, read on. Of course, you might want to stop reading now and just go use the device. Or you could keep reading! Up to you…
Underlying Pattern
The underlying pattern is a euclidean pattern whose number of steps is equal to the length of the clip selection divided by the grid interval. The number of events in the underlying pattern is set by the Distribution parameter of the device.
Masking Pattern
The masking pattern has two parameters: Masks and Mask Length . Masks sets the number of steps in the pattern. These steps will be stretched such that the masking pattern’s length is the same as the underlying pattern. The Mask Length sets what proportion of each step is “filled in”. In the example above, Masks is 4 and Mask Length is 50%

With the underlying and masking patterns, we can create four output patterns using boolean logic as follows:
- Pattern A: Underlying and Masking are both TRUE
- Pattern B: Underlying is TRUE, Masking is FALSE
- Pattern C: Underlying is FALSE, Masking is TRUE
- Pattern D: Underlying and Masking are both FALSE.
The result is a set of four patterns, each of which fills the negative space left by the other patterns. Another way to think about it is that the device is distributing the available events across the four voices. The Distribution , Masks , and Mask Length parameters can be used to modify this distribution.
The Rotation parameter rotates Pattern A in increments of +1, Pattern B in increments of -1, Pattern C in increments of +1.5, and Pattern D in increments of Mask Pattern 4 -1.5, which allows notes in different patterns to overlap and makes lopsided patterns possible.
Each of these 4 patterns can be assigned to a separate MIDI note, can be enabled or disabled, and can have an independent velocity.
Clément Lemay-Chaput –
I quite like this new set of MIDI tools! The Even Seed device is a great way to produce a pattern from scratch & the Phrase Shuffler Pro is a nice way to play around with existing patterns. So far, this is my favorite set of MIDI tools. What it might lack in numbers, it makes up for in creative possibilities.