Bent Groovebox — a chaotic, organic drum machine/pattern generator

As in the circuit-bent variety, Bent Groovebox speaks in shuffling grooves and noisy blips, stuttering repeats and blown out fuzz drums. There are four, identical voices in the little drum machine, each build around aliased noise and resonant bandpass filters. Those voices pass into a sidechaining compressor, a randomly triggered beat repeat delay, a peaking filter, and a fuzz to create glitchy little squalls of rhythm.

Patterns are generated using a Relabi wave, as described by John Berndt (; an interesting read all around, but I’ll pull this quote for context, or decontextualizing ‘rhythm’: “it is important to note that the phenomenon of rhythm is not rigid, but involves considerable potential for subjective slippage, recalibration, and leaps of faith on the part of the listener”). The Relabi wave is a sum of four sine waves, with the rhythms generated by this combination wave passing certain thresholds. As the sine waves move at different rates, those thresholds can shift and shuffle, but they will bear self-similarity over time.

There is no traditional clock in this patch; the Relabi wave is the clock, and it can only be governed by range and tendency. But you can also use external gates for the voices, on a per voice basis, which allows for combinations of voices driven by a more traditional clock and voices driven by the less predictable Relabi wave.

The combination of these noisy little “drums” (although they descend somewhat easily into true noisy waves, if pushed in certain directions) and the shifting temporality of the Relabi wave is a mess, to be honest. But a mess with more coherence than you might expect, which produces grooves that would be difficult to program by intention.

The patch is designed with Zebu in mind. It makes use of the user buttons, and it accepts and outputs CV. But I will include notes for adapting to the ZOIA pedal.

The output is mono, but the same signal is produced from both outputs.


User buttons:

Left — “Generate pattern,” momentary. This causes the sample and holds which control the rate of the sine waves used for the Relabi to sample a new, random number. If the patch is saved, the current, generated pattern will be preserved. If you wanted to adapt this to a ZOIA stompswitch, the button connects to the sample and holds on the page labeled “Relabi gen.”

Right — “Repeat,” momentary. This holds the repeater delay (more on this below). If you wanted to adapt this to a ZOIA stompswitch, the button connects to a slew limiter on the page labaled “Gate comparator.”


Inputs 1-4 can be used to gate/trigger (the patch converts these to triggers internally, so either can be used) individual voices. You can select which voices are externally gated by using the switches on the second page, labeled “Gate source.” When the switch for a given voice is flipped to channel 2, the external gate is selected. (If no external gate is present, this can be a quick way to mute voices.) If you wanted to adapt this feature to MIDI, you could connect MIDI note in modules to the second input of the switches, replacing/adding to the CV connections.

You may need to adjust the clock filter settings, depending on your clock source.

Outputs 1-4 generate triggers whenever a voice is triggered, either internally or externally. If you wanted to send triggers via MIDI, the trigger modules connected to these outputs are found on the page labeled “Gate comparator.”

Control page:

Voice and pattern generation controls:

Each of the four voices is identical. The signal path is very simple: noise passes through an aliaser, then into a VCA controlled by an exponential attack-decay envelope, before being sent to a resonant bandpass filter.

Control over these elements is identical for each voice, then.

FILTER FREQUENCY controls the frequency of the bandpass filter. When the RESONANCE of the filter is low, this functions more like a tone control, but as resonance is increased, the voices take on more characteristics of a pinged filter, and so this control more aptly reflects pitch. The frequency can also be set into negative values (below 27.5 Hz) — this can be useful for creating kick drums, but there are also other ways to manipulate the audio at such low frequencies. It should be noted, however, that at some low frequencies, the resonance can produce more energy than you might expect, so I would suggest applying it carefully.

The ALIASER FREQUENCY controls the frequency of the aliaser. This control has a few different effects. You might think of it as a “quality” control or a “density” control. It can work a little like a low-pass filter, too. At very low settings, the noise becomes “granularized” and discontinuous, which can produce some quasi-ratcheting sounds.

The ATTACK and DECAY controls govern the shape of the noise envelope before the noise hits the filter. They can get very brief and snappy, or quite long (up to 60 seconds), if you want to use the voices for waves of noise more than percussive sounds.

