bases

class BinaryOpUGen(calculation_rate=None, special_index=None, left=None, right=None)

Bases: UGen

A binary operator ugen, created by applying a binary operator to two ugens.

>>> left_operand = supriya.ugens.SinOsc.ar()
>>> right_operand = supriya.ugens.WhiteNoise.kr()
>>> binary_op_ugen = left_operand * right_operand
>>> binary_op_ugen
BinaryOpUGen.ar()
>>> binary_op_ugen.operator
BinaryOperator.MULTIPLICATION
property left : SupportsFloat | UGenMethodMixin
property operator

Gets operator of BinaryOpUgen.

>>> left = supriya.ugens.SinOsc.ar()
>>> right = supriya.ugens.WhiteNoise.kr()
>>> binary_op_ugen = left / right
>>> binary_op_ugen.operator
BinaryOperator.FLOAT_DIVISION

Returns binary operator.

property right : SupportsFloat | UGenMethodMixin
class Check(value)

Bases: Enum

An enumeration.

NONE = 0
SAME_AS_FIRST = 1
SAME_OR_SLOWER = 2
class MultiOutUGen(channel_count=1, **kwargs)

Bases: UGen

Abstract base class for ugens with multiple outputs.

class OutputProxy(source=None, output_index=None)

Bases: UGenMethodMixin

__iter__()
__len__()
property calculation_rate
property has_done_flag
property output_index
property signal_range
property source
class Param(default, check, unexpanded)

Bases: NamedTuple

class PseudoUGen

Bases: object

class UGen(calculation_rate=None, special_index=0, **kwargs)

Bases: UGenMethodMixin

A UGen.

__getitem__(i)

Gets output proxy at index i.

>>> ugen = supriya.ugens.SinOsc.ar()
>>> ugen[0]
SinOsc.ar()[0]

Returns output proxy.

__len__()

Gets number of ugen outputs.

Returns integer.

property calculation_rate

Gets calculation-rate of ugen.

>>> ugen = supriya.ugens.SinOsc.ar(
...     frequency=supriya.ugens.WhiteNoise.kr(),
...     phase=0.5,
... )
>>> ugen.calculation_rate
CalculationRate.AUDIO

Returns calculation-rate.

property has_done_flag
property inputs

Gets inputs of ugen.

>>> ugen = supriya.ugens.SinOsc.ar(
...     frequency=supriya.ugens.WhiteNoise.kr(),
...     phase=0.5,
... )
>>> for input_ in ugen.inputs:
...     input_
... 
WhiteNoise.kr()[0]
0.5

Returns tuple.

property is_input_ugen
property is_output_ugen
property outputs

Gets outputs of ugen.

>>> ugen = supriya.ugens.SinOsc.ar(
...     frequency=supriya.ugens.WhiteNoise.kr(),
...     phase=0.5,
... )
>>> ugen.outputs
(CalculationRate.AUDIO,)

Returns tuple.

property signal_range

Gets signal range of ugen.

>>> ugen = supriya.ugens.SinOsc.ar()
>>> ugen.signal_range
SignalRange.BIPOLAR

A bipolar signal range indicates that the ugen generates signals above and below zero.

A unipolar signal range indicates that the ugen only generates signals of 0 or greater.

Returns signal range.

property special_index

Gets special index of ugen.

>>> ugen = supriya.ugens.SinOsc.ar(
...     frequency=supriya.ugens.WhiteNoise.kr(),
...     phase=0.5,
... )
>>> ugen.special_index
0

The special index of most ugens will be 0. SuperColliders’s synth definition file format uses the special index to store the operator id for binary and unary operator ugens, and the parameter index of controls.

Returns integer.

class UGenArray(ugens)

Bases: UGenMethodMixin, Sequence

__getitem__(i)
__len__()
property signal_range
property ugens
class UGenMethodMixin

Bases: object

__abs__() UGenMethodMixin

Gets absolute value of ugen graph.

Example 1:

>>> ugen_graph = supriya.ugens.WhiteNoise.ar()
>>> result = abs(ugen_graph)
>>> result
UnaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: f21696d155a2686700992f0e9a04a79c
    ugens:
    -   WhiteNoise.ar: null
    -   UnaryOpUGen(ABSOLUTE_VALUE).ar:
            source: WhiteNoise.ar[0]

Example 2:

>>> ugen_graph = supriya.ugens.SinOsc.ar(
...     frequency=(440, 442, 443),
... )
>>> result = abs(ugen_graph)
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 1d45df2f3d33d1b0641d2c464498f6c4
    ugens:
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   UnaryOpUGen(ABSOLUTE_VALUE).ar/0:
            source: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   UnaryOpUGen(ABSOLUTE_VALUE).ar/1:
            source: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   UnaryOpUGen(ABSOLUTE_VALUE).ar/2:
            source: SinOsc.ar/2[0]

Returns ugen graph.

__add__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Adds expr to ugen graph.

Example 1:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar()
>>> result = ugen_graph + expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 6bf4339326d015532b7604cd7af9ad3b
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(ADDITION).ar:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar[0]

Example 2:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = ugen_graph + expr
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: f4a3c1ed35cc5f6fe66b70a3bc520b10
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(ADDITION).ar/0:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(ADDITION).ar/1:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(ADDITION).ar/2:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/2[0]

Example 3:

>>> ugen_graph = supriya.ugens.Dust.ar(
...     density=11.5,
... )
>>> expr = 4
>>> result = ugen_graph + expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: f79088cc154ef2b65c72a0f8de8336ce
    ugens:
    -   Dust.ar:
            density: 11.5
    -   BinaryOpUGen(ADDITION).ar:
            left: Dust.ar[0]
            right: 4.0

Returns ugen graph.

__div__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Divides ugen graph by expr.

Example 1:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar()
>>> result = ugen_graph / expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 6da024a346859242c441fe03326d2adc
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar[0]

Example 2:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = ugen_graph / expr
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: be20d589dfccb721f56da8b002d86763
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar/0:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar/1:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar/2:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/2[0]

Example 3:

>>> ugen_graph = supriya.ugens.Dust.ar(
...     density=11.5,
... )
>>> expr = 4
>>> result = ugen_graph / expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 672765c596fcaa083186b2f2b996ba1d
    ugens:
    -   Dust.ar:
            density: 11.5
    -   BinaryOpUGen(FLOAT_DIVISION).ar:
            left: Dust.ar[0]
            right: 4.0

Returns ugen graph.

__ge__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Tests if ugen graph if greater than or equal to expr.

Example 1:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar()
>>> result = ugen_graph >= expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 9db96233abf1f610d027ff285691482d
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(GREATER_THAN_OR_EQUAL).ar:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar[0]

Example 2:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = ugen_graph >= expr
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 6d43342b3787aa11a46cea54412407e1
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(GREATER_THAN_OR_EQUAL).ar/0:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(GREATER_THAN_OR_EQUAL).ar/1:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(GREATER_THAN_OR_EQUAL).ar/2:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/2[0]

Example 3:

>>> ugen_graph = supriya.ugens.Dust.ar(
...     density=11.5,
... )
>>> expr = 4
>>> result = ugen_graph >= expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: b06931195bab8e6f6ca2e3a857e71a95
    ugens:
    -   Dust.ar:
            density: 11.5
    -   BinaryOpUGen(GREATER_THAN_OR_EQUAL).ar:
            left: Dust.ar[0]
            right: 4.0

Returns ugen graph.

__graph__()

Gets Graphviz representation of ugen graph.

Returns GraphvizGraph instance.

__gt__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Tests if ugen graph if greater than expr.

Example 1:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar()
>>> result = ugen_graph > expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 01bebf935112af62ffdd282a99581904
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(GREATER_THAN).ar:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar[0]

Example 2:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = ugen_graph > expr
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 55642179864ad927e9d5cf6358367677
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(GREATER_THAN).ar/0:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(GREATER_THAN).ar/1:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(GREATER_THAN).ar/2:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/2[0]

Example 3:

>>> ugen_graph = supriya.ugens.Dust.ar(
...     density=11.5,
... )
>>> expr = 4
>>> result = ugen_graph > expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 5177e03443ad31ee2664aae2201fb979
    ugens:
    -   Dust.ar:
            density: 11.5
    -   BinaryOpUGen(GREATER_THAN).ar:
            left: Dust.ar[0]
            right: 4.0

Returns ugen graph.

__le__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Tests if ugen graph if less than or equal to expr.

Example 1:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar()
>>> result = ugen_graph <= expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: fefc06cbbc3babb35046306c6d41e3c5
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(LESS_THAN_OR_EQUAL).ar:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar[0]

Example 2:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = ugen_graph <= expr
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 53f29d793fd676fbca1d541e938b66ca
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(LESS_THAN_OR_EQUAL).ar/0:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(LESS_THAN_OR_EQUAL).ar/1:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(LESS_THAN_OR_EQUAL).ar/2:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/2[0]

Example 3:

>>> ugen_graph = supriya.ugens.Dust.ar(
...     density=11.5,
... )
>>> expr = 4
>>> result = ugen_graph <= expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 3cf0414af96d130edf2e1b839f73036c
    ugens:
    -   Dust.ar:
            density: 11.5
    -   BinaryOpUGen(LESS_THAN_OR_EQUAL).ar:
            left: Dust.ar[0]
            right: 4.0

Returns ugen graph.

__lt__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Tests if ugen graph if less than expr.

Example 1:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar()
>>> result = ugen_graph < expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 844f34c0ffb28ecc24bd5cf0bae20b43
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(LESS_THAN).ar:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar[0]

Example 2:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = ugen_graph < expr
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 14c1494fe4e153e690a8ef0a42e5834f
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(LESS_THAN).ar/0:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(LESS_THAN).ar/1:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(LESS_THAN).ar/2:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/2[0]

Example 3:

>>> ugen_graph = supriya.ugens.Dust.ar(
...     density=11.5,
... )
>>> expr = 4
>>> result = ugen_graph < expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: e87d41791847aa80d8a3e56318e506e4
    ugens:
    -   Dust.ar:
            density: 11.5
    -   BinaryOpUGen(LESS_THAN).ar:
            left: Dust.ar[0]
            right: 4.0

Returns ugen graph.

__mod__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Gets modulo of ugen graph and expr.

Example 1:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar()
>>> result = ugen_graph % expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: e4a06e157474f8d1ae213916f3cf585a
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(MODULO).ar:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar[0]

Example 2:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = ugen_graph % expr
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 90badce1cf8fc1752b5eb99b29122a14
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(MODULO).ar/0:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(MODULO).ar/1:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(MODULO).ar/2:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/2[0]

Example 3:

>>> ugen_graph = supriya.ugens.Dust.ar(
...     density=11.5,
... )
>>> expr = 4
>>> result = ugen_graph % expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: bfa60877061daf112516cc3ec8c7ff69
    ugens:
    -   Dust.ar:
            density: 11.5
    -   BinaryOpUGen(MODULO).ar:
            left: Dust.ar[0]
            right: 4.0

Returns ugen graph.

__mul__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Multiplies ugen graph by expr.

Example 1:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar()
>>> result = ugen_graph * expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: ea2b5e5cec4e2d5a1bef0a8dda522bd3
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(MULTIPLICATION).ar:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar[0]

Example 2:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = ugen_graph * expr
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 9d353c198344b6be3635244197bc2a4b
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(MULTIPLICATION).ar/0:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(MULTIPLICATION).ar/1:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(MULTIPLICATION).ar/2:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/2[0]

Example 3:

>>> ugen_graph = supriya.ugens.Dust.ar(
...     density=11.5,
... )
>>> expr = 4
>>> result = ugen_graph * expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 1735acd4add428d8ab317d00236b0fe7
    ugens:
    -   Dust.ar:
            density: 11.5
    -   BinaryOpUGen(MULTIPLICATION).ar:
            left: Dust.ar[0]
            right: 4.0

Returns ugen graph.

__neg__() UGenMethodMixin

Negates ugen graph.

Example 1:

>>> ugen_graph = supriya.ugens.WhiteNoise.ar()
>>> result = -ugen_graph
>>> result
UnaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: a987a13f0593e4e4e070acffb11d5c3e
    ugens:
    -   WhiteNoise.ar: null
    -   UnaryOpUGen(NEGATIVE).ar:
            source: WhiteNoise.ar[0]

Example 2:

>>> ugen_graph = supriya.ugens.SinOsc.ar(
...     frequency=(440, 442, 443),
... )
>>> result = -ugen_graph
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: e5dfc1d4ecb11ed8170aaf11469a6443
    ugens:
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   UnaryOpUGen(NEGATIVE).ar/0:
            source: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   UnaryOpUGen(NEGATIVE).ar/1:
            source: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   UnaryOpUGen(NEGATIVE).ar/2:
            source: SinOsc.ar/2[0]

Returns ugen graph.

__pow__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Raises ugen graph to the power of expr.

Example 1:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar()
>>> result = ugen_graph**expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 3498b370c0575fb2c2ed45143ba2da4f
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(POWER).ar:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar[0]

Example 2:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = ugen_graph**expr
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 04e78034682f9ffd6628fbfd09a28c13
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(POWER).ar/0:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(POWER).ar/1:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(POWER).ar/2:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/2[0]

Example 3:

>>> ugen_graph = supriya.ugens.Dust.ar(
...     density=11.5,
... )
>>> expr = 4
>>> result = ugen_graph**expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 50b8e3b154bc85c98d76ced493a32731
    ugens:
    -   Dust.ar:
            density: 11.5
    -   BinaryOpUGen(POWER).ar:
            left: Dust.ar[0]
            right: 4.0

Returns ugen graph.

__radd__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Adds ugen graph to expr.

Example 1:

>>> expr = 1.5
>>> ugen_graph = supriya.ugens.SinOsc.ar()
>>> result = expr + ugen_graph
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: bb0592fad58b0bfa1a403c7ff6a400f3
    ugens:
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(ADDITION).ar:
            left: 1.5
            right: SinOsc.ar[0]

Example 2:

>>> expr = [220, 330]
>>> ugen_graph = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = expr + ugen_graph
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 0ad0a3d4b7ddf8bb56807813efc62202
    ugens:
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(ADDITION).ar/0:
            left: 220.0
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(ADDITION).ar/1:
            left: 330.0
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(ADDITION).ar/2:
            left: 220.0
            right: SinOsc.ar/2[0]

Returns ugen graph.

__rdiv__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Divides expr by ugen graph.

Example 1:

>>> expr = 1.5
>>> ugen_graph = supriya.ugens.SinOsc.ar()
>>> result = expr / ugen_graph
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: d79490206a430281b186b188d617f679
    ugens:
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar:
            left: 1.5
            right: SinOsc.ar[0]

Example 2:

>>> expr = [220, 330]
>>> ugen_graph = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = expr / ugen_graph
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: d71b3081490f800d5136c87f5fef46d1
    ugens:
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar/0:
            left: 220.0
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar/1:
            left: 330.0
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar/2:
            left: 220.0
            right: SinOsc.ar/2[0]

Returns ugen graph.

__rmod__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Gets modulo of expr and ugen graph.

Example 1:

>>> expr = 1.5
>>> ugen_graph = supriya.ugens.SinOsc.ar()
>>> result = expr % ugen_graph
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: d79490206a430281b186b188d617f679
    ugens:
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar:
            left: 1.5
            right: SinOsc.ar[0]

Example 2:

>>> expr = [220, 330]
>>> ugen_graph = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = expr % ugen_graph
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: d71b3081490f800d5136c87f5fef46d1
    ugens:
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar/0:
            left: 220.0
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar/1:
            left: 330.0
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar/2:
            left: 220.0
            right: SinOsc.ar/2[0]

Returns ugen graph.

__rmul__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Multiplies expr by ugen graph.

Example 1:

>>> expr = 1.5
>>> ugen_graph = supriya.ugens.SinOsc.ar()
>>> result = expr * ugen_graph
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: f60bbe0480298a7ae8b54de5a4c0260f
    ugens:
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(MULTIPLICATION).ar:
            left: 1.5
            right: SinOsc.ar[0]

Example 2:

>>> expr = [220, 330]
>>> ugen_graph = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = expr * ugen_graph
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 0295153106bff55a2bf6db3b7184d301
    ugens:
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(MULTIPLICATION).ar/0:
            left: 220.0
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(MULTIPLICATION).ar/1:
            left: 330.0
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(MULTIPLICATION).ar/2:
            left: 220.0
            right: SinOsc.ar/2[0]

Returns ugen graph.

__rpow__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Raises expr to the power of ugen graph.

Example 1:

>>> expr = 1.5
>>> ugen_graph = supriya.ugens.SinOsc.ar()
>>> result = expr**ugen_graph
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: c450618c9e0fe5213629275da4e5e354
    ugens:
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(POWER).ar:
            left: 1.5
            right: SinOsc.ar[0]

Example 2:

>>> expr = [220, 330]
>>> ugen_graph = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = expr**ugen_graph
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: a614dc68313ee7ca2677e63fd499de0d
    ugens:
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(POWER).ar/0:
            left: 220.0
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(POWER).ar/1:
            left: 330.0
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(POWER).ar/2:
            left: 220.0
            right: SinOsc.ar/2[0]

Returns ugen graph.

__rsub__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Subtracts ugen graph from expr.

Example 1:

>>> expr = 1.5
>>> ugen_graph = supriya.ugens.SinOsc.ar()
>>> result = expr - ugen_graph
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 74e331121aa41f4d49a6d38a38ca4a9a
    ugens:
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(SUBTRACTION).ar:
            left: 1.5
            right: SinOsc.ar[0]

Example 2:

>>> expr = [220, 330]
>>> ugen_graph = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = expr - ugen_graph
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 1ca2e8f3f541b9365413a0dbf9028e95
    ugens:
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(SUBTRACTION).ar/0:
            left: 220.0
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(SUBTRACTION).ar/1:
            left: 330.0
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(SUBTRACTION).ar/2:
            left: 220.0
            right: SinOsc.ar/2[0]

Returns ugen graph.

__rtruediv__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Divides expr by ugen graph.

Example 1:

>>> expr = 1.5
>>> ugen_graph = supriya.ugens.SinOsc.ar()
>>> result = expr / ugen_graph
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: d79490206a430281b186b188d617f679
    ugens:
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar:
            left: 1.5
            right: SinOsc.ar[0]

Example 2:

>>> expr = [220, 330]
>>> ugen_graph = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = expr / ugen_graph
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: d71b3081490f800d5136c87f5fef46d1
    ugens:
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar/0:
            left: 220.0
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar/1:
            left: 330.0
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar/2:
            left: 220.0
            right: SinOsc.ar/2[0]

Returns ugen graph.

__sub__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Subtracts expr from ugen graph.

Example 1:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar()
>>> result = ugen_graph - expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: cd62fff8ff3ad7758d0f7ad82f39c7ce
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(SUBTRACTION).ar:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar[0]

Example 2:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = ugen_graph - expr
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 9a8355f84507908cadf3cc63187ddab4
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(SUBTRACTION).ar/0:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(SUBTRACTION).ar/1:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(SUBTRACTION).ar/2:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/2[0]

Example 3:

>>> ugen_graph = supriya.ugens.Dust.ar(
...     density=11.5,
... )
>>> expr = 4
>>> result = ugen_graph - expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 48ca704043ed00a2b6a55fd4b6b72cf1
    ugens:
    -   Dust.ar:
            density: 11.5
    -   BinaryOpUGen(SUBTRACTION).ar:
            left: Dust.ar[0]
            right: 4.0

Returns ugen graph.

