I still have misconceptions about the sequencer switch, would you help me fix my flawed logic?

Dear vcv community,

on my previous threads calling for help structuring a song, everyone was responsive and I am thankful. You all recommended some more effective modules, alternative methods, I swear I will be using them in the future, but in this thread I need someone to bear with me and help me fix hhow I designed this patch. I need to understand why it does not work the way I 100% thought it would. I’ll explain all my reasoning below. Rather than providing a screencap, I am asking you to open the patch and read my reasoning, see if that checks out. I’m almost certain it should not be long if you are a seasoned user.

If you can recommend thorough tutoring that’s about clocking events, even paid, I’ll also take. I intend to learn how to have various rhythms come together, that’s why I am so finnicky with understanding switches and their clocking; especially with the basic vcv modules.

switch_problem.vcv (2.2 KB)

As mentioned in the previous thread, this is the sequence I want to play: smb_castle_bass_piano

And here is how I organized my patch, as sorted by SEQ-3’s. I’ve modified it from the older thread:

Top left: Switch sequencer clock modulator. Tempo = 22.5 = 90/4 bpm. Each step now counts one 90 bpm bar. I want my switch to switch after 2 bars, then after 1 bar, so I checked the triggers: O X O and sent them to clock my switch. As the main guide of the whole phrase, I asked it to send resets to the other SEQ-3’s as well as the switch, so everything is in sync.

Top right: Tempo = 90 bpm, 8 steps, Gate sequencer for the first V/oct section of the switch, works as intended sending a clock modulation of 1 half, 1 quarter, 1 quarter, 1 half, 1 quarter, 1 quarter. It is a more elegant way, recommended in my previous thread when I only relied on voltage rather than gate. The triggers as set as O X O O O X O O.

Bottom left: Tempo = Modulation from top-right, 6 steps, Flawlessly plays the first 2 bars with the right notes.

Bottom-right: Tempo = 90 bpm, 4 steps, no clock modulation necessary, flawlessly plays the 4 notes of third bar as intended.

Sequencer switch: This is where I’ve got problems. The sequencer switch receives the triggers from top-left as clock. It also is reset by top-left. From run or reset, I want it to stay on position 1 for 2 bars, then on position 2 for 1 bar, then wrap it up back to 1. A delay is blatantly visible on the lights of the top-left SEQ-3, I should be reaching the 4th note as no. 2 lights up of top-left, but it reaches it slightly before! And then my sequence switches to 2 without finishing the phrase, or sometimes too late. So, is there a problem with my choice of dividing clock by four to get steps worth one bar?

There’s also the problem that I don’t know how to conveniently reset the bottom-right sequencer when it receives the OK from switch step no. 2, after the 6th note from the other SEQ is played. Is it maybe done automatically?

I acknowledge there were other solutions, but it is this one I hope to succeed in with your support. Thanks in advance.

1 Like

It seems to get worse over time, suggesting that the two outputs are running at different rates, not merely out of sync. As a test I put a Clocked module with clock 2 set to /2 and there is no problem. An external clock running the SEQ-3s keeps in sync.

The whole thing falling out of sync wasn’t due to a bad calculation of mine?

Why isn’t the reset output enough to sync everything correctly?

Guess I really cannot do without a non-vcv clock module.

Why does it work with a clock 90 bpm / 2? Because as I see it, it makes steps that are 1/2 bar long, it shouldn’t be working. Also, it is odd, why isn’t there a clock input plugged into the sequencer switch, on your screenshot?

Your calculations are fine. It seems that there is a problem with the internal clock on the SEQ-3. I could be wrong but this certainly suggests that there is.

If you want all VCV modules you can use an LFO as a clock, with a second LFO set to half speed;

I remembered the clock into the sequencer switch this time.

1 Like

Your calculations are fine. It seems that there is a problem with the internal clock on the SEQ-3. I could be wrong but this certainly suggests that there is.

Thanks for reassuring me, not finding what I had wrong drove me into a spiral. I am glad that it turns out my calculations and reasoning are OK, I will be using clocks and LFOs rather than SEQ-3’s clock now, and see how far I can go in my further experiments.

