panning

class Balance2(calculation_rate=None, left=None, right=None, position=0.0, level=1.0, **kwargs)

Bases: UGen

A stereo signal balancer.

>>> left = supriya.ugens.WhiteNoise.ar()
>>> right = supriya.ugens.SinOsc.ar()
>>> balance_2 = supriya.ugens.Balance2.ar(
...     left=left,
...     level=1,
...     position=0,
...     right=right,
... )
>>> balance_2
UGenArray({2})
classmethod ar(left: SupportsFloat | UGenMethodMixin | None = None, right: SupportsFloat | UGenMethodMixin | None = None, position: SupportsFloat | UGenMethodMixin = 0.0, level: SupportsFloat | UGenMethodMixin = 1.0) Balance2
classmethod kr(left: SupportsFloat | UGenMethodMixin | None = None, right: SupportsFloat | UGenMethodMixin | None = None, position: SupportsFloat | UGenMethodMixin = 0.0, level: SupportsFloat | UGenMethodMixin = 1.0) Balance2
property left : SupportsFloat | UGenMethodMixin
property level : SupportsFloat | UGenMethodMixin
property position : SupportsFloat | UGenMethodMixin
property right : SupportsFloat | UGenMethodMixin
class BiPanB2(calculation_rate=None, in_a=None, in_b=None, azimuth=None, gain=1.0, **kwargs)

Bases: UGen

A 2D ambisonic b-format panner.

>>> in_a = supriya.ugens.SinOsc.ar()
>>> in_b = supriya.ugens.WhiteNoise.ar()
>>> bi_pan_b_2 = supriya.ugens.BiPanB2.ar(
...     azimuth=-0.5,
...     gain=1,
...     in_a=in_a,
...     in_b=in_b,
... )
>>> bi_pan_b_2
UGenArray({3})
>>> w, x, y = bi_pan_b_2
classmethod ar(in_a: SupportsFloat | UGenMethodMixin | None = None, in_b: SupportsFloat | UGenMethodMixin | None = None, azimuth: SupportsFloat | UGenMethodMixin | None = None, gain: SupportsFloat | UGenMethodMixin = 1.0) BiPanB2
classmethod kr(in_a: SupportsFloat | UGenMethodMixin | None = None, in_b: SupportsFloat | UGenMethodMixin | None = None, azimuth: SupportsFloat | UGenMethodMixin | None = None, gain: SupportsFloat | UGenMethodMixin = 1.0) BiPanB2
property azimuth : SupportsFloat | UGenMethodMixin
property gain : SupportsFloat | UGenMethodMixin
property in_a : SupportsFloat | UGenMethodMixin
property in_b : SupportsFloat | UGenMethodMixin
class DecodeB2(calculation_rate=None, channel_count=4, w=None, x=None, y=None, orientation=0.5, **kwargs)

Bases: UGen

A 2D Ambisonic B-format decoder.

>>> source = supriya.ugens.PinkNoise.ar()
>>> w, x, y = supriya.ugens.PanB2.ar(
...     source=source,
...     azimuth=supriya.ugens.SinOsc.kr(),
... )
>>> decode_b_2 = supriya.ugens.DecodeB2.ar(
...     channel_count=4,
...     orientation=0.5,
...     w=w,
...     x=x,
...     y=y,
... )
>>> decode_b_2
UGenArray({4})
classmethod ar(w: SupportsFloat | UGenMethodMixin | None = None, x: SupportsFloat | UGenMethodMixin | None = None, y: SupportsFloat | UGenMethodMixin | None = None, orientation: SupportsFloat | UGenMethodMixin = 0.5, channel_count: int = 4) DecodeB2
classmethod kr(w: SupportsFloat | UGenMethodMixin | None = None, x: SupportsFloat | UGenMethodMixin | None = None, y: SupportsFloat | UGenMethodMixin | None = None, orientation: SupportsFloat | UGenMethodMixin = 0.5, channel_count: int = 4) DecodeB2
property orientation : SupportsFloat | UGenMethodMixin
property w : SupportsFloat | UGenMethodMixin
property x : SupportsFloat | UGenMethodMixin
property y : SupportsFloat | UGenMethodMixin
class Pan2(calculation_rate=None, source=None, position=0.0, level=1.0, **kwargs)

Bases: UGen

A two channel equal power panner.

>>> source = supriya.ugens.WhiteNoise.ar()
>>> pan_2 = supriya.ugens.Pan2.ar(
...     source=source,
... )
>>> pan_2
UGenArray({2})
classmethod ar(source: SupportsFloat | UGenMethodMixin | None = None, position: SupportsFloat | UGenMethodMixin = 0.0, level: SupportsFloat | UGenMethodMixin = 1.0) Pan2
classmethod kr(source: SupportsFloat | UGenMethodMixin | None = None, position: SupportsFloat | UGenMethodMixin = 0.0, level: SupportsFloat | UGenMethodMixin = 1.0) Pan2
property level : SupportsFloat | UGenMethodMixin
property position : SupportsFloat | UGenMethodMixin
property source : SupportsFloat | UGenMethodMixin
class Pan4(calculation_rate=None, source=None, x_position=0, y_position=0, gain=1, **kwargs)

Bases: UGen

A four-channel equal-power panner.

>>> source = supriya.ugens.In.ar(bus=0)
>>> pan_4 = supriya.ugens.Pan4.ar(
...     gain=1,
...     source=source,
...     x_position=0,
...     y_position=0,
... )
>>> pan_4
UGenArray({4})
classmethod ar(source: SupportsFloat | UGenMethodMixin | None = None, x_position: SupportsFloat | UGenMethodMixin = 0, y_position: SupportsFloat | UGenMethodMixin = 0, gain: SupportsFloat | UGenMethodMixin = 1) Pan4
classmethod kr(source: SupportsFloat | UGenMethodMixin | None = None, x_position: SupportsFloat | UGenMethodMixin = 0, y_position: SupportsFloat | UGenMethodMixin = 0, gain: SupportsFloat | UGenMethodMixin = 1) Pan4
property gain : SupportsFloat | UGenMethodMixin
property source : SupportsFloat | UGenMethodMixin
property x_position : SupportsFloat | UGenMethodMixin
property y_position : SupportsFloat | UGenMethodMixin
class PanAz(calculation_rate=None, channel_count=1, source=None, position=0, amplitude=1, width=2, orientation=0.5, **kwargs)

Bases: UGen

A multi-channel equal-power panner.

>>> source = supriya.ugens.In.ar(bus=0)
>>> pan_az = supriya.ugens.PanAz.ar(
...     channel_count=8,
...     amplitude=1,
...     orientation=0.5,
...     position=0,
...     source=source,
...     width=2,
... )
>>> pan_az
UGenArray({8})
classmethod ar(source: SupportsFloat | UGenMethodMixin | None = None, position: SupportsFloat | UGenMethodMixin = 0, amplitude: SupportsFloat | UGenMethodMixin = 1, width: SupportsFloat | UGenMethodMixin = 2, orientation: SupportsFloat | UGenMethodMixin = 0.5, channel_count: int = 1) PanAz
classmethod kr(source: SupportsFloat | UGenMethodMixin | None = None, position: SupportsFloat | UGenMethodMixin = 0, amplitude: SupportsFloat | UGenMethodMixin = 1, width: SupportsFloat | UGenMethodMixin = 2, orientation: SupportsFloat | UGenMethodMixin = 0.5, channel_count: int = 1) PanAz
property amplitude : SupportsFloat | UGenMethodMixin
property orientation : SupportsFloat | UGenMethodMixin
property position : SupportsFloat | UGenMethodMixin
property source : SupportsFloat | UGenMethodMixin
property width : SupportsFloat | UGenMethodMixin
class PanB(calculation_rate=None, source=None, azimuth=0, elevation=0, gain=1, **kwargs)

Bases: UGen

A 3D ambisonic b-format panner.

>>> source = supriya.ugens.In.ar(bus=0)
>>> pan_b = supriya.ugens.PanB.ar(
...     azimuth=0,
...     elevation=0,
...     gain=1,
...     source=source,
... )
>>> pan_b
UGenArray({3})
classmethod ar(source: SupportsFloat | UGenMethodMixin | None = None, azimuth: SupportsFloat | UGenMethodMixin = 0, elevation: SupportsFloat | UGenMethodMixin = 0, gain: SupportsFloat | UGenMethodMixin = 1) PanB
classmethod kr(source: SupportsFloat | UGenMethodMixin | None = None, azimuth: SupportsFloat | UGenMethodMixin = 0, elevation: SupportsFloat | UGenMethodMixin = 0, gain: SupportsFloat | UGenMethodMixin = 1) PanB
property azimuth : SupportsFloat | UGenMethodMixin
property elevation : SupportsFloat | UGenMethodMixin
property gain : SupportsFloat | UGenMethodMixin
property source : SupportsFloat | UGenMethodMixin
class PanB2(calculation_rate=None, source=None, azimuth=0, gain=1, **kwargs)

Bases: UGen

A 2D ambisonic b-format panner.

>>> source = supriya.ugens.In.ar(bus=0)
>>> pan_b_2 = supriya.ugens.PanB2.ar(
...     azimuth=0,
...     gain=1,
...     source=source,
... )
>>> pan_b_2
UGenArray({3})
classmethod ar(source: SupportsFloat | UGenMethodMixin | None = None, azimuth: SupportsFloat | UGenMethodMixin = 0, gain: SupportsFloat | UGenMethodMixin = 1) PanB2
classmethod kr(source: SupportsFloat | UGenMethodMixin | None = None, azimuth: SupportsFloat | UGenMethodMixin = 0, gain: SupportsFloat | UGenMethodMixin = 1) PanB2
property azimuth : SupportsFloat | UGenMethodMixin
property gain : SupportsFloat | UGenMethodMixin
property source : SupportsFloat | UGenMethodMixin
class Rotate2(calculation_rate=None, x=None, y=None, position=0, **kwargs)

Bases: UGen

