Class LowPassFilter
Suppresses higher frequencies.
public sealed record LowPassFilter : IFilter, IEquatable<LowPassFilter>
- Inheritance
-
LowPassFilter
- Implements
- Inherited Members
Remarks
An unset smoothing is sent as 20 (the protocol default, an active filter).
NodeLink disables the filter at a smoothing of 1.0 or less. Lavalink removes it only when no other filter is active, otherwise it still runs and only exactly 1.0 is a passthrough, lower values break the filter. Use RemoveAsync(IFilter, CancellationToken) to keep the filter off, never a smoothing below 1.0.
Constructors
LowPassFilter(float?, float?, float?, FilterTransition?)
Suppresses higher frequencies.
public LowPassFilter(float? Smoothing = null, float? TargetAlpha = null, float? LogSmoothing = null, FilterTransition? Transition = null)
Parameters
Smoothingfloat?Smoothing factor, 20 when unset. See the remarks for the values to avoid.
TargetAlphafloat?Direct coefficient override in the settings schema, but NodeLink ignores it (its DSP has no alpha, the cutoff comes from log10(smoothing)), the server just echoes it back.
LogSmoothingfloat?Logarithmic smoothing in the settings schema, ignored like
TargetAlpha, the server just echoes it back.TransitionFilterTransitionFades the filter in or out instead of stepping, NodeLink only. A smoothing change sent with a transition animates the cutoff too.
Remarks
An unset smoothing is sent as 20 (the protocol default, an active filter).
NodeLink disables the filter at a smoothing of 1.0 or less. Lavalink removes it only when no other filter is active, otherwise it still runs and only exactly 1.0 is a passthrough, lower values break the filter. Use RemoveAsync(IFilter, CancellationToken) to keep the filter off, never a smoothing below 1.0.
Properties
LogSmoothing
Logarithmic smoothing in the settings schema, ignored like TargetAlpha, the server just
echoes it back.
[JsonPropertyName("logSmoothing")]
public float? LogSmoothing { get; init; }
Property Value
Smoothing
Smoothing factor, 20 when unset. See the remarks for the values to avoid.
[JsonPropertyName("smoothing")]
public float? Smoothing { get; init; }
Property Value
TargetAlpha
Direct coefficient override in the settings schema, but NodeLink ignores it (its DSP has no alpha, the cutoff comes from log10(smoothing)), the server just echoes it back.
[JsonPropertyName("targetAlpha")]
public float? TargetAlpha { get; init; }
Property Value
Transition
Fades the filter in or out instead of stepping, NodeLink only. A smoothing change sent with a transition animates the cutoff too.
[JsonPropertyName("transition")]
public FilterTransition? Transition { get; init; }