WaveStack is on the iOS App Store

Fugue

Harmonic deviation sequencer for VCV Rack

The Fugue module panel in VCV Rack.

Fugue: Harmonic Deviation Sequencer for VCV Rack

Fugue is an 8-step harmonic deviation sequencer for VCV Rack. It generates counterpoint from a single melodic sequence. Eight pitch faders set a melody, and three independent voices (A, B and C) each read that same sequence, but each can move away from it harmonically according to its own controls. The three melodies start from the same notes and differ from one another more as their Wander settings rise.

Fugue is 20HP and is available in the VCV Rack Library.

Versions: Fugue (VCV Rack) · Fugue X expander · MetaFugue · fugueNT (Disting NT) · Videos

Concepts

The Sequence

Eight vertical pitch faders define a base melody. All three voices read from this same sequence, quantized to the selected root note and scale. Each voice has its own clock input and gate pattern, so they can traverse the sequence at different rates and with different rhythms.

Wander

Each voice has a horizontal Wander slider that determines how far it strays from the base sequence. At 0%, the voice plays the sequence faithfully. As Wander increases, the voice begins choosing harmonically related notes instead of the written pitch: first chord tones, then extensions, then the remaining scale tone and chromatic neighbours.

The choice is made from tiers of intervals ordered by their harmonic distance from the written note. Low settings favour the nearer tiers, and the more distant intervals appear only as Wander increases.

Harmonic Lock

When Harmonic Lock is enabled (the default), each voice generates three candidate notes for its deviation and picks the one most consonant with the notes the other two voices are playing. This biases the three voices toward consonance with each other without forcing them onto the same chord.

When it is disabled, each voice deviates independently. This produces more dissonance and less predictable harmony, which can be useful for atonal or experimental textures. Harmonic Lock is switched on and off in the right-click context menu.

Controls

Global Controls

These are located in the top-left section of the panel.

ControlRangeDefaultDescription
RootC through BCRoot note for scale quantization. CV: 1V/oct, rounded to the nearest semitone, wraps around.
Scale19 scalesMajorScale selection (see Scale List below). CV: 1V per scale index. The Scale CV is interchangeable with Note and Muse.
Steps1 to 88Number of active steps in the sequence. Steps beyond this count are skipped. CV: 1V per step.
Slew0 to 100%0%Portamento between notes. Uses adaptive timing: the slew duration is proportional to the time until the next active gate, so it always resolves before the next note arrives. CV: ±5V maps to ±100%.
ResetJack + ButtonReturns all three voices to step 1. Accepts a trigger input or a momentary push of the panel button.

Scale List

In Scale CV order from 0V, the scales are Chromatic, Major, Minor, Pentatonic Major, Pentatonic Minor, Blues, Whole tone, Harmonic series, Dorian, Phrygian, Lydian, Mixolydian, Harmonic Minor, Hijaz, Hirajoshi, Pelog, Slendro, Melodic Minor and Locrian.

Sequencer

The sequencer area occupies the top-right section of the panel.

Step Indicator LEDs: Three rows of red LEDs sit above the faders, one row per voice (A, B, C). Each LED illuminates when its voice is on that step and the step’s gate toggle is active.

Pitch Faders: Eight vertical faders set the base pitch for each step. Hover over a fader to see the quantized note name. The fader range (1V, 2V, or 5V) is set in the right-click context menu.

Gate Toggles: Three rows of red toggle buttons sit below the faders, one row per voice (A, B, C). When a gate is off, that voice is silent on that step but continues advancing through the sequence. By default, Voice A has all its gates on, and Voices B and C have all theirs off.

Voice Rows

Three identical rows at the bottom of the panel, one per voice (A, B, C). Each row contains, from left to right:

ControlDescription
ClockTrigger input. Clock B is normalled to Clock A. Clock C is normalled to Clock B. Patch separate clocks for polyrhythmic effects.
Wander CV±5V bipolar input. Adds to the Wander slider position.
WanderHorizontal slider, 0 to 100%. Controls harmonic deviation for this voice.
Gate Out+10V gate output, high when the clock is high and the step’s gate toggle is on.
CV Out1V/octave pitch output, quantized to the selected scale.

Wander Reference

The Wander control governs a probability system that selects notes from increasingly distant harmonic tiers. The slider position (0 to 100%) determines how much of the probability moves from unison to the higher tiers.

