almostEric / FrozenWasteland

Plugins for VCV Rack
Other
91 stars 18 forks source link

BPM LFO 2 - Requesting a more straightforward way to set division from CV #69

Closed maxp-hover closed 4 years ago

maxp-hover commented 4 years ago

BPM LFO 2 has become one of my favorite modules. One major use case I have is to modulate the division to sequence different phrases. For example I might have a riff that is 4 beats, then 4 beats, then 3 beats, then 5 beats, and so on - arbitrary numbers that I'm using to compose.

What I assumed would work is to feed a number (e.g. 7 volts) into the division CV and then the division would be 7. But it's not so simple.

Looking at the source code I can see that it multiplies the division CV by 12.8. So I guess it's taking a 0-10 volt scale and translating that to the 1-128 range.

If I divide my CV by 12.8 I almost get the correct result, but it's one too high. So I realize I need to subtract one from the input before doing the division. This will be more clear in the image below.

My request would be, is there a way we can just do a 1-1 mapping of input to division? So if I want a division of 23 I pass in 23 volts? Maybe it could be a "mode" toggle. Currently I have to add 2-3 math modules every time I want to modulate the "division". It would be great if that wasn't necessary.

image

almostEric commented 4 years ago

Hi,

In the VCV specs, we are told to assume that voltages range from -10 to 10 (strictly speaking -5 to +5 for most CV/audio, or 0-10v for uni-polar LFOs. So even though VCV allows crazy high voltages at the moment, we are not supposed to rely on them :)

maxp-hover commented 4 years ago

Gotcha. I was thinking about a way to remove the off-by-one converstion also. My thought was that maybe multiply/division by zero could be special cased so it just stops playing the audio. Maybe that would remove the requirement to subtract one from inputs. But maybe that would have to be a toggled behavior to not break backward-compatibility.

almostEric commented 4 years ago

I think it might just be easier to use something like Befaco's attentuverter where you can adjust the offset/range and get the precise modulation you need.

maxp-hover commented 4 years ago

fair enough. well anyway thanks for the responses. i'll clse the issue