Patch idea involving 2 slewed clock modulation

My goal is to have two oscillators pulsing in sync via 2 envelopes being triggered by a clock, let’s call them A and B, but when the clock is either sped up or slowed down, A and B will change their pulses at different rates. So for example (totally arbitrary values), if the clock changes from 100bpm to 150bpm over 30 seconds, oscillator/envelope A will follow that directly, but oscillator/envelope won’t reach 150bpm until 45 seconds, but when it reaches 150bpm it will be in sync with A.

I mostly work with hardware, I dabble in VCV so I’m not quite as familiar with all of the options, but I figure it’s a better way to experiment.

I feel like between Pam’s New Workout and Maths this should be a no brainer, I think I’m missing something obvious. I can get portions of the patch, but the biggest issue is getting the triggers/clocks in sync after the shift in tempo. I imagine some kind of oscillator sync would work for that, but then how would the tempo shift speed difference work?

You can only sync the two clocks when they are back at the same speed, and the only real way of doing that is to send them both a reset at the same time.

1 Like

Once they are both at the same speed and and in sync, you no longer need the signal from both clocks - either one will do. You only need both signals when one is changing rate slower than the other.

So assume A follows the rate CV without slew, and B rate CV is slewed. Let switch 1 control whether A syncs B, and switch 2 control whether the B clock signal comes from B or A. Use a comparator to control the switches.

When A rate CV = slewed B rate CV:

  • the equal gate high state causes switch 1 to sync B
  • the equal gate high state causes switch 2 to pass clock A

When A rate CV <> slewed B rate CV:

  • the equal gate low state causes switch 1 to stop syncing B
  • the equal gate low state causes switch 2 to pass clock B

I think that will do it. The only hiccup is the interval between clock ticks for B will be wonky for one tick whenever the rate CVs change from not equal to equal