Table of Contents

Interface IAudioEffect

Namespace
NAudio.Effects
Assembly
NAudio.Core.dll

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

int

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

format WaveFormat

Process(Span<float>)

Processes one block of interleaved samples in place.

void Process(Span<float> buffer)

Parameters

buffer Span<float>

Interleaved samples to transform in place.

Reset()

Clears internal state (delay lines, envelopes, smoothers) so the next block starts as if from silence.

void Reset()