I'm writing a synth module on top of jack and I'm starting to contemplate stereo.
I looked up "pan law" and understand that center should be -3 db (or some say -3.5 or 4.5, whatever) given unity at panned hard L or R. It was said that in an ideal room I should be down -6 db in the center. That would mean linearly transitioning from unity gain to completely off as one pans, I *think* (-6 db in the center = .5).
So that's one (very easy) way to go...
There was also mention of "equal power". Since power is proportional to signal squared, this means with parametrized L and R functions
L(t)^^2 + R(t)^^2 = 1, 0 <= t <= 1
We need an f(t) such that f(t) = L(t) and f(1-t) = R(t).
I played around this for awhile and using the sum of the square of sin and cos etc I got an f(t) of
f(t) = cos( pi * t / 2 ) (details available on request)
So L(t) = cos(t * pi / 2) and R(t) = cos((1 - t) * pi / 2)
And that seems to work out correctly.
Is this equal power version worth spending the processing cycles on? I intend to make pan envelope and LFO controllable so it's not going to be the case that the pan value can be thought of as relatively static.
PS now that I know what I'm looking for web search turned up this:
Linux-audio-dev mailing list