panner mode comparison ?


    Jan 18 2007 | 12:23 am
    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.

    • Jan 18 2007 | 8:14 pm
      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*
    • Jan 19 2007 | 1:26 am
      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.
    • Jan 19 2007 | 2:51 pm
      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
    • Jan 19 2007 | 3:23 pm
      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
    • Jan 19 2007 | 3:26 pm
      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,