[music-dsp] stereo-wide pan law?

2012-02-07 Thread Ross Bencina

Hi Everyone,

Does anyone know if there's a "standard" way to calculate pan laws for 
stereo-wide panning ?


By "stereo-wide" I mean panning something beyond the speakers by using 
180-degree shifted signal in the opposite speaker. For example, for 
"beyond hard left" you would output full gain signal to the left 
speaker, and some inverted phase signal to the right speaker.


I know this is a somewhat dubious method but I'm wondering if there are 
known pan laws that handle this case.


Thank you,

Ross.
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-07 Thread Didier Dambrin
I've never heard of it, but it's interesting. You mean the pan would become 
a 360deg rotary, going from center to left, to stereo-wide center, to right 
& back to center?
In that case I'd just use the same law as for the front/left/right (which 
could be any), only with shifting for the lower half of the circle.



-Message d'origine- 
From: Ross Bencina

Sent: Tuesday, February 07, 2012 11:20 AM
To: A discussion list for music-related DSP
Subject: [music-dsp] stereo-wide pan law?

Hi Everyone,

Does anyone know if there's a "standard" way to calculate pan laws for
stereo-wide panning ?

By "stereo-wide" I mean panning something beyond the speakers by using
180-degree shifted signal in the opposite speaker. For example, for
"beyond hard left" you would output full gain signal to the left
speaker, and some inverted phase signal to the right speaker.

I know this is a somewhat dubious method but I'm wondering if there are
known pan laws that handle this case.

Thank you,

Ross.
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links

http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


-
Aucun virus trouve dans ce message.
Analyse effectuee par AVG - www.avg.fr
Version: 2012.0.1913 / Base de donnees virale: 2112/4793 - Date: 06/02/2012 


--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-07 Thread Tom O'Hara

L = ((1+w)L + (1-w)R)/2
R = ((1+w)R + (1-w)L)/2

0<=w<=2

0 = mono
1 = normal
2 = full wide

Tom


On 07-Feb-12 11:20, Ross Bencina wrote:

Hi Everyone,

Does anyone know if there's a "standard" way to calculate pan laws for
stereo-wide panning ?

By "stereo-wide" I mean panning something beyond the speakers by using
180-degree shifted signal in the opposite speaker. For example, for
"beyond hard left" you would output full gain signal to the left
speaker, and some inverted phase signal to the right speaker.

I know this is a somewhat dubious method but I'm wondering if there
are known pan laws that handle this case.

Thank you,

Ross.
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book
reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-07 Thread Richard Dobson
"Beyond" needs to be defined. It may be worth remembering that the 
mostly standard pan law is predicated on the virtual source passing 
along an arc of a circle centred on the listener (constant power), so 
"going beyond" has to be defined in that context - the motion between 
the speakers with "normal" panning is not a straight line between them. 
Such an illusion would be totally dependent on a specific listener 
distance; i.e. how much louder/nearer the sound gets in the middle.


One simple device that may help give the illusion of increasing distance 
(and especially when simulating movement) is to reduce the level when 
panning "beyond" following the inverse-square law. Much would depend on 
how much further away "beyond" is meant to be. But this soon takes you 
away from the notion of a generic pan law into electro-acoustic 
composition territory.


Otherwise, you are looking at hrtf plus crosstalk cancellation  (some 
techniques such as ambiophonics claim to be able to create the sense of 
full surround using just the two speakers), or at some other more or 
less sophisticated psycho-acoustic illusion,  which as per usual will 
likely not work for everyone.


Richard Dobson

On 07/02/2012 10:49, Didier Dambrin wrote:

I've never heard of it, but it's interesting. You mean the pan would
become a 360deg rotary, going from center to left, to stereo-wide
center, to right & back to center?
In that case I'd just use the same law as for the front/left/right
(which could be any), only with shifting for the lower half of the circle.


-Message d'origine- From: Ross Bencina
Sent: Tuesday, February 07, 2012 11:20 AM
To: A discussion list for music-related DSP
Subject: [music-dsp] stereo-wide pan law?

Hi Everyone,

Does anyone know if there's a "standard" way to calculate pan laws for
stereo-wide panning ?

By "stereo-wide" I mean panning something beyond the speakers by using
180-degree shifted signal in the opposite speaker. For example, for
"beyond hard left" you would output full gain signal to the left
speaker, and some inverted phase signal to the right speaker.

I know this is a somewhat dubious method but I'm wondering if there are
known pan laws that handle this case.


--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-07 Thread Ralph Glasgal
There is no valid psychoacoustic method to accomplish this and so there can
be no valid pan laws to accomplish this.  The stereo illusion is like an
optical illusion and is quite restricted.  The only reason that one can on
rare occasions here something beyond the angle of the speakers (in the 60
degree arrangement) is because some crosstalk is inadvertently cancelled or
at higher frequencies you tickle the pinna just right.  That pinna thing is
the reverse polarity combing cancellation pattern that mimics a direction
finding pattern for an instant or two.  Many of these reverse polarity wide
image flukes are fleeting and of course will vary from individual to
individual and are also room and speaker dependant.  I would say this is a
dead end idea.

While applying crosstalk cancellation formulas to the pair to be panned can
do the job, XTC equations such as RACE work better with speakers closer
together.  However, you can get a reasonable result even if the speakers are
at 60 degrees.  At least it will be better than just sending an out of
polarity signal to the other speaker.  The RACE equations are at
www.ambiophonics.org and there are free VST plugins if you want to try it.
What this amounts to is making a pre crosstalk cancelled 2.0 recording for
some sound sources mixed with other sources that remain in ordinary stereo.
That is a mixture of 2 ray and 4 ray pan potted pairs.  Interesting.

Ralph Glasgal 

-Original Message-
From: music-dsp-boun...@music.columbia.edu
[mailto:music-dsp-boun...@music.columbia.edu] On Behalf Of Ross Bencina
Sent: Tuesday, February 07, 2012 5:21 AM
To: A discussion list for music-related DSP
Subject: [music-dsp] stereo-wide pan law?

Hi Everyone,

Does anyone know if there's a "standard" way to calculate pan laws for 
stereo-wide panning ?

By "stereo-wide" I mean panning something beyond the speakers by using 
180-degree shifted signal in the opposite speaker. For example, for 
"beyond hard left" you would output full gain signal to the left 
speaker, and some inverted phase signal to the right speaker.

I know this is a somewhat dubious method but I'm wondering if there are 
known pan laws that handle this case.

Thank you,

Ross.
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-07 Thread Ralph Glasgal
Ambiophonics (actually Panambiophonics) requires four speakers to reproduce
a full 360 degrees of direct sound localization in the horizontal plane.  It
deliberately does not employ HRTFs.  The basic program is RACE which stands
for Recursive Ambiophonic Crosstalk Elimination.  It is a shame that it is
not a contraption within AudioMulch which would make it so easy to use in a
4.0 (DTS, etc.) surround application instead of having to use VST plugins in
DAWs or Transcoders working under Java.  The four speakers needed are quite
easy to place.  Just two in front spaced about 20 degrees (either side of a
TV screen) and two behind the same and two independent copies of RACE
running.  You never need a front center speaker or a rear center either.
(RACE is in the public domain.)  For the record, Ambisonics and Wavefield
Synthesis are the other Loudspeaker Binaural technologies that are HRTF
free, but only Ambiophonics (including the Princeton version) is compatible
with all existing 2.0, 5.1, 7.1, etc. media and formats.

Ralph Glasgal
www.ambiophonics.org

-Original Message-
From: music-dsp-boun...@music.columbia.edu
[mailto:music-dsp-boun...@music.columbia.edu] On Behalf Of Richard Dobson
Sent: Tuesday, February 07, 2012 9:03 AM
To: A discussion list for music-related DSP
Subject: Re: [music-dsp] stereo-wide pan law?


Otherwise, you are looking at hrtf plus crosstalk cancellation  (some 
techniques such as ambiophonics claim to be able to create the sense of 
full surround using just the two speakers), or at some other more or 
less sophisticated psycho-acoustic illusion,  which as per usual will 
likely not work for everyone.

Richard Dobson



--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-07 Thread Richard Dobson
Unless I am completely mixing this up with some other system, I recall 
some demo soundfile you posted some while back (must have been via 
sursound) using two adjacent speakers, and getting a 
quasi-surround/widening effect. I recall it particularly, because just 
using my two toy Apple speakers either side of a round iMac (so hardly a 
definitive or rigorous test!) I actually got the effect quite clearly. 
If that was not yours, whose might it have been?


Richard Dobson

On 07/02/2012 20:59, Ralph Glasgal wrote:

Ambiophonics (actually Panambiophonics) requires four speakers to reproduce
a full 360 degrees of direct sound localization in the horizontal plane.  It
deliberately does not employ HRTFs.  The basic program is RACE which stands
for Recursive Ambiophonic Crosstalk Elimination.  It is a shame that it is
not a contraption within AudioMulch which would make it so easy to use in a
4.0 (DTS, etc.) surround application instead of having to use VST plugins in
DAWs or Transcoders working under Java.  The four speakers needed are quite
easy to place.  Just two in front spaced about 20 degrees (either side of a
TV screen) and two behind the same and two independent copies of RACE
running.  You never need a front center speaker or a rear center either.
(RACE is in the public domain.)  For the record, Ambisonics and Wavefield
Synthesis are the other Loudspeaker Binaural technologies that are HRTF
free, but only Ambiophonics (including the Princeton version) is compatible
with all existing 2.0, 5.1, 7.1, etc. media and formats.