The LFO AMOUNT controls how much the voice-specific LFO is applied to that voice’s filter frequency. The LFOs are derived from the LFOs used to make the Relabi wave, with one of each of the four sine wave LFOs being assigned to a voice. Because the LFO frequencies are inherently tied to the pattern generation mechanism, they tend to have a very organic relation to the voices.

Finally, the THRESHOLD controls are slightly different. As mentioned above, the patterns are generated by the Relabi wave passing through comparator thresholds. These set these thresholds. But the top two voices have NEGATIVE thresholds, which means they trigger when the Relabi wave passes above those thresholds. The bottom two voices have POSITIVE thresholds, which means they trigger when the Relabi wave falls below these thresholds.

In general, the thresholds function the same: as a threshold moves closer to the center (.5000) of the range, it is more likely to be passed and so produce a trigger. But the sequential relationship between the top two voices and the bottom two voices, respectively, are more easily defined, as you can place them in relation to one another (such that when spaced closely, they are likely to trigger in succession more often than not, and when separated, they are more likely to be triggered at different times).

The SPEED RANGE governs the general speed of the generated pattern. It specifically controls the attenuation of the random values to the LFO frequencies, so when the range is high, the random values might all still be somewhat low, producing a slow pattern. You can also use this control to speed up or slow down a pattern once it is generated.

Effects controls:

The signal path for the effects is sidechain compressor –> repeater delay –> peaking filter –> fuzz.

The COMPRESSOR RATIO control affects the ratio of the sidechaining compressor. It might also be thought of as a sidechaining amount, since as the ratio falls, the effect of the sidechaining becomes less dramatic. The sidechain is derived from the first voice, which I often set up as a sort of kick drum sound because of this fact, but there are other effects possible depending on how the first voice is configured.

The repeater delay has a number of controls.

REPEAT TIME determines the length of the delay, from 0 ms to 1 second. Because of the scaling, the value of this time reflects the millisecond-length of the delay, e.g. .050 = 50 milliseconds. I generally keep it very short, between 5 milliseconds and 20 milliseconds, for this beat repeat sounds. But longer times can produce more broken rhythm effects, and you can even use it as a somewhat traditional delay.

The REPEAT MIX sets the wet/dry mix for the repeater delay. I usually keep this at 100%, so that the repeated audio interrupts the live sound, but you can set it to different mixes for different effects.

The RANDOM REPEAT CHANCE sets the likelihood that the repeater delay is triggered. This chance is consulted each time a voice is triggered, so it is somewhat depending on the overall rhythm of the patch. When triggered, it will hold until a subsequent voice causes it to release, again depending on the chance. It is a very fun way to sprinkle in some glitchy goodness.

The REPAT FADE AMOUNT determines how quickly the sound transitions from the delayed signal path to the live signal path. In a lot of cases, I like keeping this at 0, but there are occasions where the abrupt transition (particularly in instances where the mix is less than 100%) is unpleasant.

It should be noted: the repeater delay only affects the audio path. I tried using a CV delay to loop the CV path in a similar manner, but the result was much less satisfying. So the locked rhythm will only be heard in the patch’s internal voices, rather than via external voices triggered by the patch.

The PEAKING FILTER GAIN, FREQUENCY and Q all govern the behavior of the peaking — or bell — filter in the signal path. It can quite dramatically reshape the sound, or it can be used to subtly boost or cut some frequencies. When the Q is set high enough, the filter will be pinged by the incoming voices. This is placed before the fuzz, rather than after it, so certain frequencies can be driven harder into the fuzz.

The FUZZ control sets the input gain of the fuzz (the “burly” variety, which seemed to impart the most character). You can set it low to minimize the effect of the fuzz… but I’m not sure why you would. Of course, the fuzz does have the effect of quashing the dynamics in the patch. The OUTPUT GAIN control, finally, sets the level of the patch. It doesn’t go to complete silence, but it can be made much quieter.

One comments on “Bent Groovebox — a chaotic, organic drum machine/pattern generator
  • prophane on said:

    Sounds great, my kind of twisted chaos! What are the turnarounds to use it with Zoia?

  • Leave a Reply

    • Platform:
    • Category: Sequencer Synthesizer
    • Revision: 0.1
    • License: Creative Commons Attribution Share Alike 4.0
    • Views: 400
    • Downloads: 168
    • Modified: 1 month ago
    Chat about this patch on Discord! Download
    Appreciate 1