Table of Contents

Class MultibandCompressorEffect

Namespace
NAudio.Effects
Assembly
NAudio.Core.dll

Multiband compressor: a Linkwitz–Riley crossover splits the signal into bands, each independently compressed, then recombined. Useful for transparent level control, de-essing-style band taming, or mastering glue. Detection is channel-linked per band.

public sealed class MultibandCompressorEffect : AudioEffect, IAudioEffect
Inheritance
MultibandCompressorEffect
Implements
Inherited Members

Constructors

MultibandCompressorEffect(params float[])

Creates a multiband compressor.

public MultibandCompressorEffect(params float[] crossoverFrequencies)

Parameters

crossoverFrequencies float[]

Ascending crossover frequencies in Hz. Defaults to a 3-band 120 Hz / 2 kHz split.

Properties

Bands

The per-band settings (low → high).

public IReadOnlyList<MultibandCompressorBand> Bands { get; }

Property Value

IReadOnlyList<MultibandCompressorBand>

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()