--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-07 Thread Olli Niemitalo
On Tue, Feb 7, 2012 at 12:20 PM, Ross Bencina
 wrote:
> Hi Everyone,
>
> Does anyone know if there's a "standard" way to calculate pan laws for
> stereo-wide panning ?
>
> By "stereo-wide" I mean panning something beyond the speakers by using
> 180-degree shifted signal in the opposite speaker.

You could cook up something from the Dolby Stereo mixing matrix, but
the implementation is going to need a Hilbert transformer.

-olli
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-07 Thread Ralph Glasgal
That was mine.  There are several demo tracks on the Ambiophonic website
that you can download.  But you should get the free Apple/Android(not free)
Ambiophonic app or the free Hotto Transcoder and play your own favorite
recordings via good speakers.  Angelo Farina and others on the Sursound list
know all about this and have contributed to advancing this technology.

Ralph Glasgal 

-Original Message-
From: music-dsp-boun...@music.columbia.edu
[mailto:music-dsp-boun...@music.columbia.edu] On Behalf Of Richard Dobson
Sent: Tuesday, February 07, 2012 4:18 PM
To: A discussion list for music-related DSP
Subject: Re: [music-dsp] stereo-wide pan law?

Unless I am completely mixing this up with some other system, I recall 
some demo soundfile you posted some while back (must have been via 
sursound) using two adjacent speakers, and getting a 
quasi-surround/widening effect. I recall it particularly, because just 
using my two toy Apple speakers either side of a round iMac (so hardly a 
definitive or rigorous test!) I actually got the effect quite clearly. 
If that was not yours, whose might it have been?

Richard Dobson

On 07/02/2012 20:59, Ralph Glasgal wrote:
> Ambiophonics (actually Panambiophonics) requires four speakers to
reproduce
> a full 360 degrees of direct sound localization in the horizontal plane.
It
> deliberately does not employ HRTFs.  The basic program is RACE which
stands
> for Recursive Ambiophonic Crosstalk Elimination.  It is a shame that it is
> not a contraption within AudioMulch which would make it so easy to use in
a
> 4.0 (DTS, etc.) surround application instead of having to use VST plugins
in
> DAWs or Transcoders working under Java.  The four speakers needed are
quite
> easy to place.  Just two in front spaced about 20 degrees (either side of
a
> TV screen) and two behind the same and two independent copies of RACE
> running.  You never need a front center speaker or a rear center either.
> (RACE is in the public domain.)  For the record, Ambisonics and Wavefield
> Synthesis are the other Loudspeaker Binaural technologies that are HRTF
> free, but only Ambiophonics (including the Princeton version) is
compatible
> with all existing 2.0, 5.1, 7.1, etc. media and formats.
>
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-07 Thread Didier Dambrin
To me the (really) old "invert a channel" trick has never been a proper way 
to get surround, & while I'd avoid it because it's totally not mono-friendly 
(obviously), I like the idea of enhancing a panning knob with it, as to me 
it's always useful to have a section (in a sequencer or synth) that's fully 
dedicated to stereo gain, which includes volume, panning, stereo 
enhancing/shrinking, and phase inversion. So it doesn't seem a bad idea to 
enhance the panning with a way to achieve phase inversion on one of the 
channels only.


As lame as that effect can be, it's still efficient, especially with 
headphones, not for "surround" but for "another stereo". This said, you get 
similar results by using other light stereo effects (like with allpasses) 
that are more mono-compatible.




-Message d'origine- 
From: Richard Dobson

Sent: Tuesday, February 07, 2012 10:17 PM
To: A discussion list for music-related DSP
Subject: Re: [music-dsp] stereo-wide pan law?

Unless I am completely mixing this up with some other system, I recall
some demo soundfile you posted some while back (must have been via
sursound) using two adjacent speakers, and getting a
quasi-surround/widening effect. I recall it particularly, because just
using my two toy Apple speakers either side of a round iMac (so hardly a
definitive or rigorous test!) I actually got the effect quite clearly.
If that was not yours, whose might it have been?

Richard Dobson

On 07/02/2012 20:59, Ralph Glasgal wrote:
Ambiophonics (actually Panambiophonics) requires four speakers to 
reproduce
a full 360 degrees of direct sound localization in the horizontal plane. 
It
deliberately does not employ HRTFs.  The basic program is RACE which 
stands

for Recursive Ambiophonic Crosstalk Elimination.  It is a shame that it is
not a contraption within AudioMulch which would make it so easy to use in 
a
4.0 (DTS, etc.) surround application instead of having to use VST plugins 
in
DAWs or Transcoders working under Java.  The four speakers needed are 
quite
easy to place.  Just two in front spaced about 20 degrees (either side of 
a

TV screen) and two behind the same and two independent copies of RACE
running.  You never need a front center speaker or a rear center either.
(RACE is in the public domain.)  For the record, Ambisonics and Wavefield
Synthesis are the other Loudspeaker Binaural technologies that are HRTF
free, but only Ambiophonics (including the Princeton version) is 
compatible

with all existing 2.0, 5.1, 7.1, etc. media and formats.


--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links

http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


-
Aucun virus trouve dans ce message.
Analyse effectuee par AVG - www.avg.fr
Version: 2012.0.1913 / Base de donnees virale: 2112/4794 - Date: 07/02/2012 


--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-07 Thread Ross Bencina

Thanks for the responses,

Seems like I may have asked the wrong question.

Ralph Glasgal wrote:
> There is no valid psychoacoustic method to accomplish this and so
> there can be no valid pan laws to accomplish this.

In this instance I'm not really concerned with psychoacoustics. What I 
need is something that gives a sensible result under the assumption that 
I want to send some anti-phase in the opposite speaker. "Sensible" could 
be defined as "perceptually smooth", or "energy smooth".


Ambisonics uses anti-phase panning. What if we assume that the speakers 
are on either side of the head. Does that give a valid physical basis 
for stereo anti-phase panning?


As I already said, I realise that it's a somewhat dubious idea -- I'm 
not looking for criticisms of that. I'm working on a simple extension of 
an existing effect algorithm (a somewhat well known stereo chorus) that 
uses this inverse phase business to "pan" the chorused voices -- and I 
want to limit my algorithm to that.


What I'm aiming to achieve is one slider that can pan each voice between 
from left to right, and also smoothly cross into dubious "beyond the 
speakerness" by sending inverse phase to the opposite speaker. It could 
be as simple as ramping up the inverse phase signal but I thought it 
might be possible to formulate something that has some kind of basis in 
stereo panning law theory -- not necessarily concerning spatial 
perception but at least concerning perceived signal energy.



To get really concrete: at the moment I have two sliders (one for left 
level and one for right level) and two checkboxes for inverting the 
phase of each side. This is a most unsatisfactory user interface. I need 
to get to the point of having a single "pan" or "width" slider.



Tom's response comes closest:

On 8/02/2012 12:17 AM, Tom O'Hara wrote:
> L = ((1+w)L + (1-w)R)/2
> R = ((1+w)R + (1-w)L)/2
>
> 0<=w<=2
>
> 0 = mono
> 1 = normal
> 2 = full wide


But it is a stereo image processing formula not a panning formula, and 
it uses linear ramps (amplitude sums to unity for left and right) so 
doesn't appear to follow the usual power laws associated with stereo 
panning.


I could use a regular panning law for between the speakers and use Tom's 
linear constant-amplitude extension for beyond the speakers, but somehow 
increasing the amplitude of the the in-phase speaker to give a unity 
amplitude sum with the anti-phase speaker doesn't seem right. If 
anything I would think that the in-phase speaker amplitude should be 
reduced -- perhaps in a mirror image of the between-the speakers fade 
curves with the polarity of one side reversed?



I hope that makes my question clearer.

Thanks!

Ross


On 7/02/2012 9:20 PM, Ross Bencina wrote:

Hi Everyone,

Does anyone know if there's a "standard" way to calculate pan laws for
stereo-wide panning ?

By "stereo-wide" I mean panning something beyond the speakers by using
180-degree shifted signal in the opposite speaker. For example, for
"beyond hard left" you would output full gain signal to the left
speaker, and some inverted phase signal to the right speaker.

I know this is a somewhat dubious method but I'm wondering if there are
known pan laws that handle this case.

Thank you,

Ross.
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews,
dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Emanuel Landeholm
Lol! Actually, when reading the OP the first thought that went through
my head was "Hilbert transformer". So I scanned the thread, and sure
enough...

It would seem that once you have an analytic signal, all you need to
do is to apply a simple complex rotation with a phase offset for the
second channel.

left = cos 0 * Re - sin 0 * Im = Re
right = sin theta * Re + cos theta * Im

Is this how it's done in Dolby?

> You could cook up something from the Dolby Stereo mixing matrix, but
> the implementation is going to need a Hilbert transformer.
>
> -olli
> --
> dupswapdrop -- the music-dsp mailing list and website:
> subscription info, FAQ, source code archive, list archive, book reviews, dsp 
> links
> http://music.columbia.edu/cmc/music-dsp
> http://music.columbia.edu/mailman/listinfo/music-dsp
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Olli Niemitalo
It think it's first explained in the patent US4577305 issued March 18, 1986:

  http://www.google.com/patents?id=CcI2EBAJ

