Table of Contents

Class LowPassFilter

Namespace
Nyra.Entities.Filters
Assembly
Nyra.dll

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

Smoothing float?

Smoothing factor, 20 when unset. See the remarks for the values to avoid.

TargetAlpha float?

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.

LogSmoothing float?

Logarithmic smoothing in the settings schema, ignored like TargetAlpha, the server just echoes it back.

Transition FilterTransition

Fades 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

float?

Smoothing

Smoothing factor, 20 when unset. See the remarks for the values to avoid.

[JsonPropertyName("smoothing")]
public float? Smoothing { get; init; }

Property Value

float?

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

float?

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; }

Property Value

FilterTransition