Something wrong with the envelopes

I have used the delay of the envelopes together with the hold phase. I routed an envelope each to each of the volume of the oscillators. The first oscillator has no delay induced with the envelope and a hold phase of 200 ms the second oscillator starts at 200 ms and has a hold phase of 200 ms and the last starts at 400 ms and has a hold phase till the end. This was just a test scenario to test if something is wrong with the delay of the envelopes. And yes, it is not working. It sounds like filtered and every cycle sounds different and no audible sound change. I compared it with another synth and there it is working.
Conclusion: The delay parameter of the envelope start and the hold parameter is not wrking as expected.

It works exactly as expected on my end. Can you upload your test patch so I can see what you’re trying to do?

Keep in mind also: Envelope 1 is (and you cannot change this) the “global voice envelope”, which means that after the oscillators go through the filters, they are run through envelope 1 to determine their final volume, even if other envelopes control them. You can’t get rid of this effect, because it gates when a voice is and isn’t computed (when Envelope 1 reaches the end of its release tail, the note is turned off, and the voice is freed up in the polyphony limit and the CPU no longer calculates it)

Also, and I say this only because you don’t mention decay or sustain in your description: the “hold” time in the Vital envelopes has nothing to do with how long the note is held. It has to do with how long the envelope remains at maximum before beginning the decay phase. Setting a hold time to any value (200ms, 0ms, 400ms, whatever) doesn’t do anything if the sustain knob is at max (which is where it is by default) because both hold and decay are controlling how the envelope behaves as it decays from its max value to… its max value.

that’s expected because it seems that each of the individual ENVs is running through ENV1 which is the master

so you have envelopes in relation to ENV1 which will produce phasing

for your test you need to have a cpompletely open ENV1
(like with 0, 0, 0, 0, 1, max
set all OSC levels to 0
and apply ENV2 to OSC1 lev, ENV3 to OSC2 lev, ENV4 to OSC3 lev
this will give you 3 independent ENVs applied to the 3 OSCs indepedent of the master ENV1 settings

and yes: hold is between A and D unlike for example on a MS20 where it is between S and R

edited p.s.:
the OSC out have to be direct out to prevent any filter interaction and by default
any OSC has another output routing…

i actually do not really understand the purpose of this test…?
what is it that should be proven/shown with it ?

just drag&drop here (should work afaik)

here’s my example:

forum test 01.vital (170.7 KB)