>From the patent:

  LT = L + 0.7 C - 0.7 j S
  RT = R + 0.7 C + 0.7 j S

There, by j they mean a 90 degree phase shift, L, R, C, S are left,
right, center, surround, and T means "total". I don't know if they
ever go to specifics about panning. It's more like a 4 channel --> 2
channel encoding. Note that 0.7 is approximately 1/sqrt(2) or
sqrt(1/2), so the center channel alone would give about the same LT
and RT as panning to the center with a constant power stereo panning
law. In the context of the current discussion, S could be treated as a
rear channel to be used in "extreme" panning.

-olli

On Wed, Feb 8, 2012 at 12:27 PM, Emanuel Landeholm
 wrote:
> Lol! Actually, when reading the OP the first thought that went through
> my head was "Hilbert transformer". So I scanned the thread, and sure
> enough...
>
> It would seem that once you have an analytic signal, all you need to
> do is to apply a simple complex rotation with a phase offset for the
> second channel.
>
> left = cos 0 * Re - sin 0 * Im = Re
> right = sin theta * Re + cos theta * Im
>
> Is this how it's done in Dolby?
>
>> You could cook up something from the Dolby Stereo mixing matrix, but
>> the implementation is going to need a Hilbert transformer.
>>
>> -olli
>> --
>> dupswapdrop -- the music-dsp mailing list and website:
>> subscription info, FAQ, source code archive, list archive, book reviews, dsp 
>> links
>> http://music.columbia.edu/cmc/music-dsp
>> http://music.columbia.edu/mailman/listinfo/music-dsp
> --
> dupswapdrop -- the music-dsp mailing list and website:
> subscription info, FAQ, source code archive, list archive, book reviews, dsp 
> links
> http://music.columbia.edu/cmc/music-dsp
> http://music.columbia.edu/mailman/listinfo/music-dsp
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Emanuel Landeholm
On Wed, Feb 8, 2012 at 11:27 AM, Emanuel Landeholm
 wrote:
> simple complex rotation

Wait... What did I just write? o_O
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Olli Niemitalo
Knowing that you're panning chorus voices to be summed with the input
signal gives something to work on.

Let's say there's just one chorus voice and someone sets up the
delays, volume and whatnot so that it is actually identical to the
input signal. Now, it would be unreasonable if, compared to input, the
output would have an opposite polarity in L or R. So, the most extreme
panning should be no more extreme than to have a gain of -1 in either
channel of the chorus voice. Let's define exactly that as the most
extreme setting. So at extreme-L or extreme-R, output R or L will be
muted. Now, at the same time, what should the gain of the other chorus
voice channel be? In all fairness, it should be as loud as the
inverted other channel, so the gain should be at least 1. It would
also be weird if it was louder than the input signal, so let's fix the
value at exactly 1.

Done all that, the extended-range panning of the chorus voice
effectively amplifies the input signal by 6 dB and pans it in the
regular fashion. So you might require that in the described situation,
the output, with respect to the input, is panned by your favorite
panning law f(p), where p = -1..1, such that the total gains of the
two channels are 2*f(p) and 2*f(-p). We can write the extended-range
panning law g in terms of f as:

1 + g(p) = 2*f(p)
==> g(p) =2*f(p) - 1
==> g(p) = f(p) - 0.5

For a chorus voice, as channel gains, use g(p) = f(p) - 0.5 and g(-p)
= f(-p) - 0.5, where p = -1..1 is the panning and f(p) is a vanilla
panning law of your choice. This means that with g(p), you will have
to re-label "full left" and "full right" to mean the values of p for
which f(p) = 0.5 or f(-p) = 0.5. Consequently, f(p) can't be a linear
panning law, but must satisfy f(0) > 0.5. A constant-power panning law
can be used as f(p).

Well, that's the best I could come up with!

-olli

On Wed, Feb 8, 2012 at 8:10 AM, Ross Bencina  wrote:
> What I'm aiming to achieve is one slider that can pan each voice between
> from left to right, and also smoothly cross into dubious "beyond the
> speakerness" by sending inverse phase to the opposite speaker. It could be
> as simple as ramping up the inverse phase signal but I thought it might be
> possible to formulate something that has some kind of basis in stereo
> panning law theory -- not necessarily concerning spatial perception but at
> least concerning perceived signal energy.
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Olli Niemitalo
Oopsy, correcting from the previously 3-row equation:

1 + g(p) = 2*f(p)
==> g(p) = 2*f(p) - 1

For a chorus voice, as channel gains, use g(p) = 2f(p) - 1 and g(-p)
= 2f(-p) - 1, where p = -1..1 is the panning and f(p) is a vanilla
panning law of your choice. This means that with g(p), you will have
to re-label "full left" and "full right" to mean the values of p for
which f(p) = 0.5 or f(-p) = 0.5. Consequently, f(p) can't be a linear
panning law, but must satisfy f(0) > 0.5. A constant-power panning law
can be used as f(p).

-olli

On Wed, Feb 8, 2012 at 4:06 PM, Olli Niemitalo  wrote:
> Knowing that you're panning chorus voices to be summed with the input
> signal gives something to work on.
>
> Let's say there's just one chorus voice and someone sets up the
> delays, volume and whatnot so that it is actually identical to the
> input signal. Now, it would be unreasonable if, compared to input, the
> output would have an opposite polarity in L or R. So, the most extreme
> panning should be no more extreme than to have a gain of -1 in either
> channel of the chorus voice. Let's define exactly that as the most
> extreme setting. So at extreme-L or extreme-R, output R or L will be
> muted. Now, at the same time, what should the gain of the other chorus
> voice channel be? In all fairness, it should be as loud as the
> inverted other channel, so the gain should be at least 1. It would
> also be weird if it was louder than the input signal, so let's fix the
> value at exactly 1.
>
> Done all that, the extended-range panning of the chorus voice
> effectively amplifies the input signal by 6 dB and pans it in the
> regular fashion. So you might require that in the described situation,
> the output, with respect to the input, is panned by your favorite
> panning law f(p), where p = -1..1, such that the total gains of the
> two channels are 2*f(p) and 2*f(-p). We can write the extended-range
> panning law g in terms of f as:
>
> 1 + g(p) = 2*f(p)
> ==> g(p) =2*f(p) - 1
> ==> g(p) = f(p) - 0.5
>
> For a chorus voice, as channel gains, use g(p) = f(p) - 0.5 and g(-p)
> = f(-p) - 0.5, where p = -1..1 is the panning and f(p) is a vanilla
> panning law of your choice. This means that with g(p), you will have
> to re-label "full left" and "full right" to mean the values of p for
> which f(p) = 0.5 or f(-p) = 0.5. Consequently, f(p) can't be a linear
> panning law, but must satisfy f(0) > 0.5. A constant-power panning law
> can be used as f(p).
>
> Well, that's the best I could come up with!
>
> -olli
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Ross Bencina



On 9/02/2012 1:06 AM, Olli Niemitalo wrote:

Now, it would be unreasonable if, compared to input, the
output would have an opposite polarity in L or R.


I'm not sure what you're getting at here, for example, the following is 
reasonable:


Considering the left channel only (right is opposite and is also added 
into the two outputs ):



leftVoice = modulated_delay( leftInput );

leftOutput = leftInput + -.2 * leftVoice;
rightOutput = leftVoice * .55;


In this case the modulated delay of the left input is panned "extreme 
right".


Ross.
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Olli Niemitalo
Ross, okay, I did not realize you channel mix left and right in the
voices. I thought the panning was simply different gains in the two
channels, possibly negative in one channel for the "extreme" effect.

-olli

On Wed, Feb 8, 2012 at 4:54 PM, Ross Bencina  wrote:
>
>
> On 9/02/2012 1:06 AM, Olli Niemitalo wrote:
>>
>> Now, it would be unreasonable if, compared to input, the
>> output would have an opposite polarity in L or R.
>
>
> I'm not sure what you're getting at here, for example, the following is
> reasonable:
>
> Considering the left channel only (right is opposite and is also added into
> the two outputs ):
>
>
> leftVoice = modulated_delay( leftInput );
>
> leftOutput = leftInput + -.2 * leftVoice;
> rightOutput = leftVoice * .55;
>
>
> In this case the modulated delay of the left input is panned "extreme
> right".
>
>
> Ross.
> --
> dupswapdrop -- the music-dsp mailing list and website:
> subscription info, FAQ, source code archive, list archive, book reviews, dsp
> links
> http://music.columbia.edu/cmc/music-dsp
> http://music.columbia.edu/mailman/listinfo/music-dsp
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Ross Bencina



On 9/02/2012 1:17 AM, Olli Niemitalo wrote:

1 + g(p) = 2*f(p)
==>  g(p) = 2*f(p) - 1

For a chorus voice, as channel gains, use g(p) = 2f(p) - 1 and g(-p)
= 2f(-p) - 1, where p = -1..1 is the panning and f(p) is a vanilla
panning law of your choice. This means that with g(p), you will have
to re-label "full left" and "full right" to mean the values of p for
which f(p) = 0.5 or f(-p) = 0.5. Consequently, f(p) can't be a linear
panning law, but must satisfy f(0)>  0.5. A constant-power panning law
can be used as f(p).


