Fons Adriaensen wrote:
It is never necessary. It it were that would imply that a sound card without any gain controls (equivalent to a fixed 0 dB gain) would fail in some cases. It doesn't. In fact many PRO cards are just like that.
If you have apps A, B, C with volumes a, b, c you can always set the HW gain to unity gain (0dB), and send
s = a * A + b * B + c * C (1)
to the soundcard. What would be the advantage of doing what PA does, which is
* m = maximum of a, b, c) * Set the master to m, * send
s = a/m * A + b/m * B + c/m * C (2)
???
It can only generate trouble, basically you forfeit any headroom the system would have.
Actually, that's one point where PA is right (even though it's wrong on a lot of other points): doing it like (2) avoids amplifying the quantification noise if the sound card applies the master gain in analog (or uses higher bit depths internally before the DACs as some do). When cascading amplifiers, it is always better to put the highest possible gain on the first stages (always leaving enough headroom to avoid clipping/distortion) so that later stages will not amplify the noise from the first stages (or so that they will reduce it along with the signal). The only case when this rule does not hold is when doing digital processing in floating point (because then the quantification noise is defined as a proportion of the actual signal instead of its potential maximum). Jerome -- mailto:jeberger@free.fr http://jeberger.free.fr Jabber: jeberger@jabber.fr