almostEric / FrozenWasteland

Plugins for VCV Rack
Other
91 stars 18 forks source link

BPM LFO (v0.5.8): phase issues & blue LED (CLOCK) sometimes stays on #10

Closed DomiKamu closed 6 years ago

DomiKamu commented 6 years ago

Windows build v0.5.8, VCV Rack v0.5.1 (non-dev).

Hi,

1/ When I'm using external clock to BPM LFO, the output signal isn't in phase with clock, even at X1 (see attached picture). 2/ When you disconnect the cable from CLOCK connector, sometimes its blue LED stays turned on (depending the instant when you disconnect the cable).

bpm lfo v0 5 8

Regards.

Dominique.

DomiKamu commented 6 years ago

Also: they're many useless .svg files in /res (such "*master.svg" files, EchoesThroughEternity.svg and ZINC files) in distribution. TIA.

almostEric commented 6 years ago

I refactored the reset input and how the clock input starts. That said, you can get the LFO out of phase if you change the divisor then back, because the divisor is applied to frequency immediately. I was considering not applying a division change until the LFO cycle finishes. Welcome your thoughts on this?

DomiKamu commented 6 years ago

Thanks Eric (I was not sure initially about your first name ;) Sorry in advance is TLTR ;)

I'd like to add some informations: firstn for the test (screen capture, v0.5.8) be sure I've used initialized module (without ratio change), at "X1".

I've downloaded lastest 0.5.9 binaries (Windows) from your release repo (meaning I've forgot v0.5.8).

Of course I understand perfectly the problem about synch with external clock source in particular for multiplier or divider modes. I'm devlopping (WIP) a clock multiplier/divider modules (named "KlokSpid") for my "Ohmer Modules" plugin - as I've posted a preview recently on Facebook (my name is Dominique Camus) - be sure I remain a C/C++ "newbie" (despite I'm skilled developer, Delphi - oriented-object Pascal - in particular since... 1996 - "Hello, World" isn't necessary for my I presume lol). I'm aware it's a very hard stuff, but an exciting challenge for me!

I understand perfectly about your BPM LFO module, it doesn't have its embedded clock generator (it's more easy in this scenario, such "standalone" LFO), of course, I understand the module initially doesn't "know" about the source frequency! BTW, it needs to receive at least 2 pulses (I suppose) to determine the input frequency signal (assuming a stable clock signal on input). This is required - IMO - to generate output signal at proper frequency ratio, and in phase.

For my KlokSpid module, I'll try to use my "approach" (my point of view): on divider mode, you need 2 pulses, but I can transmit first pulse when received, the next pulse later simply determines the frequency. Simply because it runs slower than reference clock. But for multiplier modes, two reference pulses are required, it's mandatory (the clock can starts at second pulse, in this case, but not before unfortunately).

Also Eric, be sure I consider your modules, because their concepts are really original; for example "Seriously Slow LFO" for 100 months, the idea is simply excellent (don't have tested, too lol). Also Euclidean Seq is very interesting module.

In fact, I don't produce any music! VCV Rack is, for me, like a "videogame", only for experiment, and nothing else.

Sorry for mine possible English faults, because I'm French (nobody is perfect) :-) :-)

Regards, Dominique.