I've been trying to learn how to use the filter envelope to get better piano sounds, and I'm a little uncertain about what is standard and what is a variation.
Am I right is understanding that the Sustain control on most program's filter envelope (such as the one in Kontakt) controls the length of time the filter is in effect?
(In Tascam's GVI, according to the manual, the Sustain instead controls the filter's cutoff frequency once the sustain portion of the amp envelope is reached.) I've read the manuals for other programs and done some internet research, but the descriptions of how the Sustain knob functions always seem to be brief. And I'm easily confused, trying to explore every possible way that a sound can be manipulated.
I'm also curious about other variations on the filter envelope. Are there some programs that offer more settings than others? Most seem to let you set a single filter and then control, in slightly different but significant ways, how the filter acts over time. What if I wanted to set three or twenty filters, say band passes, and control how harmonics evolve over time? Or would the cpu hit be so high that this amount of control would cause latency?
I think I can help take some of the mystery out of the common ADSR Envelope for you! I may cover things that you are already familiar with but bear with me... I'll get to the Sustain parameter soon enough!
As you're probably aware, an Envelope Generator is a controller designed to modulate a given parameter over time. That's just a fancy way of saying that instead of having to manually turn the volume up and down, move the pitch wheel back and forth or open and close a filter as you play, you can assign this handy little controller to do the work for you every time you press a key.
An LFO is quite similar in many respects. It too, is a controller that can be assigned to modulate a given parameter automatically over time. The LFO is constantly increasing and decreasing, increasing and decreasing, some parameter - like Pitch for instance - as one holds done the key, all at a certain rate (a.k.a. Frequency) and Depth.
These two controllers (i.e. LFO and Envelope Generators) behave in different ways as time passes, which is exactly the reason why we have both to choose from. The LFO is continuous; it will cycle through the same up and down, up and down motion without any variation for as long as one holds the key. Yes, there are exceptions to this - such as causing the LFO's depth to gradually fade in or out - but in general, the shape of the LFO never changes over time.
The Envelope Generator however, was designed to manipulate a parameter in a "non-cyclical" way as time passes. It is designed for a much more "linear" method of modulation. It does not repeat the same action over and over and over again. Each phase of the Envelope (Attack, Decay, Sustain, and Release) only occurs once per keystroke (Again, in general. There are exceptions to this.)
Now come the discussions about these separate phases: Attack, Decay, Sustain and Release. As I've mentioned, the Envelope Generator is just a controller designed to move or modulate something as time passes, just so you don't have to!
For this example, let us say that we have assigned an Envelope Generator to control the Volume of our sound, also known as modulating the Amplifier of our synthesizer (You will often hear people refer to an "Amp Envelope." Essentially, the short hand way of saying "An Envelope Generator assigned to control the Volume of my sound.")
As you know, there aren't any sounds in nature that behave the way a synthesizer does. On a synth, one can program it to produce a tone that never dies away. You could hold the key down for 7 hours and still have the same unchanging - and extremely annoying! - tone coming out of your speakers. Well, we're going to use an Amplifier Envelope Generator to add some dynamics to this sound so that it isn't so static and lifeless.
The Attack Time setting on the Envelope Generator (E.G. for short) is used to determine the amount of time it takes to turn up a given parameter (in our case, Volume) to a certain level. In many cases, this "certain level" is usually whatever the maximum value of that parameter happens to be. Or barring that, this level is determined by the Depth setting of the Envelope Generator. I'll have more on that later.
So, the Attack Time setting just allows you to specify how long it will take for the Envelope Generator to turn something up to the maximum value. This could be the Volume, the Pitch, the Filter Cutoff Frequency, anything really. Once this amount of time has passed, the Envelope Generator will enter its Decay Phase.
The Decay Time setting is used to define how long it will take the Envelope Generator to turn that given parameter (again, in our case, Volume) down to a "certain level." You can make this happen quickly, slowly; it's up to you.
Now, remember that I said that the Decay Time setting would turn a given parameter down to a "certain level." Well, what the heck is that "certain level?" If we continue using the example of the Envelope Generator controlling the Volume of our sound, then once the Attack phase ends and the Decay phase begins, does the E.G. turn the Volume all the way down? Does it turn the Volume down halfway? Does is leave the Volume all the way up? How does it know where to go?
This is the job of the Sustain Level setting. Notice how I called it the Sustain "LEVEL" setting. It has absolutely nothing to do with time. It is not like the Attack "TIME" setting. It is different from the Decay "TIME" setting and it is in no way similar to the Release "TIME" setting. The Sustain setting is the only member of that ADSR group that deals with something other than time, it deals with LEVEL; specifically, the level of a the parameter being controlled once the Decay phase has passed.
So, in our example, the Volume is always at a value of zero to begin with until one presses a key to trigger the sound. Once pressed, the Envelope Generator is triggered and begins to run through its course of Attack, Decay, Sustain and Release. The Attack Time will determine how long it will take for the sound to fade from zero up to its maximum level. Once this amount of time has passed, the Decay phase kicks in. This segment of the envelope will determine how long it takes for the Volume to fade down to the level that has been set using the Sustain setting. So, if the Sustain Level setting is cranked into the ceiling and you press a key on your keyboard, then you are instructing the E.G. to take (x) amount of time to raise the volume of the sound to its maximum level (Attack Time), then take (x) amount of time (Decay Time) to leave the Volume right where it was, at its maximum setting. In this case, we would not hear any sort of Decay phase.
The reason the Sustain Level setting is called "Sustain" is because once the Decay phase passes and lowers the given parameter to whatever value is set using the Sustain Level setting, that parameter will continue to hold (or, sustain) at that set level for as long as the key is held down. There will not be any other changes in that parameter's value once the Sustain portion of the ADSR envelope is reached.
Now, as soon as you let go of the key that is when the Release phase is triggered. This setting defines how long it will take the Envelope Generator to turn the given parameter back down to zero, or whatever its starting point happened to be. For us, this setting will affect how long it will take for the Volume of our sound to fade from the level it was at - as designated by the Sustain Level setting - all the way back down to zero.
If we look at an example using an Envelope Generator to control Filter Cutoff Frequency instead of Volume, you will begin to see how this control will modulate your filter over time.
In this case, our controller (the Envelope Generator) is going to automatically move the Cutoff Frequency knob of your favorite filter. Unlike Volume - which always started at a value of zero, or "silence" - you are free to manually dial the Cutoff Frequency to whatever starting point you choose. If we use the example of a Low-pass Filter, you could set the knob hard-left at a value of 20 Hz, thus eliminating all frequencies above this point. You could start it somewhere in the middle, say 500 Hz. Or you could start with it wide-open, most likely a setting of 20 kHz when hard-right.
Let's start with the Cutoff Frequency somewhere in the middle; I'll say 500 Hz. When you press a key, you will trigger the E.G. to run through its ADSR stages automatically. The Attack Time setting will determine how long it will take for the Envelope Generator to raise the value of the Cutoff Frequency from 500 Hz to... whatever you set it to. Do you remember earlier when I mentioned that some E.G.'s will have a Depth control? This will come into play here. Essentially, the Depth of the E.G. will determine how far it can swing that Cutoff Frequency knob from where it started. A greater Depth setting will increase the range of modulation, or how far the filter will open.
So, we've hit the key and Envelope Generator has taken (x) amount of time to increase the Cutoff Frequency from its starting point of 500 Hz to a value set by the Depth parameter. Let's just fill in the blanks a little and say that the filter opened to a Cutoff Frequency of 10 kHz.
Now the Decay phase starts. The Envelope Generator will now take a certain of time to lower the Cutoff Frequency from 10 kHz to the value set by the Sustain Level. If the Sustain Level is set fairly low (imagine visually, that this setting looks like a fader, resting near the bottom of its throw), this will instruct the E.G. to lower the Cutoff Frequency to a value of, say, 800 Hz in the amount of time dictated by the Decay Time setting.
The filter will continue to hold or "sustain" at this Cutoff Frequency until the key is released. Once the key comes up, the Envelope Generator then starts its Release phase. This setting will determine the amount of time it will take for the Cutoff Frequency to move from where it is currently sitting (in our case, 800 Hz) back to the point at which it started (500 Hz).
So, I hope that helps take some confusion out of Envelope Generators. Remember, the Sustain Level is the only setting that has absolutely nothing to do with time. It determines the "Level" or value that the parameter being controlled by the E.G. drops to during the Decay phase. The parameter will then hold or sustain at that value until the key is released.
Egg on face. (But...) Thanks for the explanation of what I should have understood more thoroughly long ago. But have I completely lost my mind, or do some programs use the Sustain control differently: In Kontakt, for example, if you insert a LP filter as a Group Insert effect, add an ADSR envelope, scroll to the bottom to find the Cutoff envelope, and look beside the Sustain setting, the measurement is in Decibels, suggesting that raising or lowering the Sustain raises or lowers the signal instead of the frequency. Or is this just a matter of Kontakt using the same graphic for all the envelopes, so the text says the measurement is in decibels, since the graphic was first created for the Amp envelope, but the measurement is actually for a frequency setting?
In any case, there does seem to be some variation. In GIV--I downloaded the CVPiano--the Sustain portion, according to the manual, sets the percentage of the filter in effect after the Decay ends, not an absolute frequency. In other words, instead of setting an absolute value for the cutoff frequency reached after the Decay, as in your discussion, the Sustain frequency varies as you change the initial cutoff frequency. (Is this a new variation, or one of many variations that have been around for some time?)
(I now see where I got lost with thinking that Sustain could control the time the filter was in effect--VSampler, the first sampler I bought, shows a time display as you drag the Sustain portion to the left or right, indicating the time before the filter cuts in.)
With egg still on face, I do wonder about additional envelopes that would give more control over the evolution of the sound. Having a sequence of decays\rises and filters would let us control the evolution of the sound as though we had an LFO with definable variations in cutoff frequency. Or do people already create this by just chaining a sequence of filters?