Diatonic Scales (Major, Minor, Dorian, etc.)

TierNotesCharacter
0UnisonFaithful to the written sequence
13rd, 5thChord tones, consonant and supportive
27th, 9th, 11thExtensions, jazzy and colorful
36thRemaining diatonic tone
4Chromatic neighborHalf-step outside the scale, tension

Probability Table (Diatonic)

WanderUnison3rd/5th7th/9th/11th6thChromatic
0%100%0%0%0%0%
10%90.5%3%3%2%1.5%
25%76.25%7.5%7.5%5%3.75%
50%52.5%15%15%10%7.5%
75%28.75%22.5%22.5%15%11.25%
100%5%30%30%20%15%

Pentatonic Scales

TierNotesCharacter
0UnisonFaithful
12nd, 3rd degreeNeighboring pentatonic tones
24th, 5th degreeDistant pentatonic tones

Chromatic Scale

The chromatic scale uses interval consonance rather than scale degrees:

TierIntervalsCharacter
0UnisonIdentical
1Perfect 5th, Perfect 4thOpen, stable
2Major 3rd, minor 3rd, Major 6th, minor 6thWarm, tonal
3Major 2nd, minor 7thMild tension
4minor 2nd, Major 7th, tritoneSharp dissonance

Quick Reference

  • 0%: Faithful (unison only)
  • ~25%: Chord tones begin appearing, still mostly faithful
  • ~50%: Even odds of staying on the written note or moving
  • ~75%: Unison falls below a third, with chord tones and extensions each almost as likely
  • 100%: Full wander, only 5% chance of unison

Context Menu

Right-click the module to access these options:

OptionDescription
Fader RangeChoose 1V (1 octave), 2V (2 octaves), or 5V (5 octaves). Controls the pitch range of the step faders.
Harmonic LockWhen checked, voices bias toward consonance with each other. Default: on.
Randomize SequenceSets all 8 faders to random positions.

Inputs and Outputs

Inputs (11 total)

  • Clock A, Clock B, Clock C: trigger inputs (B normalled to A, C normalled to B)
  • Reset: trigger input
  • Root CV, Scale CV, Steps CV, Slew CV: parameter modulation
  • Wander A CV, Wander B CV, Wander C CV: per-voice wander modulation (±5V)

Outputs (6 total)

  • CV A, CV B, CV C: 1V/octave pitch
  • Gate A, Gate B, Gate C: +10V gate

Patch Ideas

Slowly Diverging Canon: Send the same clock to all three voices. Set Wander A to 0%, Wander B to 25%, Wander C to 50%. Voice A plays the sequence faithfully while B and C wander further, creating a canon that gradually breaks apart.

Polyrhythmic Chords: Send different clock divisions to each voice (for example, 1/4, 1/6, 1/8). With low Wander and Harmonic Lock on, the voices form chords that shift at different rates.

Generative Texture: Set all three Wander controls to 75-100% with Harmonic Lock off. Feed slow random CV into the Wander inputs. With Harmonic Lock off the voices are not biased toward each other, so the texture is mostly atonal, with occasional consonant moments.

Call and Response: Use the gate toggles to alternate which voice is active on each step, for example Voice A on steps 1-4 and Voice B on steps 5-8. With moderate Wander, each voice develops its own variation on its half of the sequence.

Modulated Harmony: Patch an LFO into Wander A CV. As the LFO sweeps, Voice A moves between the written sequence and deviations from it, while B and C keep their own settings.

Videos

Below are a walkthrough of Fugue and a live performance with the modular synthesist Omri Cohen.


Fugue X (Expander)

Fugue X is an expander module that adds per-voice controls for steps, range, sleep, and probability, plus sorted CV outputs and per-step trigger outputs. Place it to the right of Fugue and it connects over the expander bus, with no cables needed between them. Fugue X is 20HP.

Per-voice controls

Each parameter is available for all three voices (A, B, C) with a dedicated CV input.

Steps (per voice): Sets an independent step count, 1-8, which overrides Fugue’s global Steps parameter for this voice. Voice A can play 3 steps while Voice B plays 7, creating polymetric patterns from the same sequence.

Range (per voice): Sets the fader range for each voice to 1V, 2V or 5V, so each voice can read the same fader positions across a different pitch range.

