equal-power panning

carmenizor's icon

Hi,
I'm trying to figure out a way to do equal-power panning without MIDI (I notice that the tutorials are in MIDI). I have tried to use table to create a sine and cosine as I tried cycle~ and it is using up too much CPU and causing my software to glitch. I have yet to get the table object to work. I have about 48 different number streams coming in from my hardware device and the CPU for my total patch is 95%! Is there an good place to find an equal-power pan that doesn't require cycle~? Or does anyone have any ideas about how to efficiently perform equal-power panning? Any help would be most appreciated. I have included the subpatch that I am working on.

Carmen

Max Patch
Copy patch and select New From Clipboard in Max.

Steven Miller's icon

Did you look inside the abstractions pan2.pat, pan2s.pat and pan4S.pat, as well as their associated help files? Should be some good ideas for you in there. They're in the examples/spatialization/panning directory.

kjg's icon

Quote: carmenizor wrote on Thu, 24 April 2008 03:37
----------------------------------------------------
> Hi,
> I'm trying to figure out a way to do equal-power panning without MIDI (I notice that the tutorials are in MIDI). I have tried to use table to create a sine and cosine as I tried cycle~ and it is using up too much CPU and causing my software to glitch. I have yet to get the table object to work. I have about 48 different number streams coming in from my hardware device and the CPU for my total patch is 95%! Is there an good place to find an equal-power pan that doesn't require cycle~? Or does anyone have any ideas about how to efficiently perform equal-power panning? Any help would be most appreciated. I have included the subpatch that I am working on.

hello,

in this patch you'll find three different ways of panning. two equal power and one equal amplitude. it outputs values between 0 and 1 that you can use to control the amplitude of the left and right signals. you might want to smooth things a little bit using a line~ or you can just use sig~ to convert the floats to signals.

if efficiency is an issue, a lookup might be preferable over running the math on the fly. in that case you could use for example table or coll. look at the help files for these objects.

i normally use the external cppan~ by Nathan Wolek. it just works and it's efficient because it uses a lookup table.

hope this helps.

regards,
kjg

Max Patch
Copy patch and select New From Clipboard in Max.

kjg's icon
dodgeroo's icon

yes, using a lookup table is the way to go and if you use a waveform
loaded into the buffer as opposed to the table object it will be
smoother and avoid clicks at high speed.

the quick and dirty was is to connect some line objects to gain~ objects :)

cheers,

Carey

On 4/25/08, Klaas-Jan Govaart wrote:
>
> to illustrate:
> http://www.csounds.com/ezine/autumn1999/beginners/graph1.gif
>

carmenizor's icon

Thanks everyone for your help! I was able to get my patch up and running. :) (I appreciate the patch kjg, it was very informative

cheers,
Carmen