[LAD] Mixing audio: Implementing pan and balance
fons at linuxaudio.org
Tue Mar 12 09:56:15 UTC 2013
On Tue, Mar 12, 2013 at 01:23:02AM -0400, Tim E. Real wrote:
> I noticed our app uses this pan formula:
> vol_L = volume * (1.0 - pan);
> vol_R = volume * (1.0 + pan);
> where volume is the fader value, pan is the pan knob value
> which ranges between -1.0 and 1.0, and vol_L and vol_R are the
> factors to be applied to the data when sending a mono signal
> to a stereo bus.
> When pan is center, 100% of the signal is sent to L and R.
> At pan extremities, the signal is boosted by 3dB.
6 dB actually.
> But according to , we should be using a Pan Law ,
> where pan center is around 3dB to 6dB down and pan
> extremities is full signal.
There are two independent issues involved here:
1. The attenuation at the center w.r.t. to extreme L and R.
2. Whether the center or the extremes should be 0 dB.
(2) is very much a matter of taste and of virtually no practical
consequence : you will adjust the fader (channel gain) to get
the right balance anyway.
Regarding (1), if you take psycho-acoustics into account you'd
want -6 dB at the center for low frequencies and -3 dB for high
frequencies, with a gentle crossover at around 500 Hz or so.
So the SSL compromise of -4.5 dB makes sense.
Note that unless you use the panner to move a sound around
during a mix, all of this hardly matters: you will adjust
the balance anyway and compensate for whatever the panner
Returning to (2): for a panner (mono -> stereo) I'd prefer
0 dB at L and R. For a balance control (stereo -> stereo)
I'd prefer 0 dB at the center position.
A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)
More information about the Linux-audio-dev