Re: [linux-audio-dev] surround/n-channel panning

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] surround/n-channel panning
From: Nick Bailey (n.bailey_AT_elec.gla.ac.uk)
Date: Tue Mar 12 2002 - 10:56:06 EET


I had a row with Smalley about this at a computer music weekend in the UK
years ago.

It isn't so bad if you don't want to take relative phase and doppler into
account. It's a moving source, right? So its apparent frequency changes.
Panning doesn't begin to model even the simplest moving source, and the only
real way to do that is to try to reconstruct the sound field at the listener's
head (i.e. do ambisonics, sorry :)

But in fact, most people really want a pan of the sort you described. You use
the human in the loop to make it sound right, and the fact that power isn't
conserved doesn't matter too much. It's not conserved with a pan pot, after
all (is it?)

For a start though, I'd observe the inverse square law, and work in powers.
So [speaker_gain]^2 = x^2/(total distance)^2 (x being the speaker distance).
NB: not total (distance)^2. I've not tried it, so I can't say if it'll make
much difference (we've taken our studio in elec eng to pieces at the moment).

Not much in the way of references, I'm afraid. I've bcc'd this to a man who
might know...
Nick/

Paul Davis wrote:

> ignoring the subtleties of things like ambisonics and filtered
> channels for the time being, am i right in thinking that surround
> panning is just simple math? my mental model is:
>
> total_distance = 0
>
> foreach speaker
> speaker.distance = speaker.compute_distance (pan center);
> total_distance + speaker.distance
>
> foreach speaker
> speaker.pan_gain_coefficient = speaker.distance/total_distance;
>
> i think there is more to it than this. i know that this doesn't work
> for stereo, for example - it doesn't produce an equal power pan.
>
> can someone point me at some good references?


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Tue Mar 12 2002 - 10:48:46 EET