I'm experiencing a problem where I'm trying to match the tempo in LSDJ to an already recorded track with a swung rhythm, it was recorded to a click, but the swung element was not set, it was just part of the performance, so it's consistent but not metronomic.  My problem is that when one changes the groove settings in LSDJ the set tempo is no longer what it's set at, ie. if you played something in this changed groove setting against a click the beats would not line.

So my question is basically how would one add a groove to a sequence in LSDJ while keeping it at a specific BPM? I assume you would have to do some math that I am in no way qualified to figure out, maybe it's only possible for some tempos or easier with versions that aren't from 2007?  Any help or tips would be greatly appreciated, thanks.

Tempo in LSDJ will stay consistent when altering swing so long as you keep the same number of total ticks, when editing swing try holding A and pressing up and down (instead of left and right) this will keep the balance in check. If you need to do swing over larger time values (more than just two lines) just make sure that your total ticks always divide out to an even 6 ticks per line and the tempo setting should stay accurate.

If you wanted to do something even more unorthodox (to the point where it's not swing because you wouldn't get all your time back), then I imagine you'd just calculate the difference as a ratio of standard amount of ticks per tempo; solve for "X";

Ex. 140 BPM / 96 ticks (per phrase screen) = "X" BPM / 100 ticks (or however many you end up having in your strange little configuration).

Last edited by Zef (Jan 19, 2013 11:05 pm)

Ahhhhh, I'm stupid, thanks a lot.  I can't believe I've used this thing for 6 years without knowing that!

J. Arthur Keenes wrote:

Ahhhhh, I'm stupid, thanks a lot.  I can't believe I've used this thing for 6 years without knowing that!

Seems like that's a common thing with LSDJ, especially with Groove commands, Volume Talbes, and the Tap Tempo.

Glad to help! Let me know if there's anything else you need.

this probably isnt helpful, but in my experience ive found thats its usually *much* easier to micromanage groove with cleverly placed D commands than with G. It seems like the processor burden is much smaller too.

Since the tempo on LSDJ isn't absolute, it won't match an exact BPM unless its MIDI synced anyways.  I often have to do some manual editing to integrate it with traditional recordings

This might help: http://packetsofknowledge.se/LSDj:Ticks_and_grooves

danimal cannon wrote:

Since the tempo on LSDJ isn't absolute, it won't match an exact BPM unless its MIDI synced anyways.  I often have to do some manual editing to integrate it with traditional recordings

2009-07-25: v3.9.d

* tempo calculation was rewritten to get more precise. new error margin
should be about 0.005%.

If you're using a DAW I think that the DAW might fluctuate more than lsdj.

J. Arthur Keenes wrote:

Ahhhhh, I'm stupid, thanks a lot.  I can't believe I've used this thing for 6 years without knowing that!

Don't feel bad. I've been using LSDJ for 6 years and I didn't know that either, haha.  TIL.

Also, I'm like Bright Primate--I often use D commands instead.

The only time I've ever found a use for complicated groove tables was the other day when I made 1/32th notes like this:

5 55%
4
4 50%
4
4 50%
4
8 34%
F

So in the end it still evened out to 6 ticks per step.

nordloef wrote:
danimal cannon wrote:

Since the tempo on LSDJ isn't absolute, it won't match an exact BPM unless its MIDI synced anyways.  I often have to do some manual editing to integrate it with traditional recordings

2009-07-25: v3.9.d

* tempo calculation was rewritten to get more precise. new error margin
should be about 0.005%.

If you're using a DAW I think that the DAW might fluctuate more than lsdj.


With the voice of Richard Stallman, "I'd just like to interject for a moment."

LSDj is nowhere near that accurate. It's using a 4096 clock as its tempo base, which is then divided down to the BPM. This means you can set the time between interrupts in increments of about 0.2 milliseconds. The error for the BPM value varies with the BPM. Higher BPM means lower accuracy. However, there is a trick in place to switch between different values on every tick to increase the accuracy. Which increases the accuracy a small bit.

A real world example: 128 BPM is a tempo that divides from the 4096 Hz clock, and is theoretically completely accurate (to the limit of the clock crystal's accuracy.) 129 BPM is a tempo that divides badly from the 4096 Hz clock, and the real world BPM turns out to be 128.805 BPM. This is 0.151% too low. This one of the worst cases. 130 BPM becomes 130.032 BPM, or about 0.0244%.too high. I think Johan may have made a mistake and meant to say that the worst case error is a factor of 0.005, or 0.5% off. That's still fairly good.

Edit: The algorithm seems to be more complicated than I thought, and the accuracy is higher than the calculations above.

Notice how I purposely used the word accuracy instead of precision. Precision is something different than accuracy. LSDj has a relatively bad precision, ie the time between notes may jitter such that the time between each note varies, even if the long term average converges to the 0.5% or smaller error. This is because the CPU may be busy doing other things when a timer interrupt happens. The culprit is typically kits as well high frequency vibrato, and not using these will reduce the jitter. I haven't made any calculations on the actual error from this but might do so in the future.

Last edited by nitro2k01 (Jan 20, 2013 2:36 am)

Oh good, I'm not an idiot then.  A few of my most recent projects have tempos like 147.752 in order to minimize the amount of editing I have to do in my DAW.  YAY 6 digit BPMs

danimal cannon wrote:

Oh good, I'm not an idiot then.  A few of my most recent projects have tempos like 147.752 in order to minimize the amount of editing I have to do in my DAW.  YAY 6 digit BPMs

Huh! What are you syncing to that needs that level of precision? Just curious. Is it just to lock to grid in your DAW or instruments from other clocks?

I initially assumed that your post was something about the Zef thing you just did and having to sync 2 gameboy tracks, but as I understand it from what nitro is saying, while LSDJ tempos may not be accurate in an absolutely sense, they should be accurate to other instances of LSDJ (yes? no?)

Anyway, this is probably the most interesting conversation ive seen on cm.o for a while.

I was hoping that .005% was wrong, cause I had to edit the shit out of some LSDJ channel recordings to fit in a 180BPM song.

No James I'm doing some other stuff that's LSDJ plus MIDI drums.

So does editing the groove setting send the BPM even further off than it was if it's a number not divisible into 4096? (can't remember all my math terms)