« Return to Thread: new panning algorithm

Re: new panning algorithm

by Christian Borss :: Rate this Message:

Reply to Author | View in Thread

Am 20. Jan. 2009 um  7:09 Uhr schrieb Chris Robinson:

>> The center speaker was introduced to improve the localization in the
>> frontal region. So, why not make use of it?
>
>Code complexity mostly.

Yeah, the quadrophony panpot mixer is indeed compelling in terms of
simplicity.

>It's easier to pan around in a symmetrical "grid" using
>physically-correct math [...]

This "physically-correct math" is a little bit tricky anyway. Exactly at
the sweet spot where all speakers have the same distance to the
listener, the sound pressure is added. So for this case, a "pressure
preserving" panning law would be correct. A random position within the
sound field would result in a random phase difference of the signals
radiated from the speakers which results in added sound energy (by
neglecting the distance dependent attenuation, occlusion/diffraction
effects, and reverberation). The latter case is taken into account by
"energy preserving" panning laws. Aproaches for energy preserving
panning functions are a dime a dozen, starting from the "sine law"
proposed by Bauer [1], the "tan law" proposed by Bennet et al. [2],
multi-speaker approaches as the one proposed by Gerzon and Barton [3],
vector base amplitude panning for 3D arrangements as proposed by Pullki
[4], or perceptual approaches as, e.g., proposed by Lee et al. [5].
To make it short: don't worry too much about "physically-correct math".
:-)
In my implementation I simply expand/compress the angle between the
involved loudspeaker pairs to 90° and use a sin() and cos() function to
obtain energy preserving gain factors (which results in 1/sqrt(2) for an
angle in between). But anyway, exchanging the panning function by any of
the above mentioned approaches would be trivial.

>Though as "luck" would have it, I started implementing a Phonon backend just
>before this patch was brought up, and I've been fighting with it trying to get
>it not to crash.

Good luck. ;-)


Ciao,
Christian

[1] B. B. Bauer, "Phasor Analysis of Some Stereophonic Phenomena,"
    J. Acoust. Soc. Am., vol. 33, no. 2, pp. 1536-1539, 1961.
[2] J. C. Bennett and K. Barker and F. O. Edeko, "A New Approach to the
    Assessment of Stereophonic Sound System Performance,"
    J. Audio Eng. Soc., vol. 33, no. 5, pp. 314-321, 1985.
[3] M. A. Gerzon and G. J. Barton, "Panpot Laws for Multispeaker
    Stereo," in 92nd AES Convention, (Vienna, Austria), Mar. 1992.
[4] V. Pulkki, "Virtual Sound Source Positioning Using Vector Base
    Amplitude Panning," J. Audio Eng. Soc., vol. 45, no. 6,
    pp. 456-466, 1997.
[5] S.-L. Lee et al., "Reduction of Sound Localization Error for
    Surround Sound System Using Enhanced Constant Power Panning Law,"
    IEEE Transactions on Consumer Electronics, vol. 50, no. 3,
    pp. 941-944, 2004.
--
Christian Borß, Dipl.-Ing.          ||   Institut für Kommunikationsakustik
http://www.ika.ruhr-uni-bochum.de   ||   Ruhr-Universität Bochum
Tel.: +49-(0)234-32-22470           ||   Universitätsstr. 150, IC1/33
Fax.: +49-(0)234-32-14165           ||   D-44780 Bochum (Germany)
_______________________________________________
Openal-devel mailing list
Openal-devel@...
http://opensource.creative.com/mailman/listinfo/openal-devel

 « Return to Thread: new panning algorithm