I still don’t get why the clock divider is 2 and not 4 though. The main clock cannot clock the bottom-left sequencer, it has to be clocked by the top-right triggers… Actually, it still doesn’t play what I intended: switch_problem_lfo.vcv (2.3 KB)

If the SEQ-3’s clock really was buggy and prone to de-sync out of the blue, one would think the phenomenon would be heavily documented already. But SEQ-3 falls out of use rather quick, replaced by other cool sequencers, so maybe other users did not get the chance to try a mixed-rhythm setup. I am curious what @DaveVenom would say about that.

I don’t think there is anything fundamentally wrong with the Seq 3 clock. I remember someone running into a similar issue in the ShapeMaster competition (free version) when having many different ShapeMasters running at different divisions of unsynced lengths (ie time in seconds).

Marc explained it at the time but I can’t quite remember exactly what he said, but it may be something to do with the limits of floating point calculations or something like that which introduce tiny errors that increase over time and result in drift between modules. iirc having the slowest running ShapeMaster as the ‘master’ also contributed to the problem (and the slowest seq 3 is running the patch here).

The bottom line is, if you want multiple modules to be synced, and remain in sync over time, then you need to sync each of them to the same external source.

While sticking to basic modules to start with is a good approach, the VCV fundamentals don’t include a dedicated clock module (other than an LFO) and if you are concerned about timing and sync then it’s probably a good idea to just include Impromptu Clocked in your patches as that will solve many potential headaches in that regard.

2 Likes

Oh my! The SEQ 3 reset does not reset the internal clock! Unless I am missing something, that severely limits what you can accomplish with the internal clock. Not only can you not synchronize two SEQ 3 when each uses its own internal clock, but you cannot cleanly start a sequence with the correct rhythm for a single SEQ 3 - there is no way to prevent the first step from starting in the middle of a clock cycle, which will lead to a shortened first step upon startup!

1 Like

I’m not sure what you mean, it seems to work for me. Take the trig output from, say, step 5 and plug it into the reset. This creates a 5 step sequence because it gets reset to 1 each time it gets to 5. Also tested it with a second SEQ-3 and the reset output into the reset input on the 2nd one makes that one do a step sequence as well.

I think you’re perhaps mixing up steps and the clock.

The reset does reset the steps, but not the internal clock. In other words, the internal tempo clock keeps running and the step 1 after a reset does not necessarily happen at the start of a clock pulse (at least I think that’s what Dave is saying).

@DaveVenom - would you say that’s a bug then Dave? seems like it…

That is exactly what I am trying to convey.

If not a bug, then I think it is a significant design flaw.

1 Like

Darn, that’s a pretty wild find.

Not gonna lie, I’m glad this made me feel valid in my questions, there really was a thing outside of my control.

Is there a way to let vcv devs know about that?

Anyway, that’s the end of me using SEQ-3’s internal clock at all for now ahah…

Thanks a lot for investigating this incident, Dave.

2 Likes

Sorry, I had a feeling I was misunderstanding!

As documented at VCV - Support, all support questions/issues, bug reports, and feature requests should be sent to support@vcvrack.com

I think I will send some of my own SEQ 3 feature requests - there is a lot I like about SEQ 3, but I would like to see the following:

  • Reset internal clock with each reset
  • If clock passthrough is off, then send trigger to TRIG output upon reset if the sequencer is running and the first step trigger is enabled. This would be more consistent with the clock passthrough mode.
  • Add a context menu option to cause the RUN input and output to be gate based instead of trigger based. As it currently stands, there is no way to reliably determine if the SEQ 3 is running or not. Note that the RUN button would no longer have any effect in gate mode if the RUN input were patched.

I suspect multiple similar requests from different people might be more likely to get results. (Just a guess - I don’t have any evidence to back that up)

This from the SEQ-3 documentation thread;

Yep - and I would not have discovered this limitation of the SEQ 3 internal clock had it not been for this topic. I added a link back to this topic in the announcement.

3 Likes

Another thing to be aware of, is that the VCV LFO’s are inacurrate - if you’re trying to sync to something outside VCV.

Below, SEQ3, LFO and NYSTHI LFOMULTIPHASE are set to 15BPM = 0.25Hz = a wave period of 4.000 sec. All “Clockable delay” should show 4.0000

I was promised by VCV some time ago, that this will be solved in a future release.

3 Likes

Still good to know