SEQ 3 first trigger inconsistencies

This may not answer your question but for context, in case you’re not aware - Rack has a “standard” where clock pulses recieved < 1ms after a reset are ignored. The reason is that each cable introduces a delay of one sample, so this prevents say a clock pulse arriving one sample later (e.g. due to some complex wiring) and immediately advancing to step 2 after the reset. This may explain the design decisions you see.

2 Likes

I don’t think there is any solution using the internal clock because the RESET does not reset the clock, only the sequence :frowning:

But there is a pure VCV solution using an LFO as an external clock. You need a few extra VCV modules to make it work, but nothing too egregious.

  • To start you need a button that triggers both RESET and RUN. PULSES works just fine.
  • Both RESET and TRIG need to trigger the ADSR. A MIX can be used to OR them together.
  • The RESET must reset the LFO clock

This works equally well with the clock passthrough enabled or disabled.

This configuration also improves the manual reset behavior while the sequence is running .

Make sure you use the SEQ 3 RUN button to stop, else you will get an unwanted step 1 hit upon stopping.

SEQ3 Solution.vcv (1.9 KB)

Thanks for the question and the SEQ-3 solution. I was trying to figure things out as well. When I downloaded SEQ-3 solution it did not work as it was looking for some cable color module that I did not have. I recreated the patch and it works.

For the Envelope I don’t understand why the RESET and the Trigger need to be combined on MIX. Also it looks like a TRIGGER can be used as a GATE (which I did not know).

I also was using and LFO as a clock and set the Pulse Width at 1% instead of 37% in the SEQ-3 solution. It doesn’t seem to matter where is is set.

Thanks @hemmer and @DaveVenom , that is really helpful! Much appreciated.

I think the “RESET does not reset the clock” behavior is the source of most of my problems. My setup is simpler than the example patch I posted. I was just trying to use a SEQ 3 by itself. Clicking RESET, waiting a moment (definitely more than 1ms), and clicking RUN doesn’t do a synchronized start of the first step of the sequence. Even once it’s running, clicking RESET is pretty unwieldy: it only plays the first step for a fraction of a beat or sometimes seems to skip it entirely.

I kept thinking this must be a bug. I’d certainly appreciate an option to make RESET reset the internal clock in a future version. For now, it seems like using a separate clock is the way to go. To get the most out of the built-in modules, I like the idea of using an LFO as the clock.

CosmicStomper:

For the Envelope I don’t understand why the RESET and the Trigger need to be combined on MIX.

Good call out. It looks like if you don’t mix in the RESET signal, it won’t play the first step. One thing I’m trying to do is control pitch with the CV sequence and control whether the note plays or not via the trigger sequence. The way RESET is mixed in, this patch will always play the first step when the clock starts, even if the step has its trigger disabled. It’s not a huge deal, but I’m being a bit of a purist trying to find a solid sequencer template with minimal unexpected behaviors.

I have a bunch of ideas for things to try now. If I find a setup I’m happy with, I’ll share here.

Yes - It always plays the first note upon startup, or reset, regardless of the step 1 trigger configuration.

But then your whole question was about getting the first step to play, yes?

If you don’t want the first step, then don’t mix in the reset with the trigger output.

Actually I understand where you are coming from - having to mix the reset with the trigger (or not) takes away from convenient performance options upon startup or reset. If mixed, you wouldn’t be able to disable the step 1 trigger during play, press reset, and have the 1st step skipped.

If you want to preserve that capability, then mix the PULSES output with the TRIG output instead of using the SEQ 3 RESET output. But then you would not be able to press reset during play and have the 1st step reliably play. You have to pick your poison. But either way, I think the limitations would not be exposed very often.

I made a slight variant of Dave’s patch that I’m happy with as a basic sequencer template. I’m again using the “Clock passthrough” option on SEQ 3 because it avoids skipping the first note without needing to mix in the RESET signal or initial trigger as we were discussing above. In it’s simplest form it looks like this:

Side note: To answer one of my original questions about why “clock passthrough” is necessary, I think that has to do with clock pulses being ignored if received < 1 ms after reset. I imagine it’s possible to stagger the start trigger with a delay to work around this behavior, but I don’t mind enabling the clock passthrough so I didn’t pursue this idea.

In fact, I’m finding the clock passthrough is quite useful with LFO-based clocks. You can use the pulse width to control the gate length of each step. This gives some nice control when triggering an ADSR.

