PartConv:
Filter:
Classes | UGens > FFT | UGens > Convolution

PartConv : UGen : AbstractFunction : Object

Real-time partitioned convolution
Source: PartConv.sc

Description

Partitioned convolution. Various additional buffers must be supplied.

Mono impulse response only! If inputting multiple channels, you'll need independent PartConvs, one for each channel.

But the charm is: impulse response can be as large as you like (CPU load increases with IR size. Various tradeoffs based on fftsize choice, due to rarer but larger FFTs. This plug-in uses amortisation to spread processing and avoid spikes).

Normalisation factors difficult to anticipate; convolution piles up multiple copies of the input on top of itself, so can easily overload.

Class Methods

PartConv.ar(in, fftsize, irbufnum, mul: 1.0, add: 0.0)

Arguments:

in

processing target.

fftsize

spectral convolution partition size (twice partition size). You must ensure that the blocksize divides the partition size and there are at least two blocks per partition (to allow for amortisation).

irbufnum

prepared buffer of spectra for each partition of the inpulse response.

mul
add

Inherited class methods

Undocumented class methods

PartConv.calcBufSize(fftsize, irbuffer)

PartConv.calcNumPartitions(fftsize, irbuffer)

Instance Methods

Inherited instance methods

Examples