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 Fells (nick_AT_music.gla.ac.uk)
Date: Tue Mar 12 2002 - 12:48:57 EET


Isn't it the sine rule? I.e. the amplitude in one speaker should
increase sinusoidally as the other decreases sinusoidally (using the
first quadrant of a sine function?) to maintain power through the pan?

You might be interested, not just in ambisonics (see the York music tech
group at http://www.york.ac.uk/inst/mustech/3d_audio/welcome.html), but
also in vbap (vector-based amplitude panning), developed at Helsinki.
See http://www.acoustics.hut.fi/research/abstracts/vbap.html
and also
http://www.icad.org/websiteV2.0/Conferences/ICAD98/papers/PULKKI.PDF,
maybe.

nick (other nick!) :)

Nick Bailey wrote:
>
> 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?

-- 
Dr Nick Fells,	
Music Department,
University of Glasgow,		Tel: +44 (0) 141-330 4096
Glasgow G12 8QQ			Fax: +44 (0) 141-330 3518
UK.				http://www.music.gla.ac.uk/~nick


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 - 12:38:06 EET