Amplitude fades are a method to smooth out the transitions of amplitude changes. Audio engineers regularly use fades at the beginning and end of a sound file. A “fade in” gradually increases the amplitude of the signal from 0 to 1 (unity gain). A “fade out” gradually decreases the gain of a signal from 1 (unity gain) to 0.
The process of adding a fade to a signal involves an element-wise multiplication to scale the amplitude over time. In Matlab, we can create an array for the fade and multiply it by signal to create a smooth amplitude change. By indexing a portion of the signal, we can apply the fade to the appropriate part at the beginning or end.
A helpful built-in function to use for creating a fade is: linspace(0,1,numOfSamples), where 0 is the starting amplitude, 1 is the ending amplitude, and numOfSamples is the length of the fade in samples. This function will create a linear ramp as the fade.
An exponential fade can be created by processing the array for the linear fade. By raising each value in the array to an exponent, various curved fades can be created. By raising each value to the power of 2, a concave quadratic fade is created. Similarly, by raising each value to the power of ( ), a convex fade is created.
Another use of signal multiplication is to scale the amplitude of a signal based on a low-frequency oscillator (LFO) for amplitude modulation.