convolution

class Convolution(*, calculation_rate: CalculationRate | SupportsInt | str | None, source: SupportsFloat | UGenScalar, kernel: SupportsFloat | UGenScalar, framesize: SupportsFloat | UGenScalar = 512, **kwargs)

Bases: UGen

A real-time convolver.

>>> source = supriya.ugens.In.ar(bus=0)
>>> kernel = supriya.ugens.Mix.new(
...     supriya.ugens.LFSaw.ar(frequency=[300, 500, 800, 1000])
...     * supriya.ugens.MouseX.kr(minimum=1, maximum=2),
... )
>>> convolution = supriya.ugens.Convolution.ar(
...     framesize=512,
...     kernel=kernel,
...     source=source,
... )
>>> convolution
<Convolution.ar()[0]>
classmethod ar(*, source: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]], kernel: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]], framesize: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]] = 512) UGenOperable
property framesize : UGenScalar
property kernel : UGenScalar
property source : UGenScalar
class Convolution2(*, calculation_rate: CalculationRate | SupportsInt | str | None, source: SupportsFloat | UGenScalar, kernel: SupportsFloat | UGenScalar, trigger: SupportsFloat | UGenScalar = 0.0, framesize: SupportsFloat | UGenScalar = 2048, **kwargs)

Bases: UGen

Strict convolution with fixed kernel which can be updated using a trigger signal.

>>> source = supriya.ugens.In.ar(bus=0)
>>> kernel = supriya.ugens.Mix.new(
...     supriya.ugens.LFSaw.ar(frequency=[300, 500, 800, 1000])
...     * supriya.ugens.MouseX.kr(minimum=1, maximum=2),
... )
>>> convolution_2 = supriya.ugens.Convolution2.ar(
...     framesize=2048,
...     kernel=kernel,
...     source=source,
...     trigger=0,
... )
>>> convolution_2
<Convolution2.ar()[0]>
classmethod ar(*, source: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]], kernel: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]], trigger: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]] = 0.0, framesize: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]] = 2048) UGenOperable
property framesize : UGenScalar
property kernel : UGenScalar
property source : UGenScalar
property trigger : UGenScalar
class Convolution2L(*, calculation_rate: CalculationRate | SupportsInt | str | None, source: SupportsFloat | UGenScalar, kernel: SupportsFloat | UGenScalar, trigger: SupportsFloat | UGenScalar = 0.0, framesize: SupportsFloat | UGenScalar = 2048, crossfade: SupportsFloat | UGenScalar = 1.0, **kwargs)

Bases: UGen

Strict convolution with fixed kernel which can be updated using a trigger signal.

>>> source = supriya.ugens.In.ar(bus=0)
>>> kernel = supriya.ugens.Mix.new(
...     supriya.ugens.LFSaw.ar(frequency=[300, 500, 800, 1000])
...     * supriya.ugens.MouseX.kr(minimum=1, maximum=2),
... )
>>> convolution_2_l = supriya.ugens.Convolution2L.ar(
...     crossfade=1,
...     framesize=2048,
...     kernel=kernel,
...     source=source,
...     trigger=0,
... )
>>> convolution_2_l
<Convolution2L.ar()[0]>
classmethod ar(*, source: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]], kernel: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]], trigger: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]] = 0.0, framesize: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]] = 2048, crossfade: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]] = 1.0) UGenOperable
property crossfade : UGenScalar
property framesize : UGenScalar
property kernel : UGenScalar
property source : UGenScalar
property trigger : UGenScalar
class Convolution3(*, calculation_rate: CalculationRate | SupportsInt | str | None, source: SupportsFloat | UGenScalar, kernel: SupportsFloat | UGenScalar, trigger: SupportsFloat | UGenScalar = 0.0, framesize: SupportsFloat | UGenScalar = 2048, **kwargs)

Bases: UGen

Strict convolution with fixed kernel which can be updated using a trigger signal.

>>> source = supriya.ugens.In.ar(bus=0)
>>> kernel = supriya.ugens.Mix.new(
...     supriya.ugens.LFSaw.ar(frequency=[300, 500, 800, 1000])
...     * supriya.ugens.MouseX.kr(minimum=1, maximum=2),
... )
>>> convolution_3 = supriya.ugens.Convolution3.ar(
...     framesize=2048,
...     kernel=kernel,
...     source=source,
...     trigger=0,
... )
>>> convolution_3
<Convolution3.ar()[0]>
classmethod ar(*, source: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]], kernel: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]], trigger: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]] = 0.0, framesize: SupportsFloat | UGenOperable | UGenSerializable | Sequence[SupportsFloat | UGenOperable | UGenSerializable | Sequence[UGenRecursiveInput]] = 2048) UGenOperable
property framesize : UGenScalar
property kernel : UGenScalar
property source : UGenScalar
property trigger : UGenScalar