That works quite nicely, thanks!

Ross.
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread James Chandler Jr
I didn't see this idea mentioned. Maybe the idea was already mentioned or 
perhaps the idea is inappropriate to the task at hand.


Sometime long ago I experimented with panning by adding a very small delay to 
one channel, in addition to the channel volume scaling. That would be similar to 
phase modification, but more so.


Sitting in front of an ordinary near-field studio speaker setup, the small delay 
seemed to make a much more noticeable subjective audible positioning, compared 
to merely adjusting channel volumes or phase. It also seemed a very "satisfying" 
stereo positioning with headphones.


I never messed with it beyond brief experimentation because the technique seemed 
too likely to cause mono mix problems, or bad problems in certain listening 
environments. 


--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Theo Verelst

> left = cos 0 * Re - sin 0 * Im = Re
> right = sin theta * Re + cos theta * Im

It sometimes amazes me where people learn all this ..., though I 
partially know the answer.


How can you take the Real and imaginary part of a general audio signal, 
really, will somebody *with* a proper Electrical Engineering background 
try to explain that to themselves, that should be good for a few laughs.


Seriously, a Hilbert space has to do with the mathematical Fourier (not 
necessarily the Fast FF) transform (beginning of the 19th century, so 
hardly the pinnacle of contemporary mathematics, which would be more in 
the field of the Fock transform), and a transform as such will probably 
refer to the some variation on the important Fourier Theory. But, 
people, the head directionality approximation and thereflectivity of 
audio sounds, and even the strengths and relative distances of various 
frequencies emanating from small speakers have not directly to do with 
this transform, and the idea of the real and imaginary part in 
electrical signals has more to do with the three phases of wires 
carrying sinusoidal signals coming from an electricity generator than 
any sensible audio signal, unless it concerns an extremely specialistic 
subclass.


Just saying.

Ir. Theo Verelst
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Emanuel Landeholm
On Wed, Feb 8, 2012 at 5:25 PM, Theo Verelst  wrote:
>> left = cos 0 * Re - sin 0 * Im = Re
>> right = sin theta * Re + cos theta * Im
>
> It sometimes amazes me where people learn all this ..., though I partially
> know the answer.
>
> How can you take the Real and imaginary part of a general audio signal,
> really, will somebody *with* a proper Electrical Engineering background try
> to explain that to themselves, that should be good for a few laughs.

http://en.wikipedia.org/wiki/Analytic_Signal

This concept is really useful for a range of signal applications. FM
demodulation, frequency shifting, cepstrum/liftering techniques, min
phase filtering ...

Sorry, no proper EE background here tho. I'm just a math geek. :-)

> Seriously, a Hilbert space has to do with the mathematical Fourier (not
> necessarily the Fast FF) transform (beginning of the 19th century, so hardly
> the pinnacle of contemporary mathematics, which would be more in the field
> of the Fock transform), and a transform as such will probably refer to the
> some variation on the important Fourier Theory. But, people, the head
> directionality approximation and thereflectivity of audio sounds, and even
> the strengths and relative distances of various frequencies emanating from
> small speakers have not directly to do with this transform, and the idea of
> the real and imaginary part in electrical signals has more to do with the
> three phases of wires carrying sinusoidal signals coming from an electricity
> generator than any sensible audio signal, unless it concerns an extremely
> specialistic subclass.

Well, Hilbert space != Hilbert transform
Also, naive mono => stereo widening (like L = x, R= -x) is really a
special case of the method I suggested.
But I was just thinking out loud.

Regards,
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Theo Verelst


> Sorry, no proper EE background here tho. I'm just a math geek. :-)


Auw man
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Richard Dobson

On 08/02/2012 16:25, Theo Verelst wrote:

 > left = cos 0 * Re - sin 0 * Im = Re
 > right = sin theta * Re + cos theta * Im

It sometimes amazes me where people learn all this ..., though I
partially know the answer.

How can you take the Real and imaginary part of a general audio signal,
really, will somebody *with* a proper Electrical Engineering background
try to explain that to themselves, that should be good for a few laughs.



At the end of the day, people are not doing EE, they are doing music 
dsp, and the latter includes the principle of "if I do ~this~, what will 
it sound like?" And if the answer is "cool", people do it. There are 
plenty of situations where full math/ee rigour is called for, but also 
plenty of others where people do the dsp equivalent of hardware hacking. 
Converting a real audio signal into quadrature quasi-analytic signal via 
a Hilbert transform, and then deriving a panning trick from that, is a 
mild example. Another slighttly more exotic is splitting up the bins of 
pvoc (FFT-derived) analysis frames into separate groups, and 
resynthesising each group to a separate audio output. Or simply, all odd 
bins to the left, all even bins to the right. Breaks just about every 
dsp/ee rule in the book, but "nobody cares" if it creates a cool sound, 
preferably one where everyone asks "how on earth did they do ~that~?" 
and "where can I buy one?". And, inevitably, "is it patented?".


Richard Dobson
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Jerry
(Good grief, people.) You want the *very famous* Bauer's Law of Sines:

Benjamin B. Bauer, Phasor Analysis of Some Stereophonic Phenomena, IRE 
Transactions on Audio, January-February, 1962.

This panning law is mentioned in many introductory books on stereo theory.

Here it is, quoting from the paper:

Sin theta_I   (S_l - S_r)
--- = ---
Sin theta_A   (S_l + S_r)

where

theta_I is the azimuth angle of the virtual image, and 
theta_A is the azimuth angleof the real sources.
S_l and S_r, are the strengths of the signals applied
to the left and right loudspeakers, respectively.

This we call the “stereophonic law of sines,” and it 
shows that through appropriate distribution of in-phase 
signals to the loudspeakers, the position of the virtual 
image for the centrally placed observer may be adjusted 
anywhere relative to the loudspeaker.

End of quote.

The angles are "half-angles" relative to the listeners nose, i.e., for 
loudspeakers at +/- 30 degrees, theta_A = 30 degrees.

This four-page paper is recommended reading for everyone. 8^)

This panning law agrees exactly with the panning described by HRTF methods at 
the low frequency limit (and only there).

Jerry


On Feb 7, 2012, at 11:10 PM, Ross Bencina wrote:

> Thanks for the responses,
> 
> Seems like I may have asked the wrong question.
> 
> Ralph Glasgal wrote:
> > There is no valid psychoacoustic method to accomplish this and so
> > there can be no valid pan laws to accomplish this.
> 
> In this instance I'm not really concerned with psychoacoustics. What I need 
> is something that gives a sensible result under the assumption that I want to 
> send some anti-phase in the opposite speaker. "Sensible" could be defined as 
> "perceptually smooth", or "energy smooth".
> 
> Ambisonics uses anti-phase panning. What if we assume that the speakers are 
> on either side of the head. Does that give a valid physical basis for stereo 
> anti-phase panning?
> 
> As I already said, I realise that it's a somewhat dubious idea -- I'm not 
> looking for criticisms of that. I'm working on a simple extension of an 
> existing effect algorithm (a somewhat well known stereo chorus) that uses 
> this inverse phase business to "pan" the chorused voices -- and I want to 
> limit my algorithm to that.
> 
> What I'm aiming to achieve is one slider that can pan each voice between from 
> left to right, and also smoothly cross into dubious "beyond the speakerness" 
> by sending inverse phase to the opposite speaker. It could be as simple as 
> ramping up the inverse phase signal but I thought it might be possible to 
> formulate something that has some kind of basis in stereo panning law theory 
> -- not necessarily concerning spatial perception but at least concerning 
> perceived signal energy.
> 
> 
> To get really concrete: at the moment I have two sliders (one for left level 
> and one for right level) and two checkboxes for inverting the phase of each 
> side. This is a most unsatisfactory user interface. I need to get to the 
> point of having a single "pan" or "width" slider.
> 
> 
> Tom's response comes closest:
> 
> On 8/02/2012 12:17 AM, Tom O'Hara wrote:
> > L = ((1+w)L + (1-w)R)/2
> > R = ((1+w)R + (1-w)L)/2
> >
> > 0<=w<=2
> >
> > 0 = mono
> > 1 = normal
> > 2 = full wide
> 
> 
> But it is a stereo image processing formula not a panning formula, and it 
> uses linear ramps (amplitude sums to unity for left and right) so doesn't 
> appear to follow the usual power laws associated with stereo panning.
> 
> I could use a regular panning law for between the speakers and use Tom's 
> linear constant-amplitude extension for beyond the speakers, but somehow 
> increasing the amplitude of the the in-phase speaker to give a unity 
> amplitude sum with the anti-phase speaker doesn't seem right. If anything I 
> would think that the in-phase speaker amplitude should be reduced -- perhaps 
> in a mirror image of the between-the speakers fade curves with the polarity 
> of one side reversed?
> 
> 
> I hope that makes my question clearer.
> 
> Thanks!
> 
> Ross
> 
> 
> On 7/02/2012 9:20 PM, Ross Bencina wrote:
>> Hi Everyone,
>> 
>> Does anyone know if there's a "standard" way to calculate pan laws for
>> stereo-wide panning ?
>> 
>> By "stereo-wide" I mean panning something beyond the speakers by using
>> 180-degree shifted signal in the opposite speaker. For example, for
>> "beyond hard left" you would output full gain signal to the left
>> speaker, and some inverted phase signal to the right speaker.
>> 
>> I know this is a somewhat dubious method but I'm wondering if there are
>> known pan laws that handle this case.
>> 
>> Thank you,
>> 
>> Ross.
>> --
>> dupswapdrop -- the music-dsp mailing list and website:
>> subscription info, FAQ, source code archive, list archive, book reviews,
>> dsp links
>> http://music.columbia.edu/cmc/music-dsp
>> http://music.columbia.edu/mailman/listinfo/music-dsp
>> 
> --
> dupswapdrop -- the music-dsp mailing list and we

Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Sampo Syreeni

