Random LFO in modulation section of an instrument


I have a small question about using LFO with ‘random’ within the Modulation section of instrument editor and I’m not sure if this is a bug or a feature.
Essentially, I want to confirm if the following is true:

if I create a single modulation set that is applied to several (at least two) samples within a single instrument, and I create an LFO with random mode for (for example) pitch modulation (with frequency very low, i.e. 0.001Hz, but I don’t think that matters), whenever a note is played, each sample connected to that modulation set will get a different random value. In other words, if I use (for example) single-cycle oscilating (looped) waveforms, I am unable to maintain pitch relationships between each oscilator (set in sample properties for example), but they are sometimes more close together, sometimes further apart.

This somehow doesn’t make sense to me, because, if I use Sine mode in the LFO, all samples will be modulated in the same way (within the same modulation set). It would seem to me more logical, that if I’d want to have different random pitch relationships (for example) between each sample, i would create separate modulation set for each sample and create a LFO in random mode for each of them.

I hope I have described this situation accurately. At the bottom line (without knowing any internal constraints for such functionality - a bug or a feature?) I would rather see that random mode of the LFO within a single modulation set should apply the same random value to all samples connected to this modulation set and not a different random value to each sample.

I would like to know if this is desired behaviour and will it stay like this, or can it be changed?

In any case, thanks for amazing music making software!

I would call it a feature, but that doesn’t mean that the implementation can’t be discussed :slight_smile:

Many of the modulation devices have a somewhat simpler approach than their FX counterparts - which, by definition, treats audio monophonically. So, I think I can see where you are coming from - perhaps a workaround would be to attach a keytrack that trigger the reset of an FX LFO - but this would of course not work with overlapping sounds…

I guess a proper solution could be to introduce a salt for the random mode. Essentially (and for backwards compability), the current approach would then be to use a random salt, but you could enter a fixed value to obtain the same random sequence whenever it got triggered.

Hey, thanks for reply!!

did you mean that FX treat audio monophonically? or modulation sets? And I don’t really see how random salt would help in creating uniformity/equality of random modulation over different samples.

I think that the amazing power unleashed by

not to mention FX chains for each sample or group of samples

already bring so much possibilities. For me, this essentially makes most of instrument plugins un-neccessary. By using looping/oscilation, one can very easily create different emulations of most synth sounds that we know of at the moment. However it is frustrating to be without control at some point.

I hope I was clear in my post: i’m fine with randomization, but not on the the single LFO that is supposedly controling a modulation of three overlapping samples at the same time in a way that random modulation is applied to each sample separately. It’s also somewhat counter-intuitive, as it is actually a single modulation set. If ADHSR envelope or an LFO in SINE mode is applied equally to two or more overlapping samples in a single modulation set, why is random mode of an LFO an exception to this rule? If I want to create different ADHSR or LFO modulation envelope for each overlapping sample, the logic is, that I create separate modulation sets. This way I have total control over all envelopes. At the moment random mode of an LFO is an exception to that and to me it creates, well, kind of illogical functionallity when creating ‘sample-synths’. Perhaps such feature is not so important with volume or panning envelopes. But with slightly detuned oscilations it makes a lot of difference. When two oscilations are detunes 0.001 or 0.004 or 0.0 fractions of a semitone apart, it influences the whole timbre, it’s ‘detuned’ character. With equal/monophonic application of random LFO values to all samples in a single modulation set, it’s still possible to detune the whole note, but not change the detuned character of the note as a whole.

I would strongly call (if this is possible at all, and it doesn’t create too much of processing overhead) for a modulation logic, where random mode of an LFO creates a modulation that is applied equaly (monophonicaly) to all samples that have this single modulation set assigned to.

I was now thinking about another use-case scenario, not so detailed and microscopic, as what i described above in my second post. Here it is:
imagine you are creating an instrument with two samples, imagine two long recorded pads. You really want them overlaping on the same tone, and you adjust everything in sample properties so that they are in tune with each other. And than you want this summed tone/pad/instrument to randomly change pitch, but without detuning the two overlapping pads between eachother. This is currently not possible.

Yes, FX chains in the instrument and track DSPs are all acting on a single stream of audio. I only mentioned that, since you might be able to pull off what you are trying to achieve by using the keytracker technique (use a keytracker to reset an LFO whenever a note is played).

But I guess we are talking about modulation chains here, and they are processed per playing voice. And currently, that means that the random LFO will indeed produce a totally random value, no matter if the samples are assigned to the same modulation chain or not.

Because of this, I don’t think it would be wise to just change the current behavior. For someone else, it could be the preferred way for the LFO to work, and changing this now would break any current instruments that rely on this - generally we want to keep backwards compatibility as much as possible. But I don’t think that means that we’ve “painted ourselves into a corner” here, because any random generator can be made to produce the exact same sequence of numbers - if combined with a “salt” value. When a random number sequence is using a salt, it’s basically “pseudo-random”.

So, in order to have multiple voices affected by the same (pseudo) random curve, we could add a salt to the LFO. And if we want it to be backwards compatible, simply leave the salt undefined, and it could become a “true” random value.

But, to make things more complicated, there are additional things to consider - for example, the ability to have free running LFOs in the modulation chain. Even with a pseudo-random LFO, each voice will only be perfectly aligned when triggered at the exact same time. Again, this is something which could be desirable, or not, depending on the type of instrument you are creating.

ok, that makes everything a bit clearer.
well, yes, perhaps an option for the random mode LFO to have the same or specified salt would be a good possibility yes.
so should i submit a feature request someplace?

I think our little exchange of ideas made it pretty clear what it is about, so there is no need to create a separate topic.

I’ve moved this topic to the Ideas & Suggestions forum, and added it here as well

wow, that’s a lot of suggestions there!
thanks for all the feedback here, danoise!

Ehrm, yes :lol: