File: Balance2.schelp

package info (click to toggle)
supercollider 1%3A3.13.0%2Brepack-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 80,292 kB
  • sloc: cpp: 476,363; lisp: 84,680; ansic: 77,685; sh: 25,509; python: 7,909; makefile: 3,440; perl: 1,964; javascript: 974; xml: 826; java: 677; yacc: 314; lex: 175; objc: 152; ruby: 136
file content (42 lines) | stat: -rw-r--r-- 1,460 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class:: Balance2
summary:: Stereo signal balancer
related:: Classes/LinPan2, Classes/Pan2, Classes/Pan4, Classes/PanAz
categories::  UGens>Multichannel>Panners


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.

classmethods::
private:: categories

method::ar, kr

argument::left
channel 1 of input stereo signal

argument::right
channel 2 of input stereo signal

argument::pos
pan position, -1 is left, +1 is right

argument::level
a control rate level input.

Examples::
code::
// 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;
::