Table of Contents

Class Equalizer

Namespace
NAudio.Effects
Assembly
NAudio.Core.dll

Multi-band parametric equaliser. Each EqualizerBand is an independent biquad (peaking, shelf, pass, notch, band-pass or all-pass) applied per channel. Edit the bands and call Update() to retune — changes crossfade so they never click, even while audio is flowing.

public class Equalizer : AudioEffect, IAudioEffect
Inheritance
Equalizer
Implements
Derived
Inherited Members

Constructors

Equalizer(params EqualizerBand[])

Creates an equaliser with the given bands. The list is taken by reference so editing a band and calling Update() takes effect.

public Equalizer(params EqualizerBand[] bands)

Parameters

bands EqualizerBand[]

Properties

Bands

The bands, in processing order.

public IReadOnlyList<EqualizerBand> Bands { get; }

Property Value

IReadOnlyList<EqualizerBand>

Methods

OnConfigure(WaveFormat)

Called by Configure(WaveFormat) after the format is stored. Derived effects allocate and size their sample-rate-dependent state here.

protected override void OnConfigure(WaveFormat format)

Parameters

format WaveFormat

ProcessBlock(Span<float>)

Transforms buffer in place into the fully-wet signal. The base class handles dry/wet mixing and bypass around this call.

protected override void ProcessBlock(Span<float> buffer)

Parameters

buffer Span<float>

Reset()

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

public override void Reset()

Update()

Re-applies the current band settings, crossfading from the old response to the new one. Call after changing any band's properties.

public void Update()