CLKD Weird divide ratios


Can someone tell me why the higher clock division ratio choices are weird numbers in the Impromptu modules? I want to divide a 60bpm by 30 or 60 to get minutes, but the only choices are 29, 31, 59 and 61.

Thanks. Chris.

I thought this might be some weird bug, so I looked in the C++ source code and found this line:

static const float ratioValues[numRatios] = {1, 1.5, 2, 2.5, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 23, 24, 29, 31, 32, 37, 41, 43, 47, 48, 53, 59, 61, 64, 96};

For whatever reason, that’s what the author chose. So @marc_boule would be the best person to answer this!

Well that would certainly explain it! (And suggest an easy fix…)

Thanks Don!

One workaround you could use: put two Clocked modules in your patch and chain a DIV 6 with a DIV 10.

This was a deliberate choice, I wanted the knob range to be small so the different values would be easier to access, and when discussing the initial version of the module with a certain Nigel Sixsmith (longtime users will fondly remember this name), we opted for some simple choices like 1 to 16, some popular ones like 24, 48, and then 32, 64, and then some prime numbers thrown in for when we want to mix things up. Now that you mention it, 30 and 60 would seem logical, but given the way it’s currently coded it would be hard to add these simply without breaking patch compatibility, but I’ll see what I can do.


It kinda made sense to me that you would have some prime numbers up there, and that people could chain modules for larger composite ratios.

Hi Marc,

Thanks a lot for the response and explanation. It’s not the end of the world for me - mostly just curious. It’s for long ambient loops, so 59 or 60 secs is much the same for me. Was just curious as it seemed odd.

Best Regards, Chris.

1 Like

of course you could also use an external clock divider… most don’t go up to 60, though, but this one will do:


Thanks Schabbes!

This one is also nice

1 Like