DX7-style ENV (4 Rates, 4 Levels)

It could be useful to have an additional ENV, similar to that in the Yamaha DX7. It includes an extra step, and allows the end level of each step to be specified. It would work as follows:

  • Start at Level4 (not zero, allows interesting effects)
  • On Gate, ramp to Level1 in Time1
  • Ramp to Level2 in Time2
  • Ramp to Level3 in Time3 and hold (this is the sustain level)
  • On release, ramp to Level4 in Time4 (like Release in ADSR)

Switches to the release step whenever the Gate is dropped, just like ADSR. This allows a lot more modulation possibilities. For example, if Level2=Level1, you can hold the initial attack level before dropping (maybe very slowly) to the sustain Level3.

Comments

  • edited April 2020

    Something like this?

    Negate is fed by the gate signal.

  • @rs2000 Probably. Looks like it could be a little tricky to tune, though. I'll have to try it. The first envelope needs to start where the second ends. The second envelope needs to pick up with the current value of the first, and decay with an appropriate rate, just like the ADSR release.

  • The first envelope runs as long as you hold the key.

    The second envelope triggers exactly when you release the key so you can do everything you wished for 🤗

  • @rs2000 Unless I missed it, your version doesn't handle the early release situation, when the key is released before the first graphic env has reached sustain. I believe I can do that using S&H on the first envelope level at the release instant. See:

    The scope shows this driven by a square wave. Note that I used the logic negate (inverter), so the details are a little different. The compact view below shows a faster cycle, so the release picks up from a different point on the profile. The compact view exposes all the user-adjustable parameters. The release graphic env is always a full-scale 0 to 1 ramp; you just adjust the duration to set the release rate.


    Thanks for provoking me on this. Your suggestion of two graphic envs solved the sustain problem, and I think the combo of S&H and ramp solves the release problem. Just proves that you can build anything with the right modules.

  • @uncleDave Very nice, thanks a lot for the update!

    Love the joint work on community-built modular patches 😃

  • In fact what we need is graphics env sustain phase :)

  • This would be a lot easier to handle indeed. 👍🏼

    Maybe a dashed vertical line to indicate the key release position?

  • This module needs some love ... different timing options, grid, loop mode and sustain point

  • Obviously, you're the one to determine how to do this. You know what I feel is important, and the Graphic Env may be the place to do it. I realize that using it for the evolution up to sustain, as suggested by @rs2000 , is much more general than the rates and levels of the DX7 version. The tricky step for me was patching the release on, so it decays at the same rate from any point in the initial transient.

  • I’m well out of my league here and just getting into modular via Drambo. I came across this post while trying to figure out how to use the graphic envelope to create an unusual amp envelope similar to Ableton’s wavetable where you can customize the volume on Release to rise instead of fall. See Env 2 in the attached image.

    I was hoping to do some thing similar with this custom shape in Drambo but I have no idea how to apply it to an amp (or a filter) but these DX7 principles seem like they may apply. Any pointers would be great!

  • I'm not sure if this is the type of thing your'er looking to do. But this is one way to trigger an envelope on key release.

    Notes...

    The NEGATE module is connected to the Gate in the Midi to CV module.

    The NEGATE module is used to invert the gate signal, the OFFSET is used to raise the inverted gate so the Key-Off state can become a gate trigger signal.

    The final ENV has it's gate connected to the output of the OFFSET module. This tells that ENV to start on key release.

    The OSC and the first ENV are connected to the CV module in the normal way.

    This configuration is polyphonic.



  • edited April 2020

    @sadekbazaraa This works quite well for me:

    It’s basically half the u-shape. The sustain level is somewhere at the bottom of the u. Attack is determined by the envelope follower, as is the speed at which you modulate the amp volume. The left side of the graphic shaper is also the release side. If not at 0 it will keep the volume at the level set there (so the envelope doesn’t close) Envelope follower gets input from gate.

    Not sure its useful, but as usual it was fun 😊

  • Works like a charm. I should really try and wrap my head around these math things..

    Cheers!

  • Thanks @Horsetrainer and @denx for the prompt replies! I’m going to try these techniques out and see where I land.

  • edited April 2020

    You can just use the Gate Inverter to generate a gate on release as well.

  • Thanks again for all the tips and cool to learn about the gate inverter @drewfx1

    I was able to get the closest to what I was after with @denx’s recommend of the envelope follower + graphic shaper. I don’t understand it fully but I can manipulate it pretty well with some trial and error which is fun. For example, I can’t figure out why I have to draw my envelope shape backwards. With the attack set to 0, the shape plays from right to left. As the attack is increased it starts to play from left to right for a portion of the curve and then it reverses.

    This is where I netted out.


    And here is the project if anyone wants to see how this solution behaves.


Sign In or Register to comment.