Parasites

Disturbing hacks for Mutable Instruments modules

 

Tides Parasite

Tides Parasite is an alternative firmware for Tides. It adds the following features to the module:

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!):

cheat sheet cheat sheet cheat sheet

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:

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:

To exit scale selection, long-press Mode again (>1s); the chosen scale is then active. Note that the quantizer quantizes the Frequency knob and the V/Oct input. The FM input is not quantized.
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:

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?

random walk

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:

Miscellaneous

Function generator mode

Changelog

Version Date Changes
v1.121 2017-08-09
  • Two-bumps: reduced number of harmonics to 16
  • All modes: reverted FM input to exponential
  • Function: reverted internal parabola table sizes as they were in the original firmware
v1.11 2016-03-19
  • Two-bumps:
    • increased the number of harmonics to 28 (higher harmonics may buzz a little)
    • cleaned the shape of the bumps (they will sound "rounder" and more natural)
    • changed effect of "quality" setting: interpolates sine with more and more points
    • adjust range of frequency knob in octave mode
  • All modes:
    • FM input is now linear and through-zero
    • FM applies also in PLL mode
  • Function:
    • fixed a zipper noise/glitch when Smoothness was modulated close to zero
v1.0 2015-09-13
  • fixed a bug preventing the state to be saved correctly when coming from previous beta versions;
  • in Function generator mode at audio speed, "Low" now outputs a sub-oscillator, muted and reset by Clock (when not in PLL mode).
v0.9beta3 2015-09-09
  • No more timeout for choosing a scale: one exits quantizer mode via a long press on the Mode button.
  • Fixed a bug inhibiting permanent saving of the state of the module.
  • Fixed a bug causing the level to be maxed out when switching scales/mode.
  • Reduced the size of internal parabola tables, which generate saw/trianges at audio rate, to make space for new code. It should be unnoticeable.
  • Function generator: When Smoothness is fully CCW, outputs are now completely muted.
  • Quantizer: fixed glitches appearing when exactly in between two notes.
  • Two-bumps: when not in PLL mode, clock randomizes both quality and harmonics choice parameters.
  • Two-bumps: better gain computation. Should result in louder and more consistent volumes.
  • Two-bumps: reduced slew on Pitch in PLL mode.
  • Two-bumps: Change the order of decimation choices. It now goes: low quality (green), medium (black), high (red), which respects the panel markings.
  • Two-drunks: Fixed a bug causing discontinuities in the Bi output.
  • Two-drunks: when not in PLL mode, clock randomizes the Range parameter.
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.