mschack / VCV-Rack-Plugins

Plugins for VCV Rack
MIT License
61 stars 19 forks source link

Envy: Channels Don't Sync #93

Open midiguru opened 4 years ago

midiguru commented 4 years ago

I'm using a couple of looping channels of Envy in Gate View mode. If they're set to different rhythm values (such as 8ths for one and quarters for another), they quickly drift out of sync with one another.

I'm guessing this is because Envy uses an internal clock and is introducing rounding errors. One argument in favor of using an internal clock is that if it's receiving a quarter-note clock pulse, you want to be able to run in 32nd-notes, which does require that it simply measure the time between incoming clock pulses and then do its own thing. But there are downsides. One of the downsides is that a looping pattern will not stop when the clocks stop arriving. Another is, as noted above, rounding errors are introduced.

I don't have a solution to suggest, other than possibly doing a lot of new code to let the user choose between internal and external clocks (in which case a fast clock input, such as 16x, would be needed). But I do feel the loss of sync between channels and the absence of an automatic stop are musical problems.

mschack commented 4 years ago

One thing you can try is to set a slow clock, say divided by 16 to the reset clock input and they will all sync together every once and a while.