FR? The LFOs are insane.

Discussion about: tracktion.com
Post Reply New Topic
RELATED
PRODUCTS

Post

I've used the LFO before by messing with it until it does what I want, but I've only just (sort of) worked out what the numbers actually mean.

The values are totally non-intuitive. I've never seen anything like it.

The way it is now, if it is in uni-polar mode, Offset is the lower boundary and Depth + Offset is the upper boundary.
  • With Offset 0.0 and Depth 1.0, the wave will swing between 0.0 and +1.0.
  • With Offset 0.2 and Depth 0.8, the wave will swing between 0.2 and +1.0.
These values do make sense and the corresponding output matches exactly what the wave is showing (unless you mess with the "Assignments" value, more of which is described later).

However, in Bi-polar mode, it's completely bizarre. The values don't correspond to what they are named. Nor do they correspond with the actual values that the LFO outputs.
  • With Offset 0.0 and Depth 1.0, the wave will swing between -1.0 and +1.0.
  • With Offset 0.2 and Depth 0.8, the wave will swing between -0.4 and +1.0.
These values just make no sense.

Also, values that swing between -0.4 and +1.0 work for built-in plugins like Pan, but don't work for VSTs because VST automation only allows for values between 0.0 and 1.0. In the last example above, the value actually gets clipped to 0.0 for values below that.

Now that's an obvious limitation with VST automation, but the way this is implemented in Tracktion is really weird and over-complicated.

Not withstanding the bizarre values in Bi-polar mode, you can then further modify the output values. In the Assignments page, there are two more parameters labelled Offset and Value that take a percentage, then there is a knob controller that does...something.

As far as I can tell, the Offset value in the Assignments tab is like a copy of the main Offset value that adds to the main Offset value, but has a +/- percentage value instead of a scalar. What? So a main Offset value of 0.3 and an Assignments Offset value of -30% sets the actual Offset value to 0.

But then you can also set a value on the Assignments knob, which seems to not add onto the main Offset value, but adds to the actual final output value.

The value percentage scales the value, but I haven't worked out whether it scales all the parameters values, the Depth value, just the output value, or what.

If you read down this far then well done. I'm really struggling to get all this in my head and describe it. It's just utter madness.

Can something be done about it? I can come up with a redesign that would make a lot more sense.
i9-10980HK. Windows 10 (21H2). Komplete Audio 6. Studio One 5.4.1.

Post

Yes they can seem a little complex but I think you'll find that the settings in the modifier settings window are global settings whereas the settings in the assignments window are for fine tuning the individual plugin settings. You might have 3 volume plugins assigned to one modifier but want them to behave slightly differently to one another and the assignments window allows you to fine tune the individual settings. I may be wrong but that seems to be how they work.

Post

I think you're overcomplicating it. When bi-polar is enabled the range is from -1 to +1, with it disabled its 0 - 1.
The depth control scaled this, then the offset is applied as a proportion of the whole range.

The assignment has its own offset and value sliders because this enabled you to have the same Modifier affect several plugins in a different range (but the same pattern). This is fairly essential if you have it driving different filters etc. in a synth.

Post

I really don't think I am overcomplicating it; It really is that complicated.

If I have a bi-polar signal I will always expect the Depth parameter to scale the waveform amplitude around it's centre, and I'd be surprised if anyone else expects differently. i.e. the Depth parameter is a multiplier.

The root waveform should be from -1 to +1 and the calculation should be wave * Depth + offset, where the offset can be positive or negative. There's no need to have a separate uni-polar signal as the offset and Depth values can be set accordingly.

However, even if you resolve that and make the bi-polar values make sense, bi-polar values themselves appear to be a hack to explicitly support Tracktion plugins that add an unnecessary layer of complexity.

VST automation only allow values from 0.0 to 1.0, so it would make more sense that the LFOs are always uni-polar. If you send a bi-polar signal to a VST it just clips the value from 0.0 to 1.0 anyway, which is very confusing if you're trying to attach it to something like a pan control and don't realise how it works underneath.