On 2012-02-07, Olli Niemitalo wrote:

You could cook up something from the Dolby Stereo mixing matrix, but 
the implementation is going to need a Hilbert transformer.


Pretty much any simple implementation is going to need one. Any higher 
end one in the fully digital domain is going to require a long 
convolution. That is then what Ralph and the folks do. Ralph then does 
it even in a stereo-input-arbitrarily-many-output fashion.

--
Sampo Syreeni, aka decoy - de...@iki.fi, http://decoy.iki.fi/front
+358-50-5756111, 025E D175 ABE5 027C 9494 EEB0 E090 8BA9 0509 85C2
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Sampo Syreeni

On 2012-02-08, Ross Bencina wrote:


Ambisonics uses anti-phase panning.


Fully, at the low frequencies, and a controlled amount of it higher up. 
Yes.



What if we assume that the speakers are on either side of the head.


Then you are assuming something beyond the conventional ambisonic 
decoding theory. Nobody claims that the conventional theory could deal 
with something like that. Ambisonics only starts to work with the 
conventional 2.5-3 transmission channels, against four speakers, in 
general position, around a single listener. (It *can* do more, but 
that's what it's optimized for. The only thing it ever guarantees.)



Does that give a valid physical basis for stereo anti-phase panning?


Under its assumptions, yes, it does even that. Especially in the lower 
frequencies.


I'm working on a simple extension of an existing effect algorithm (a 
somewhat well known stereo chorus) that uses this inverse phase 
business to "pan" the chorused voices -- and I want to limit my 
algorithm to that.


Thus, you're working with a narrow-band approximation to a time-bariable 
delay, within a feedback loop?


What I'm aiming to achieve is one slider that can pan each voice 
between from left to right, and also smoothly cross into dubious 
"beyond the speakerness" by sending inverse phase to the opposite 
speaker.


The simplest ambisonic solution would be to simply pan each voice into 
pantophonic B-format, and then to encode into BHJ. It gives you plenty 
of super stereo, and sometimes even rather plausible side/back sources, 
as far as two channel stereo goes.


It could be as simple as ramping up the inverse phase signal but I 
thought it might be possible to formulate something that has some kind 
of basis in stereo panning law theory -- not necessarily concerning 
spatial perception but at least concerning perceived signal energy.


UHJ already encapsulates everything "simple" you could hope from a 
panning law. It does require a Hilbert transformer on the way, but 
nothing more.


To get really concrete: at the moment I have two sliders (one for left 
level and one for right level) and two checkboxes for inverting the 
phase of each side. This is a most unsatisfactory user interface. I 
need to get to the point of having a single "pan" or "width" slider.


Width, it works rather well with ambisonic B-format as well, since the 
most effective "stereo widener" circuit touched only the mid channel of 
a mid/side signal set, in a frequency dependent way. Under ambisonic 
that comes for free, in a more or less optimal fashion, by interpolating 
between the omnidirectional W signal and whichever combination of X and 
Y you need for your directional center. After that, the UHJ encoding 
equations fold your signal set more or less optimally downto both 
superstereo (without decoding) and 360 degree without-height surround 
(BHJ, which translates into pretty good pantophony if you happen to have 
a decoder at hand).



Tom's response comes closest:

On 8/02/2012 12:17 AM, Tom O'Hara wrote:

L = ((1+w)L + (1-w)R)/2
R = ((1+w)R + (1-w)L)/2


It may, if you think panning should be stateless. Under ambisonics it 
isn't, and it isn't so for a good reason. At the same time, it's still 
fully LTI, and it couldn't be much besides. Also for a good reason. ;)

--
Sampo Syreeni, aka decoy - de...@iki.fi, http://decoy.iki.fi/front
+358-50-5756111, 025E D175 ABE5 027C 9494 EEB0 E090 8BA9 0509 85C2
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Sampo Syreeni

On 2012-02-08, Emanuel Landeholm wrote:


Is this how it's done in Dolby?


In Dolby, the encoder is an analog approximation to a wide-band 90 
degree phase shift. But it's very much an approximation, and it's also 
about approximating a relative shift, not an absolute one. The filters 
go pretty much haywire in the LF and HF, and even in between the 
channels wonder rather far from 0 degree (linear) phase shift, while 
keeping their mutual optimization goal of being 90 degrees out of synch.


The end result is that you can for the most part recover the surround 
signal by subtracting L from R, and the center one by summing the two. 
But the system can never really even approach the ideal quadraphony it 
was based on. Moreover, if it wanted to approach the psychoacoustics it 
was predicated upon with its surround channel, it should have *at least* 
decoded the surround channel back with two opposite Hilbert 
transformers, fed to many different outputs, instead of just 
differencing the channels and feeding them in synch to a lot of 
backwards speakers. But as always, it took 5.1/7.1/Pro Logic II/a couple 
of decades to bring that obvious little thingy to consumer hardware. (If 
you look at Dolby's hardware patents, that's why the decoder for the 
first time mentions the imaginary unit in Pro Logic II.)


And that stuff is still far from optimal with entire soundscapes. At 
best, it can deal with isolated sounds coming from left, center (dialog) 
or right, and then surround. Somewhat with any two combinations of them, 
thanks to statistical a priori assumptions. But no two or three of them, 
meaning it can't really cope with realistic soundscapes with echoes and 
the lot. Ambisonic can, because it doesn't rely on active steering, but 
just lets bleedthrough be bleedthrough, and optimizes against that.


The funny thing about it, then, is that BBC did some blind listening 
tests against one of its earlier versions and its steering derivative. 
That was somewhere in the sixties, I think. The listening tests did show 
that for single, direct sounds the steered derivative was better. But 
for any and *all* realistic soundscapes it was worse, even within the 
same matrix. That was then for a matrix far inferior to how Ambisonics 
UHJ now stands.

--
Sampo Syreeni, aka decoy - de...@iki.fi, http://decoy.iki.fi/front
+358-50-5756111, 025E D175 ABE5 027C 9494 EEB0 E090 8BA9 0509 85C2
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Sampo Syreeni

On 2012-02-08, Emanuel Landeholm wrote:


simple complex rotation


Wait... What did I just write? o_O


You thought it just right. You were just working in the Fourier domain, 
weren't you? ;)

--
Sampo Syreeni, aka decoy - de...@iki.fi, http://decoy.iki.fi/front
+358-50-5756111, 025E D175 ABE5 027C 9494 EEB0 E090 8BA9 0509 85C2
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Ross Bencina

Hi Jerry,

On 9/02/2012 11:02 AM, Jerry wrote:

(Good grief, people.) You want the *very famous* Bauer's Law of Sines:

Benjamin B. Bauer, Phasor Analysis of Some Stereophonic Phenomena, IRE 
Transactions on Audio, January-February, 1962.


If anyone knows where this can be read without forking over $30 bucks to 
an institutional paywall I'd love to hear about it.




This panning law is mentioned in many introductory books on stereo theory.


Would you care to cite any "introductory books on stereo theory" -- I 
never read one, could be interesting.


And yes, after 20 years out of university (studying music), going and 
getting an EE degree is looking like a serious option.


Thanks

Ross.




Here it is, quoting from the paper:

Sin theta_I   (S_l - S_r)
--- = ---
Sin theta_A   (S_l + S_r)

where

theta_I is the azimuth angle of the virtual image, and
theta_A is the azimuth angleof the real sources.
S_l and S_r, are the strengths of the signals applied
to the left and right loudspeakers, respectively.

This we call the “stereophonic law of sines,” and it
shows that through appropriate distribution of in-phase
signals to the loudspeakers, the position of the virtual
image for the centrally placed observer may be adjusted
anywhere relative to the loudspeaker.

End of quote.

The angles are "half-angles" relative to the listeners nose, i.e., for 
loudspeakers at +/- 30 degrees, theta_A = 30 degrees.

This four-page paper is recommended reading for everyone. 8^)

This panning law agrees exactly with the panning described by HRTF methods at 
the low frequency limit (and only there).

Jerry


On Feb 7, 2012, at 11:10 PM, Ross Bencina wrote:


Thanks for the responses,

Seems like I may have asked the wrong question.

Ralph Glasgal wrote:

There is no valid psychoacoustic method to accomplish this and so
there can be no valid pan laws to accomplish this.


In this instance I'm not really concerned with psychoacoustics. What I need is something that gives a 
sensible result under the assumption that I want to send some anti-phase in the opposite speaker. 
"Sensible" could be defined as "perceptually smooth", or "energy smooth".

Ambisonics uses anti-phase panning. What if we assume that the speakers are on 
either side of the head. Does that give a valid physical basis for stereo 
anti-phase panning?

