Interface IAudioEffect
A processing kernel that transforms interleaved 32-bit float audio in place. An effect is configured with a WaveFormat (sample rate and channel count) and then processes blocks — pulled from a source through an EffectSampleProvider/EffectChain, or pushed directly by a synth/sampler voice. Implementations are channel-agnostic and must not allocate on the steady-state processing path.
public interface IAudioEffect
Properties
LatencySamples
Processing latency the effect introduces, in samples per channel. Zero for effects with no inherent delay; non-zero for look-ahead or block/partitioned designs that need delay compensation in a chain.
int LatencySamples { get; }
Property Value
Methods
Configure(WaveFormat)
Supplies the sample rate and channel count the effect will process. Called before the first Process(Span<float>), and again if the format changes.
void Configure(WaveFormat format)
Parameters
formatWaveFormat
Process(Span<float>)
Processes one block of interleaved samples in place.
void Process(Span<float> buffer)
Parameters
Reset()
Clears internal state (delay lines, envelopes, smoothers) so the next block starts as if from silence.
void Reset()