Clearly you know that a modifier has been attached to a standard VST parameter because the in-track automation curves always show uni-polar values for VST parameters. At the very least, I think you should completely disable bi-polar modifiers for VSTs because then at least it will be consistent with the automation curves.

I understand the thing about scaling if you use the same modifier for multiple controls, but what's the point in having the Offset (especially as a confusing percentage) when you can also to adjust the offset using the knob value. The knob value itself adds a lot of confusion because it gets set to whatever the VST parameter is currently set to when the modifier is assigned to it. I expect an automation parameter to completely override anything that the VST is trying to do, which is what happens with the in-track automation curves.
i9-10980HK. Windows 10 (21H2). Komplete Audio 6. Studio One 5.4.1.

Post

No, I went through all these questions when designing it. If you simply override the parameter value you can't use multiple modifiers on the same parameter. For example, an LFO and an envelope.
You need bi-polar Modifier values so you can centre a parameter control and have the modifier go either side of that.

Post

Ok. Well thanks anyway for the responses.
i9-10980HK. Windows 10 (21H2). Komplete Audio 6. Studio One 5.4.1.

Post

I do agree that having the bipolar option oscillate around 0 probably would have been a better design choice but I can't really change that now without breaking everybody's Edits. Maybe adding a simpler LFO with just rate, depth and a bipolar switch would suit this better.

For the assignment stuff, you wouldn't normally need to adjust the offset and value from the properties page. It's standard use is:
1) Set up the LFO how you want
2) Open a plugin UI and adjust the parameter you want to be at the base/centre point (this will also bring it to the top of the "Parameters" list in the Modifers panel)
3) Press the "Assign" button on the Modifier, then drag up or down on the parameter slider to set the range of modification

That will cover 99% of use cases

Post

you might well have 4 sliders (besides speed control):
lower limit, upper limit, offset, width.
no bother that this is "overdefined".
when you touch a slider, the math will change direction.
each slider will have a lock option, you can lock only one of them.
probably this addition would not break existing edits.

example: lock width, move upper limit, then lower limit and offset will move accordingly.
lock lower limit, move width, then offset and upper limit will move accordingly.
don't forget that the polarity of the curve can change by switching upper and lower limits, and width (=amplitude) will become negative.

the help text on the lock button says:
"click on a parameter and then on this button, to keep this parameter constant, while afterwards moving other parameters."
the locked parameter will be greyed. but it will be ungreyed and unlocked when clicked again later.

the sliders actually can become little "contact squares" (same thing as in the automation curve; how would you call them) in a sinus on a grid. the width control will sit in the grid that has a little up-arrow there. there are also 4 number text fields where you can enter the values. they might be glued to the squares and move with those, but this would be a bit playful.
the mouse move is scaled, so you move 4 times the distance these little squares will move in reaction. thus you can keep the whole graphics very small.
this would be very intuitive to the eye.

Post

next one might break edits but I can imagine a nerdy circumvention.

- don't expose the unipolar/bipolar issue to the users at all -

it is known which processors or filters have bipolar parameters.
for a modulation curve, there should be on-the-fly math that just translates accordingly.
** the user interface always shows a bipolar modulation curve. **
we can still move it to the upper or lower half, and it will mean it in result.

for some unipolar plugin input the math will add an offset of 50% and divide the width by 2.
this will be the general input feeding a set of plugin parameters that are connected to the LFO. the modifiers start from there. all modifiers start from the translated input that is right for the plugin.

any other behavior does not look useful to me.
but we have not mentioned clipping. ("wrong" data to unipolar input would clip)


so far, upper and lower limits mean the full swing.
but we could add two extra internal parameters, that clip the LFO curve before reaching full values.
for the UI we could have a switch for each of the two limits that turn it into a clipping limit. then, the width parameter becomes independent, and will stay the same, when we reduce the limits. so they will start to clip.
I can imagine a triangle LFO with clipping to be quite useful.

the construction looks complex in the making, but when it is done wisely, the UI will be very simple and straightforward.

Post Reply

Return to “Tracktion”