LFO Machine (Data pipes Broken?)

Hello,

I’ve been working on a preset to drive up to 6 LFO’s onto Electra one MK2.

Here is a summary of the features developed so far :

Six independent LFOs

Each LFO runs its own phase, waveform, rate, and output processing. All six run simultaneously at 100Hz in a tight timer loop, and each has its own live scope display so you can see what’s happening at a glance.

13 waveforms

Triangle, Sawtooth, Square, Sine, Inv Saw, S&H, Smooth Random, Exp Rise, Inv Exp Rise, Exp Fall, Inv Exp Fall, Staircase, Pulse. Each waveform has a graphical bitmap icon in the selector. The exponential family covers convex/concave rise and fall curves — useful for anything from envelopes to compression-style ducking shapes.

Waveform morph

Each LFO can crossfade continuously between its source waveform and any destination waveform. With morph enabled, you can blend from a sine into a square, or from exp rise into staircase. The morph amount is a modulatable parameter.

Rate and sync

Rate goes from very slow up to 80Hz with a cubic curve for fine control at lower speeds. A speed multiplier gives you ÷8, ÷4, ÷2, x1, x2, x4, x8 on top of the base rate. LFOs can also lock to incoming MIDI clock across 13 sync divisions: from 16 bars down to dotted/triplet values.

Per-LFO controls

Beyond rate and waveform, each LFO has:

  • Phase offset — shift the starting point 0–360 degrees

  • Unipolar — clamp output to 0–1 instead of -1 to +1

  • Slew — smooth out the output with a configurable lag time (displayed in ms or seconds)

  • Amplitude — scale the output

Modulation matrix

Six routing slots, each with source LFO, target LFO, control destination, depth, and add/multiply mode. Destinations are Rate, Amplitude, Phase, and Morph Amount — so you can have one LFO modulate the rate of another, or use an S&H LFO to randomise morph position on a second LFO, etc.

But there is a but :slight_smile:

Cant seem to get the data pipes working correctly, its memory management seems to be borked, and also adding the macro controls has some quirky behaviours, and not really working when you have more than 1 data pipe (modifing data pipes in macro makes the modulation animation stop even)

Is this a known issue, or am I doing something wrong ? :slight_smile:

Thanks in advance,

Pedro

3 Likes

Wow, this sounds amazing. I made a much more basic version but also ran into the data pipes issue, I raised it as a bug in the forum. Specifically I found once a pipe was set up you could no longer adjust the speed of the LFO (happens with Martin’s original proof of concept preset too)

I will look at that (both :slight_smile:

2 Likes

Thanks @martin , let me know if you need me to describe in detail the steps to reproduce the issues I mentioned both on the data pipes and the performance page (also found a few more) :slight_smile:

I have to combine working on this with other stuff that needs to be finished. But, using your preset and info I have found an issue in the pipe assignments, resulting in unpredictable behaviour and lockups. I did some work on it:

It still needs doing though. I will ping you when I need more info.

Btw. I really love the idea. Especially how the six LFO generators are set up and organized.

4 Likes