Table of Contents

Class PhaserEffect

Namespace
NAudio.Effects
Assembly
NAudio.Core.dll

Phaser: a cascade of first-order all-pass stages whose corner frequency is swept by an LFO, with feedback. Mixing the phase-shifted signal with the dry signal creates moving notches in the spectrum.

public sealed class PhaserEffect : AudioEffect, IAudioEffect, IParameterized
Inheritance
PhaserEffect
Implements
Inherited Members

Constructors

PhaserEffect()

Creates a phaser with a 50/50 default mix.

public PhaserEffect()

Properties

Feedback

Feedback amount, -0.99 to 0.99. Default 0.3.

public float Feedback { get; set; }

Property Value

float

MaxFrequency

High end of the sweep in Hz. Default 1500 Hz.

public float MaxFrequency { get; set; }

Property Value

float

MinFrequency

Low end of the sweep in Hz. Default 300 Hz.

public float MinFrequency { get; set; }

Property Value

float

Parameters

Generic parameter list (excludes Bypass/Mix, which are on the base).

public IReadOnlyList<EffectParameter> Parameters { get; }

Property Value

IReadOnlyList<EffectParameter>

RateHz

Sweep rate in Hz. Default 0.5 Hz.

public float RateHz { get; set; }

Property Value

float

Stages

Number of all-pass stages (more = deeper effect). Default 4.

public int Stages { get; set; }

Property Value

int

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

SyncToTempo(double, NoteDivision)

Locks RateHz to a tempo and note division.

public void SyncToTempo(double bpm, NoteDivision division)

Parameters

bpm double
division NoteDivision