Class PhaserEffect
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
MaxFrequency
High end of the sweep in Hz. Default 1500 Hz.
public float MaxFrequency { get; set; }
Property Value
MinFrequency
Low end of the sweep in Hz. Default 300 Hz.
public float MinFrequency { get; set; }
Property Value
Parameters
Generic parameter list (excludes Bypass/Mix, which are on the base).
public IReadOnlyList<EffectParameter> Parameters { get; }
Property Value
RateHz
Sweep rate in Hz. Default 0.5 Hz.
public float RateHz { get; set; }
Property Value
Stages
Number of all-pass stages (more = deeper effect). Default 4.
public int Stages { get; set; }
Property Value
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
formatWaveFormat
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
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
bpmdoubledivisionNoteDivision