USER MANUAL · VCV RACK · v2.0.0 · 12 HP + 4 HP GATE EXPANDER
Eddy is a shift register that changes its mind. It holds one loop of random voltages and moves it along by one place each time you send it a pulse. Eight taps read the same loop at different points, so all eight outputs share one ancestor, and with a little DRIFT none of them repeats quite the same way twice. DRIFT is how often the loop changes as it comes round, LENGTH is how long the loop is, SPREAD is how far apart the taps sit, and DIR is which way it travels. STILL freezes it, and IN lets your own voltages feed the changes. Every knob takes CV. There is no internal clock: Eddy follows whatever is driving your patch. A small gate expander turns the eight taps into eight gates.
Click any knob, jack, button or the screen. Everything shown is at its default setting, with a sample loop on the screen. Eddy comes in two panels, silver and black: Rack picks one from its own dark-panel setting, and you can force either from the module's right-click menu.
Inside Eddy is a single loop of values, like a tape loop that holds numbers instead of sound. It is not eight sequences. Every output is a different place to listen to the same one.
Why it is interesting. With DRIFT at zero the loop is locked, and the eight taps are one pattern heard at eight different delays: a canon. Turn DRIFT up and the pattern slowly mutates as it circulates, and because the taps read it at different times they each catch it at a different stage of change. That is the eddy: one current, tapped many times.
The chance, on each step, that the value landing at the head is changed. At 0% the loop never changes: it repeats exactly, for as long as you like. At 100% every step changes a value, so (with a large jump) there is no memory at all and every output is pure turbulence. In between is the useful part: a loop that mostly holds its shape but keeps quietly mutating. The default is 20%.
How far a change goes is a menu setting, Drift jump size. A change pulls the value toward a fresh random one by that share of the way. Gentle (10%) gives small nudges, so the loop slowly warps. Full (100%) replaces the value completely: occasional big leaps. The default is Medium (50%).
From 2 to 64 steps, in whole steps (the knob snaps). The default is 16. Short loops repeat quickly and sound like riffs; long loops take longer to come round, so the taps feel less related. The screen draws exactly this many bars.
Shortening the loop does not throw anything away. The values past the end are kept, so lengthening it again brings the old pattern back.
SPREAD is proportional to LENGTH. At 0% the taps are one step apart: a tight canon, where the eight outputs are almost one shimmering voice. At 100% they are spaced evenly round the whole loop, LENGTH divided by eight steps apart, so the eight outputs are related but distinct. The default is 50%.
Below a LENGTH of 8 there is not room for eight different places, so the taps are one step apart and wrap round the loop: with a LENGTH of 4, TAP 5 plays the same as TAP 1.
Where each tap sits, counted in steps behind TAP 1:
| LENGTH | SPREAD | TAP 1 | TAP 2 | TAP 3 | TAP 4 | TAP 5 | TAP 6 | TAP 7 | TAP 8 |
|---|---|---|---|---|---|---|---|---|---|
| 4 | any | 0 | 1 | 2 | 3 | 0 | 1 | 2 | 3 |
| 8 | 0% | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 50% | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
| 100% | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
| 16 | 0% | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 50% | 0 | 2 | 3 | 5 | 6 | 8 | 9 | 11 | |
| 100% | 0 | 2 | 4 | 6 | 8 | 10 | 12 | 14 | |
| 32 | 0% | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 50% | 0 | 3 | 5 | 8 | 10 | 13 | 15 | 18 | |
| 100% | 0 | 4 | 8 | 12 | 16 | 20 | 24 | 28 | |
| 64 | 0% | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 50% | 0 | 5 | 9 | 14 | 18 | 23 | 27 | 32 | |
| 100% | 0 | 8 | 16 | 24 | 32 | 40 | 48 | 56 |
By default the head walks forwards through the loop. DIR, the fourth knob, changes the way it travels, and it has a CV input, so a stepped source can change direction as the music goes. The loop itself is the same either way: only the order it is read in changes. The default is Forwards. The knob snaps to the fifteen directions below, the same fifteen, in the same order, as Shoal and Fluke: Forwards · Reverse · Pendulum · Random · Drunk · Pong · Tide · Shuffle · Pools · Stride · Gravity · Converge · Diverge · Skitter · Anchor. With CV, 0 V is Forwards and +10 V is Anchor, so each direction takes about 0.7 V.
| Direction | The head |
|---|---|
| Forwards | Moves one place on each step and wraps round at the end of the loop. |
| Reverse | The same, backwards. |
| Pendulum | Goes up the loop and back down again. The end places are played twice as it turns round. |
| Random | Jumps to any place in the loop on each step, anywhere, including the one it is on. |
| Drunk | Wanders: half the time one place forwards, a quarter of the time it stays, a quarter one place back. |
| Pong | Like Pendulum, but it turns round without playing the end places twice. |
| Tide | Forwards, but each time round it reads one place further on, so the loop slowly rotates under the head. |
| Shuffle | Visits every place once in a random order, then makes a new order for the next time round. |
| Pools | Settles in a small pool of three or four neighbouring places, circles in it for a while, then moves to another. |
| Stride | Two ahead, one back: the pairs 1 3, 2 4, 3 5 ... so the pattern takes twice the length to come round. |
| Gravity | Forwards, but with a chance on each step of snapping back to the first place instead. |
| Converge | Alternates between the two ends, working inwards: first, last, second, last but one ... |
| Diverge | The opposite: starts in the middle and works outwards to both ends. |
| Skitter | Like Random, but never the same place twice running. |
| Anchor | Returns to the first place between every other place: 1 2 1 3 1 4 ... |
The taps follow the head. Each tap plays the place the head was on a few steps ago, in whatever order it has been moving. So in every direction the eight taps play the same path, each a little later, and SPREAD still sets how much later. Changing direction does not move the head: it carries on from where it is, the other way. RST still goes back to the start of the direction's own cycle in every direction (the first place; the middle for Diverge; the first place of the order for Shuffle). DRIFT still changes the place the head has just landed on.
| Control | Type | What it does |
|---|---|---|
| STEP | trigger in | Each rising edge (above about 2 V) moves the loop on one place. This is the only thing that moves it: Eddy has no clock of its own, so patch one in. Any clock, gate, trigger or sequencer gate will do, at any speed. |
| RST | trigger in | Reset. Takes the loop back to its first place and leaves what is in it untouched. The next STEP stays on that first place instead of leaving it, so a reset and a clock arriving together play the first step, not the second. |
| RSD | jack + button | Reseed. Throws away the loop and fills it with new random values. The button and the trigger input do the same. It does not move the loop, so the taps jump to the new values at once. Both the jack and the button beside it are labelled RSD. |
STILL has a latching button and a gate input. While either is on the loop stops dead: STEP does nothing, so every tap holds its voltage and DRIFT cannot act. It is exact, and it stays that way for as long as you like. Let go and the loop carries on from where it was. The button lights, and the screen gets an amber outline, while Eddy is still. RST and RSD still work while Eddy is still.
Patch a voltage into IN and DRIFT stops pulling toward a random value: it pulls toward your voltage instead. Each time DRIFT changes a step, the value at the head moves toward whatever is at IN at that moment, by the Drift jump size (Full replaces it exactly with the incoming voltage). So the loop gradually absorbs a melody, an LFO or a sequencer that you feed in, and keeps it as it circulates. Unpatch IN and DRIFT goes back to random.
IN is read through the output range: a voltage inside the range comes out of the taps as itself, and a voltage outside it is held at the edge. With the default ±5 V range, IN accepts ±5 V. If Quantise is on the taps still snap to the scale. IN reads the first channel of a polyphonic cable.
Eddy Gates is a small module (4 HP) that gives each of Eddy's eight taps a gate output. The quickest way to add it is Eddy's right-click menu: Add gate expander on the right. You can also add it from the module browser, under Ormer Modular, and place it directly to the right of Eddy, touching it. There is nothing to patch between them: Eddy hands it the eight taps itself. Move it away and the gates go quiet.
Each gate is high (10 V) while its tap is above the threshold. The threshold is in volts, across Eddy's output range: with the default ±5 V the knob runs from −5 to +5 V and sits at 0 V in the middle, and if you choose another range the knob and its readout follow it, so the middle of the knob is always the middle of the range. Gates read the tap before quantising, so they never flicker between notes. With the toggle set to TRIG, each gate instead gives a short 1 ms trigger on every step that lands with its tap above the threshold, so you can choose between an open gate and a stream of triggers. A step where the tap is below the threshold fires nothing, and neither does a frozen Eddy (STILL): no steps, no triggers. A tap that holds the same value, as in a locked loop, still fires on every step.
| Control | Type | What it does |
|---|---|---|
| THRS | large knob | The threshold, shown in volts across Eddy's output range (you can type a voltage in by right-clicking the knob). Default: the middle of the range. |
| CV under THRS | CV in | Sums with the knob. +10 V adds Eddy's whole output range, and the result is held inside it. |
| GATE / TRIG | toggle | Up for GATE (high while above), down for TRIG (a trigger on every step that lands above the threshold). Default GATE. |
| GATE 1 to GATE 8 | gate out | One per tap, in order. Each has a small light above it that shows its state. |
With a gate on a voice, a tap's pitch can still change when the gate does not, which you hear in the release of the note before. Right-click Eddy Gates and choose Sample and hold the taps to fix it at the source. Eddy's TAP outputs are then held by their own gates: TAP 1 by GATE 1, TAP 2 by GATE 2, and so on, and the polyphonic cables carry the held voltages too.
The held voltages are the ones Eddy would have sent, so Quantise and the output range apply. The gates themselves are not affected. It only works while the expander is attached.
Ideas. Send GATE 1 to an envelope for an accent that follows the pitch pattern, and GATE 5 to a second voice. Raise THRS and the gates thin out, so the busy taps become sparse rhythms. In TRIG mode each gate is a clocked stream of triggers that thins out as you raise THRS, handy for drums.
By default Eddy's outputs are raw CV, bipolar unless you choose a unipolar range: any voltage between the lowest and highest, for pitch, filters, panning, anything. Switch Quantise on (right-click menu) and every output snaps to the nearest note of a scale, at 1 V per octave, which turns Eddy into an evolving melody generator. Scale and Root in the same menu choose the notes. Quantise is off by default, and the scale is the same table Shoal uses.
Scales: Chromatic, Major, Natural minor, Harmonic minor, Dorian, Phrygian, Lydian, Mixolydian, Major pentatonic, Minor pentatonic, Blues, Hirajoshi and In-Sen. The default is Natural minor; Root is any of the twelve notes, and the default is C.
The output range matters here. The outputs swing 5 V either side of zero by default, which is ten octaves. For melodies you will usually want less: choose ±1 V for two octaves, or ±2 V for four, in the Output range menu. The five unipolar ranges (0 to 1, 2, 3, 5 or 10 V) keep every note at or above 0 V, which suits a bass line or an oscillator that tracks upwards from C.
Eddy has no audio. It reads control voltages and puts out control voltages. Triggers and clocks are read as a rising edge above about 2 V, so any standard gate, trigger or clock works. Every input reads the first channel of a polyphonic cable only. The outputs are single-channel, unless you choose a polyphonic routing in the menu.
| Jack | Type | Notes |
|---|---|---|
| STEP | trigger in | Moves the loop on one place for each pulse. |
| IN | CV in | What DRIFT pulls toward, instead of a random value, while something is patched (see The IN jack). |
| STILL (jack) | gate in | While high (above about 2 V), the loop is frozen, exactly like the STILL button. |
| RST | trigger in | Back to the first place of the loop. Contents untouched. |
| RSD | trigger in | A rising edge refills the loop with new random values, exactly like the button. |
| CV under DRIFT | CV in | Sums with the knob. +10 V adds 100%, −10 V takes it away, and the result is held between 0 and 100%. |
| CV under LENGTH | CV in | Sums with the knob. +10 V adds 62 steps (the whole range), and the result is rounded to a whole step and held between 2 and 64. A stepped source or sequencer can play the length of the loop. |
| CV under SPREAD | CV in | Sums with the knob, scaled like DRIFT. |
| CV under DIR | CV in | Sums with the knob: 0 V to +10 V sweeps across the fifteen directions, Forwards to Anchor, switching about every 0.7 V. |
| TAP 1 to TAP 8 | CV out | The loop read at eight places. ±5 V by default; ten ranges, unipolar or bipolar (see Output range). With Poly output routing in the menu, the last jack of each group also carries the group's taps as one polyphonic cable (see Right-click menu). The single jacks keep working. |
Ideas. Clock STEP from a clock divider and send TAP 1 to a pitch input with Quantise on. Send the other taps to filter cutoff, pan or a second voice to get related lines. Patch a slow LFO into the DRIFT CV so the pattern alternately holds and melts. Use RST from a bar-length pulse so the loop always begins in the same place.
Eddy keeps its loop, its position and all its settings in the patch, so a saved patch comes back playing the same pattern.
Eddy is free through the VCV Library, for Mac (Apple Silicon or Intel), Windows and Linux.
Eddy needs Rack 2.
| Format | Rack 2 · Eddy 12 HP · Eddy Gates 4 HP | Control voltages only: no audio. Silver and black panels. |
| Engine | shift register, one shared loop | 2 to 64 steps; eight taps; DRIFT, SPREAD and a jump size; fifteen directions; an external input; quantiser with 13 scales |
| Randomness | seeded when the module is added | no seed to set; every new module starts with a different loop, and a saved patch keeps its loop |
| Outputs | 8 taps, CV | ten ranges, 0 to 1, 2, 3, 5 or 10 V or ±1, 2, 3, 5 or 10 V; default ±5 V; quantised at 1 V per octave; optionally polyphonic on the last jack of each group (pairs, 4+4 or all eight) |
| Inputs | STEP, RST, RSD, IN, STILL, four CV | triggers read above about 2 V; CV: 10 V = full range (LENGTH: 62 steps) |
| Gate expander | 8 gates, threshold, gate or trigger, sample and hold | 10 V gates; triggers last 1 ms; threshold in volts across the output range, with CV; sample and hold of the taps by their own gates |
| Saved with the patch | loop and settings | the loop, its position, and every menu setting |
| Sample rate | any | nothing in Eddy depends on the sample rate |
| Platforms | Mac · Windows · Linux | Apple Silicon and Intel Macs |
Eddy's engine is original. It uses no third-party code. Eddy is closed-source and proprietary, and free to use.