ZlatkoBaracskai: 104 Devices Built on Granulation and Math
A catalogue of 104 devices from one author tends to sprawl. ZlatkoBaracskai's doesn't, really. Spend an hour with it and the same handful of preoccupations keep surfacing: capture a buffer and break it into grains, shift or multiply frequencies by a known mathematical rule, and let probability decide when something repeats. Across roughly 80,490 downloads, those three ideas account for most of the work.
The other thing you notice is the naming. Almost everything carries a zb. prefix, which makes the collection behave like a library rather than a pile of one-offs. If you've installed a few, the browser sorts them together and you start treating them as modules you combine, not as finished effects you drop on a track and leave alone.
Granulation, approached four different ways
The largest cluster in this catalogue is granular, and the interesting part is that the devices aren't redundant — each one solves a slightly different workflow problem around the same DSP idea.
zb.granulator is the plainest statement of it: an audio effect that granulates whatever signal you record into its buffer. A size parameter sets the buffer length in seconds, rec triggers recording, ovr clears it, and play loops the contents back. The playback properties can then be randomised over time, which is the part that matters live — you set a range and let the device wander inside it rather than automating every grain parameter by hand.
There is a second zb.granulator, this one a MIDI effect, which adds overdubbing to the buffer and exposes a tidier parameter set: start position, grain duration, gap between grains, playback rate — each with its own variation control underneath. That one-to-one pairing of value and variation is a good design decision. You dial in the centre of the sound, then decide independently how much it's allowed to drift.
zb.stutter takes the same capture-then-granulate premise and points it at performance. It has the usual granulation controls, but the trigger is built to be mapped to a controller pad — specifically the APC40 matrix. That's a different instrument entirely: instead of setting a buffer going and shaping it, you're firing grains as a gesture, in time, with your hands on a grid.
zb.granular moves granulation into an instrument slot as a granular synthesiser built on customisable sources, and dw.granulate — one of the few devices here without the zb. prefix — is a real-time stereo granular processor, meaning it works on the incoming signal directly rather than on a captured buffer. If you want granulation applied to a live input with no record step, that's the one.
Distortion derived from theorems, not from a curve
The second thread is the most distinctive thing in the catalogue, and it's unusual in the Max for Live world: harmonic generation built from named mathematical identities rather than from an arbitrary transfer curve.
zb.harmonicDistortion uses de Moivre's theorem to induce the 2nd through 5th harmonics without the difference intermodulation frequencies. That exclusion is the whole point. Ordinary waveshaping on a complex signal produces sum and difference products between every partial, which is why distortion on a chord turns to mud. Build the harmonics from an identity that doesn't generate those difference terms and you can drive a polyphonic or layered source much harder before it collapses.
zb.exciter is the more flexible sibling. It induces the 2nd and 3rd harmonics of the incoming frequency components and lets you choose your maths: Chebyshev theory to include the difference intermodulation components, de Moivre to exclude them. Because the added spectral content is substantial, there's filtering available both before and after the non-linearity, and separate drive2 and drive3 parameters controlling pre-distortion gain for each harmonic stage.
Treat that pre- and post-filtering as the main control surface, not an afterthought. Filter before the non-linearity to decide which part of the spectrum gets harmonics generated from it; filter after to decide which of the results you keep. A narrow pre-filter around a bass fundamental into the 2nd-harmonic drive is a focused way to add body on small speakers without touching the top end.
Frequency shifting and a noise-based drum voice
zb.freqShift is a single-sideband ring modulator — a frequency shifter. It offsets every frequency component of the input by a value in Hertz without preserving the harmonic relationships between them, and it runs in mono or stereo. Small shifts of a few Hz are the useful secret here: run it in stereo with slightly different behaviour per channel and you get the kind of beating, detuned width that no chorus produces. Large shifts give you the classic inharmonic, metallic result, which is particularly good on drum loops and on anything you want to stop sounding like a pitched instrument.
zb.noisePerc is the catalogue's drum synth: velocity-sensitive, built from filtered pink noise, with an ADSR envelope. Its defining move is sweeping filter frequency and resonance to imitate the way a drum skin's pitch changes with the force of the strike. That means velocity is the instrument, not a volume control — program a hat or a snare part with real velocity variation and the timbre moves with it. For anything in the noise family (hats, shakers, rim sounds, brushed textures) it's a more direct route than sculpting a sampled layer.
Repetition as probability
Two devices handle repeats, one on audio and one on MIDI, and both replace fixed patterns with chance.
- zb.beatRepeat — a resampling effect that treats incoming audio as 16th-note slices locked to Live's tempo. A table of sixteen bars sets the likelihood of a repeat at each step, and three different distribution probability curves govern how the repeats are chosen. You're drawing a profile of where the stutters tend to land, not a sequence, so no two bars come out the same.
- zb.randRepeat — the MIDI counterpart. A
chanceparameter sets how likely a repetition is,velocityRatioscales the repeated note's velocity, and the delay before the repeat falls randomly betweenminDelayandmaxDelay. Duration of the repeat is controlled separately.
The MIDI version is the sneakier of the two, because the repeat lands on whatever instrument follows it. Put it in front of a plucked sound with a low chance value and a wide delay range and you get occasional flams and ghost notes that read as playing rather than as an effect. If you like that kind of controlled drift, the approach has cousins elsewhere in the catalogue — see also Group Humanizer.
The glue: zb.LFO
zb.LFO is at version 1.4, the highest revision number among the devices listed here, which tells you it got used. It's a low-frequency oscillator with a centre parameter for output offset, a variation parameter for range, a waveform selection panel, and a mode toggle between Live transport sync and free time, with rate setting the frequency.
That centre-plus-variation pairing is the same logic as the granulator's value-and-variation layout, and it's the right way to think about modulating these devices. Park a parameter where it sounds good, then open the range. Point one at the shift amount in zb.freqShift in free-time mode at a slow rate and you have a detuner that never quite settles; point one at grain size in a granulator with transport sync and the texture breathes in bars.
Where to start
Nothing in this set carries a user rating yet, so download counts are the only signal, and they're evenly spread — the devices listed here sit between roughly 1,300 and 2,200 downloads, with no single runaway hit. That's actually useful information: this is a library where the value is in the breadth, not in one flagship.
A sensible first three:
- zb.freqShift — one parameter, immediately audible, useful on almost any source. The fastest way to hear whether this author's approach suits you.
- zb.granulator — the clearest entry to the granular group. Record a bar of a loop, loop it back, open up the randomisation and listen.
- zb.exciter — the Chebyshev/de Moivre toggle teaches you more about distortion in ten minutes than most drive plugins do in a year. A/B the two modes on a sustained chord.
One practical caveat: the devices listed here were added in 2011 and 2012 and were built for Live 8 and Max 5. Check compatibility against your setup before planning a set around them. If you want a broader sense of what's current, the best-of lists and the recent audio effects roundup cover newer ground.