Techniques and Variations
- Wiring a Multi-Stage Envelope.
- Setting Levels.
- Adding a Hold Stage.
- Adding a Sustain Stage.
- Making Envelopes Retriggerable.
- Making Envelopes Uninterruptible.
- Creating a Looping Envelope.
- Variations.
See also:
Wiring a Multi-Stage Envelope
The usual way to wire Stage, Booster Stage, Hostage, and Upstage modules into multi-stage envelopes is:
- Place the modules side-by-side in the order you want them to execute.
- Connect each output to the input on its right.
For example, suppose you want generate a four-stage envelope using Stage modules:
Notice how:
- The ACTIVE outputs line up with the DEFER inputs.
- The EOC outputs line up with the TRIG inputs.
- The OUT outputs line up with the IN inputs.
That is your clue to wiring the modules together:
- Connect each module’s ACTIVE output to its successor’s DEFER input.
- Connect each module’s EOC output to its successor’s TRIG input.
- Connect each module’s OUT output to its successor’s IN input.
Here is the result:
Now all that remains is to connect a trigger source to the first stage, connect the final stage’s output to whatever parameter you want your envelope to modulate, and adjust the levels, curves, and durations to taste.
Note: Hostage has a GATE port instead of a TRIG port. Upstage has a different set of ports. But even these modules’ ports are arranged so that the usual wiring scheme — “connect each module’s outputs to its successor’s inputs” — usually applies. See the examples below for details and exceptions.
Setting Levels
Each module’s LEVEL knob determines the ending level of the stage it generates.
The starting voltage of each stage is determined by the signal arriving at its IN input at the instant it is triggered.
In this way, each stage begins where its predecessor ends.
So to set each module’s starting level, set the previous stage’s ending level.
Adding a Hold Stage
The Hostage module is designed specifically to create hold and sustain stages.
A hold stage holds the envelope voltage constant for a given duration.
With a hold stage, you can generate an Attack-Hold-Release or Attack-Decay-Hold-Release Envelope.
To generate a hold stage with Hostage:
- Wire it into the chain of modules in the position where you want the the hold stage
- Set its mode to HOLD.
Hostage holds the voltage at the level where the previous stage ended. It offers a knob, a range switch, and CV modulation to set the duration of the hold stage.
Adding a Sustain Stage
The Hostage module is designed specifically to create hold and sustain stages.
A sustain stage sustains a constant envelope voltage as long as the sustain gate is up.
With a sustain stage, you can generate an Attack-Decay-Sustain-Release Envelope.
The wiring for a sustain stage differs from the usual scheme. Note the bold text below.
To generate a sustain stage with Hostage:
- Wire it into the chain of modules in the position where you want the the sustain stage.
- Set its mode to SUSTAIN.
- Connect its GATE input to the same gate source that triggers the envelope.
Hostage sustains the voltage at the level where the previous stage ended as long as the gate remains up.
Making Envelopes Retriggerable
Each multi-stage envelope shown in Generating Multi-Stage Envelopes is retriggerable. If a trigger arrives while an envelope is in progress, the new trigger interrupts the in-progress envelope and begins a new one.
The general rule of retriggering for Stage, Booster Stage, Hostage, and Upstage modules is:
Unless you take steps to suppress retriggers while an envelope is in progress, the envelope is retriggerable.
For example, here is a retriggerable ADHR envelope:
The cyan scope trace shows the envelope. The magenta trace shows the incoming triggers.
Notice that when a new trigger arrives while the release stage is still in progress, the trigger interrupts the release stage and starts a new envelope.
Making Envelopes Uninterruptible
If you want to prevent incoming triggers from interrupting in-progress envelopes:
- Insert an Upstage at the front of the chain.
- Rewire the trigger source so that the trigger signal passes through Upstage rather than going directly to the first stage.
- Connect Upstage’s WAIT input to the final stage’s ACTIVE output.
For example, here is an uninterruptible ADHR envelope:
The cyan scope trace shows the envelope. The magenta trace shows multiple triggers arriving during each iteration of the envelope.
With this configuration, whenever an envelope is in progress, the final stage’s ACTIVE signal tells Upstage to suppress incoming triggers. When the envelope finishes, Upstage resumes forwarding incoming triggers to the first stage.
Looping Envelopes
To generate a looping envelope, we need to
- Manually trigger the first envelope
- Configure the final stage to retrigger the envelope when it finishes
And we might want a way to stop or retrigger a looping envelope.
Upstage and Booster Stage offer ways to control looping envelopes.
Controlling Loops With Upstage
- Configure a non-looping envelope in the usual way.
- Add an Upstage before the first stage.
- Connect the final stage’s EOC output to Upstage’s TRIG input.
- Connect Upstage’s TRIG output to the first stage’s TRIG input.
Here is a looping ADHR envelope using Upstage:
You can use Upstage’s buttons to start, stop, and retrigger the loop.
- To start the loop: Press the TRIG button.
- To retrigger the loop: Press the TRIG button while the envelope is running.
- To stop the loop: Press the WAIT button and hold it until the final stage finishes.
Weird Fact: You an also stop the loop by pressing the TRIG button (causing the loop to restart) and holding it until the final stage finishes.
Controlling Loops With Booster Stage
- Configure a non-looping envelope in the usual way, using a Booster Stage as the first stage.
- Connect the final stage’s EOC output to Booster Stage’s TRIG input.
Here is a looping ADHR envelope using Booster Stage:
You can use Booster Stage’s buttons to start, stop, and retrigger the loop.
- To start the loop: Press the TRIG button.
- To retrigger the loop: Press the TRIG button while the envelope is running.
- To stop the loop: Press and hold any Booster Stage button until the loop stops.
I leave it as an exercise for the reader to discover when and at what voltage each button stops the envelope.
If you want a gentler, more controlled stop, use Upstage and its WAIT button to control the loop.
Variations
- For additional versatility, replace any Stage module with a Booster Stage.
- To start each envelope at a level other than 0V, connect an Upstage or other voltage source.
- To start each envelope at the level where the previous one ended, connect the the final stage’s OUT output to the first stage’s IN input.
- Follow Artur Karlov’s lead and make a sick kick.
- Generate audible waveforms by configuring a loop with very short durations.
- Generate an envelope with seventeen stages.
- Configure a stage to trigger two or more successor stages.
- Vary something.
- Vary something else.