A brief overview of the three patches, before more in-depth descriptions:
“Relabi gen” is a Relabi generator (more on that below). It can be used to create evolving, organic rhythms. This one is pretty new to me, but I expect to play around with it a lot. Early results have been very positive.
“Shift modulators” are four shift register-based modulators. They can also produce evolving, organic modulations. (I used a similar modulation source in Roadside Picnic.)
“Wobbly sines” are four sine waves with randomly modulated rates (and optionally, randomly modulated depths). These are something I use a lot in generative patches to produce changes over time that feel smooth, even if they never repeat exactly.
These patches do not produce sound on their own, but there is plenty of CPU headroom available to add additional sound processing elements.
**Note about CV outputs** At the moment, there is a bug with how -5V to 5V outputs display information. The -voltages- these outputs produce are accurate; what is displayed by the output may not appear to reflect those voltages. Empress is aware of the issue, and I’m sure it will be addressed in a future firmware update.
Let’s dig in.
[Relabi gen]
“Relabi gen” uses the principles outlined by John Berndt in this paper: http://www.johnberndt.org/relabi/Relabi_essay.htm
The paper is… intense, but the Relabi wave he describes is pretty straight forward (in a novel way).
In essence, four sine wave LFOs of different frequencies are mixed together. The output of this mixed wave is then comparated, with the comparators producing gates or triggers. Because the sine waves are themselves cyclical, certain principles of periodicity govern these comparated outputs, even if they are not immediately apparent. The outcome, then, is a rhythm that feels both coherent and unpredictable. It’s a little hard to explain that sensation, but if you use the patch, I suspect you’ll quickly understand what I mean.
Controls:
Each of the sine waves has an individual rate control. If the patch uses a base clock, these rate will be added to that base clock speed.
There is also a button for “microtiming.” This essentially switches the range of the individual rate controls from 100% to 10%, allowing for more fine-tuning of the LFO speed (since I imagine most speeds will be ‘slow’ relative to the maximum speed of ZOIA’s LFOs).
There are “top” and “bottom” thresholds for the Relabi wave. These determine the thresholds of the comparators used for the top and bottom of the wave. But since they are freely adjustable, the bottom threshold could, in theory, be higher than the top threshold. Play around. Try things.
Each of the waves has a UI button that indicates the speed and intensity of the wave. The UI buttons change color, depending on whether the ‘voltage’ is positive or negative. There are controls to set which color they use for positive and negative values. (This is an entirely unnecessary feature, but I thought it was nice.)
There is also a button to select “Threshold Xing.” The patch can produce either gates whenever the Relabi wave passes above or below a given threshold. Or it can produce triggers when it passes above and then subsequently drops below a given threshold (this is more consistent with the generator outlined in Berndt’s paper). When using triggers, there is a control to set the length of the trigger (the triggers ZOIA uses internally may be too brief for other devices, depending on the devices’ scan rates). The “triggers” are actually decay envelopes (which is also what most triggers produce). So, this control adjusts the decay time of the envelopes. (You can probably use it for other purposes, then, if you would like.)
There is also a switch to select between rate and clock. When rate is selected, the CV input can be used to affect the rate of the LFOs. When clock is selected, it can be used to clock the LFOs, providing a base rate for the individual LFO rate controls to act as offsets to.
User buttons:
Reset — can be used to reset the LFOs (and therefore the Relabi wave)
Tap tempo — can be used to… tap tempo
CV inputs:
CV 1: Clock-rate (0 to 10V) — when receiving a gate or trigger when the “Clock-rate” button is mango, this will set the base tempo of the LFOs; when receiving a modulation or constant voltage source when the “Clock-rate” button is yellow, this will act as a CV input to affect the rates of the LFOs as a whole
CV 2: Reset (0 to 10V) — can be used to reset the LFOs (and therefore the Relabi wave)
CV outputs:
CV 1: Top (0 to 10V) — gate produced when the Relabi wave exceeds the threshold (alternatively triggers produced when the Relabi wave rises above and drops below the threshold crossing point)
CV 2: Bottom (0 to 10 V) — gate produced when the Relabi wave falls below the threshold (alternatively triggers produced when the Relabi wave falls below and rises above the threshold crossing point)
CV 3: Relabi wave (-5V to 5V) — the output of the Relabi wave itself
CV 4: Middle — gate produced when the Relabi wave is between the two thresholds
[Shift modulators]
I reviewed the idea of using the shift register as a modulator in my third sample and hold video/patch tutorial: https://patchstorage.com/sandh-3-more-tch-a-patch-to-complement-my-video-on-more-techniques-for-employing-the-sample-and-hold/
The basic principle is that by replacing the more common square wave clock with a ramp wave LFO, we can use the output of the ramp wave to provide interpolation between two stages in the shift register, by rescaling it to traverse the difference between those two points.
In that video, I suggest that a regular clock is needed, but that proved — thankfully — incorrect. So, here the shift register’s rate can be randomly modulated for even more variation.
The design of a shift register is very useful for melodic sequencing, but it’s also very beneficial in modulation, where the shape of the modulator is slowly changed over time, allowing for a sense of evolution.
Controls:
Rate determines the base rate of the shift registers. Clock/tap tempo may also be used (if it used, it will override the rate input); changes to the rate control, however, will override tap tempo or CV clock, if the clock has been removed (basically uses a most recent principle).
There are clock dividers for each shift register found on the second page of the patch.
Curve determines the curvature of the shift registers’ outputs, from linear (0) to very exponential (1).
Rate variety determines the random variation of the rate per clock cycle.
Instability determines how quickly the shift register replaces old information with new information (at 0 the shift registers will be locked in place; at 1, all of the old information will be replaced by new information).
Above each of the outputs are buttons to control whether that output is unipolar (-5V to 5V) or unipolar (0 to 5V). The outputs also feature an attenuverter, to scale and invert the output as desired.
User buttons:
Tap tempo — can be used to tap in tempo
Reset — can be used to reset the phase of the shift registers’ ramp wave clocks
CV inputs:
CV 1: Clock (0 to 10V) — can be used to clock the shift registers externally
CV 2: Reset (0 to 10V) — can be used to reset the phase of the shifter registers’ ramp wave clocks
CV 3: Rate variety (-5 to 5V) — there is an attenuverter located above this input; this can be used to modulate the intensity of the random rate variation
CV 4: Instability (-5 to 5V) — there is an attenuverter located above this input; this can be used to modulate the instability of the shift registers
CV outputs:
CV 1: Modulator 1 (-5V to 5V) — a four-stage shift register modulator
CV 2: Modulator 2 (-5V to 5V) — a five-stage shift register modulator
CV 3: Modulator 3 (-5V to 5V) — a nine-stage shift register modulator
CV 4: Modulator 4 (-5V to 5V) — a five-stage shift register with values drawn from modulator 2, rather than a random source
[Wobbly sines]
The idea behind wobbly sines is pretty straight-forward. It’s also a patch based on a concept I use a lot for generative patching. Each time a sine wave cycles, it generators a new random value, which is used to augment its rate. This produces sine modulation but of a period that is unpredictable, for a type of smooth randomization.
Controls:
There is a base rate control for controlling the… base rate of the sine waves.
There is also a rate variation control — named “Random mod amount” — for determining the random variation of rate per sine wave cycle. Bonus feature: when rate variation is set to 0, the sine waves will lock into a quadrature formation.
Above each of the outputs are buttons to control whether that output is unipolar (-5V to 5V) or unipolar (0 to 5V). The outputs also feature an attenuverter, to scale and invert the output as desired.
Additionally, there is a button for random attenuation. This will randomly scale the depth each time the sine wave passes 0. The attenuverters are still used and now set the maximum depth of these random fluctuations.
CV inputs:
CV 1: Rate (-5 to 5V) — above this input is an attenuverter; this can be used to modulate the base rate of the LFOs
CV 2: Reset (0 to 10V) — this can be used to reset the LFOs’ phase
CV 3: Random rate amount (-5 to 5V) — above this input is an attenuverter; this can be used to modulate the intensity of the random rate modulation
CV outputs:
CV 1-4: All of the outputs are identical in fuction (although they produce different outcomes). They are -5 to 5V outputs for the randomly modulated sine waves.