As I already said, I realise that it's a somewhat dubious idea -- I'm not looking for 
criticisms of that. I'm working on a simple extension of an existing effect algorithm (a 
somewhat well known stereo chorus) that uses this inverse phase business to 
"pan" the chorused voices -- and I want to limit my algorithm to that.

What I'm aiming to achieve is one slider that can pan each voice between from left to 
right, and also smoothly cross into dubious "beyond the speakerness" by sending 
inverse phase to the opposite speaker. It could be as simple as ramping up the inverse 
phase signal but I thought it might be possible to formulate something that has some kind 
of basis in stereo panning law theory -- not necessarily concerning spatial perception 
but at least concerning perceived signal energy.


To get really concrete: at the moment I have two sliders (one for left level and one for right 
level) and two checkboxes for inverting the phase of each side. This is a most unsatisfactory user 
interface. I need to get to the point of having a single "pan" or "width" 
slider.


Tom's response comes closest:

On 8/02/2012 12:17 AM, Tom O'Hara wrote:

L = ((1+w)L + (1-w)R)/2
R = ((1+w)R + (1-w)L)/2

0<=w<=2

0 = mono
1 = normal
2 = full wide



But it is a stereo image processing formula not a panning formula, and it uses 
linear ramps (amplitude sums to unity for left and right) so doesn't appear to 
follow the usual power laws associated with stereo panning.

I could use a regular panning law for between the speakers and use Tom's linear 
constant-amplitude extension for beyond the speakers, but somehow increasing 
the amplitude of the the in-phase speaker to give a unity amplitude sum with 
the anti-phase speaker doesn't seem right. If anything I would think that the 
in-phase speaker amplitude should be reduced -- perhaps in a mirror image of 
the between-the speakers fade curves with the polarity of one side reversed?


I hope that makes my question clearer.

Thanks!

Ross


On 7/02/2012 9:20 PM, Ross Bencina wrote:

Hi Everyone,

Does anyone know if there's a "standard" way to calculate pan laws for
stereo-wide panning ?

By "stereo-wide" I mean panning something beyond the speakers by using
180-degree shifted signal in the opposite speaker. For example, for
"beyond hard left" you would output full gain signal to the left
speaker, and some inverted phase signal to the right speaker.

I know this is a somewhat dubious method but I'm wondering if there are
known pan laws that handle this case.

Thank you,

Ross.
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, sour

Re: [music-dsp] stereo-wide pan law?

2012-02-08 Thread Jerry

On Feb 8, 2012, at 11:18 PM, Ross Bencina wrote:

> Hi Jerry,
> 
> On 9/02/2012 11:02 AM, Jerry wrote:
>> (Good grief, people.) You want the *very famous* Bauer's Law of Sines:
>> 
>> Benjamin B. Bauer, Phasor Analysis of Some Stereophonic Phenomena, IRE 
>> Transactions on Audio, January-February, 1962.
> 
> If anyone knows where this can be read without forking over $30 bucks to an 
> institutional paywall I'd love to hear about it.

Remember libraries? ;-)

Bauer has an identically-titled paper from J. Acoustical Society of America 
from 1956 but I haven't seen it.
> 
> 
>> This panning law is mentioned in many introductory books on stereo theory.
> 
> Would you care to cite any "introductory books on stereo theory" -- I never 
> read one, could be interesting.

I was thinking of John Eargle's "Sound Recording." Even though he does the 
"phasor analysis" for an out-of-array phantom image, the book appears to be 
devoid of equations so the law does not explicitly appear. Check Amazon for 
this and other books by Eargle.

Jerry
> 
> And yes, after 20 years out of university (studying music), going and getting 
> an EE degree is looking like a serious option.
> 
> Thanks
> 
> Ross.
> 
> 
> 
>> Here it is, quoting from the paper:
>> 
>> Sin theta_I   (S_l - S_r)
>> --- = ---
>> Sin theta_A   (S_l + S_r)
>> 
>> where
>> 
>> theta_I is the azimuth angle of the virtual image, and
>> theta_A is the azimuth angleof the real sources.
>> S_l and S_r, are the strengths of the signals applied
>> to the left and right loudspeakers, respectively.
>> 
>> This we call the “stereophonic law of sines,” and it
>> shows that through appropriate distribution of in-phase
>> signals to the loudspeakers, the position of the virtual
>> image for the centrally placed observer may be adjusted
>> anywhere relative to the loudspeaker.
>> 
>> End of quote.
>> 
>> The angles are "half-angles" relative to the listeners nose, i.e., for 
>> loudspeakers at +/- 30 degrees, theta_A = 30 degrees.
>> 
>> This four-page paper is recommended reading for everyone. 8^)
>> 
>> This panning law agrees exactly with the panning described by HRTF methods 
>> at the low frequency limit (and only there).
>> 
>> Jerry
>> 
>> 
>> On Feb 7, 2012, at 11:10 PM, Ross Bencina wrote:
>> 
>>> Thanks for the responses,
>>> 
>>> Seems like I may have asked the wrong question.
>>> 
>>> Ralph Glasgal wrote:
 There is no valid psychoacoustic method to accomplish this and so
 there can be no valid pan laws to accomplish this.
>>> 
>>> In this instance I'm not really concerned with psychoacoustics. What I need 
>>> is something that gives a sensible result under the assumption that I want 
>>> to send some anti-phase in the opposite speaker. "Sensible" could be 
>>> defined as "perceptually smooth", or "energy smooth".
>>> 
>>> Ambisonics uses anti-phase panning. What if we assume that the speakers are 
>>> on either side of the head. Does that give a valid physical basis for 
>>> stereo anti-phase panning?
>>> 
>>> As I already said, I realise that it's a somewhat dubious idea -- I'm not 
>>> looking for criticisms of that. I'm working on a simple extension of an 
>>> existing effect algorithm (a somewhat well known stereo chorus) that uses 
>>> this inverse phase business to "pan" the chorused voices -- and I want to 
>>> limit my algorithm to that.
>>> 
>>> What I'm aiming to achieve is one slider that can pan each voice between 
>>> from left to right, and also smoothly cross into dubious "beyond the 
>>> speakerness" by sending inverse phase to the opposite speaker. It could be 
>>> as simple as ramping up the inverse phase signal but I thought it might be 
>>> possible to formulate something that has some kind of basis in stereo 
>>> panning law theory -- not necessarily concerning spatial perception but at 
>>> least concerning perceived signal energy.
>>> 
>>> 
>>> To get really concrete: at the moment I have two sliders (one for left 
>>> level and one for right level) and two checkboxes for inverting the phase 
>>> of each side. This is a most unsatisfactory user interface. I need to get 
>>> to the point of having a single "pan" or "width" slider.
>>> 
>>> 
>>> Tom's response comes closest:
>>> 
>>> On 8/02/2012 12:17 AM, Tom O'Hara wrote:
 L = ((1+w)L + (1-w)R)/2
 R = ((1+w)R + (1-w)L)/2
 
 0<=w<=2
 
 0 = mono
 1 = normal
 2 = full wide
>>> 
>>> 
>>> But it is a stereo image processing formula not a panning formula, and it 
>>> uses linear ramps (amplitude sums to unity for left and right) so doesn't 
>>> appear to follow the usual power laws associated with stereo panning.
>>> 
>>> I could use a regular panning law for between the speakers and use Tom's 
>>> linear constant-amplitude extension for beyond the speakers, but somehow 
>>> increasing the amplitude of the the in-phase speaker to give a unity 
>>> amplitude sum with the anti-phase speaker doesn't seem right. If anything I 
>>> would think 

Re: [music-dsp] stereo-wide pan law?

2012-02-09 Thread Emanuel Landeholm
On Thu, Feb 9, 2012 at 6:21 AM, Sampo Syreeni  wrote:
> On 2012-02-08, Emanuel Landeholm wrote:
>
>>> simple complex rotation
>>
>>
>> Wait... What did I just write? o_O
>
>
> You thought it just right. You were just working in the Fourier domain,
> weren't you? ;)

I was just reacting to the oxymoronic juxtaposition of two blatant
opposites. And no.. I wasn't thinking in the Fourier domain. It's a
complex rotation in time domain analytic signal. Pseudo notation: [ L
R ] ^ T = [[ complex rotation plus phase offset ]] HilbertTransform{ x
} ^ T
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-09 Thread Ralph Glasgal
Ross, There is an .amh file that allows you to do what you want rather
easily.  Go to ambiophonics.org/PCMac.html and scroll down, way down, to see
the contraptions used and how to set their controls to get what you want.
The key element is your ping pong gizmo.  Basically you feed in say a left
only signal and you get out a left and right signal pair that when played
through two speakers in front separated by 60 degrees, or hopefully less,
will produce an image at the far side well beyond the speakers.  If it comes
out too far to the side then feed the same signal attenuated by say 8 dB to
the right input and see if this produces the angle you want and so on.  If
you want motion you can get if smoothly from far left to far right just by
using an input balance control after your soundinput contraption.

It does work more reliably if you can move the monitors closer together, but
you don't seem to want the absolute ultimate  in this sort of thing.

