59 lines
1.6 KiB
Racket
59 lines
1.6 KiB
Racket
#lang scribble/manual
|
|
@(require (for-label racket))
|
|
|
|
@title{Balance2}
|
|
Stereo signal balancer@section{related}
|
|
Classes/LinPan2, Classes/Pan2, Classes/Pan4, Classes/PanAz
|
|
@section{categories}
|
|
UGens>Multichannel>Panners
|
|
|
|
|
|
@section{description}
|
|
|
|
|
|
Equal power panning balances two channels. By panning from left (pos=-1) to right (pos=1) you are decrementing the level of the left channel from 1 to 0 taking the square root of the linear scaling factor, while at the same time incrementing the level of the right channel from 0 to 1 using the same curve. In the center position (pos=0) this results in a level for both channels of 0.5.sqrt (~=0.707 or -3dB). The output of Balance2 remains a stereo signal.
|
|
|
|
@section{classmethods}
|
|
|
|
@section{private}
|
|
categories
|
|
|
|
@section{method}
|
|
ar, kr
|
|
|
|
@section{argument}
|
|
left
|
|
channel 1 of input stereo signal
|
|
|
|
@section{argument}
|
|
right
|
|
channel 2 of input stereo signal
|
|
|
|
@section{argument}
|
|
pos
|
|
pan position, -1 is left, +1 is right
|
|
|
|
@section{argument}
|
|
level
|
|
a control rate level input.
|
|
|
|
@section{Examples}
|
|
|
|
|
|
@racketblock[
|
|
// a stereo signal, both channels at 0dB
|
|
{[SinOsc.ar(440), SinOsc.ar(440)]}.play
|
|
|
|
// using Balance on a stereo signal with the position parameter at 0, effectively the same sound but both channels at -3dB
|
|
{Balance2.ar(SinOsc.ar(440), SinOsc.ar(440), 0)}.play
|
|
|
|
// pan sweep from left to right
|
|
{Balance2.ar(SinOsc.ar(440), SinOsc.ar(1000), Line.kr(-1,1,5))}.play
|
|
|
|
// other examples
|
|
{Balance2.ar(LFSaw.ar(44),Pulse.ar(33),FSinOsc.kr(0.5), 0.1) }.play;
|
|
{var source; source= SinOsc.ar([440,550]); Balance2.ar(source[0],source[1],LFNoise0.kr(4),0.3) }.play;
|
|
::
|
|
]
|
|
|
|
|