Sleep (per voice): Sets the number of clock ticks to skip between active steps (0, 1, 2, 4, 5, 8, 16, 32, 48, 64), which puts rests into the voice’s playback. A sleep of 4 means the voice advances one step, then waits 4 clock ticks before advancing again. An amber LED indicates when each voice is sleeping.

Probability (per voice): Sets the chance, 0-100%, that each step fires its gate. At 100% every step plays, and at 50% roughly half the steps produce gates.

Sample & Hold mode

When Sample & Hold mode is enabled and a step is skipped by Sleep or Probability, the voice keeps the previous pitch instead of going silent.

Sorted CV outputs

OutputFunction
MaxHighest of the three voice CV values
MidMiddle value
MinLowest of the three voice CV values

Min always carries the lowest of the three voices and Max the highest, so they give a consistent bass line and top line regardless of which voice is playing those notes.

Per-step trigger outputs

Fugue X has 24 individual trigger outputs, one for each of the 8 steps on each of the 3 voices. Each fires a short trigger pulse when its voice reaches its step, so you can drive external percussion, envelopes or effects from specific positions in the sequence.

Randomize Sequence

A button and a trigger input randomize the pitch faders on the Fugue module beside it. Patch a slow clock divider into the trigger input to randomize the sequence at regular intervals.

Expander patch ideas

Polymetric Canon: Set Steps A=8, Steps B=5 and Steps C=3, and send the same clock to all three. Each voice cycles through a different portion of the sequence at a different rate.

Rhythmic Thinning: Set Probability A=100%, B=70%, C=40%. Voice A plays every note, B drops some and C plays sparsely. With Harmonic Lock on, the three voices play different rhythms while staying biased toward consonance with each other.

Irregular Rests: Use Sleep to create irregular rhythmic patterns, for example Sleep A=0, Sleep B=1 and Sleep C=3. Voice A plays every clock, B alternates play/rest, C plays one note then rests for three clocks.

Generative Evolution: Patch a slow random source to Randomize Trigger. The sequence is randomized at each trigger, while each voice keeps its own rhythm and Wander setting.


MetaFugue

MetaFugue puts Fugue and Fugue X together in one module. You get all of Fugue’s controls plus the per-voice steps, range, sleep, and probability from Fugue X, the sample-and-hold mode, the sorted Min/Mid/Max CV outputs, and the 24 per-step trigger outputs, on a single wider panel with no expander to place.

It is built for hosts that do not support expander modules, like the 4ms MetaModule, and it suits anyone who would rather keep everything on one panel. Every per-voice parameter has its own CV input.

MetaFugue reads the same root and scale as the rest of the plugin, so a single key source drives it alongside Note, Chance, and Muse.

Here is a dark Hijaz ambient patch built from scratch with MetaFugue:


fugueNT (Disting NT)

Fugue and Fugue X are now also available as a single combined module for the Expert Sleepers Disting NT (release notes) hardware module, called fugueNT. Source and build instructions live on GitHub.

What’s included

fugueNT ports the full Fugue voice with the per-voice extras from Fugue X folded in. From Fugue you get the 8-step pitch sequence, three independent voices with per-voice clocks and gates, the tiered wander algorithm, Harmonic Lock, adaptive slew, and all 19 scales (including the non-12-TET Harmonic, Pelog, and Slendro scales).

From Fugue X it adds per-voice Steps, Sleep, and Probability controls, plus the sorted Min / Mid / Max CV outputs. The 24 per-step trigger outputs from Fugue X are dropped because the Disting NT has a smaller output count.

Inputs and outputs

fugueNT has 21 inputs: three clocks (Clock B normalled to A, Clock C normalled to B), Reset, Root/Scale/Steps/Slew CV, three Wander CVs, three Steps CVs, three Sleep CVs, three Probability CVs, and a Randomize Sequence trigger.

It has 9 outputs: three Gates, three V/Oct CVs, and the Min/Mid/Max sorted CV outputs.

Display and UI

The 256×64 mono display shows the full 8-step pitch sequence with per-voice playhead markers, gate-toggle dots underneath each step, and a status line for root/scale/range. A second page (button-toggled) shows the focused voice’s Wander/Steps/Sleep/Probability sliders. Encoders pick step and voice; pots edit values directly.

In the synthesis guide

Reference

  • Root and Scale CV

    This reference lists the voltage for every root and scale, how each module responds to them, and the format of the scale bus.

Pair with