This method of pan potting is recursive and so does not have the side
effects of a onetime polarity reversal.  Remember that in some of the
methods proposed so far in this thread, the out of polarity signal is loud
enough to reach the wrong ear with little attenuation and this dilutes the
wide image effect and makes it unstable.  You may remember when Robin Miller
contacted you about doing this years ago.

Ambisonics was mentioned in an earlier post.  Ambiophonics has nothing to do
with Ambisonics (or Wavefield Synthesis) except that they are both what I
term "loudspeaker binaural" paradigms.  Ambiophonics has the advantage over
these others in that it only requires two speakers for a full width front
stage and can play any 2.0 data file including the existing library of LPs
and CDs.  4 speakers gets you a full circle of direct sound.  You should all
hear Avatar this way.

Ralph Glasgal

--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-09 Thread Scott Nordlund

> Ross Bencina wrote:
>
> In this instance I'm not really concerned with psychoacoustics. What I
> need is something that gives a sensible result under the assumption that
> I want to send some anti-phase in the opposite speaker. "Sensible" could
> be defined as "perceptually smooth", or "energy smooth".
>
> As I already said, I realise that it's a somewhat dubious idea -- I'm
> not looking for criticisms of that. I'm working on a simple extension of
> an existing effect algorithm (a somewhat well known stereo chorus) that
> uses this inverse phase business to "pan" the chorused voices -- and I
> want to limit my algorithm to that.
 I know a lot of sophisticated ideas have been suggested already, but if you 
just use a first order all pass filter and smoothly adjust the coefficient 
between -1 and 1, you can smoothly interpolate between an inverted and non 
inverted signal (with a 1 sample delay in the middle). If your goal is just to 
"do something interesting", that might get you somewhere.   

--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-09 Thread Ross Bencina



On 9/02/2012 11:02 AM, Jerry wrote:

(Good grief, people.) You want the *very famous* Bauer's Law of Sines:

Benjamin B. Bauer, Phasor Analysis of Some Stereophonic Phenomena, IRE 
Transactions on Audio, January-February, 1962.

This panning law is mentioned in many introductory books on stereo theory.

Here it is, quoting from the paper:

Sin theta_I   (S_l - S_r)
--- = ---
Sin theta_A   (S_l + S_r)

where

theta_I is the azimuth angle of the virtual image, and
theta_A is the azimuth angleof the real sources.
S_l and S_r, are the strengths of the signals applied
to the left and right loudspeakers, respectively.

This we call the “stereophonic law of sines,” and it
shows that through appropriate distribution of in-phase
signals to the loudspeakers, the position of the virtual
image for the centrally placed observer may be adjusted
anywhere relative to the loudspeaker.

End of quote.

The angles are "half-angles" relative to the listeners nose, i.e., for 
loudspeakers at +/- 30 degrees, theta_A = 30 degrees.

This four-page paper is recommended reading for everyone. 8^)

This panning law agrees exactly with the panning described by HRTF methods at 
the low frequency limit (and only there).



Just wanted to write again and say thanks for this Jerry. It is indeed 
what I was looking for.


Solving for S_l^2 + S_r^2 = 1 it seems to work very well for my needs. 
It doesn't suffer from the dip in level in the middle which Olli's 
previous solution did.


For my case I set the speaker angle very narrow (7.5 degrees) so that I 
can get extreme-antiphase gain out of the equations. Then I warped 
theta_I by ^4 so that 50% of my panning range pans between the speakers 
and the outer 25% on each end of the panning range moves into the 
with-antiphase region.


Thanks for everyone elses comments. Clearly there's plenty of scope to 
go beyond this.


Best wishes,

Ross.





--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-10 Thread Olli Niemitalo
On Fri, Feb 10, 2012 at 8:48 AM, Ross Bencina
 wrote:
>
> On 9/02/2012 11:02 AM, Jerry wrote:
>>
>> (Good grief, people.) You want the *very famous* Bauer's Law of Sines:
...
>> Sin theta_I   (S_l - S_r)
>> --- = ---
>> Sin theta_A   (S_l + S_r)
>
> Solving for S_l^2 + S_r^2 = 1 it seems to work very well for my needs. It
> doesn't suffer from the dip in level in the middle which Olli's previous
> solution did.
>
> For my case I set the speaker angle very narrow (7.5 degrees) so that I can
> get extreme-antiphase gain out of the equations.

Got something like this?

  S_r = (0.7071 sin(theta_I) + 0.09230) / sqrt(sin(theta_I)^2 + 0.01703)

I wonder about the very narrow speaker angle. For a mono input signal,
the normalization S_l^2 + S_r^2 = 1 would work perfectly for a speaker
angle theta_A = 45 degrees. Bauer gives for a speaker angle theta_A =
45 degrees a maximum negative ratio between S_l and S_r as 0.17. Maybe
this is too little for your purposes, so it is a good idea to put the
speakers closer together. But for arbitrary values of theta_A, a
correct normalization for a mono input signal is defined in terms of
the length of the sum vector as

  sqrt((S_l + S_r*cos(2*theta_A))^2 + (S_r*sin(2*theta_A))^2) = 1
  ==> (S_l + S_r*cos(2*theta_A))^2 + (S_r*sin(2*theta_A))^2 = 1
  ==> 2*S_l*S_r*cos(2*theta_A) + S_l^2 + S_r^2 = 1
  ==> S_l = sqrt(1 - S_r^2*sin(2*theta_A)^2) - r*cos(2*theta_A).

An equilateral triangle between the speakers and the listener is often
recommended for stereo listening, meaning theta_A = 30 degrees. In
this configuration, Bauer says, you can get a negative ratio between
S_l and S_r of up to 1/3, about the same what you currently use at
most, -0.313. Doing the normalization according to the equilateral
triangle speaker-head-speaker configuration theta_A = 30 and applying
Bayer's law of sines, this is what gets spit out:

  S_r = (1 - 2*sin(theta_I)) / sqrt(4*sin(theta_I)^2 + 3)

There is a slight dip (S_r = S_i = 0.577) in the middle, but it's not
an effective dip with that speaker configuration. Also the loudness of
the in-phase speaker increases beyond unity going past the point
theta_I = +-theta_A. Another justification for the S_l^2 + S_r^2 = 1
normalization might be that left and right inputs are independent, but
that cannot be the because the theory here is based on mono input and
in-phase or opposite polarity speaker output. Anyhow, if the dip or
the excess loudness puts you off, there's still the case theta_A = 45
degrees to explore. What it yields is

  S_r = (sqrt(1/2) - sin(theta_I)) / sqrt(2*sin(theta_I)^2 + 1.

No dip and it behaves nicely: The in-phase speaker loudness peaks at
theta_I = +-theta_A. But as said, you don't get very large opposite
polarity values out of it.

-olli
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-10 Thread Jerry

On Feb 9, 2012, at 11:48 PM, Ross Bencina wrote:

> 
> 
> On 9/02/2012 11:02 AM, Jerry wrote:
>> (Good grief, people.) You want the *very famous* Bauer's Law of Sines:
>> 
>> Benjamin B. Bauer, Phasor Analysis of Some Stereophonic Phenomena, IRE 
>> Transactions on Audio, January-February, 1962.
>> 
>> This panning law is mentioned in many introductory books on stereo theory.
>> 
>> Here it is, quoting from the paper:
>> 
>> Sin theta_I   (S_l - S_r)
>> --- = ---
>> Sin theta_A   (S_l + S_r)
>> 
>> where
>> 
>> theta_I is the azimuth angle of the virtual image, and
>> theta_A is the azimuth angleof the real sources.
>> S_l and S_r, are the strengths of the signals applied
>> to the left and right loudspeakers, respectively.
>> 
>> This we call the “stereophonic law of sines,” and it
>> shows that through appropriate distribution of in-phase
>> signals to the loudspeakers, the position of the virtual
>> image for the centrally placed observer may be adjusted
>> anywhere relative to the loudspeaker.
>> 
>> End of quote.
>> 
>> The angles are "half-angles" relative to the listeners nose, i.e., for 
>> loudspeakers at +/- 30 degrees, theta_A = 30 degrees.
>> 
>> This four-page paper is recommended reading for everyone. 8^)
>> 
>> This panning law agrees exactly with the panning described by HRTF methods 
>> at the low frequency limit (and only there).
> 
> 
> Just wanted to write again and say thanks for this Jerry. It is indeed what I 
> was looking for.
> 
> Solving for S_l^2 + S_r^2 = 1 it seems to work very well for my needs. It 
> doesn't suffer from the dip in level in the middle which Olli's previous 
> solution did.
> 
> For my case I set the speaker angle very narrow (7.5 degrees) so that I can 
> get extreme-antiphase gain out of the equations. Then I warped theta_I by ^4 
> so that 50% of my panning range pans between the speakers and the outer 25% 
> on each end of the panning range moves into the with-antiphase region.
> 
> Thanks for everyone elses comments. Clearly there's plenty of scope to go 
> beyond this.
> 
> Best wishes,
> 
> Ross.

Glad to help. With your set-up, if you try to put a loud low frequency signal 
well outside the loudspeaker array, you will notice that your speakers and/or 
amplifiers will have melted. To the extent that sin(theta_A) = theta_A 
(small-angle approximation), for every halving that you reduce the loudspeaker 
spacing, there is a doubling of low frequency amplitude requirements for images 
at 90 degrees. There is a cure for this--let me know if this situation bites 
you. (Also, for every halving of loudspeaker angle, there is an octave added to 
the frequency range over which the widening works.)

