panner mode comparison ?
Hi,
I have read MSP tutorial about panning. I know there are three kinds of crossfade: equal-distance, linear, speaker-to-speaker.
But my teacher wrote me another one which use two cycle~ objects. The two cycle~ objects are out of phase with each other.
I know it works, but I don't know what kind of trajectory it will produce. I tried to feed the output to table to see the relationship, but it is very close to linear crossfade.
Could anyone let me know what are the real differences between the one made with two cycle~ objects and the one that is in linear mode ?
I am trying to write a documentation of the one made with two cycle~ objects but cannot find any info about it. Is it an arbitary way of doing crossfade ?
See the following codes for a comparsion. Thanks.
I looked at the code, but didn't run it to verify. The version with
[cycle~] appears to be doing constant-power panning (also referred to
as equal-distance,etc.). The other version is doing linear panning,
which results in the sound having less power (and therefor being
perceived as more distant) when in the center vs. full-left or full-
right (due to intensity resulting from sum-of-squares). There is an
MSP tutorial (#22) which discusses and demonstrates these pretty
nicely. There are also some example panning abstractions in the /
examples/panning folder in the MaxMSP folder.
On Jan 17, 2007, at 5:23 PM, Cheng Chien-Wen wrote:
>
> Hi,
> I have read MSP tutorial about panning. I know there are three
> kinds of crossfade: equal-distance, linear, speaker-to-speaker.
>
----
Steven M. Miller
Associate Professor of Contemporary Music
College of Santa Fe
Contemporary Music Program
1600 St. Michaels Drive
Santa Fe NM 87505
http://pubweb.csf.edu/~smill
(505) 473-6197
~~~~~~~~~~~~~~~~~~~~~
SFIFEM
Atrium Sound Space
OVOS
*opportunities for composers & sound artists*
Quote: smill wrote on Thu, 18 January 2007 13:14
----------------------------------------------------
> I looked at the code, but didn't run it to verify. The version with
> [cycle~] appears to be doing constant-power panning (also referred to
> as equal-distance,etc.). > > kinds of crossfade: equal-distance, linear, speaker-to-speaker.
> >
>
> ----
> Steven M. Miller
>
Thanks for the reply. But in MSP tutorial, constant-power crossfade needs to use 0.75 (or -0.25) as the phase difference between two cycle~ objects instead of completely out of phase.
I have compared them by using 0.5 as the input panning factor, and the one with two cycle~ objects competely out of phase shows 0.5 as the level for its two cycle~ obejcts, while the one in MSP tutorial with 0.75 as the phase shift shows 0.7 as the level for its two cycle~ objects. So the equal-distance crossfade patch in MSP tutorial is very different from the one I posted here.
Any ideas ? Or if there are various kinds of constant-power panning ?
Thanks for you reply. Thanks for the patch sharing.
Cheng Chien-Wen wrote:
> Any ideas ? Or if there are various kinds of constant-power panning ?
There is some discussion about what a correct curve for panning should
be. Equal power is one of them. The idea is, that if you pan the signal
to the middle, it should have the same power as if it where panned to
one speaker only. The level in the middle should then be the half of the
squareroot of 2 which is approximately 0.7. If you mix it together
you'll get 1.41... which is certainly more than your cycle~ approach
which results in the same amplitude always (the mix is always 1.0) and
sound softer if panned to the middle...
What the best curve is depends a lot also on the material you are
panning, but in general the equal power approach is best...
The cycle in the panning example has a different curve as a sine wave by
the way, which explains the different ranges...
Stefan
--
Stefan Tiedje------------x-------
--_____-----------|--------------
--(_|_ ----|-----|-----()-------
-- _|_)----|-----()--------------
----------()--------www.ccmix.com
Check out the various panners of the RTC-lib:
MSP abstractions:
* cp-pan~: constant power panner
* sqrt-pan~: square root panner
Max abstractions:
* cos-slider: transform a linear slider into a cosine function.
* panner: equal power panning based on John Chowning's paper
"Simulation of Moving Sound Sources"
Download from:
www.essl.at
Cheers,
--- Karlheinz Essl
Check out the various panners of the RTC-lib:
MSP abstractions:
* cp-pan~: constant power panner
* sqrt-pan~: square root panner
Max abstractions:
* cos-slider: transform a linear slider into a cosine function.
* panner: equal power panning based on John Chowning's paper
"Simulation of Moving Sound Sources"
Download from:
www.essl.at
Cheers,