[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
Re: [music-dsp] stereo-wide pan law?
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?
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?
"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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
> 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?
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?
> 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?
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?
(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?
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?
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?
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?
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?
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?
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?
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?
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?
> 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?
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?
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?
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?
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?
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?
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?
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?
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