Parasites

Disturbing hacks for Mutable Instruments modules

 

Clouds Parasite

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

The four original modes, including the granular of the official firmware are still present, but have been tweaked/extended to my preference. Please carefully read the documentation below

IMPORTANT WARNINGS

Download and install

Click on the button to download the latest stable version, ready to play to your module:

Download latest version (v2.01)

Once you downloaded the file, unzip it and follow the Firmware update procedure in the official manual. Don't forget to recalibrate your module every time you update the module: press the Save button on startup and then follow the instructions in the 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 Clouds. I present hereafter only the features added/modified.

Here is a cheat sheet, thanks to erstlaub:

cheat sheet 1 cheat sheet 2 cheat sheet 3

Mode-switching interface

To switch mode, press both black buttons simultaneously. LEDs will blink orange; you can then press the Blend or Load/Save button to navigate forward/backward into the modes.

Oliverb mode

The Oliverb is a full-featured and CV-controllable modeless reverb with some twists.

You access the new Oliverb mode like the other factory playback modes: press both black buttons Blend button (LEDs blink orange) and press one of the two buttons until the last three are lit (i.e. only the first LED is unlit). This mode is mono-in, stereo-out. The reverb parameter can be controlled by the knobs and CV inputs:

Pre-delay
The Position knob controls the time it take for the reverb to kick in after a sound has gone in (from 0 to about half a second). When a clock is fed to the Trig input, this knob becomes a clock divider/multiplier for the pre-delay: at 12 o'clock, the pre-delay takes the value of the clock length; clockwise, this clock is divided, and counter-clockwise it is multiplied following the rates: 1/16, 3/32, 1/8, 3/16, 1/4, 3/8, 1/2, 3/4, 1, 3/2, 2/1, 3/1, 4/1, 6/1, 8/1, 12/1 (borrowed from the Echophon). Note that the clock division is limited to the largest division not exceeding the maximum delay; beyond this point, the Position knob will have no effect. Changing pre-delay in real time is smooth and does not affect pitch (it uses the internal time stretcher).
Reverb Size
The Size knob controls the lengths of all the delays internal to the reverb, i.e. the size of the emulated room. It varies from a small resonator to a huge hall.
Decay
The Density knob controls the amount of sound fed back into the reverb loop, i.e. the decay time of the reverb tail. Beyond 3 o'clock, this signal is actually amplified and the reverb enters self-oscillation.
Pitch shift
Each time the sound is fed back into the reverb, it can be pitch shifted. The Pitch knob controls, from -1 to +1 octaves how it is pitch shifted. At 12 o'clock, no pitch shifting is applied; fully clockwise, we get the classic shimmer effect; lots of oddities can be found in between. To hear the effect of the pitch shifter, some sound has to fed back by increasing Decay. Note that Size has an impact on how well the sound is pitch-shifted: the larger the room size, the more accurate the pitch shift.
Dampening
The Texture knob controls the dampening of the reverb. From fully CCW to 12 o'clock, a low-pass filter is applied, simultaing the absorption of the room. From 12 o'clock to fully CW, a high-pass filter is applied for unusual, crystalline effects.
Freeze
The Freeze button sets reverb to (near) infinite decay, and mutes the input. This works best with no pitch shifting and a large size.
Dry/Wet
The first function of the Blend knob is dry/wet crossfading, as in the other modes.
Diffusion
The second Blend mode (called "stereo spread") controls how much the sound is "smoothened" by the diffusers each time it goes through the loop. Fully clockwise, you get the more dense, continuous sound; fully counter-clockwise, you clearly hear the sound being repeated like in a multi-tap delay.
Modulation amount
Each delay in the reverb can be individually modulated by 9 smoothed random LFOs. The fourth function of the Blend knob (called "reverb") controls the amount of modulation applied by the LFOs to the delay time. Small modulations result in subtle chorus and ghost tones, large modulations in random pitch shifts.
Modulation speed
The third function of the Blend knob (called "feedback") controls the speed of these LFOs. It ranges from ~1/100Hz to ~100Hz. It has no effect if modulation amount is null.

Resonestor mode

It is a dual-voice, four-parts resonator (or comb filter) effect with built-in capability for polyphonic Karplus-Strong plucked string synthesis, and more. You access it by long-pressing the Blend button until LEDs become orange, and press it again several times until only the second LED is unlit (in other words, if LEDs 1, 3 and 4 are lit).