__truediv__(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Divides ugen graph by expr.

Example 1:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar()
>>> result = ugen_graph / expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 6da024a346859242c441fe03326d2adc
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar[0]

Example 2:

>>> ugen_graph = supriya.ugens.WhiteNoise.kr()
>>> expr = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = ugen_graph / expr
>>> result
UGenArray({3})
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: be20d589dfccb721f56da8b002d86763
    ugens:
    -   WhiteNoise.kr: null
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar/0:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/0[0]
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar/1:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/1[0]
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   BinaryOpUGen(FLOAT_DIVISION).ar/2:
            left: WhiteNoise.kr[0]
            right: SinOsc.ar/2[0]

Example 3:

>>> ugen_graph = supriya.ugens.Dust.ar(
...     density=11.5,
... )
>>> expr = 4
>>> result = ugen_graph / expr
>>> result
BinaryOpUGen.ar()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 672765c596fcaa083186b2f2b996ba1d
    ugens:
    -   Dust.ar:
            density: 11.5
    -   BinaryOpUGen(FLOAT_DIVISION).ar:
            left: Dust.ar[0]
            right: 4.0

Returns ugen graph.

absolute_difference(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Calculates absolute difference between ugen graph and expr.

>>> ugen_graph = supriya.ugens.SinOsc.ar()
>>> expr = supriya.ugens.WhiteNoise.kr()
>>> result = ugen_graph.absolute_difference(expr)
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: a6b274b5f30e1dfa86ac1d00ef1c169b
    ugens:
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   WhiteNoise.kr: null
    -   BinaryOpUGen(ABSOLUTE_DIFFERENCE).ar:
            left: SinOsc.ar[0]
            right: WhiteNoise.kr[0]

Returns ugen graph.

amplitude_to_db() UGenMethodMixin

Converts ugen graph from amplitude to decibels.

>>> ugen_graph = supriya.ugens.WhiteNoise.ar()
>>> result = ugen_graph.amplitude_to_db()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 73daa5fd8db0d28c03c3872c845fd3ed
    ugens:
    -   WhiteNoise.ar: null
    -   UnaryOpUGen(AMPLITUDE_TO_DB).ar:
            source: WhiteNoise.ar[0]

Returns ugen graph.

as_int() UGenMethodMixin
as_maximum(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Calculates maximum between ugen graph and expr.

>>> left = supriya.ugens.SinOsc.ar()
>>> right = supriya.ugens.WhiteNoise.kr()
>>> operation = left.as_maximum(right)
>>> print(operation)
synthdef:
    name: dcdca07fb0439c8b4321f42803d18c32
    ugens:
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   WhiteNoise.kr: null
    -   BinaryOpUGen(MAXIMUM).ar:
            left: SinOsc.ar[0]
            right: WhiteNoise.kr[0]

Returns ugen graph.

as_minimum(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Calculates minimum between ugen graph and expr.

>>> left = supriya.ugens.SinOsc.ar()
>>> right = supriya.ugens.WhiteNoise.kr()
>>> operation = left.as_minimum(right)
>>> print(operation)
synthdef:
    name: f80c0a7b300911e9eff0e8760f5fab18
    ugens:
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   WhiteNoise.kr: null
    -   BinaryOpUGen(MINIMUM).ar:
            left: SinOsc.ar[0]
            right: WhiteNoise.kr[0]

Returns ugen graph.

ceiling() UGenMethodMixin

Calculates the ceiling of ugen graph.

>>> source = supriya.ugens.DC.ar(source=0.5)
>>> operation = source.ceiling()
>>> print(operation)
synthdef:
    name: c7b1855219f3364f731bdd2e4599b1d1
    ugens:
    -   DC.ar:
            source: 0.5
    -   UnaryOpUGen(CEILING).ar:
            source: DC.ar[0]

Returns ugen graph.

clip(minimum: SupportsFloat | UGenMethodMixin, maximum: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Clips ugen graph.

Example 1:

>>> ugen_graph = supriya.ugens.WhiteNoise.ar()
>>> result = ugen_graph.clip(-0.25, 0.25)
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: e710843b0e0fbc5e6185afc6cdf90149
    ugens:
    -   WhiteNoise.ar: null
    -   Clip.ar:
            source: WhiteNoise.ar[0]
            minimum: -0.25
            maximum: 0.25

Example 2:

>>> ugen_graph = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = ugen_graph.clip(-0.25, 0.25)
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 000e997ea0d7e8637c9f9040547baa50
    ugens:
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   Clip.ar/0:
            source: SinOsc.ar/0[0]
            minimum: -0.25
            maximum: 0.25
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   Clip.ar/1:
            source: SinOsc.ar/1[0]
            minimum: -0.25
            maximum: 0.25
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   Clip.ar/2:
            source: SinOsc.ar/2[0]
            minimum: -0.25
            maximum: 0.25
cubed() UGenMethodMixin

Calculates the cube of ugen graph.

>>> source = supriya.ugens.DC.ar(source=0.5)
>>> operation = source.cubed()
>>> print(operation)
synthdef:
    name: ad344666e7f3f60edac95b1ea40c412d
    ugens:
    -   DC.ar:
            source: 0.5
    -   UnaryOpUGen(CUBED).ar:
            source: DC.ar[0]

Returns ugen graph.

db_to_amplitude() UGenMethodMixin

Converts ugen graph from decibels to amplitude.

>>> ugen_graph = supriya.ugens.WhiteNoise.ar()
>>> result = ugen_graph.db_to_amplitude()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: fe82aae42b01b2b43d427cafd77c1c22
    ugens:
    -   WhiteNoise.ar: null
    -   UnaryOpUGen(DB_TO_AMPLITUDE).ar:
            source: WhiteNoise.ar[0]

Returns ugen graph.

distort() UGenMethodMixin

Distorts ugen graph non-linearly.

>>> source = supriya.ugens.DC.ar(source=0.5)
>>> operation = source.distort()
>>> print(operation)
synthdef:
    name: bb632e15f448820d93b3880ad943617b
    ugens:
    -   DC.ar:
            source: 0.5
    -   UnaryOpUGen(DISTORT).ar:
            source: DC.ar[0]

Returns ugen graph.

exponential() UGenMethodMixin

Calculates the natural exponential function of ugen graph.

>>> source = supriya.ugens.DC.ar(source=0.5)
>>> operation = source.exponential()
>>> print(operation)
synthdef:
    name: f3b8b1036b3cceddf116c3f6a3c5a9a0
    ugens:
    -   DC.ar:
            source: 0.5
    -   UnaryOpUGen(EXPONENTIAL).ar:
            source: DC.ar[0]

Returns ugen graph.

exponential_range(minimum=0.01, maximum=1.0) UGenMethodMixin
floor() UGenMethodMixin

Calculates the floor of ugen graph.

>>> source = supriya.ugens.DC.ar(source=0.5)
>>> operation = source.floor()
>>> print(operation)
synthdef:
    name: 407228cfdb74bdd79b51c425fb8a7f77
    ugens:
    -   DC.ar:
            source: 0.5
    -   UnaryOpUGen(FLOOR).ar:
            source: DC.ar[0]

Returns ugen graph.

fractional_part() UGenMethodMixin

Calculates the fraction part of ugen graph.

>>> source = supriya.ugens.DC.ar(source=0.5)
>>> operation = source.fractional_part()
>>> print(operation)
synthdef:
    name: c663d5ee6c7c5347c043727c628af658
    ugens:
    -   DC.ar:
            source: 0.5
    -   UnaryOpUGen(FRACTIONAL_PART).ar:
            source: DC.ar[0]

Returns ugen graph.

hanning_window() UGenMethodMixin

Calculates Hanning-window of ugen graph.

>>> ugen_graph = supriya.ugens.LFNoise2.ar()
>>> result = ugen_graph.hanning_window()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 18cb43db42ae3499f2c233e83df877fd
    ugens:
    -   LFNoise2.ar:
            frequency: 500.0
    -   UnaryOpUGen(HANNING_WINDOW).ar:
            source: LFNoise2.ar[0]

Returns ugen graph.

hz_to_midi() UGenMethodMixin

Converts ugen graph from Hertz to midi note number.

>>> ugen_graph = supriya.ugens.WhiteNoise.ar()
>>> result = ugen_graph.hz_to_midi()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 227a6ae85bc89b3af939cff32f54e36a
    ugens:
    -   WhiteNoise.ar: null
    -   UnaryOpUGen(HZ_TO_MIDI).ar:
            source: WhiteNoise.ar[0]

Returns ugen graph.

hz_to_octave() UGenMethodMixin

Converts ugen graph from Hertz to octave number.

>>> ugen_graph = supriya.ugens.WhiteNoise.ar()
>>> result = ugen_graph.hz_to_octave()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: e4fd4ca786d453fc5dfb955c63b6fbf6
    ugens:
    -   WhiteNoise.ar: null
    -   UnaryOpUGen(HZ_TO_OCTAVE).ar:
            source: WhiteNoise.ar[0]

Returns ugen graph.

is_equal_to(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Calculates equality between ugen graph and expr.

>>> left = supriya.ugens.SinOsc.ar()
>>> right = supriya.ugens.WhiteNoise.kr()
>>> operation = left.is_equal_to(right)
>>> print(operation)
synthdef:
    name: 8287d890708ce26adff4968d63d494a0
    ugens:
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   WhiteNoise.kr: null
    -   BinaryOpUGen(EQUAL).ar:
            left: SinOsc.ar[0]
            right: WhiteNoise.kr[0]

Returns ugen graph.

is_not_equal_to(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Calculates inequality between ugen graph and expr.

>>> left = supriya.ugens.SinOsc.ar()
>>> right = supriya.ugens.WhiteNoise.kr()
>>> operation = left.is_not_equal_to(right)
>>> print(operation)
synthdef:
    name: b9f77aa86bc08a3b023d8f664afef05d
    ugens:
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   WhiteNoise.kr: null
    -   BinaryOpUGen(NOT_EQUAL).ar:
            left: SinOsc.ar[0]
            right: WhiteNoise.kr[0]

Returns ugen graph.

lagged(lag_time=0.5) UGenMethodMixin

Lags ugen graph.

>>> ugen_graph = supriya.ugens.WhiteNoise.ar()
>>> result = ugen_graph.lagged(0.5)
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 6c3e2cc1a3d54ecfaa49d567a84eae77
    ugens:
    -   WhiteNoise.ar: null
    -   Lag.ar:
            source: WhiteNoise.ar[0]
            lag_time: 0.5
>>> ugen_graph = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = ugen_graph.lagged(0.5)
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 67098a4ddab35f6e1333a80a226bf559
    ugens:
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   Lag.ar/0:
            source: SinOsc.ar/0[0]
            lag_time: 0.5
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   Lag.ar/1:
            source: SinOsc.ar/1[0]
            lag_time: 0.5
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   Lag.ar/2:
            source: SinOsc.ar/2[0]
            lag_time: 0.5
log() UGenMethodMixin

Calculates the natural logarithm of ugen graph.

>>> source = supriya.ugens.DC.ar(source=0.5)
>>> operation = source.log()
>>> print(operation)
synthdef:
    name: 4da44dab9d935efd1cf098b4d7cec420
    ugens:
    -   DC.ar:
            source: 0.5
    -   UnaryOpUGen(LOG).ar:
            source: DC.ar[0]

Returns ugen graph.

log10() UGenMethodMixin

Calculates the base-10 logarithm of ugen graph.

>>> source = supriya.ugens.DC.ar(source=0.5)
>>> operation = source.log10()
>>> print(operation)
synthdef:
    name: 122d9333b8ac76164782d00707d3386a
    ugens:
    -   DC.ar:
            source: 0.5
    -   UnaryOpUGen(LOG10).ar:
            source: DC.ar[0]

Returns ugen graph.

log2() UGenMethodMixin

Calculates the base-2 logarithm of ugen graph.

>>> source = supriya.ugens.DC.ar(source=0.5)
>>> operation = source.log2()
>>> print(operation)
synthdef:
    name: f956f79a387ffbeb409326046397b4dd
    ugens:
    -   DC.ar:
            source: 0.5
    -   UnaryOpUGen(LOG2).ar:
            source: DC.ar[0]

Returns ugen graph.

midi_to_hz() UGenMethodMixin

Converts ugen graph from midi note number to Hertz.

>>> ugen_graph = supriya.ugens.WhiteNoise.ar()
>>> result = ugen_graph.midi_to_hz()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 5faaa2c74715175625d774b20952f263
    ugens:
    -   WhiteNoise.ar: null
    -   UnaryOpUGen(MIDI_TO_HZ).ar:
            source: WhiteNoise.ar[0]

Returns ugen graph.

octave_to_hz() UGenMethodMixin

Converts ugen graph from octave number to Hertz.

>>> ugen_graph = supriya.ugens.WhiteNoise.ar()
>>> result = ugen_graph.octave_to_hz()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 04c00b0f32088eb5e4cef0549aed6d96
    ugens:
    -   WhiteNoise.ar: null
    -   UnaryOpUGen(OCTAVE_TO_HZ).ar:
            source: WhiteNoise.ar[0]

Returns ugen graph.

power(expr: SupportsFloat | UGenMethodMixin) UGenMethodMixin

Raises ugen graph to the power of expr.

>>> left = supriya.ugens.SinOsc.ar()
>>> right = supriya.ugens.WhiteNoise.kr()
>>> operation = left.power(right)
>>> print(operation)
synthdef:
    name: 06d6d3fe992bff8fce9ef55db6863c2a
    ugens:
    -   SinOsc.ar:
            frequency: 440.0
            phase: 0.0
    -   WhiteNoise.kr: null
    -   BinaryOpUGen(POWER).ar:
            left: SinOsc.ar[0]
            right: WhiteNoise.kr[0]

Returns ugen graph.

range(minimum=0.0, maximum=1.0) UGenMethodMixin
ratio_to_semitones() UGenMethodMixin

Converts ugen graph from frequency ratio to semitone distance.

>>> ugen_graph = supriya.ugens.WhiteNoise.ar()
>>> result = ugen_graph.ratio_to_semitones()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 2e23630ade4fab35fc821c190b7f33db
    ugens:
    -   WhiteNoise.ar: null
    -   UnaryOpUGen(RATIO_TO_SEMITONES).ar:
            source: WhiteNoise.ar[0]

Returns ugen graph.

reciprocal() UGenMethodMixin

Calculates reciprocal of ugen graph.

>>> ugen_graph = supriya.ugens.LFNoise2.ar()
>>> result = ugen_graph.reciprocal()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 2e1c714d0def9d5c310197861d725559
    ugens:
    -   LFNoise2.ar:
            frequency: 500.0
    -   UnaryOpUGen(RECIPROCAL).ar:
            source: LFNoise2.ar[0]

Returns ugen graph.

rectangle_window() UGenMethodMixin

Calculates rectangle-window of ugen graph.

>>> ugen_graph = supriya.ugens.LFNoise2.ar()
>>> result = ugen_graph.rectangle_window()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 0d296187bbdb205f3a283f301a5fad61
    ugens:
    -   LFNoise2.ar:
            frequency: 500.0
    -   UnaryOpUGen(RECTANGLE_WINDOW).ar:
            source: LFNoise2.ar[0]

Returns ugen graph.

s_curve() UGenMethodMixin

Calculates S-curve of ugen graph.

>>> ugen_graph = supriya.ugens.LFNoise2.ar()
>>> result = ugen_graph.s_curve()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 21bcaf49922e2c4124d4cadba85c00ac
    ugens:
    -   LFNoise2.ar:
            frequency: 500.0
    -   UnaryOpUGen(S_CURVE).ar:
            source: LFNoise2.ar[0]

Returns ugen graph.

scale(input_minimum, input_maximum, output_minimum, output_maximum, exponential=False) UGenMethodMixin

Scales ugen graph from input_minimum and input_maximum to output_minimum and output_maximum.

>>> ugen_graph = supriya.ugens.WhiteNoise.ar()
>>> result = ugen_graph.scale(-1, 1, 0.5, 0.75)
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: e2295e64ed7b9c949ec22ccdc82520e3
    ugens:
    -   WhiteNoise.ar: null
    -   MulAdd.ar:
            source: WhiteNoise.ar[0]
            multiplier: 0.125
            addend: 0.625
>>> ugen_graph = supriya.ugens.SinOsc.ar(
...     frequency=[440, 442, 443],
... )
>>> result = ugen_graph.scale(-1, 1, 0.5, 0.75, exponential=True)
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 88dca305143542bd40a82d8a6a337306
    ugens:
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   LinExp.ar/0:
            source: SinOsc.ar/0[0]
            input_minimum: -1.0
            input_maximum: 1.0
            output_minimum: 0.5
            output_maximum: 0.75
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   LinExp.ar/1:
            source: SinOsc.ar/1[0]
            input_minimum: -1.0
            input_maximum: 1.0
            output_minimum: 0.5
            output_maximum: 0.75
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   LinExp.ar/2:
            source: SinOsc.ar/2[0]
            input_minimum: -1.0
            input_maximum: 1.0
            output_minimum: 0.5
            output_maximum: 0.75
semitones_to_ratio() UGenMethodMixin

Converts ugen graph from semitone distance to frequency ratio.

>>> ugen_graph = supriya.ugens.WhiteNoise.ar()
>>> result = ugen_graph.semitones_to_ratio()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: f77ac2c24b06f8e620817f14285c2877
    ugens:
    -   WhiteNoise.ar: null
    -   UnaryOpUGen(SEMITONES_TO_RATIO).ar:
            source: WhiteNoise.ar[0]

Returns ugen graph.

sign() UGenMethodMixin

Calculates sign of ugen graph.

>>> ugen_graph = supriya.ugens.LFNoise2.ar()
>>> result = ugen_graph.sign()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 6f62abd8306dbf1aae66c09dd98203b5
    ugens:
    -   LFNoise2.ar:
            frequency: 500.0
    -   UnaryOpUGen(SIGN).ar:
            source: LFNoise2.ar[0]

Returns ugen graph.

softclip() UGenMethodMixin

Distorts ugen graph non-linearly.

square_root() UGenMethodMixin

Calculates square root of ugen graph.

squared() UGenMethodMixin

Calculates square of ugen graph.

sum() UGenMethodMixin

Sums ugen graph.

Example 1:

>>> ugen_graph = supriya.ugens.LFNoise2.ar()
>>> result = ugen_graph.sum()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: 350f2065d4edc69244399dcaff5a1ceb
    ugens:
    -   LFNoise2.ar:
            frequency: 500.0

Example 2:

>>> ugen_graph = supriya.ugens.SinOsc.ar(frequency=[440, 442, 443])
>>> result = ugen_graph.sum()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: a1d26283f87b8b445db982ff0e831fb7
    ugens:
    -   SinOsc.ar/0:
            frequency: 440.0
            phase: 0.0
    -   SinOsc.ar/1:
            frequency: 442.0
            phase: 0.0
    -   SinOsc.ar/2:
            frequency: 443.0
            phase: 0.0
    -   Sum3.ar:
            input_one: SinOsc.ar/0[0]
            input_two: SinOsc.ar/1[0]
            input_three: SinOsc.ar/2[0]

Returns ugen graph.

tanh() UGenMethodMixin

Calculates hyperbolic tangent of ugen graph.

>>> ugen_graph = supriya.ugens.LFNoise2.ar()
>>> result = ugen_graph.tanh()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: e74aa9abf6e389d8ca39d2c9828d81be
    ugens:
    -   LFNoise2.ar:
            frequency: 500.0
    -   UnaryOpUGen(TANH).ar:
            source: LFNoise2.ar[0]

Returns ugen graph.

transpose(semitones) UGenMethodMixin

Transposes ugen graph by semitones.

>>> ugen_graph = supriya.ugens.LFNoise2.ar()
>>> result = ugen_graph.transpose([0, 3, 7])
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: c481c3d42e3cfcee0267250247dab51f
    ugens:
    -   LFNoise2.ar:
            frequency: 500.0
    -   UnaryOpUGen(HZ_TO_MIDI).ar:
            source: LFNoise2.ar[0]
    -   UnaryOpUGen(MIDI_TO_HZ).ar/0:
            source: UnaryOpUGen(HZ_TO_MIDI).ar[0]
    -   BinaryOpUGen(ADDITION).ar/0:
            left: UnaryOpUGen(HZ_TO_MIDI).ar[0]
            right: 3.0
    -   UnaryOpUGen(MIDI_TO_HZ).ar/1:
            source: BinaryOpUGen(ADDITION).ar/0[0]
    -   BinaryOpUGen(ADDITION).ar/1:
            left: UnaryOpUGen(HZ_TO_MIDI).ar[0]
            right: 7.0
    -   UnaryOpUGen(MIDI_TO_HZ).ar/2:
            source: BinaryOpUGen(ADDITION).ar/1[0]

Returns ugen graph.

triangle_window() UGenMethodMixin

Calculates triangle-window of ugen graph.

>>> ugen_graph = supriya.ugens.LFNoise2.ar()
>>> result = ugen_graph.triangle_window()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: ebb1820b9d08a639565b5090b53681db
    ugens:
    -   LFNoise2.ar:
            frequency: 500.0
    -   UnaryOpUGen(TRIANGLE_WINDOW).ar:
            source: LFNoise2.ar[0]

Returns ugen graph.

welch_window() UGenMethodMixin

Calculates Welch-window of ugen graph.

>>> ugen_graph = supriya.ugens.LFNoise2.ar()
>>> result = ugen_graph.welch_window()
>>> supriya.graph(result)  
>>> print(result)
synthdef:
    name: a0a01a549a5606d9eb0026bf458e4559
    ugens:
    -   LFNoise2.ar:
            frequency: 500.0
    -   UnaryOpUGen(WELCH_WINDOW).ar:
            source: LFNoise2.ar[0]

Returns ugen graph.

property signal_range
class UnaryOpUGen(calculation_rate=None, source=None, special_index=None)

Bases: UGen

A unary operator ugen, created by applying a unary operator to a ugen.

>>> ugen = supriya.ugens.SinOsc.ar()
>>> unary_op_ugen = abs(ugen)
>>> unary_op_ugen
UnaryOpUGen.ar()
>>> unary_op_ugen.operator
UnaryOperator.ABSOLUTE_VALUE
property operator

Gets operator of UnaryOpUgen.

>>> source = supriya.ugens.SinOsc.ar()
>>> unary_op_ugen = -source
>>> unary_op_ugen.operator
UnaryOperator.NEGATIVE

Returns unary operator.

property source : SupportsFloat | UGenMethodMixin
param(default: float | None = None, *, check: Check = Check.NONE, unexpanded: bool = False) Param

Define a UGen parameter.

Akin to dataclasses.field.

ugen(cls: type | None = None, *, ar: bool = False, kr: bool = False, ir: bool = False, dr: bool = False, new: bool = False, has_done_flag: bool = False, is_input: bool = False, is_multichannel: bool = False, is_output: bool = False, is_pure: bool = False, is_width_first: bool = False, channel_count: int = 1, fixed_channel_count: bool = False, signal_range: int | None = None) type | Callable[[type], type]

Decorate a UGen class.

Akin to dataclasses.dataclass.