Represents a control for the overall gain on a line.
Gain is a quantity in decibels (dB) that is added to the intrinsic
decibel level of the audio signal--that is, the level of
the signal before it is altered by the gain control. A positive
gain amplifies (boosts) the signal's volume, and a negative gain
attenuates (cuts) it.
The gain setting defaults to a value of 0.0 dB, meaning the signal's
loudness is unaffected. Note that gain measures dB, not amplitude.
The relationship between a gain in decibels and the corresponding
linear amplitude multiplier is:
linearScalar = pow(10.0, gainDB/20.0)
The FloatControl
class has methods to impose a maximum and
minimum allowable value for gain. However, because an audio signal might
already be at a high amplitude, the maximum setting does not guarantee
that the signal will be undistorted when the gain is applied to it (unless
the maximum is zero or negative). To avoid numeric overflow from excessively
large gain settings, a gain control can implement
clipping, meaning that the signal's amplitude will be limited to the maximum
value representable by its audio format, instead of wrapping around.
These comments apply to gain controls in general, not just master gain controls.
A line can have more than one gain control. For example, a mixer (which is
itself a line) might have a master gain control, an auxiliary return control,
a reverb return control, and, on each of its source lines, an individual aux
send and reverb send.
See Also:
FloatControl.Type.AUX_SEND
,
FloatControl.Type.AUX_RETURN
,
FloatControl.Type.REVERB_SEND
,
FloatControl.Type.REVERB_RETURN
,
FloatControl.Type.VOLUME
,