pv

class FFT(buffer_id=None, calculation_rate=None, source=None, active=1, hop=0.5, window_size=0, window_type=0)

Bases: PV_ChainUGen

A fast Fourier transform.

>>> buffer_id = supriya.ugens.LocalBuf(2048)
>>> source = supriya.ugens.In.ar(bus=0)
>>> fft = supriya.ugens.FFT.kr(
...     active=1,
...     buffer_id=buffer_id,
...     hop=0.5,
...     source=source,
...     window_size=0,
...     window_type=0,
... )
>>> fft
FFT.kr()
classmethod kr(buffer_id: SupportsFloat | UGenMethodMixin | None = None, source: SupportsFloat | UGenMethodMixin | None = None, hop: SupportsFloat | UGenMethodMixin = 0.5, window_type: SupportsFloat | UGenMethodMixin = 0, active: SupportsFloat | UGenMethodMixin = 1, window_size: SupportsFloat | UGenMethodMixin = 0) FFT
property active : SupportsFloat | UGenMethodMixin
property buffer_id : SupportsFloat | UGenMethodMixin
property fft_size : UGenMethodMixin

Gets FFT size as UGen input.

Returns ugen input.

property hop : SupportsFloat | UGenMethodMixin
property source : SupportsFloat | UGenMethodMixin
property window_size : SupportsFloat | UGenMethodMixin
property window_type : SupportsFloat | UGenMethodMixin
class IFFT(calculation_rate=None, pv_chain=None, window_type=0, window_size=0, **kwargs)

Bases: UGen

An inverse fast Fourier transform.

>>> pv_chain = supriya.ugens.LocalBuf(2048)
>>> ifft = supriya.ugens.IFFT.ar(
...     pv_chain=pv_chain,
...     window_size=0,
...     window_type=0,
... )
>>> ifft
IFFT.ar()
classmethod ar(pv_chain: SupportsFloat | UGenMethodMixin | None = None, window_type: SupportsFloat | UGenMethodMixin = 0, window_size: SupportsFloat | UGenMethodMixin = 0) IFFT
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, window_type: SupportsFloat | UGenMethodMixin = 0, window_size: SupportsFloat | UGenMethodMixin = 0) IFFT
property pv_chain : SupportsFloat | UGenMethodMixin
property window_size : SupportsFloat | UGenMethodMixin
property window_type : SupportsFloat | UGenMethodMixin
class PV_Add(calculation_rate=None, pv_chain_a=None, pv_chain_b=None, **kwargs)

Bases: PV_ChainUGen

Complex addition.

>>> pv_chain_a = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_chain_b = supriya.ugens.FFT.kr(
...     source=supriya.ugens.LFSaw.ar(),
... )
>>> pv_add = supriya.ugens.PV_Add.kr(
...     pv_chain_a=pv_chain_a,
...     pv_chain_b=pv_chain_b,
... )
>>> pv_add
PV_Add.kr()
classmethod kr(pv_chain_a: SupportsFloat | UGenMethodMixin | None = None, pv_chain_b: SupportsFloat | UGenMethodMixin | None = None) PV_Add
property pv_chain_a : SupportsFloat | UGenMethodMixin
property pv_chain_b : SupportsFloat | UGenMethodMixin
class PV_BinScramble(calculation_rate=None, pv_chain=None, wipe=0, width=0.2, trigger=0, **kwargs)

Bases: PV_ChainUGen

Scrambles bins.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_bin_scramble = supriya.ugens.PV_BinScramble.kr(
...     pv_chain=pv_chain,
...     trigger=0,
...     width=0.2,
...     wipe=0,
... )
>>> pv_bin_scramble
PV_BinScramble.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, wipe: SupportsFloat | UGenMethodMixin = 0, width: SupportsFloat | UGenMethodMixin = 0.2, trigger: SupportsFloat | UGenMethodMixin = 0) PV_BinScramble
property pv_chain : SupportsFloat | UGenMethodMixin
property trigger : SupportsFloat | UGenMethodMixin
property width : SupportsFloat | UGenMethodMixin
property wipe : SupportsFloat | UGenMethodMixin
class PV_BinShift(calculation_rate=None, pv_chain=None, stretch=1.0, shift=0.0, interpolate=0, **kwargs)

Bases: PV_ChainUGen

Shifts and stretches bin positions.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_bin_shift = supriya.ugens.PV_BinShift.kr(
...     pv_chain=pv_chain,
...     interpolate=0,
...     shift=0,
...     stretch=1,
... )
>>> pv_bin_shift
PV_BinShift.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, stretch: SupportsFloat | UGenMethodMixin = 1.0, shift: SupportsFloat | UGenMethodMixin = 0.0, interpolate: SupportsFloat | UGenMethodMixin = 0) PV_BinShift
property interpolate : SupportsFloat | UGenMethodMixin
property pv_chain : SupportsFloat | UGenMethodMixin
property shift : SupportsFloat | UGenMethodMixin
property stretch : SupportsFloat | UGenMethodMixin
class PV_BinWipe(calculation_rate=None, pv_chain_a=None, pv_chain_b=None, wipe=0, **kwargs)

Bases: PV_ChainUGen

Copies low bins from one input and the high bins of the other.

>>> pv_chain_a = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_chain_b = supriya.ugens.FFT.kr(
...     source=supriya.ugens.LFSaw.ar(),
... )
>>> pv_bin_wipe = supriya.ugens.PV_BinWipe.kr(
...     pv_chain_a=pv_chain_a,
...     pv_chain_b=pv_chain_b,
...     wipe=0,
... )
>>> pv_bin_wipe
PV_BinWipe.kr()
classmethod kr(pv_chain_a: SupportsFloat | UGenMethodMixin | None = None, pv_chain_b: SupportsFloat | UGenMethodMixin | None = None, wipe: SupportsFloat | UGenMethodMixin = 0) PV_BinWipe
property pv_chain_a : SupportsFloat | UGenMethodMixin
property pv_chain_b : SupportsFloat | UGenMethodMixin
property wipe : SupportsFloat | UGenMethodMixin
class PV_BrickWall(calculation_rate=None, pv_chain=None, wipe=0, **kwargs)

Bases: PV_ChainUGen

Zeros bins.

  • If wipe == 0 then there is no effect.

  • If wipe > 0 then it acts like a high pass filter, clearing bins from the bottom up.

  • If wipe < 0 then it acts like a low pass filter, clearing bins from the top down.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_brick_wall = supriya.ugens.PV_BrickWall.kr(
...     pv_chain=pv_chain,
...     wipe=0,
... )
>>> pv_brick_wall
PV_BrickWall.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, wipe: SupportsFloat | UGenMethodMixin = 0) PV_BrickWall
property pv_chain : SupportsFloat | UGenMethodMixin
property wipe : SupportsFloat | UGenMethodMixin
class PV_ChainUGen(calculation_rate=None, **kwargs)

Bases: UGen

Abstract base class for all phase-vocoder-chain unit generators.

property fft_size : UGenMethodMixin

Gets FFT size as UGen input.

Returns ugen input.

class PV_ConformalMap(calculation_rate=None, pv_chain=None, areal=0, aimag=0, **kwargs)

Bases: PV_ChainUGen

Complex plane attack.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_conformal_map = supriya.ugens.PV_ConformalMap.kr(
...     aimag=0,
...     areal=0,
...     pv_chain=pv_chain,
... )
>>> pv_conformal_map
PV_ConformalMap.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, areal: SupportsFloat | UGenMethodMixin = 0, aimag: SupportsFloat | UGenMethodMixin = 0) PV_ConformalMap
property aimag : SupportsFloat | UGenMethodMixin
property areal : SupportsFloat | UGenMethodMixin
property pv_chain : SupportsFloat | UGenMethodMixin
class PV_Conj(calculation_rate=None, pv_chain=None, **kwargs)

Bases: PV_ChainUGen

Complex conjugate.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_conj = supriya.ugens.PV_Conj.kr(
...     pv_chain=pv_chain,
... )
>>> pv_conj
PV_Conj.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None) PV_Conj
property pv_chain : SupportsFloat | UGenMethodMixin
class PV_Copy(calculation_rate=None, pv_chain_a=None, pv_chain_b=None, **kwargs)

Bases: PV_ChainUGen

Copies an FFT buffer.