Equal-power sound-field rotator.

>>> x = supriya.ugens.PinkNoise.ar() * 0.4
>>> y = supriya.ugens.LFTri.ar(frequency=880)
>>> y *= supriya.ugens.LFPulse.kr(frequency=3, width=0.1)
>>> position = supriya.ugens.LFSaw.kr(frequency=0.1)
>>> rotate_2 = supriya.ugens.Rotate2.ar(
...     x=x,
...     y=y,
...     position=position,
... )
>>> rotate_2
UGenArray({2})

Returns an array of the rotator’s left and right outputs.

classmethod ar(x: SupportsFloat | UGenMethodMixin | None = None, y: SupportsFloat | UGenMethodMixin | None = None, position: SupportsFloat | UGenMethodMixin = 0) Rotate2
classmethod kr(x: SupportsFloat | UGenMethodMixin | None = None, y: SupportsFloat | UGenMethodMixin | None = None, position: SupportsFloat | UGenMethodMixin = 0) Rotate2
property position : SupportsFloat | UGenMethodMixin
property x : SupportsFloat | UGenMethodMixin
property y : SupportsFloat | UGenMethodMixin
class Splay

Bases: PseudoUGen

A stereo signal spreader.

>>> source = supriya.ugens.SinOsc.ar(frequency=[333, 444, 555, 666, 777])
>>> splay = supriya.ugens.Splay.ar(source=source)
>>> splay
UGenArray({2})
>>> print(splay)
synthdef:
    name: 5683da27aaea7cc584c808fe6218b17b
    ugens:
    -   SinOsc.ar/0:
            frequency: 333.0
            phase: 0.0
    -   Pan2.ar/0:
            source: SinOsc.ar/0[0]
            position: -1.0
            level: 1.0
    -   SinOsc.ar/1:
            frequency: 444.0
            phase: 0.0
    -   Pan2.ar/1:
            source: SinOsc.ar/1[0]
            position: -0.5
            level: 1.0
    -   SinOsc.ar/2:
            frequency: 555.0
            phase: 0.0
    -   Pan2.ar/2:
            source: SinOsc.ar/2[0]
            position: 0.0
            level: 1.0
    -   SinOsc.ar/3:
            frequency: 666.0
            phase: 0.0
    -   Pan2.ar/3:
            source: SinOsc.ar/3[0]
            position: 0.5
            level: 1.0
    -   Sum4.ar/0:
            input_one: Pan2.ar/0[0]
            input_two: Pan2.ar/1[0]
            input_three: Pan2.ar/2[0]
            input_four: Pan2.ar/3[0]
    -   Sum4.ar/1:
            input_one: Pan2.ar/0[1]
            input_two: Pan2.ar/1[1]
            input_three: Pan2.ar/2[1]
            input_four: Pan2.ar/3[1]
    -   SinOsc.ar/4:
            frequency: 777.0
            phase: 0.0
    -   Pan2.ar/4:
            source: SinOsc.ar/4[0]
            position: 1.0
            level: 1.0
    -   BinaryOpUGen(ADDITION).ar/0:
            left: Sum4.ar/0[0]
            right: Pan2.ar/4[0]
    -   BinaryOpUGen(MULTIPLICATION).ar/0:
            left: BinaryOpUGen(ADDITION).ar/0[0]
            right: 0.4472135954999579
    -   BinaryOpUGen(ADDITION).ar/1:
            left: Sum4.ar/1[0]
            right: Pan2.ar/4[1]
    -   BinaryOpUGen(MULTIPLICATION).ar/1:
            left: BinaryOpUGen(ADDITION).ar/1[0]
            right: 0.4472135954999579
classmethod ar(*, center=0, level=1, normalize=True, source=None, spread=1)
classmethod kr(*, center=0, level=1, normalize=True, source=None, spread=1)
class XFade2(calculation_rate=None, in_a=None, in_b=0, pan=0, level=1, **kwargs)

Bases: UGen

Two channel equal power crossfader.

>>> xfade_3 = supriya.ugens.XFade2.ar(
...     in_a=supriya.ugens.Saw.ar(),
...     in_b=supriya.ugens.SinOsc.ar(),
...     level=1,
...     pan=supriya.ugens.LFTri.kr(frequency=0.1),
... )
>>> xfade_3
XFade2.ar()
classmethod ar(in_a: SupportsFloat | UGenMethodMixin | None = None, in_b: SupportsFloat | UGenMethodMixin = 0, pan: SupportsFloat | UGenMethodMixin = 0, level: SupportsFloat | UGenMethodMixin = 1) XFade2
classmethod kr(in_a: SupportsFloat | UGenMethodMixin | None = None, in_b: SupportsFloat | UGenMethodMixin = 0, pan: SupportsFloat | UGenMethodMixin = 0, level: SupportsFloat | UGenMethodMixin = 1) XFade2
property in_a : SupportsFloat | UGenMethodMixin
property in_b : SupportsFloat | UGenMethodMixin
property level : SupportsFloat | UGenMethodMixin
property pan : SupportsFloat | UGenMethodMixin