Synthesis algorithms vary widely in their ability to deal with discontinuously changing controls. Until now in this chapter we have assumed that controls must change continuously, and the ADSR envelope generator turns out to be ideally suited for such controls. It may even happen that the maximum amplitude of a note is less than the current value of the amplitude of its predecessor (using the same generator) and the ADSR envelope will simply ramp down (instead of up) to the new value for an attack.
This isn't necessarily desirable, however, in situations where an envelope generator is in charge of some aspect of timbre: perhaps, for example, we don't want the sharpness of a note to decrease during the attack to a milder one, but rather to jump to a much lower value so as always to be able to rise during the attack.
This situation also can arise with pitch envelopes: it may be desirable to slide pitch from one note to the next, or it may be desirable that the pitch trajectory of each note start anew at a point independent of the previous sound.
Two situations arise when we wish to make discontinuous changes to synthesis parameters: either we can simply make them without disruption (for instance, making a discontinuous change in pitch); or else we can't, such as a change in a wavetable index (which makes a discontinuous change in the output). There are even parameters that can't possibly be changed continuously; for example, a selection among a collection of wavetables. In general, discontinuously changing the phase of an oscillator or the amplitude of a signal will cause an audible artifact, but phase increments (such as pitches) may jump without bad results.
In those cases where a parameter change can't be made continuously for one reason or another, there are at least two strategies for making the change cleanly: muting and switch-and-ramp.