>>> pv_chain_a = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_chain_b = supriya.ugens.FFT.kr(
...     source=supriya.ugens.LFSaw.ar(),
... )
>>> pv_copy = supriya.ugens.PV_Copy.kr(
...     pv_chain_a=pv_chain_a,
...     pv_chain_b=pv_chain_b,
... )
>>> pv_copy
PV_Copy.kr()
classmethod kr(pv_chain_a: SupportsFloat | UGenMethodMixin | None = None, pv_chain_b: SupportsFloat | UGenMethodMixin | None = None) PV_Copy
property pv_chain_a : SupportsFloat | UGenMethodMixin
property pv_chain_b : SupportsFloat | UGenMethodMixin
class PV_CopyPhase(calculation_rate=None, pv_chain_a=None, pv_chain_b=None, **kwargs)

Bases: PV_ChainUGen

Copies magnitudes and phases.

>>> pv_chain_a = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_chain_b = supriya.ugens.FFT.kr(
...     source=supriya.ugens.LFSaw.ar(),
... )
>>> pv_copy_phase = supriya.ugens.PV_CopyPhase.kr(
...     pv_chain_a=pv_chain_a,
...     pv_chain_b=pv_chain_b,
... )
>>> pv_copy_phase
PV_CopyPhase.kr()
classmethod kr(pv_chain_a: SupportsFloat | UGenMethodMixin | None = None, pv_chain_b: SupportsFloat | UGenMethodMixin | None = None) PV_CopyPhase
property pv_chain_a : SupportsFloat | UGenMethodMixin
property pv_chain_b : SupportsFloat | UGenMethodMixin
class PV_Diffuser(calculation_rate=None, pv_chain=None, trigger=0, **kwargs)

Bases: PV_ChainUGen

Shifts phases randomly.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_diffuser = supriya.ugens.PV_Diffuser.kr(
...     pv_chain=pv_chain,
...     trigger=0,
... )
>>> pv_diffuser
PV_Diffuser.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, trigger: SupportsFloat | UGenMethodMixin = 0) PV_Diffuser
property pv_chain : SupportsFloat | UGenMethodMixin
property trigger : SupportsFloat | UGenMethodMixin
class PV_Div(calculation_rate=None, pv_chain_a=None, pv_chain_b=None, **kwargs)

Bases: PV_ChainUGen

Complex division.

>>> pv_chain_a = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_chain_b = supriya.ugens.FFT.kr(
...     source=supriya.ugens.LFSaw.ar(),
... )
>>> pv_div = supriya.ugens.PV_Div.kr(
...     pv_chain_a=pv_chain_a,
...     pv_chain_b=pv_chain_b,
... )
>>> pv_div
PV_Div.kr()
classmethod kr(pv_chain_a: SupportsFloat | UGenMethodMixin | None = None, pv_chain_b: SupportsFloat | UGenMethodMixin | None = None) PV_Div
property pv_chain_a : SupportsFloat | UGenMethodMixin
property pv_chain_b : SupportsFloat | UGenMethodMixin
class PV_HainsworthFoote(calculation_rate=None, pv_chain=None, proph=0, propf=0, threshold=1, waittime=0.04, **kwargs)

Bases: PV_ChainUGen

A FFT onset detector.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_hainsworth_foote = supriya.ugens.PV_HainsworthFoote.kr(
...     pv_chain=pv_chain,
...     propf=0,
...     proph=0,
...     threshold=1,
...     waittime=0.04,
... )
>>> pv_hainsworth_foote
PV_HainsworthFoote.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, proph: SupportsFloat | UGenMethodMixin = 0, propf: SupportsFloat | UGenMethodMixin = 0, threshold: SupportsFloat | UGenMethodMixin = 1, waittime: SupportsFloat | UGenMethodMixin = 0.04) PV_HainsworthFoote
property propf : SupportsFloat | UGenMethodMixin
property proph : SupportsFloat | UGenMethodMixin
property pv_chain : SupportsFloat | UGenMethodMixin
property threshold : SupportsFloat | UGenMethodMixin
property waittime : SupportsFloat | UGenMethodMixin
class PV_JensenAndersen(calculation_rate=None, pv_chain=None, propsc=0.25, prophfe=0.25, prophfc=0.25, propsf=0.25, threshold=1, waittime=0.04, **kwargs)

Bases: PV_ChainUGen

