Stages LFO speed firmware adjustment

I’m interested in getting a wider range of LFO speeds on my stages for a case where there’s not so much room for offsets to feed into the level inputs.

I found this post from @pichenettes on slowing the LFOs: Stages

And @n-So was successful in modifying the firmware to allow lower speeds: Stages

Ideally I wanted to get these low speeds, but also be able to access the high speeds of the default firmware too, so increase the range of the slider at the lower end, not just shift the values possible down to slower speeds.

const float frequency = SemitonesToRatio(f) * 2.0439497f / kSampleRate * 0.125f;

Changing the frequency with a multiple less than one as suggested, just slows everything down, I’m wondering what operation I need to open up lower speeds without losing higher ones.

float f = 96.0f * (parameters_[0].primary - 0.5f);

Replace 96.0f by a larger value, for example 120.0f if you want to add one extra octave on the fast range, and one extra octave on the lower range.

This value represents the range of the LFO in semitones, over the course of the slider.

The slider covers a range of 8V (8 octaves), so if you change 96 by anything else, you’ll lose V/O tracking.


Thank you! I will try that out. Very much appreciate both your help and making your modules open source so they can be tweaked like this. It’s a revelation to me.

1 Like

Thanks, that did exactly what I wanted. I can see why the module doesn’t come like this, the ranges you chose are much more sensible and controllable, but for the purpose I wanted this is perfect.

If anyone else finds this and wants LFOs with a wider range here’s the firmware download:

Blown away by how well setup the firmware hacking process was, great way of doing it.

1 Like