[LAD] Mixing audio: Implementing pan and balance

Tim E. Real termtech at rogers.com
Fri Mar 15 23:57:23 UTC 2013

On March 14, 2013 11:42:41 AM you wrote:
> On 03/12/2013 08:08 PM, Tim E. Real wrote:
> > But having said that, yes I'm wondering about a true 'stereo pan' feature.
> > How would such a feature work?
> there is no one true stereo pan.
> a pan law for intensity stereo (i.e. a panned image or an XY coincident
> microphone pair) would increase one channel and decrease another such
> that the total energy remains constant. a cosine/sine law is usually
> used, because
> cos^2 + sin^2 = 1

OK got it thanks, was wondering what curves to use.
Any easy way to obtain some of the other laws, like 4.5dB?

> ardour3 attempts to do this, by allowing you to reduce the width (by
> introducing crosstalk), and then letting you move the compressed image
> left or right. sort of works, but only for pan-potted stuff.
> a pan law for run-time stereo (i.e. spaced omnis) would have to use
> delays, leaving the original level intact.
> the ardour3 panner gets this type of signal horribly wrong, because you
> _never_ want to introduce crosstalk in spaced omnis - instant
> comb-filtering hell.
> for stereo techniques that incorporate both run-time and intensity, such
> as ORTF, NOS, EBS, you-name-it, you need different amounts of gain
> change _and_ delay.
> that's why nobody wants to use a ready-made stereo balance control - it
> is almost guaranteed to do the wrong thing for the source material at hand.
> best,
> jörn

I know what you guys mean about potentially disastrous results panning 
 stereo input material having already complex relationships between its 
 two channels. Probably no-one should try to pan that type of material 
 unless they know what they're doing or have a sophisticated panner. 
Try to take care of that stuff earlier on in the chain, hopefully where the 
 sources are mono, even then the relationship could be complex.

But my own use case is a much simpler desire: To position or blend two 
 completely independent L and R sources - I double track my guitars. 
So two resulting mono 'wave' tracks having mono strips both fed into 
 a stereo strip where a dual-instance shared-gui-controls mono distortion
 is placed in its plugin rack. The shared plugin controls are a major 
 convenience of the stereo strip - I want the same sound from each guitar.
Currently there's no way for me to adjust the positions of what comes out 
 of this stereo strip - which is still completely independent L/R material 
 stuck all they way to the left and right.

So I cleaned up some code, trashed some old stuff, readied the system
 for easily adding any new controllers, such as new panning controls.
After that, factor them into the mixing code. Then have some GUI fun.

So far so good, useful fixes even before proceeding, but...  should I? 

A3's modular panners make a lot of sense in light of these discussions -
 let the user pick the "right tool for the right job". 
Is there a suite of plugins, say LADSPA, that could do this for me?
Each plugin would arrange the four factors in different ways, like one
 would arrange it as basic four faders, another would have one fader and 
 two panners and balance, another maybe two faders and two panners,
 maybe add some sophistication like the delays and crossovers mentioned. 
Basically entire 'strips' all on their own. (Ironically MusE displays control 
 outputs as meters in our generic GUIs, so if 'level' outputs were provided, 
 these GUIs really would be cool complete alternative advanced 'strips'.)

Couldn't find any. If none exist, anyone up to the task? Useful for all DAW?


More information about the Linux-audio-dev mailing list