A FFT feature detector for onset detection.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_jensen_andersen = supriya.ugens.PV_JensenAndersen.kr(
...     pv_chain=pv_chain,
...     prophfc=0.25,
...     prophfe=0.25,
...     propsc=0.25,
...     propsf=0.25,
...     threshold=1,
...     waittime=0.04,
... )
>>> pv_jensen_andersen
PV_JensenAndersen.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, propsc: SupportsFloat | UGenMethodMixin = 0.25, prophfe: SupportsFloat | UGenMethodMixin = 0.25, prophfc: SupportsFloat | UGenMethodMixin = 0.25, propsf: SupportsFloat | UGenMethodMixin = 0.25, threshold: SupportsFloat | UGenMethodMixin = 1, waittime: SupportsFloat | UGenMethodMixin = 0.04) PV_JensenAndersen
property prophfc : SupportsFloat | UGenMethodMixin
property prophfe : SupportsFloat | UGenMethodMixin
property propsc : SupportsFloat | UGenMethodMixin
property propsf : SupportsFloat | UGenMethodMixin
property pv_chain : SupportsFloat | UGenMethodMixin
property threshold : SupportsFloat | UGenMethodMixin
property waittime : SupportsFloat | UGenMethodMixin
class PV_LocalMax(calculation_rate=None, pv_chain=None, threshold=0, **kwargs)

Bases: PV_ChainUGen

Passes bins which are local maxima.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_local_max = supriya.ugens.PV_LocalMax.kr(
...     pv_chain=pv_chain,
...     threshold=0,
... )
>>> pv_local_max
PV_LocalMax.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, threshold: SupportsFloat | UGenMethodMixin = 0) PV_LocalMax
property pv_chain : SupportsFloat | UGenMethodMixin
property threshold : SupportsFloat | UGenMethodMixin
class PV_MagAbove(calculation_rate=None, pv_chain=None, threshold=0, **kwargs)

Bases: PV_ChainUGen

Passes magnitudes above threshold.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_mag_above = supriya.ugens.PV_MagAbove.kr(
...     pv_chain=pv_chain,
...     threshold=0,
... )
>>> pv_mag_above
PV_MagAbove.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, threshold: SupportsFloat | UGenMethodMixin = 0) PV_MagAbove
property pv_chain : SupportsFloat | UGenMethodMixin
property threshold : SupportsFloat | UGenMethodMixin
class PV_MagBelow(calculation_rate=None, pv_chain=None, threshold=0, **kwargs)

Bases: PV_ChainUGen

Passes magnitudes below threshold.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_mag_below = supriya.ugens.PV_MagBelow.kr(
...     pv_chain=pv_chain,
...     threshold=0,
... )
>>> pv_mag_below
PV_MagBelow.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, threshold: SupportsFloat | UGenMethodMixin = 0) PV_MagBelow
property pv_chain : SupportsFloat | UGenMethodMixin
property threshold : SupportsFloat | UGenMethodMixin
class PV_MagClip(calculation_rate=None, pv_chain=None, threshold=0, **kwargs)

Bases: PV_ChainUGen

Clips magnitudes.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_mag_clip = supriya.ugens.PV_MagClip.kr(
...     pv_chain=pv_chain,
...     threshold=0,
... )
>>> pv_mag_clip
PV_MagClip.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, threshold: SupportsFloat | UGenMethodMixin = 0) PV_MagClip
property pv_chain : SupportsFloat | UGenMethodMixin
property threshold : SupportsFloat | UGenMethodMixin
class PV_MagDiv(calculation_rate=None, pv_chain_a=None, pv_chain_b=None, zeroed=0.0001, **kwargs)

Bases: PV_ChainUGen

Divides magnitudes.

>>> pv_chain_a = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_chain_b = supriya.ugens.FFT.kr(
...     source=supriya.ugens.LFSaw.ar(),
... )
>>> pv_mag_div = supriya.ugens.PV_MagDiv.kr(
...     pv_chain_a=pv_chain_a,
...     pv_chain_b=pv_chain_b,
...     zeroed=0.0001,
... )
>>> pv_mag_div
PV_MagDiv.kr()
classmethod kr(pv_chain_a: SupportsFloat | UGenMethodMixin | None = None, pv_chain_b: SupportsFloat | UGenMethodMixin | None = None, zeroed: SupportsFloat | UGenMethodMixin = 0.0001) PV_MagDiv
property pv_chain_a : SupportsFloat | UGenMethodMixin
property pv_chain_b : SupportsFloat | UGenMethodMixin
property zeroed : SupportsFloat | UGenMethodMixin
class PV_MagFreeze(calculation_rate=None, pv_chain=None, freeze=0, **kwargs)

