Helmp me understand mod remap

I’ve watched yt videos where people do cool things using mod remap, but no-one actually explains exactly how it works. And trying it out for myself, I only get confused :slight_smile:

In an LFO, the X axis is time, and the Y axis is the value over time. Mod remap seems to be the same. So, for any point in time, there are two values, possibly different: one from the LFO, and one from the remap. Which of the two values does Vital use? Does it always use the remap value, or are the two somehow combined?

I tried to test this, mapping a straight slope LFO to osc1 volume, going from 0 to 100% over 1 bar. In the remap, I created three “steps” one at 0, one at 50% and one at 100%. I expected the volume to follow the remap: first no sound, then a quiet sound, then full loudness. And this is indeed what happened. Looks like Vital takes the value from the remap, and ignores the LFO value (which didn’t step, but smoothly increased).

But then, surprise. When I change the LFO so that it becomes a straight line along the bottom (0 all the way), there is no sound at all, the remap has no effect when it steps to 50 and then to 100. And it the LFO is a straight line at 100, then I get full volume all the time, the remap is again ignored.

And then, when I drew an LFO line that went down instead of up, the remap was processed backwards… So LFO is controlling not values, but - what? Direction? Speed of the remap?

So now I’m pulling my hair. What’s going on? Could a kind soul explain how this works?


The way i understand it is: Vital looks at the LFOs first, and the LFOs are looking at the mod remap for any additional changes. The example you gave should explain it: if an LFO is a straight ramp up from 0% on the bottom left to 100% on the top right, then the LFO will do just that UNLESS the mod remap says otherwise. If you noticed, the mod remaps are also just ramps from 0 to 100 by default, that means the LFOs should just read whatever is on the LFO curve itself, and the mod remap just says to keep a steady reading of the LFO.

Now, if you “change the order” so that the LFO is the one doing an upwards ramp and the remap is doing something different, it’s helpful because you can link that same LFO to multiple targets, and you only have 8 LFOs to play with. So for example: you can link an upwards LFO to the volume and pitch of osc 1 (which is a sine wave for this experiment), and if you go into each of those modulation remaps, you can make it so the pitch goes down very quickly at the beginning, and the volume hangs out near the top for a bit then drops down. Now you have a kick drum-like sound, all with a single LFO that’s just a ramp up.
Kick Example with 1 LFO.vital (181.3 KB)

Then you can go even further by changing the original shape of LFO 1 so that it changes the timing on the remaps, you can even make the LFO an inverted ramp, so that it goes from 100 to 0, you’ll get a reverse kick sound! and with a bit of trial and error, you can turn the kick sound into something that resembles a DJ scratching a vinyl on a kick drum https://www.youtube.com/watch?v=hUXwvPzxmSs

The word remap suggests replacing a value with another, based on the value itself. So it would seem it is not a time/value graph, but a value/value graph. When the value is X, replace it with Y.

1 Like

Yeah this explanation is more appropriate!

It cannot be a time-value graph because if it had to be, then you would have to set how long is the time duration that it should follow the remap for. And you can’t set that. This statement might not make sense as you might think that, if the remap was time based then it could copy the time duration of the LFO. But it’s not a time-based graph. Also, this remap is available for any & every modulation. That’s really cool though!

From what I’ve understood, the X axis is the input value (from the modulation) and the Y axis is the output value.

Say you set a ramp up LFO to Oscillator volume. Now the default slope of the remap is a linear one. That is, whatever is the value provided by the LFO will be the one applied to the Mod destination.
If you change the remap to, for example, a ramp down, then when the LFO is at its lowest value, the modulation will actually be at its max. value. And when the LFO is at its max. value, the remap will make it such that the modulation is at its lowest value.

[Here, LFO means the source and the curve that you made. Modulation means what you set the LFO on. Pls don’t confuse]

I do really wish to make a video to explain this stuff. Maybe I’ll do it. If I do, I’ll just update this post and paste the video link.
Till then, have fun playing with it!

Or you could just say that the output of the LFO is used as the input (index) for the remap, as time is used as an input (index) for the LFO. It is really not that complex. The fun begins when you have non linear shapes in the LFO and remap those. As a general rule of thump it is easy to imagine the remap as a distortion of the LFO, i.e. use remap to make a sine lfo, that spends more time in the higher values -> use a saw as remap curve, but bend it slightly to the top… etc.

Or use a saw as LFO and have the remaps defined with different subdivisions of saw lfos (2,3,4. etc) now you can modulate different parameters at different (related) speeds, with just one lfo.

1 Like

i am exploring this for myself right now and havent fully wrapped my brain around it because it very much opens up the lfo thing.

for me right now:
in your case the volume gets the values from the remap and the lfo says how the movement goes through the remap curve…

may brain breaks always about the possibilities here…