Introduction

To discover it, put the knobs in the following positions: Size, Density, Stereo spread, Feedback and Reverb fully CCW; Pitch, In gain, Position, and Texture at 12 o'clock; Dry/Wet fully CW.

Each input feeds one of the two voices/resonators, which decay is controlled by the Density knob. Remember that In L is normalized to In R, so with nothing patched in In R, the In L signal is fed to both voices. The pitch of the resonator is controlled by the Pitch knob and the V/Oct input, so you can "play" the resonator like an oscillator. In fact, each voice consists of four "parts" (four resonators), which can be set to different pitches to form chords. The Size knob sets the chord, borrowed from Braids: unison, detuned, fifth etc. The resonators can sound very metallic; the Texture knob helps attenuating the high/low frequencies each time sound passes through the resonator. At 12 o'clock, no filtering is applied; CCW is a low-pass filter; CW is a band-pass filter. This way, a short sound impulse passing through the resonator will have a long decay with less and less high (and possibly low) frequency.

This technique, sending a short noise burst to "excite" a resonator, is the so-called Karplus-Strong algorithm to synthesize the sound of plucked strings instruments like guitars. Here, no need for additional modules: sending a trigger to the Trig input will send a short burst of noise to one of the voices. The Position knob controls the timbre and duration of this burst, roughly modelling the position on which the string is struck.

Up to now, we only discussed one voice. Actually, each time a Trig is received, the module switches the active voice; therefore, you can get duophony. At any time, the knobs (pitch, chord, feedback, damping) control only the parameters of the resonators of the active voice; the other voice keeps the last parameters it was on. If you are satisfied with the sound of the current voice and want to keep it running (maybe as a drone, using the other voice for melody), press Freeze: it will instantly switch voice, and prevent Trig from automatically switching voice.

For the more technically enclined, here is a diagram of how it works: and here is a detail on the COMB boxes: Delay M sets the pitch of one part. The ratio between delay times M and N is the Harmonics parameter.

Function description

Here is a full description of the parameters and their function:

Decay (Density knob and CV)
Decay time of the current voice. Beyond approx. 3 o'clock, decay is infinite and the sound sustains forever (you can use it as a traditional oscillator).
Pitch (Pitch knob and V/Oct CV)
Base pitch of the current voice. At 12 o'clock, the pitch is A3 (220Hz).
Chord (Size knob and CV)
Chord selection for the current voice. Morphs gradually between Unison, Fat, Superfat, Fat power, Fat octave, Octaves, Power, Major, Major7, Minor7, Minor, Sus2, Sus4, Minor9, Major9, Minor11, Major11, and Major11.
Dampening (Texture knob and CV)
Controls filtering in the feedback loop of the resonator. At 12 o'clock, no filtering is applied; CCW, a low-pass filter is applied with a increasingly low cutoff frequency; CW, a band-pass filter at the frequency of the resonator is applied with an increasingly high resonance.
Burst (Trig CV)
A trigger in this input will switch the current voice (if Freeze is not active) and send a short burst of noise in its resonator.
Position (Position knob and CV)
Controls the timbre and duration of the noise burst. CCW, it will be longer and more dampened; CW, it will be shorter and more high pitched. At both ends of the knob, the burst will be inaudible (too damped or too short), which you can use to "mute" a voice.
Freeze (Freeze button and CV)
Switch the current voice, and inhibits further voice switch by the Trig CV.
Distortion (first function of Blend knob and CV)
Randomly distorts the timbre of the voices by modulating each comb filter by low pass-filtered noise. Fully CCW, the modulation amount is maximum but the noise is filtered out entirely, so there is no effect. Fully CW, the noise is unfiltered, but the modulation amount is null, so there is no effect. In between, you get interesting effects, from subtle swaying to harsh distortion.
Stereo output (second function of Blend knob and CV)
Assigns each part and voice to an output (Out L or Out R). Fully CCW, each voice goes to a different output. At 12 o'clock, both voices are equally mixed in both output. Fully CW, parts of both voices are distributed on both output for a wide stereo effect.
Harmonics (third function of Blend knob and CV)
Simulates striking the harmonics on a string. Fully CCW, it has no effect. Fully CW, the second harmonic will ring; at 12 o'clock, the third, at 10 the fourth etc.
Scatter (fourth function of Blend knob and CV)
Controls the random delay times before the sound (input or burst) hits each resonator of the current voice. Used for K-S synthesis with a chord, this will give the impression that strings are struck sloppily. The delay times are randomized at each voice switch.

