Tides Parasite
Tides Parasite is an alternative firmware for Tides. It adds the following features to the module:- Two-bumps: a silky 16-voices harmonic oscillator with two spectral bumps or notches, control over centroids and width, harmonics selection, wave quality, a sub-oscillator, a 1-bit output, and a special harmonics shuffling output for unusual, random timbres.
- Two-drunks: a complex duophonic random walk generator with selectable interpolation, driven by two altered clocks: one is jittery, the other simulates a biased coin toss. This mode is quite versatile and can be used as: an oscillator with PLL, a Bernoulli gate, a random trigger delay, a stepped, smooth or waveshaped random voltage generator, a random burst generator, a surprising filtered noise source... and probably more!
- A built-in quantizer with a choice of 7 scales.
All features of the official firmware are left untouched and still accessible (with the exceptions mentioned below).
Download and install
Click on the button to download the latest stable version, ready to play to your module:
Download latest version (v1.121)
Once you downloaded the file, unzip it and follow the Firmware update procedure in the official manual. This firmware is entirely free, but it is the result of months of work; if want to support it, please consider donating, even a small amount, for the past and the upcoming efforts.
Documentation
For full documentation, please see the user manual of Tides. I present hereafter only the features added/modified.
There is a nice cheat sheet made by erstlaub (thanks!):
Mode-switching interface
Tides Parasite can be used in three different modes, each being a completely different function. To switch between modes, press the two buttons simultaneously. The LED corresponding to the current mode blinks quickly for two seconds. Whithin these two seconds, the two press buttons, called Mode and Range in the manual, can be used to select a mode (Mode goes forward, Range goes back). After two seconds of inactivity, the selected mode is entered and the LEDs and buttons reclaim their normal function. The modes are:
- LED 1: function-generator mode (the original mode of the stock firmware)
- LED 2: Two-bumps mode: a harmonic oscillator.
- LED 3: Two-drunks mode: a random generator.
Quantizer
There is a built-in quantizer in Tides Parasite, which applies to all modes (including the original function-generator mode). To enable it, long-press on the Mode button (> 1s), then choose the active scale with the two buttons (Mode goes backwards, Range goes forward). The scales are indicated by a dim green LEDs using binary notation:
- ○○○: No quantization
- ●○○: Semitones
- ○●○: Major
- ●●○: Minor
- ○○●: Whole tones
- ●○●: Pentatonic minor
- ○●●: Poor pentatonic
- ●●●: Fifths
Note: To fine-tune the oscillator, you will have to use the FM attenuator together with an external offset. The fact that the Frequency knob is quantized (not only the V/Oct input, which would be more practical) is a hardware limitation.
Two-bumps mode
A harmonic generator (also called an additive synthesis engine) produces its timbre by summing sinusoids of multiple frequencies (harmonics). Theoretically, all timbres can be reproduced this way, by choosing the right amplitude for each sine.
Two-bumps is a harmonic generator that sums 16 harmonics. The timbre is shaped by choosing two "center frequencies", (with the Shape and Slope knobs) which select the loudest harmonics, and a "width", which is the amount of harmonics adjacent to the two centers that will also ring (the Smoothness knob, from fully CCW to noon). Additionally, you can have the exact mirror of what I just described. The bumps then become potholes: all harmonics ring by default and you are selecting the quietest harmonics, digging a notch of varying width in the spectrum (this is selected by the Smoothness knob, from noon to fully CW).
The upper button (Mode button in the official manual) selects which harmonics can ring. When the LED is off, the first 16 harmonics ring: it is the default in most harmonic oscillators. When the LED is green, only the odd harmonics ring: the timbre is more "metallic", closer to a square wave. Finally, when the LED is red, only the octaves ring: the resulting timbre reminds a church organ.
Tip: Put the oscillator in this "octaves" mode, put the width at noon and the frequency around 9 o'clock; 16 octaves will ring at the same time, many of them way outside the audible range. Now feed a slow sawtooth to the 1V/Oct input, and adjust its amplitude so that it is 1V (or 2 or 3... any round number of volts). Monitor the Bipolar output: you will hear a Shepard-Risset infinite glissando.
The lower button (Range button in the manual) allows to select the quality of the sine waves. When the LED is red, the quality is maximum. When the LED is off, the sine is interpolated with less points, so it will sound closer to a triangle. When the LED is green, the sine is produced with even less points, for a stronger effect.
Note: even in the maximum quality mode, you can sometimes hear a faint aliasing. That's a deliberate choice: the sampling rate is chosen rather low, so we can cram more harmonics in the available computing power.
Another note: the effect of decimation is not exactly the same as feeding the output of Two-bumps into a bit-crusher, since all independent sine waves are decimated independently, each at its own frequency.
The main output is the Bipolar output. There are three alternate outputs. The Low output is a square sub-oscillator. The High output is a 1-bit version of the Bipolar signal. The Unipolar output is a unipolar and permuted version of the main signal: instead of sweeping through harmonics in order, all harmonics are shuffled randomly, giving new random but controllable timbres each time. The harmonics are reshuffled when a gate is received in the Freeze input.
To sum up:- The Shape and Slope knobs select the two center frequencies. The effect of second one is always a bit less pronounced than the effect of the first (for variety).
- The Smoothness knob selects how the timbre is affected by the center frequencies. From fully CCW to noon, only the harmonics at the center frequencies ring, and an increasing number of their neighbors. From noon to fully CW, all harmonics ring, except those at the centers, and an increasing number of their neighbors.
- The Frequency knob selects the fundamental frequency. The FM knob is an attenuverter for the corresponding CV input.
- The Mode switch selects the harmonics distribution between: all harmonics, odd harmonics, octaves.
- The Range switch selects the decimation of the individual sine waves between: no decimation (or high quality, red LED), a bit (medium quality, LED off), and a lot of decimation (low quality, LED green).
- A trigger in the Trig input will randomize the phase of each harmonics, acting as a kind of reset.
- Feed a clock in the Clock input and long-press the Range button to go into PLL mode (like on the original firmware).
- When not in PLL mode, a trigger in the Clock input will randomize the Harmonics distribution and Decimation settings.
- The Level input acts as a VCA (like on the original firmware).
- The Bipolar output is the main output.
- The Unipolar output is the unipolar, permuted harmonics output.
- When Freeze receives a gate, harmonics are permuted randomly on the Unipolar output.
- When Trig receives a gate, the phase of all harmonics are randomized on both outputs.
- The High output is a 1-bit version of the Bipolar output.
- The Low output is a square sub-oscillator, one octave down from the fundamental.
Two-drunks mode
A random walk, also called a Drunkard's walk, is a stochastic process (a system that evolves randomly over time) that consists in repeatedly making small steps in random directions in a given space. Imagine a drunkard wandering in a city, taking a random direction at each crossing. Will (s)he ever make it back home?
Two-drunks is a dual random walk simulator. Each walk is timed by an independent clock featuring a form of randomness: one—Channel 1—is jittery, with control over the amount of jitter (from steady to completely random); the other—Channel 2—simulates a random biased coin toss, with control over the bias (from always ticking to ticking once every very long while). The Low and High outputs emit these clocks, respectively. They are both derived from the same main clock; the Frequency knob sets the frequency of this main clock.
Each step leads the walk to a different place closeby: a new voltage at one of the Unipolar (Channel 1) or Bipolar (Channel 2) outputs. But the interpolation between the steps can be chosen: a square interpolation will have the classic effect of a sample and hold (only on a random walk, not on pure noise), but with the Shape knob you can also choose linear, sinusoidal, bouncy, pointy, woggly interpolations... which will all sound different.
Note: If we don't want the output to appear "stalled", the interpolation time should depend on when the next clock tick will occur. And indeed, it does here: interpolation is slow when the next clock tick is far away, and fast when it is close. How can Two-drunks see into the future? Well, it uses mathematical tricks that would be very difficult to reproduce with isolated modules (say, a clock, a Bernoulli gate, and a function generator).
The challenge (or the fun, depending on the views) is that the two channels share the same parameters: the Shape, Slope and Smoothness knobs control the properties of the two walks... only inverted! For instance, if a knob is fully CCW, Channel 1 will act according to this knob's position, and Channel 2 according to the mirror position of this knob: as if it was fully CW. The two channels therefore only agree when knobs are at noon.
The Smoothness knob sets the maximum size of one step (step sizes are random), that is, the length one walk is allowed to travel in one clock tick. Fully CCW, Channel 2 will be almost steady and Channel 1 will make very large steps (so large that its motion can almost be described as pure random). Fully CW, it will be the converse.
Note: I think that, setting the clock very fast and the step size very small, you're getting closer and closer to what is called Brownian motion, the motion of a single big particle in a fluid. But I might be wrong. Please correct me if I am.
The Slope knob sets the behavior of the two clocks. For Channel 1, it acts as a random delay of the main clock: fully CCW, delay is null and Channel 1's clock follows the main clock. Turning it CW, the random delay gets bigger and therefore the clock gets slower and more jittery. For Channel 2, it acts as a probability that a main clock tick will produce a clock tick of Channel 2. Fully CW (remember the knob inversion), probability is 1 and it accurately follows the main clock. Turning it CCW, more and more clock ticks are dropped; at noon, the probability is 1/2; fully CCW, the probability is very small (but not null) and almost all clock ticks will be dropped.
Since we're talking about clocks: the FM knob is an attenuverter for the eponymous CV input, as usual... but it also has a second function related to the two random clocks. For Channel 1 (jittery clock), it sets the random distribution of on/off states: at noon, you will get equally much time with the gate on than time with the clock off. Fully CCW, you will get much more time off than on, and fully CW more time on than off. For Channel 2 (coin-toss clock), it simply sets the pulse width of each clock tick.
Two-drunks can operate in three modes, as set by the Mode button. When the LED is off, it is cycling: the main clock is steadily ticking and stops only if a gate is received in the Freeze input. When the LED is green, it is in trigger mode: it will start a new cycle only upon receiving a trigger in the Trig input. Note that this trigger will also be delayed/randomly dropped on the clock outputs of Channels 1/2. When the LED is red, it is in gate mode: the main clock will cycle as long as the Trig input is high.
Note: both channels will always finish their current step before stopping, and will pick up where they left off. Therefore, there are no discontinuities in the output waveform (unless you choose a square interpolation of course).
Another, sadder note: in trigger mode, the interpolation time is fixed by the main clock; it will not correspond perfectly to the next trigger, and therefore will be "stalled" sometimes. Sorry, Two-drunks cannot actually see into the future. If your triggers are a steady clock, you might be better off using the PLL feature and the Clock input.
The Range button sets the frequency range of the oscillator, as usual: low (green LED), medium (LED off), audio rate (red LED).
Two-drunks is a surprisingly interesting noise generator. Set the Range to audio-rate, crank the Frequency to the maximum, and even optionally put a positive offset into the V/Oct input. Now listen to both outputs and wiggle the knobs carelessly. Self-patching is also highly recommended!To sum it up:
- Frequency sets the frequency of the main clock. The Range button sets its range.
- Shape sets the interpolation curve between two steps. it morphs between: square (no interpolation), spiky, spiky and bouncy, linear, sinusoidal, bouncy, woggly.
- Slope sets the clock mangling: random clock delay for Channel 1 and random coin toss for Channel 2.
- Smoothness sets the maximum step size.
- FM is an attenuator for the FM CV input, and also determines the output gates duration: random gate distribution for Channel 1, pulse width for Channel 2.
- The Mode switch toggles between trigger, gate and cycling mode.
- A trigger in Trig will trigger the clocks.
- While a gate is high in Freeze, all clocks are stalled.
- Long-pressing on the Range button, you get into PLL mode, which follows the Clock input (as in the default firmware).
- When not in PLL mode, a trigger in the Clock input will randomize the Range setting.
- Level controls the amplitude of both channels.
- High emits the clock of Channel 1.
- Low emits the clock of Channel 2.
- Uni is Channel 1's random walk.
- Bi is Channel 2's random walk.
Miscellaneous
- The calibration procedure is not accessed as in the stock firmware anymore (its space is now taken by the quantizer). To calibrate, turn on the module while holding the Range knob. For the rest, follow the procedure of the official manual.
- The easter egg (plotter) has been erased to make room for the added functions.
Function generator mode
- The low-pass filter (Smoothness knob) now mutes
the sound completely when fully CCW.
Tip: Feed it an envelope to use it as an LPG, it sounds great.
- At control rate (Range LED off or green), the logarithmic and exponential waveforms have been accentuated, to make their effect more pronounced.
- At audio rate (Range LED red), the Slope knob has a different action from fully CCW to noon: it sets the "compression factor" of the wave, a technique known as Pulsar synthesis after Curtis Roads, which results in nasal or guttural tones.
- At audio rate (Rade LED red), the Low output is now a square sub-oscillator. When not in PLL mode, the Clock input acts as a gate and reset for this sub-oscillator: when Clock is high, the sub-oscillator is stopped. When Clock turns back low, the sub-oscillator resets and starts again.
- The response of the Slope button has been changed to exponential.
Note: I implemented this because in the stock firwmare, there was no audible difference between the effect of Slope CW or CCW. This gives a bit more variation to sculpt the timbre.
Another note: this effect is not protected against aliasing. At high frequency or high spectral content, it will be dirty.
Changelog
Version | Date | Changes |
---|---|---|
v1.121 | 2017-08-09 |
|
v1.11 | 2016-03-19 |
|
v1.0 | 2015-09-13 |
|
v0.9beta3 | 2015-09-09 |
|
v0.9beta2 | 2015-08-31 | Added basic quantizer, and waveform compression in Function generator mode. |
v0.9beta1 | 2015-08-29 | Initial version featuring Two-bumps and Two-drunks. |