Jerry
> 
> 
> 
> 
> 
> --
> dupswapdrop -- the music-dsp mailing list and website:
> subscription info, FAQ, source code archive, list archive, book reviews, dsp 
> links
> http://music.columbia.edu/cmc/music-dsp
> http://music.columbia.edu/mailman/listinfo/music-dsp

--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-11 Thread Ross Bencina



On 11/02/2012 2:27 PM, Jerry wrote:

Glad to help. With your set-up, if you try to put a loud low frequency signal 
well outside the loudspeaker array, you will notice that your speakers and/or 
amplifiers will have melted. To the extent that sin(theta_A) = theta_A 
(small-angle approximation), for every halving that you reduce the loudspeaker 
spacing, there is a doubling of low frequency amplitude requirements for images 
at 90 degrees. There is a cure for this--let me know if this situation bites 
you. (Also, for every halving of loudspeaker angle, there is an octave added to 
the frequency range over which the widening works.)


Hi Jerry,

I'm not sure I follow you here.

I'm not using ITD, only amplitude (a sum of in-phase and 180-degree 
phase signals). I don't see how this can impact the frequency response. 
Can you give me a clue?


Thanks

Ross.
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-13 Thread Sampo Syreeni

On 2012-02-09, Emanuel Landeholm wrote:

I was just reacting to the oxymoronic juxtaposition of two blatant 
opposites. And no.. I wasn't thinking in the Fourier domain. It's a 
complex rotation in time domain analytic signal.


That is then equivalent to a *very* narrow band complex multiplication 
in the Fourier domain (by how the usual complex-differential operator 
translates into it; take it in the tempered distribution sense as well, 
since that seems to work the best for DSP in my mind).



Pseudo notation: [ L R ] ^ T = [[ complex rotation plus phase offset 
]] HilbertTransform{ x } ^ T


You just took a Hilbert transform. In full generality that is the 
prototypical singular integral operator which most surely takes you to 
the realm of the dual, and the Fourier/Laplace. ;)

--
Sampo Syreeni, aka decoy - de...@iki.fi, http://decoy.iki.fi/front
+358-50-5756111, 025E D175 ABE5 027C 9494 EEB0 E090 8BA9 0509 85C2
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-13 Thread Emanuel Landeholm
On Tue, Feb 14, 2012 at 12:11 AM, Sampo Syreeni  wrote:
> On 2012-02-09, Emanuel Landeholm wrote:
>
>> I was just reacting to the oxymoronic juxtaposition of two blatant
>> opposites. And no.. I wasn't thinking in the Fourier domain. It's a complex
>> rotation in time domain analytic signal.
>
>
> That is then equivalent to a *very* narrow band complex multiplication in
> the Fourier domain (by how the usual complex-differential operator
> translates into it; take it in the tempered distribution sense as well,
> since that seems to work the best for DSP in my mind).

Sorry, the grey stuff fails me here... Just how is a time domain
complex multiplication equivalent to a frequency domain ditto? In the
dual we are doing convolution, no? Or are you saying that narrow band
convolution is asymptotically a multiplication? Help me out here, I'm
all out of coffee.

>> Pseudo notation: [ L R ] ^ T = [[ complex rotation plus phase offset ]]
>> HilbertTransform{ x } ^ T
>
>
> You just took a Hilbert transform. In full generality that is the
> prototypical singular integral operator which most surely takes you to the
> realm of the dual, and the Fourier/Laplace. ;)

Hey, don't let "transform" deceive you! The HT is domain preserving.
It even says so on the glorified wikiopedia page.

quoth WP:

"In mathematics and in signal processing, the Hilbert transform is a
linear operator which takes a function, u(t), and produces a function,
H(u(t)), with the same domain."

cheers,
Emanuel
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-14 Thread Emanuel Landeholm
Mr Syreeni, this is like the worst cliff hanger for me. Please sort
this out asap!

On Tue, Feb 14, 2012 at 2:24 AM, Emanuel Landeholm
 wrote:
> On Tue, Feb 14, 2012 at 12:11 AM, Sampo Syreeni  wrote:
>> On 2012-02-09, Emanuel Landeholm wrote:
>>
>>> I was just reacting to the oxymoronic juxtaposition of two blatant
>>> opposites. And no.. I wasn't thinking in the Fourier domain. It's a complex
>>> rotation in time domain analytic signal.
>>
>>
>> That is then equivalent to a *very* narrow band complex multiplication in
>> the Fourier domain (by how the usual complex-differential operator
>> translates into it; take it in the tempered distribution sense as well,
>> since that seems to work the best for DSP in my mind).
>
> Sorry, the grey stuff fails me here... Just how is a time domain
> complex multiplication equivalent to a frequency domain ditto? In the
> dual we are doing convolution, no? Or are you saying that narrow band
> convolution is asymptotically a multiplication? Help me out here, I'm
> all out of coffee.
>
>>> Pseudo notation: [ L R ] ^ T = [[ complex rotation plus phase offset ]]
>>> HilbertTransform{ x } ^ T
>>
>>
>> You just took a Hilbert transform. In full generality that is the
>> prototypical singular integral operator which most surely takes you to the
>> realm of the dual, and the Fourier/Laplace. ;)
>
> Hey, don't let "transform" deceive you! The HT is domain preserving.
> It even says so on the glorified wikiopedia page.
>
> quoth WP:
>
> "In mathematics and in signal processing, the Hilbert transform is a
> linear operator which takes a function, u(t), and produces a function,
> H(u(t)), with the same domain."
>
> cheers,
> Emanuel
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


Re: [music-dsp] stereo-wide pan law?

2012-02-20 Thread Jerry

On Feb 11, 2012, at 1:00 AM, Ross Bencina wrote:

> 
> 
> On 11/02/2012 2:27 PM, Jerry wrote:
>> Glad to help. With your set-up, if you try to put a loud low frequency 
>> signal well outside the loudspeaker array, you will notice that your 
>> speakers and/or amplifiers will have melted. To the extent that sin(theta_A) 
>> = theta_A (small-angle approximation), for every halving that you reduce the 
>> loudspeaker spacing, there is a doubling of low frequency amplitude 
>> requirements for images at 90 degrees. There is a cure for this--let me know 
>> if this situation bites you. (Also, for every halving of loudspeaker angle, 
>> there is an octave added to the frequency range over which the widening 
>> works.)
> 
> Hi Jerry,
> 
> I'm not sure I follow you here.
> 
> I'm not using ITD, only amplitude (a sum of in-phase and 180-degree phase 
> signals). I don't see how this can impact the frequency response. Can you 
> give me a clue?
> 
> Thanks
> 
> Ross.

Sure I can give you a clue. (And sorry for the retarded response. ;-)

Here's an answer for your ITD question, although it doesn't seem related to the 
problem at hand.

You _are_ using ITD (Interaural Time Difference). Don't confuse loudspeaker 
time difference with ITD. Any sound which seems to be at any angle but 0 or 180 
degrees has a non-zero ITD and you've just told me that Bauer is working, so 
therefore

Let's constrain our thinking to low frequencies, where the interaural spacing 
is much less than a wavelength. (The ear spacing is equal to a wavelength at 
approximately 1 KHz.) With this assumption, we can ignore the head as such and 
consider only the ear locations as points. If the acoustical spacing of the 
ears is D and we use the same notation as we used for Bauer's Law of Sines 
(which has been deleted at this point), then with c the speed of sound, the 
ITD, using the left ear as the phase reference, is

  (S_l - S_r)   D * sin(theta_A)
ITD = --- * 
  (S_l + S_r)  c

I just derived this from scratch (I'm sure its been published somewhere). I 
don't think I've made a mistake because it is easy to show that when using the 
Bauer relation the ITD is the same as for a real sound emanating from theta_I.

But I'm not sure why you ask about ITD. Your better question is about frequency 
response. For the moment, retain the low frequency scenario. Then the sound 
from one speaker will be delayed relative to the other speaker causing a severe 
comb filter as a function of frequency. This happens at both ears. If we look 
at what happens at higher frequencies (and with an actual head in place), the 
frequency dependence is all over the place, varying by easily 15-20 dB 
depending on the setting of your pan pot, relative to a real sound source at 
the angle that you have panned to. Amplitude panners fall apart in this respect 
above about 600 Hz. To fix this problem, one must use HRTF-based panners. 
Alternately, I am told that mixing people sometimes dial in an ad hoc EQ which 
can ameliorate the problem.

However, this still doesn't (quite) get to what I think you want to ask about, 
which is why the increased amplitude requirements when panning a low frequency 
sound far to the side. Consider that the speakers are acoustically close 
together, as they are at low frequencies. To make the phantom image far to the 
side, you are instructing the woofer cones to move in opposite directions at 
all times. (Look at the panning law.) Sources operating in these conditions are 
nearly cancelling each other out, with first one cone pushing air out while at 
the same time the other is sucking it in. Only a little bit of the sound 
actually radiates outwards. This is all in a valiant effort to make the air in 
the vicinity of your head wiggle left-and-right. The closer the speakers, the 
more cancellation. Looked at this way, it all makes sense, doesn't it?

HTH,
Jerry
--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews, dsp 
links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp