# I finally solved and understand the LFO's

After many months of thinking on this I finally understand it for myself. This may help you too.

There was one piece of information that no one seemed to ever talk about when trying to explain the LFO’s and it dawned on me that the Phase was the missing piece.

Phase is used as a way to offset the start position of the LFO but it also has to do with how the LFO is sliced up. There are 128 possible choices when it comes to Phase which means every LFO (except random because…random) is sliced into 128 little pieces. (This is super key in understanding).

The SPEED parameter is how many values the Phase increments per bar. You have to think about phase as the playhead moving along the LFO (anyone who uses Bitwig has come across Phase)

Taking 16 as the example (with a MULT of 1)

Bar 1 - Phase 0-15

Bar 2 - Phase 16-31

Bar 3 - Phase 32-47

Bar 4 - Phase 48 - 63

Bar 5 - Phase 64 - 79

Bar 6 - Phase 80 - 95

Bar 7 - Phase 96 - 111

Bar 8 - Phase 112 - 128

This is an easy one because each Trig = 1 jump of phase.

If you increase the speed to 32 it means each trig is a jump of 2 phase (which only takes 4 bars - double what 16 did).

It still needs some math if you want to figure out an exact length, but I think knowing that this is talking about the 128 Phase steps it makes it easier.

So say you wanted it to loop every 1/4 bar (4 trigs), that means each trig needs to be 32 phase steps long and since the speed indicates the phase steps per bar that’s 128 x 4 = 512 and since the speed cannot go past 64 (well 63.99), you need to use the multipliers to get to Speed 512 so that’s any combination you want really. 64x8, 32x16, etc.

Formula
(added for TLDR). If the Speed is a number that’s above 64 then you need to use the Mult.

128 (phase) / x (bars) = Speed

edit
Fixed math for bar steps.

Edit 2 - The More Math Edition

I did some more thinking last night and realized this works fine for even divisions of the bar but what if you wanted to have it loop say every 5 trigs (so Trig 1, Trig 6, Trig 11, Trig 16), how would you calculate this? Well it’s not simple but is doable. You will need a calculator though.

First take the length of the loop (in this example I’ll use 16 trigs). Then I want the LFO to loop every 5 trigs so take 16/5 = 3.2. This is how many divisions a 16 trig long loop will be cut into (with me so far?). Now multiply this by 128 to get 409.6. Why 128? If you recall, there are 128 “phase steps” to the LFO and this gives you the number of cycles the LFO will perform in this 16 trig loop (or in other words, 1 bar).

Great so the speed of the LFO must run at 409.6 but that’s not possible to dial in without using the multiplier. So just pick one (say 8) and divide by it. 409.6/8 = 51.2. So if you set the SPD to 51.2 and mult to 8, it will cycle every 5 trigs (at 1x speed of pattern).

Something to be aware of though is that when you’re counting out the number of trigs you want it to take to cycle, remember that the number of trigs and the numbers on the trigs will be different. So the loop above (of 5 Trigs) will happen on Trig # 6, not Trig # 5.

Well that’s great for 1 bar, but what if I’m looping on 2 bars? No problem. Let’s pick a loop length of 28 over a total length of 32 steps (the total length of steps needs to be bigger than the loop length so just expand as you see fit). Alright this means a Trig on 1 of page 1 will cycle on Trig #12 of page 2. Wait I just counted and that’s 29 trigs! Yes if you include the trig on #12 of page 2 but we’re not going to that trig, we’re going to the small spot right before so we don’t include it in the counting. So 32/28 = 1.14. Next we multiply by 64. Hold up you say, why 64 now and not 128? Well The LFO has 128 phase steps right? But we’re not looping over 1 bar anymore, we’re looping over 2 bars. This means that 128 steps / 2 bars = 64. The LFO will complete half the cycle on bar 1 and the other half on bar 2. This gives us 73.14. Again this isn’t possible without the multiplier so let’s pick 4. 73.14/4 = 18.28 (or .29 depending on your rounding choice). Now we have an LFO that takes 28 steps to cycle.

Hopefully this helps you to more easily lock in those LFO’s now!

28 Likes

So in the example you give, speed is set to 16 with a multiplier of 1, and it takes 16 bars to complete the cycle?

No it would be 8 bars. To make it take 16 bars you need to make the SPEED slower.

128 (phase) / 16 (bars) = 8 (Speed).

It’s always 128 Phase / x Bars = Speed

2 Likes

senpai!

2 Likes

Thankyou. This actually helps to think of the concept in this way.

I don’t think this is the right way to think about it

The periodicity of change within a random ‘lfo’ is only 8 times as active as a regular LFO.

E.g. if a square wave LFO has two value states per cycle, over the same period (based on identical product of mult x rate ) a random LFO will have 16iirc different step changes. So to get the same period of change in value you reduce the product by a factor of 8

It never used to be truly random, back in A4 days, until I moaned about it, I’ll link the topic when I am off the phone

Secondly it’s MUCH better to think of LFOs in terms of phase (probably in degrees)

The cycle takes 360 degrees to repeat, (all except rnd) and the key phase points can be found by halving 27(128) down a couple of times so you find the noteworthy phase positions typically at multiples of 25(32)

This is phase, but the same paradigm exists for the timing of an LFO - it takes a product of speed*mult = 128 to complete a synced bar of 16 steps - so to make the LFO take 2 bars just halve the product etc

These magic numbers appear all over the Elektron interface - in DN Modulator delay envs in Delays and so on - they hook the useful values to these 2n positions by design - so to get an A4 to filter track (one of the filters) you set 32

here’s the phase visualised for a sin shape, multiples of 32 get you where you want as you spotted, but the origins are in the numbering being defined by all the binary building blocks

4 Likes

sensei!!

1 Like

I excluded Random because it doesn’t really have phase…and it’s meant to be random, there is no cycle. Random is that outlier and I didn’t investigate it.

Yes Phase = Degrees however the phase parameter only goes up to 128 which means the whole 360 degrees is split into 128 steps.

I think you’re saying the same thing, no?

edit
Hey btw, if you’ve discovered that Random doesn’t work the same as the others, wouldn’t that suggest a bug?

1 Like

OFF-TOPIC: I wish maths used “turns” instead of “degrees”. (I mean, I am aware there is maths for rotations based on turns rather than degrees… I just wish it was taught that way from the start. Stuff would make more sense.)

1 Like

Thank you for your contribution, I like it when bits are called out for what they really are.

3 Likes

I got lost in your brackets towards the end and assumed you suggested random was split into 128 slices over the same period of one cycle of a sin shape

The LFO is random but the period of change isn’t…but is periodic in the way I describe. You get 16 values whilst a square wave over the same period will yield two

This is important if you want to avoid random changes happening unexpectedly over the duration of a step

So iirc a product of 8 is required to have a random LFO change value once a bar, yes phase isn’t an appropriate term here

But yes, I misread what you mentioned(or didn’t) about random on my phone

Not sure I clarified the phase diagram much either, but if you want a sin to start high you bang in 32

These handy positions are found all over

In any case we all may chose different strategies to visualize the useful values in a way that helps our unique ways of thinking

I just checked out Random and yes it does change more frequent than the regular cycling LFO’s if you think of each random change being equal to a “cycle”. At a SPD of 16 and Mult of 2 you get 4 changes per Bar. (I think that’s a factor of 8 as you stated…)

I understand your diagram - it represented what I was trying to convey with text only.

The main thing for me was being able to figure out what to set the SPD and MULT to for a certain cycle length without needing to haul out the manual and look for that damn chart!

Once I derived the formula it all clicked.

1 Like

The way I figured it out was to think in ‘tracker’ style ticks. Each LFO completes its cycle in 128 ticks. The product of speed x mult is how many ticks will elapse in a bar. So speed 1 x mult 1 will take 128 bars for the LFO to cycle. This is corroborated in the table in the Model:x manuals. Using your terms each tick advances the phase. Horses for courses really. Congrats!

3 Likes

This is probably more how they came about it as the sequencer is definitely very tracker like. I’m not sure the majority of users have tracker experience and that might have gotten lost on them

I still remember in FT2 the overall speed that the pattern played used the calculation of BPM + SPD and it wasn’t really well explained in the manual (I was also like 13 at the time and who read manuals then? haha). But the way it used the speed to increase the “resolution” of the pattern which I didn’t grasp then, I thought it just made the song play faster lol.

1 Like

That’s how I understood it as well. I also think of ticks when changing the Octatrack arpeggiator speed.

I do think the OP is a nice way to break it down, and it’s probably very helpful for someone who doesn’t intuitively understand the LFOs. We probably all use slightly different abstractions in our own heads to understand things

1 Like

Evergreen comment with respect to the teaching of mathematics

1 Like

I made an edit that has some more calculations to help figure out the values needed for specific trig/step length.

1 Like

Assign the lfo to sample start point and you can actually see the behaviour …
Trigger playback of the sample and you’ll see what is going on if you view the sample waveform
Once you’ve got your head around how it works then reassign to the actual parameter you want.

4 Likes

That’s a really good idea! I also was thinking about using overbridge and recording the lfo in a daw but haven’t got around to that.