Bases: PV_ChainUGen

Freezes magnitudes.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_mag_freeze = supriya.ugens.PV_MagFreeze.kr(
...     pv_chain=pv_chain,
...     freeze=0,
... )
>>> pv_mag_freeze
PV_MagFreeze.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, freeze: SupportsFloat | UGenMethodMixin = 0) PV_MagFreeze
property freeze : SupportsFloat | UGenMethodMixin
property pv_chain : SupportsFloat | UGenMethodMixin
class PV_MagMul(calculation_rate=None, pv_chain_a=None, pv_chain_b=None, **kwargs)

Bases: PV_ChainUGen

Multiplies FFT magnitudes.

>>> pv_chain_a = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_chain_b = supriya.ugens.FFT.kr(
...     source=supriya.ugens.LFSaw.ar(),
... )
>>> pv_mag_mul = supriya.ugens.PV_MagMul.kr(
...     pv_chain_a=pv_chain_a,
...     pv_chain_b=pv_chain_b,
... )
>>> pv_mag_mul
PV_MagMul.kr()
classmethod kr(pv_chain_a: SupportsFloat | UGenMethodMixin | None = None, pv_chain_b: SupportsFloat | UGenMethodMixin | None = None) PV_MagMul
property pv_chain_a : SupportsFloat | UGenMethodMixin
property pv_chain_b : SupportsFloat | UGenMethodMixin
class PV_MagNoise(calculation_rate=None, pv_chain=None, **kwargs)

Bases: PV_ChainUGen

Multiplies magnitudes by noise.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_mag_noise = supriya.ugens.PV_MagNoise.kr(
...     pv_chain=pv_chain,
... )
>>> pv_mag_noise
PV_MagNoise.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None) PV_MagNoise
property pv_chain : SupportsFloat | UGenMethodMixin
class PV_MagShift(calculation_rate=None, pv_chain=None, stretch=1.0, shift=0.0, **kwargs)

Bases: PV_ChainUGen

Shifts and stretches magnitude bin position.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_mag_shift = supriya.ugens.PV_MagShift.kr(
...     pv_chain=pv_chain,
...     shift=0,
...     stretch=1,
... )
>>> pv_mag_shift
PV_MagShift.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, stretch: SupportsFloat | UGenMethodMixin = 1.0, shift: SupportsFloat | UGenMethodMixin = 0.0) PV_MagShift
property pv_chain : SupportsFloat | UGenMethodMixin
property shift : SupportsFloat | UGenMethodMixin
property stretch : SupportsFloat | UGenMethodMixin
class PV_MagSmear(calculation_rate=None, pv_chain=None, bins=0, **kwargs)

Bases: PV_ChainUGen

Averages magnitudes across bins.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_mag_smear = supriya.ugens.PV_MagSmear.kr(
...     bins=0,
...     pv_chain=pv_chain,
... )
>>> pv_mag_smear
PV_MagSmear.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, bins: SupportsFloat | UGenMethodMixin = 0) PV_MagSmear
property bins : SupportsFloat | UGenMethodMixin
property pv_chain : SupportsFloat | UGenMethodMixin
class PV_MagSquared(calculation_rate=None, pv_chain=None, **kwargs)

Bases: PV_ChainUGen

Squares magnitudes.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_mag_squared = supriya.ugens.PV_MagSquared.kr(
...     pv_chain=pv_chain,
... )
>>> pv_mag_squared
PV_MagSquared.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None) PV_MagSquared
property pv_chain : SupportsFloat | UGenMethodMixin
class PV_Max(calculation_rate=None, pv_chain_a=None, pv_chain_b=None, **kwargs)

Bases: PV_ChainUGen

Maximum magnitude.

>>> pv_chain_a = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_chain_b = supriya.ugens.FFT.kr(
...     source=supriya.ugens.LFSaw.ar(),
... )
>>> pv_max = supriya.ugens.PV_Max.kr(
...     pv_chain_a=pv_chain_a,
...     pv_chain_b=pv_chain_b,
... )
>>> pv_max
PV_Max.kr()
classmethod kr(pv_chain_a: SupportsFloat | UGenMethodMixin | None = None, pv_chain_b: SupportsFloat | UGenMethodMixin | None = None) PV_Max
property pv_chain_a : SupportsFloat | UGenMethodMixin
property pv_chain_b : SupportsFloat | UGenMethodMixin
class PV_Min(calculation_rate=None, pv_chain_a=None, pv_chain_b=None, **kwargs)

