| On Sunday, 29 November 1998 22:06, Richard Dobson writes:
>So often it can be the case that people can understand quite different
things
>by the same term. I have not come across this explanation of the
>'hole-in-the-middle' effect before - inter-speaker angle. I always
understood
>that the primary problem with angles above 60 is poor localization.
Excluding the 60 degree rule....
There seem to be two different interpretations of panning/hole in the
middle.
One interpretation of panning involves providing a signal that appears to
move
in a _straight line_ from one speaker to another, as an improvement over
a _radial line_ from one speaker to the other.
The other interpretation is between using a constant amplitude algorithm
which
produces a hole in the middle, or using constant power (which produces a
radial pan from speaker to speaker).
A 'linear pan' as I call it makes the sound (appear to) travel in a straight
line from
speaker to speaker - I have found this method effective when creating stereo
ray tracing spatialiser effects. I don't think this is the same equation as
Moore
gives (I can't work out the math), but it works nicely (for stereo).
I've included the calculations I've been using for a while... any comments?
float pan ; ranges from 0 to 1. 0 == left, 1==right
;constant amplitude pan
leftGain = 1. - pan
rightGain = pan
;constan power pan
leftGain = sqrt( 1. - pan )
rightGain = sqrt( pan )
;linear pan
leftGain = ROOT_TWO*cos((1.-pan)*PI_ON_TWO)*
sin(((1.-pan)*PI_ON_TWO)+PI_ON_FOUR);
rightGain = ROOT_TWO*cos(pan*PI_ON_TWO)*
sin((pan*PI_ON_TWO)+PI_ON_FOUR);
for reference:
1.
The sspat contraption in audiomulch uses trig and the linear pan equations
above to calculate speaker plane intercepts for spatialisation... it works
really well with stereo
2.
last year I programmed an installation which had 8 speakers set up in a
circle,
with sounds continuously spinning, arcing, etc arround (outside) the space.
The algorithm was just simple panning and distance amplitude scaling.
Initially I used the linear pan equation above... but in a radial
configuration
the sound seemed to get louder at the speakers... so I used the constant
power pan which worked fine.
I assume that for a given number of speakers / angles... it's possible to
tune the panning algorithms. However ambisonics is probably a better way
to go for arbitrary speaker placement... that's where I'm headed.
Ross B.
|