Here is a simple Synthesizer using the ED Shape Envelope 5, and The Shape Envelope Editor for controlling the VCF and VCA modulation. I have deliberately left out any “bells and whistles”, as this is really all about how to put together a useable Envelope generator, and include it within a Synthesizer. Below is the complete layout. Just a single VCO, VCF and VCA- all standard modules. The “special” section is the envelope generator.

Next comes a closer look at just the Envelope generator structure. One point of note is that we only use the Gate and Pitch output from the MIDI to CV 2 module.
The ED Shape Envelope 5 module does not need a trigger pulse as the standard ADSR does.
The Shape Envelope generator.
This relies on three dedicated modules:
ED Shape Editor 6
ED Node Selector
ED Shape Envelope 5.
We have already looked at the Shape Editor and Shape Envelope, but not the Node Selector…
Node Selector module
The module automates selection of a required shape node using a List Entry 4. The selected node index will be output to the Node Index integer pin, which is connected to a Patch Memory Int for connection to the Shape Envelope 6 which accepts a node index.
The module internally reads the number of nodes in the Shape BLOB, and creates the correct enumerated list to be output to the List Entry module.
A valid shape must be provided to the Shape In BLOB plug for the module to work.
The First Node and Last Node “plugs” are found in the properties panel, and control whether the first and the last node will be listed or not in the drop down list having the first and last nodes hidden will prevent the user setting these nodes to non-zero values which will cause clicks.
A List Entry or comparable module needs to be connected to the right hand Choice and Item List plugs. The List value chosen will then be directly sent to the Node Index pin.
A value received on the Node Index pin will be translated to a corresponding choice number for the Choice plug, if feasible, or otherwise.
Note: Every time a new Shape is received or an unexposed bool option is changed, all outputs are automatically updated.
The Item is always available and corresponds to no node selection (-1)
In this structure we are using the Active Node to set the Sustain point in the Envelope. The Sustain node works much like sustain in a conventional ADSR module.
Interpolation Note: The Interpolation method is selected using the Patch Memory List module, which reads the options available in the Shape Envelope module, and makes them available to the Shape Editor. The Patch Memory method should be used in all structures with these modules as it prevents the attempted selection of modes that are not relevant, or unavailable.
In this application we have Linear, Curve 1 and Curve 2 modes.
Envelope duration and Sustain: This controls the length of the Envelope in mS. This duration is always added to the sustain portion of the envelope. If the option <No Node> is selected the Sustain mode is inactive and the envelope duration is always equal to the length selected by the duration slider regardless of how long the key(s) are held down.
Flip X: This flips the shape on it’s X (vertical) axis.
Reset: Resets the envelope to whatever is set on the Reset Value plug.
Note: You could include a Flip Y button, there’s nothing to stop you, but bear in mind that any non zero start and end node values will result in loud clicks.

The Env Duration slider.
You won’t find this as a standard SE slider control. This one outputs a Float value instead of Volts.
This is a simple little Prefab (courtesy of Elena) as shown below, it can be found in her Convenient Prefabs folder along with with the Modules folder

Adding Velocity control to The Attack and Decay times.
Adding this means that the harder the keys are depressed on the Keyboard, the shorter the Attack and Release times will be. This is quite simple and needs the following controls.
There are a few important points to take note of however:
Note 1: When no Sustain node is specified, the whole envelope is considered an Attack stage and the Release Vel Scal value is ignored. This is especially useful with some sounds like violins, to easily control the attack and release time with your keyboard’s note-on and note-off velocity, for realistic performance.
Note 2: to properly scale the Release stage, your MIDI controller must transmit a valid Note-Off Velocity value (cheap controllers usually set Note-Off Velocity to zero or to a bogus value; therefore, it is always better to leave this as an option).

Leave a Reply