After reading this thread (http://www.electro-music.com/forum/topic-18089.html)
about DIY multistage-envelopes, I had an idea for a different approach. It is based on the X-Mux concept of Dave, but adds a nifty trick to provide individual rate control per stage, resulting in a true 8-stage envelope.

It uses only 18% of memory, of which 12,5% is used by the constant modules. So, by removing stages (which you can do just simply by deleting the respective constant modules), it uses even less.

I patched it quick'n'dirty on the demo software, hope it works on the real thing too.

Hope it is useful.

cheers,
tim

Edit: Just noticed a fun thing: by tweaking the X-fade amount on the X-mux, you can create "plateaus" in the envelope too.

Edit2: Due to design, the envelope starts "spontaneously" on patch load (just once). Depending on application, this might not matter, so I left it that way to make the circuit as economical as possible. However, since it might matter for some applications nevertheless, I've uploaded a second version, with this behaviour corrected. It uses two modules extra (the Status module and a logic pulse)

Edit3: This 8-Stage envelope generator was my first design and can now be considered obsolete. Try the 16-stage-envs, as they are way more efficient and have more stages.

Very cool, this works well! By coincidence, I just came up with another one, based on Jan's submission which was based on somethign I did... I think....

This one uses three separate sequencers, one for level, one for 'dwell' time on each step, and a third to vary the cutoff of a LPF set to a very low frequency, which has the effect of changing the glide rate between stages (you can have slow slides or sudden jumps like a S/H).

I also added some more logic stuff to create a true "sustain" feature. Simply press one of the 16 GATE buttons on the "Level+Sustain" sequencer, and the EG will pause on that step IF the keyboard gate is still present, and will stay there until you release the key, whereupon it will procees through the remaining 'release' steps. In the attached example, step # 6 is the sustain step.

Although this one has more features, I think yours is more practical for adjusting the parameters. This is because on mine, it is possible to make combinations of settings with the dwell time and glide rate for a given step that don't work properly together. For example, if you set up three consectutive steps with levels low-high-low with rate fast-fast-fast and long glide times between them, the signal will effectively 'skip' the high level because it will still be trying to slowly glide to it when it's time to move on to the third step, so you only hear one long low level instead of low-high-low.

You can get a more complex control signal with my scheme, but you have to pay attention when adjusting parameters. I think I prefer an EG that doesn't let you make any 'broken' settings, especially for live tweaking.

I think we just need to add the "Sustain" feature to your version and we got it.

I had a play with Tim's and the technique seems to hold for the SeqCtr module. Uses less dsp/mem and gives up to 16 steps.
I'm not sure if the stages are synched properly. You can get fewer stages by setting one of the rates to zero, which could also be how to do the sustain stage. Using xfade on the rates gives different shape curves.

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum

Please support our site. If you click through and buy from our affiliate partners, we earn a small commission.