Bases: PV_ChainUGen

Minimum magnitude.

>>> pv_chain_a = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_chain_b = supriya.ugens.FFT.kr(
...     source=supriya.ugens.LFSaw.ar(),
... )
>>> pv_min = supriya.ugens.PV_Min.kr(
...     pv_chain_a=pv_chain_a,
...     pv_chain_b=pv_chain_b,
... )
>>> pv_min
PV_Min.kr()
classmethod kr(pv_chain_a: SupportsFloat | UGenMethodMixin | None = None, pv_chain_b: SupportsFloat | UGenMethodMixin | None = None) PV_Min
property pv_chain_a : SupportsFloat | UGenMethodMixin
property pv_chain_b : SupportsFloat | UGenMethodMixin
class PV_Mul(calculation_rate=None, pv_chain_a=None, pv_chain_b=None, **kwargs)

Bases: PV_ChainUGen

Complex multiplication.

>>> pv_chain_a = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_chain_b = supriya.ugens.FFT.kr(
...     source=supriya.ugens.LFSaw.ar(),
... )
>>> pv_mul = supriya.ugens.PV_Mul.kr(
...     pv_chain_a=pv_chain_a,
...     pv_chain_b=pv_chain_b,
... )
>>> pv_mul
PV_Mul.kr()
classmethod kr(pv_chain_a: SupportsFloat | UGenMethodMixin | None = None, pv_chain_b: SupportsFloat | UGenMethodMixin | None = None) PV_Mul
property pv_chain_a : SupportsFloat | UGenMethodMixin
property pv_chain_b : SupportsFloat | UGenMethodMixin
class PV_PhaseShift(calculation_rate=None, pv_chain=None, shift=None, integrate=0, **kwargs)

Bases: PV_ChainUGen

Shifts phase.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> shift = supriya.ugens.LFNoise2.kr(frequency=1).scale(-1, 1, -180, 180)
>>> pv_phase_shift = supriya.ugens.PV_PhaseShift.kr(
...     pv_chain=pv_chain,
...     integrate=0,
...     shift=shift,
... )
>>> pv_phase_shift
PV_PhaseShift.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, shift: SupportsFloat | UGenMethodMixin | None = None, integrate: SupportsFloat | UGenMethodMixin = 0) PV_PhaseShift
property integrate : SupportsFloat | UGenMethodMixin
property pv_chain : SupportsFloat | UGenMethodMixin
property shift : SupportsFloat | UGenMethodMixin
class PV_PhaseShift270(calculation_rate=None, pv_chain=None, **kwargs)

Bases: PV_ChainUGen

Shifts phase by 270 degrees.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_phase_shift_270 = supriya.ugens.PV_PhaseShift270.kr(
...     pv_chain=pv_chain,
... )
>>> pv_phase_shift_270
PV_PhaseShift270.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None) PV_PhaseShift270
property pv_chain : SupportsFloat | UGenMethodMixin
class PV_PhaseShift90(calculation_rate=None, pv_chain=None, **kwargs)

Bases: PV_ChainUGen

Shifts phase by 90 degrees.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_phase_shift_90 = supriya.ugens.PV_PhaseShift90.kr(
...     pv_chain=pv_chain,
... )
>>> pv_phase_shift_90
PV_PhaseShift90.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None) PV_PhaseShift90
property pv_chain : SupportsFloat | UGenMethodMixin
class PV_RandComb(calculation_rate=None, pv_chain=None, wipe=0, trigger=0, **kwargs)

Bases: PV_ChainUGen

Passes random bins.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_rand_comb = supriya.ugens.PV_RandComb.kr(
...     pv_chain=pv_chain,
...     trigger=0,
...     wipe=0,
... )
>>> pv_rand_comb
PV_RandComb.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, wipe: SupportsFloat | UGenMethodMixin = 0, trigger: SupportsFloat | UGenMethodMixin = 0) PV_RandComb
property pv_chain : SupportsFloat | UGenMethodMixin
property trigger : SupportsFloat | UGenMethodMixin
property wipe : SupportsFloat | UGenMethodMixin
class PV_RandWipe(calculation_rate=None, pv_chain_a=None, pv_chain_b=None, wipe=0, trigger=0, **kwargs)

Bases: PV_ChainUGen

