[LAD] Mixing audio: Implementing pan and balance

Tim E. Real termtech at rogers.com
Tue Mar 12 20:24:49 UTC 2013


On March 12, 2013 09:56:15 AM Fons Adriaensen wrote:
> 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.

Sorry I thought the wiki pages were referring to power so
 I expressed it as power.

> 
> > But according to [1], we should be using a Pan Law [2],
> > 
> >  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
> is doing.
> 
> 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.

OK thanks. Makes sense to me. That obeys the pan rules.

Interesting about the crossover bit. 
Wow, I considered adding selectable pan laws but didn't realize crossovers. 

I will look at having separate pan controls for each channel on one strip, 
 as I'm reminded from talking to Paul that Ardour has this :)

Tim.


More information about the Linux-audio-dev mailing list