This also opens the door to rhythmic experimentation by ring modulating/XOR’ing some LFO pulse waves together as an “uneven” clock/gate. That’s going to be a rabbit hole :grin:

Here’s a more fleshed out version of my sequencer template. Thank you Dave for the inspiration!

basic-sequencer-setup.vcv (2.0 KB)

PS - As Dave mentioned above, the first step is audible when stopping via the Pulses module unless you stop via the RUN button on the SEQ 3. This doesn’t bother me.

1 Like

Adding a delay would not give the result you want because if you wait until after the 1 ms block, then it will advance the sequence to step 2.

But I am surprised that the clock pass through plays the 1st step without ORing with the reset signal. Or to be more precise, I don’t understand why there is a difference between standard mode vs. clock passthrough.

Clearly the sequence advance is blocked by the reset, else the clock passthrough would advance to the 2nd step, thus skipping step 1. But with standard mode, the reset also blocks the trigger output, but the reset does not block the clock passthrough output. That doesn’t make sense - they serve the same purpose, so I would expect the behavior to be the same. I’m curious if the difference is intentional.

Absolutely, you can use one of the SEQ 3 CV channels to control the clock pulse width. But the VCV VCO cannot output 100% pulse width, so you might think it is impossible to tie beats together into a single gate. But there is one more trick available - just add a slew limiter so the momentary voltage dip does not go low enough to retrigger the ADSR. And you can still stay with pure VCV by using a low pass filter as a slew limiter.

I did just that in my 32 Step sequencer demo as part of my VCV Fundamental Constructs project.

Here is your patch modified a bit to modulate the PW with slew added so there is a tie from step 1 to 2, and 3 to 4. In other words the ADSR fires only on beats 1 and 3. Try increasing the frequency of the right filter and you will reach a point where all beats trigger the ADSR.

basic-sequencer-setup with ties.vcv (2.2 KB)

Thanks again @DaveVenom

I was trying to keep this conversation focused on the fundamental modules, but my real problem with SEQ 3 is I just want to synchronize it with a Pulse Matrix. I feel like these modules should behave consistently since they are both developed by VCV. I’m attaching some examples of what I’ve tried. No matter what I do, the pulse matrix consistently starts on step 1 (which is what I expect) and SEQ 3 almost always starts on step 2. I just want to start the clock and have them both play their step 1 at the same time.

I also want them to re-synchronize when I send them both a reset signal. That doesn’t work either.

Looking at the behavior of Pulse Matrix, I can’t help but think SEQ 3 is buggy and maybe I should ask for a bug fix/feature request to adjust SEQ 3 to behave like Pulse Matrix.

Anyway, if you have any tips on how to sync these two modules, I could use some help. In these examples the high note of the VCO should play at the same time as the kick/snare.

Example with manual clock: seq-3-and-pulse-matrix.vcv (2.3 KB)

Example with LFO clock: seq-3-and-pulse-matrix-with-lfo-clock.vcv (2.5 KB)

I’ve tried sending the clock directly to Pulse Matrix, chaining the clock from SEQ 3, turned the clock passthrough on and off, etc. I’ve also tried using Impromptu CLKD as the clock.

Even if there’s a workaround for this scenario with a shared clock, I am planning to use subdivided clocks so the Pulse Matrix clock is 16th notes and the SEQ 3 is 8th or quarter notes. I worry any workaround will get overly complicated to handle multiple clock rates.

Surprised no one has mentioned Nord style reset yet. Many ppl think that makes more sense than the alternatives.

@Squinky do you mean the RCM SEQ Adapter? This sounds like exactly what I want! rcm-modules/README.md at v2 · Rcomian/rcm-modules · GitHub

After fiddling with some settings (in CLKD: disable “Outputs reset high when not running”, do an internal reset and send the reset signal on stop, but don’t send the reset signal on start) it seems to be working: seq-3-and-pulse-matrix-with-seq-adaptor.vcv (2.5 KB)

It still skips the first note in SEQ 3, but at this point I’m happy I can at least sync up the downbeats. However, it’s not 100% perfect. I’ve started the clock a few times and it wasn’t in sync. And I can’t send a reset trigger while the clock is running: it immediately gets out of sync again.

I am starting to think I should give up on SEQ 3 as something to use for tight sequencing tasks, and instead rely on it for more LFO-like responsibilities and “happy accident” type generative patches with less of a rhythmic foundation. It’s a shame because it’s built-in and seems very intuitive and capable, and I want to use it, but it’s just not working for me as a stable sequencer. It’s soooo close though :frowning:

I am still debating if I should report this to the dev as a bug and try to convince them to make it work like Pulse Matrix. After spending so much time investigating this, I am struggling to see the SEQ 3 behavior as anything other than a bug.

I don’t know though, maybe this is representative of the challenges of working with Eurorack hardware? Is it reasonable to think I can make multiple sequencers start at the same time and play their first step at the same time? And reset them at any time and have them stay in sync? Or are things always a bit messy and imperfect and I need to let it go? I don’t want to be the newbie who complains about things and doesn’t know what they’re talking about (FWIW I have a lot of experience with Softube Modular, AAS Multiphonics CV-1, and Voltage Modular, and have not had so much trouble in any of those). I’m really trying to figure this out but I think it’s time to move on to other modules.

I don’t know much about which sequencers use which kind of reset. Just objectively I find the Nord style more appealing. It’s been a long running issue and I don’t know what the “right” answer is.

What’s the Nord style reset?

the Voxglitch Digital Sequencers have an INSTANT reset setting in the drop-down menu.

Maybe that fits your needs?

I’ve heard the term used here, but I’ve never used any Nord stuff, so this is just from memory:

In “classic reset” a module is kept in the reset state as long as the reset line is high. That’s it.

The “Impromptu variation” is now the VCV standard, although it wasn’t originally. That is classic reset, except clocks are ignored if the occur any time after reset, up to 1 millisecond.

“Nord Reset” is totally different. A module is reset on the first clock that occurs after a low to high transition on the reset input.

Classic reset has the problem that if a clock is slightly delayed it will cause the sequence to begin at step 2 instead of step 1. Impromptu clock lockout prevents this. This is (now) well documented in the VCV specifications.

But there are still problems with this scheme. One is that it isn’t specified in the VCV manual if the reset it edge triggered or level sensitive. Another is that if the reset were to come in right in-between clocks the current step and the first step will be half duration. These problems all occur because in these reset schemes a reset pulse acts as a clock also.

With Nord reset protocol the clock is the clock, and the reset is the reset. The rhythm stays true to the clock, and clocks don’t need to be ignored. BUT – the reset must occur before the clock. If not it will not reset until the next clock – sort of the opposite of the problem with classic reset.

I don’t know which works better “in the real world”. Obviously classic clock will give terrible results. Both Impromptu and Nord reset can work, although I think Nord reset is used less often.

And of course it goes without saying that without good testing it’s very unlikely that anyone will programmer implement these correctly. I always had had many unit tests for this.

My old modules use Impromptu reset. If I were to do it again I would implement both and give the user a choice.

4 Likes

btw, if you search this forum for “nord reset” you will find a few interesting hits.

Thanks for the explanation. My sequencers would fall into the Impromptu reset camp then. I can see how the Nord method would be useful.

Thanks for the suggestion. The Voxglitch modules look cool! I’ll check them out.

I am currently using the Audiodafe sequencers (8-step and trigger sequencer) and it works the way I want. I wired up the clock and reset and it all worked in sync without me doing anything special. :+1:

It makes sense to me that a given developer’s sequencers would respond to reset consistently, which is why I’m still baffled by the difficulty combining the VCV sequencers. Oh well.

Don’t know if you read my post above. There are many ways to implement reset, and it’s always been a problem in VCV.

I totally get it, and I appreciate all the info you and everyone else has shared. This is a nice community. I’ve learned a lot from this thread, and I understand not every clock is going to behave as expected with every sequencer.

I’m just saying maybe each developer should stick to a particular way of handling it so that their own modules play nice together. I am a developer myself so I also get that things change and often become messy, especially when there’s no single standard and you’re developing things over long spans of time where maybe your ideas evolve over time

All I know is I have literally spent hours trying to rig up a basic sequencer setup with the VCV modules without success, and when I switched to another developer’s modules I got it working in about a minute.

My motivation for starting the thread was to share some experience as a new user to Rack, who has experience with other software modular systems so I’m not completely clueless. I think Rack is an awesome ecosystem and I’m concerned this is off-putting to new users if you’re trying to start out with just the built in modules (to be fair Pulse Matrix was a paid add-on but… I just assumed it would work seamlessly with SEQ 3).

1 Like

well, for sure, at least having your stuff work with your own stuff is a pretty reasonable expectation :wink: I can assure you that with most lines of stuff you will find it works. Impromptu stuff works with most anything.

VCV has some great stuff, but it is unfortunate that they don’t fix bugs very often. I think they have too much to do.

1 Like