Crossfades in random bin order.

>>> pv_chain_a = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_chain_b = supriya.ugens.FFT.kr(
...     source=supriya.ugens.LFSaw.ar(),
... )
>>> pv_rand_wipe = supriya.ugens.PV_RandWipe.kr(
...     pv_chain_a=pv_chain_a,
...     pv_chain_b=pv_chain_b,
...     trigger=0,
...     wipe=0,
... )
>>> pv_rand_wipe
PV_RandWipe.kr()
classmethod kr(pv_chain_a: SupportsFloat | UGenMethodMixin | None = None, pv_chain_b: SupportsFloat | UGenMethodMixin | None = None, wipe: SupportsFloat | UGenMethodMixin = 0, trigger: SupportsFloat | UGenMethodMixin = 0) PV_RandWipe
property pv_chain_a : SupportsFloat | UGenMethodMixin
property pv_chain_b : SupportsFloat | UGenMethodMixin
property trigger : SupportsFloat | UGenMethodMixin
property wipe : SupportsFloat | UGenMethodMixin
class PV_RectComb(calculation_rate=None, pv_chain=None, num_teeth=0, phase=0, width=0.5, **kwargs)

Bases: PV_ChainUGen

Makes gaps in the spectrum.

>>> pv_chain = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_rect_comb = supriya.ugens.PV_RectComb.kr(
...     pv_chain=pv_chain,
...     num_teeth=0,
...     phase=0,
...     width=0.5,
... )
>>> pv_rect_comb
PV_RectComb.kr()
classmethod kr(pv_chain: SupportsFloat | UGenMethodMixin | None = None, num_teeth: SupportsFloat | UGenMethodMixin = 0, phase: SupportsFloat | UGenMethodMixin = 0, width: SupportsFloat | UGenMethodMixin = 0.5) PV_RectComb
property num_teeth : SupportsFloat | UGenMethodMixin
property phase : SupportsFloat | UGenMethodMixin
property pv_chain : SupportsFloat | UGenMethodMixin
property width : SupportsFloat | UGenMethodMixin
class PV_RectComb2(calculation_rate=None, pv_chain_a=None, pv_chain_b=None, num_teeth=0, phase=0, width=0.5, **kwargs)

Bases: PV_ChainUGen

Makes gaps in the spectrum.

>>> pv_chain_a = supriya.ugens.FFT.kr(
...     source=supriya.ugens.WhiteNoise.ar(),
... )
>>> pv_chain_b = supriya.ugens.FFT.kr(
...     source=supriya.ugens.LFSaw.ar(),
... )
>>> pv_rect_comb_2 = supriya.ugens.PV_RectComb2.kr(
...     pv_chain_a=pv_chain_a,
...     pv_chain_b=pv_chain_b,
...     num_teeth=0,
...     phase=0,
...     width=0.5,
... )
>>> pv_rect_comb_2
PV_RectComb2.kr()
classmethod kr(pv_chain_a: SupportsFloat | UGenMethodMixin | None = None, pv_chain_b: SupportsFloat | UGenMethodMixin | None = None, num_teeth: SupportsFloat | UGenMethodMixin = 0, phase: SupportsFloat | UGenMethodMixin = 0, width: SupportsFloat | UGenMethodMixin = 0.5) PV_RectComb2
property num_teeth : SupportsFloat | UGenMethodMixin
property phase : SupportsFloat | UGenMethodMixin
property pv_chain_a : SupportsFloat | UGenMethodMixin
property pv_chain_b : SupportsFloat | UGenMethodMixin
property width : SupportsFloat | UGenMethodMixin
class RunningSum(calculation_rate=None, source=None, sample_count=40, **kwargs)

Bases: UGen

Tracks running sum over n frames.

>>> source = supriya.ugens.In.ar(bus=0)
>>> running_sum = supriya.ugens.RunningSum.ar(
...     sample_count=40,
...     source=source,
... )
>>> running_sum
RunningSum.ar()
classmethod ar(source: SupportsFloat | UGenMethodMixin | None = None, sample_count: SupportsFloat | UGenMethodMixin = 40) RunningSum
classmethod kr(source: SupportsFloat | UGenMethodMixin | None = None, sample_count: SupportsFloat | UGenMethodMixin = 40) RunningSum
property sample_count : SupportsFloat | UGenMethodMixin
property source : SupportsFloat | UGenMethodMixin