Granular mode

Looping delay and Pitch-shifter mode

Looping delay

Miscellaneous

Changelog

Version Date Changes
v2.01 2016-09-29
  • fixed a bug which caused a crash in granular mode with Reverse on
  • fixed reverse grains: no more clicks
v2.0 2016-09-05
  • User Interface:
    • changed mode-switching interface: press both black buttons at the same time to change mode; then the two buttons to go back/forth between modes
    • calibration deported to pressing Write on startup
  • Granular mode:
    • adjust response of the Density knob (easier access to slowly sown grains)
    • add Reverse function: all grains are read in reverse direction (long-press on Freeze)
  • Oliverb:
    • inverted Diffusion and Filtering parameters. Filtering is now on the Texture pot, Diffusion is on the second blend mode (Stereo spread).
    • improve the internal modulation: smoother random LFO, better range for the two knobs controlling it.
    • switch all buffers from 12 to 16 bits (smoother tails, less noise)
  • Resonestor:
    • dry/wet now acts as Distortion (random modulation of comb delay time)
    • adjust Texture (filters) knob response curve
    • adjust Density (decay) knob response curve
    • base note is now C3
    • switch all buffers from 12 to 32 bits (smoother tails, less noise)
  • Looping delay:
    • add Reverse function: when looped/frozen, long-press Freeze to switch the playback direction of the loop
    • increase smoothing of Position knob to avoid wobbly delays with noisy PSUs.
v1.41 2016-02-13
  • set dry/wet response curve to equal power crossfading (no volume drop anymore at 50%)
  • smaller plateaux for octaves in the Pitch knob (as they were in the original firmware)
  • Oliverb: restore soft-clipping in the feedback loop (more extreme self-oscillations, as it was prior to v1.3)
  • Granular, Delay modes:
    • put the simple post-processing reverb after dry/wet (it now affects also the dry signal)
    • disable the reverb when Freeze is enabled with some feedback.
  • Resonestor:
    • turned buffers from 12 to 16 bits (smoother tails)
    • adjusted feedback knob a bit
v1.3 2015-07-09
  • Oliverb:
    • fixed a bug causing a "swooping" sound when quickly reducing the reverb size.
    • fixed a bug causing clicks when Size was fully CCW.
    • replace soft-clipping by a limiter in the feedback loop. There is no distortion anymore when the reverb is self-oscillating.
    • made the reverb tail a bit smoother (less "muddy"?)
    • made wet signal significantly louder
  • Looping delay:
    • reduced drastically the slew on the delay time setting. Delay time changes are almost instantaneous now.
    • adjusted delay time knob response for more accurate dialing of short delays.
    • enhanced the quality of pitch shifting.
  • Resonestor: adjusted the Texture knob response for more useful range.
  • Granular: lowered grain polyphony a bit to cope with inceased memory need.
  • hardware support for Clouds bought after July 2015. Merged minor changes from the last official Clouds firmware.
  • adjusted HP filter on feedback a bit, to keep more low frequencies.
v1.2 2015-05-13
  • New Resonestor mode.
  • Enhanced quality of the looping delay and feedback.
  • Fixed a bug creating a constant tone in the built-in reverb when switching away from Oliverb. (this time for good)
  • In looping delay when frozen and synced, made Size controls buffer size.
  • In looping delay/time stretcher, made Stereo spread control stereo features of the modes.
  • Increased plateau for +/-12 on Pitch knob.
  • Swapped ramp up/down envelopes in Granular mode.
v1.0 2015-04-29
  • Enhanced quality of the interpolation of the Oliverb and pitch shifting algorithms;
  • Reduced clipping in Oliverb mode;
  • Fixed a bug potentially creating a constant pitched noise in the built-in reverb in the main modes;
  • Fixed a bug potentially causing a freeze of the module in time-stretcher mode.
v0.9 2015-04-11 Full-featured Oliverb, asymetric envelopes, tempo syncing with clock mult/div, smaller grains.
v0.1 2015-03-29 Initial release featuring a basic version of the Oliverb.