XO Wave is now discontinued
as we prepare to bring you the next generation
Digital Audio Workstation called
This site remains available for anyone who
purchased XO Wave in the past.
However, please keep in mind that as discontinued software:
- This site may not contain up-to-date information.
- Technical support is discontinued, though we will do our best to continue to provide
email support, especially to anyone who purchased recently.
XO Wave: Envelope Generator
The Envelope Generator is one of the most powerful effects in XO Wave.
Though it does nothing by itself, it can be used in conjunction
with other effects to create a dizzying array of dynamically
controlled effects, such as compression, ducking, noise-gating, auto-wah, and
virtually anything else your imagination
can come up with.
The Envelope Generator works in three steps: first, it creates an
'envelope', which is a signal that follows the dynamics of the
audio; second, it scales the envelope to a range appropriate for
a parameter in another effect (the "target" parameter);
and, finally, it assigns the scaled envelope to
the target parameter. The target parameter can be
virtually any automated parameter from any of XO Wave's built-in
effects. For example, you may assign the target parameter to a
volume control on another track for "ducking", or you might
assign it to the frequency control of an EQ for a cool
auto-wah effect. Since the Envelope Generator can target so many
different parameters, its potential is almost unlimited.
For example, you can use it in conjunction with the noise
generator to create randomized effects, or with the pitch
shifter to create a dynamic chorus effect.
We'll start by explaining what an envelope is, and then jump right into the most
common application of the Envelope Generator: ducking.
After that we'll describe the details of how the Envelope Generator
works and, finally, give some suggestions for other applications.
An audio signal (a sampled kick drum) in blue and one possible envelope
for that signal in magenta.
An envelope is a signal representing the dynamics of another signal.
That is, the envelope gets larger when the original signal gets
louder, and smaller when the original signal gets quieter.
While an envelope does capture the dynamics of the original
signal, it changes too slowly to to capture the nuance.
For example, an envelope generally lacks
the frequency and harmonic content of the original signal.
One way to think of an envelope is to think of the shape of a
carpet, if it were thrown over the audio waveform -- the shape
is captured, but the detail is lost.
The classic example of ducking is a wedding DJ who plays music
and makes announcements, but wants the announcements to be very clear without
having to stop the music.
The DJ could manually turn down the volume of the music, or wait for lulls
in the music, but even for the best DJ this can be a challenge -- especially if
they're not at their mixer when they are making announcements. The solution
is to automatically reduce the music volume whenever the DJ is speaking.
To do so, the DJ might use an automatic ducking feature on the mixer or
another piece of gear, or they might use the side-chain of their compressor.
Similarly, a podcaster using XO Wave could program the automation to reduce
the volume of the music whenever they speak, but it's much easier to use the
Envelope Generator. Here's how (we'll explain how it works in the next
- Create a new session and create two tracks, one for music and one for
speech. Import some music and put it on the music track. Record some
speech onto the speech track.
- Add an Envelope Generator effect to the speech track. Adjust the
input threshold while playing back until the yellow signal
detection LEDs start to flicker whenever there is speech.
For the most effective ducking, there shouldn't be any yellow
LEDs lit when there is no speech. You'll also want the red LED
to be illuminated fairly often, but not all the time.
This can be done by adjusting the Input Window Size parameter.
- Now, click on Select Target Effect and Parameter and, in the pop-up
menu, select the Volume control on the music track. (The menu shows
all tracks, then all effects, then all available parameters)
- Finally, bring the Output Maximum control down. As you do so, you will
notice that the volume of music goes down when there is speech, but
remains unaffected when there is no speech.
So What's Going on?
In a nutshell, you are using the Envelope Generator to create a control signal
and applying that signal to a parameter. The diagram at the right shows this
process in some detail. At each step, you can control the process with
the controls on the Envelope Generator.
- Envelope Generator: First, an envelope is generated from
the audio waveform. The shape of the
envelope can be fine-tuned using the channel source,
attack, and release settings.
- Channel Source: The
allows you to select which channel the envelope
is generated from. For example, you can have
the Envelope Generator ignore the left signal
and only use the right. You can also have it
use the average of the signals, or the peak
signal (the default).
- Attack and Release: The
Attack and Release
controls determine how quickly the
Envelope Generator responds to changes in the signal.
For example, if you want the Envelope Generator
to respond to short bursts of sound, use a fast
attack; if not, use a slow attack. If you want
the envelope to drop shortly after
the signal drops, use a fast release;
otherwise, use a slow release.
- Signal Detection: Once the envelope is generated,
the Envelope Generator needs to be able to distinguish between
signal and silence.
- Input Threshold determines the
minimum signal level that will affect
the target parameter. Signal levels
below the minimum will be treated as if
they were at the minimum.
- Input Window Size determines the range
of signal that will be translated into
changes in the target parameter.
Signal levels above the window will
all be treated as if they were at the top of the
- Signal Detection LEDs
help you adjust the
other settings to produce the desired
envelope. When only the red LED is lit,
The signal is below the threshold. When
the green LED is lit, the signal is above
the window. Yellow LEDs indicate that the
signal is inside the window.
- Scaling: The scaling controls allow you to set the
range of values for the target parameter to take on.
While the signal is above the threshold, but below the top of the
window, it will vary continuously between the output minimum and the
output maximum. Note that the output maximum may be less than the
output minimum -- that just means the parameter values will go down
instead of up when the signal gets stronger.
- Output Minimum: This is the value
of the target parameter when the signal is below
- Output Maximum: This is the value
of the target parameter when the signal is above
Auto-Wah and Other Custom, Dynamically Controlled Effects
The key to the Envelope Generator's power and flexibility is the fact that it can control so many
different parameters. For example, you could
control the 'wet' or 'dry' level on a reverb of one track using an
Envelope Generator on another track. This
setup could be used to add a little wash of reverb to the vocals
every time the snare drum hits, or to increase the
compression level of the vocals when the guitar is playing, to help it cut
through the mix. The possibilities are endless, but we'll just
give one more example: creating an auto-wah. An "auto-wah" is
like a wah-wah pedal except it automatically responds to your playing.
To create an auto-wah in XO Wave, you'll need a track with a bass, guitar or
similar instrument recorded on it. Add an Envelope Generator followed by
a Butterworth Filter effect, as
shown on the right. Set the filter type to Boost/Cut,
and set the level very high. Then, assign the Envelope Generator's target
to the frequency parameter of the filter. The center frequency is now
controlled by the dynamics of the instruments. After a little tweaking,
you'll have a great sounding auto-wah.
One thing you might notice if you are playing around with the Envelope
Generator is that sometimes there is a delay getting the signal
to the target parameter. Depending on where the effects are in the tracks,
the delay is either zero, or equal to the current Samples Per Buffer
setting in the Hardware Settings window.
For example, if you set Samples Per Buffer to 256, there may be a delay of
256 samples (about 6ms at 44.1kHz) between your Envelope Generator and the
effect you are trying to alter. Unless your attack and release settings are
very fast, you will probably not notice this delay, even at relatively
large Samples Per Buffer settings.