Table of Contents

Class KaraokeFilter

Namespace
Nyra.Entities.Filters
Assembly
Nyra.dll

Eliminates part of a band, usually vocals.

public sealed record KaraokeFilter : IFilter, IEquatable<KaraokeFilter>
Inheritance
KaraokeFilter
Implements
Inherited Members

Remarks

Server defaults, level 1.0, monoLevel 1.0, filterBand 220.0, filterWidth 100.0.

A partial object from a co-client activates at full strength on NodeLink, the missing members read as the defaults above, and a full-chain write by this side fills them the same way. Send explicit values to pin the sound you intend.

Constructors

KaraokeFilter(float?, float?, float?, float?, FilterTransition?)

Eliminates part of a band, usually vocals.

public KaraokeFilter(float? Level = null, float? MonoLevel = null, float? FilterBand = null, float? FilterWidth = null, FilterTransition? Transition = null)

Parameters

Level float?

0.0-1.0. At 0.0 NodeLink keeps the channel subtraction running (only the band shaping stops), Lavalink turns the whole effect into a pass-through. Only level and monoLevel at 0.0 together turn it off on both servers.

MonoLevel float?

0.0-1.0. At 0.0 Lavalink keeps the channel subtraction running with no band restore (a stronger effect, not a disable). NodeLink reads it as one half of the pair that turns the filter off.

FilterBand float?

Band, in Hz. Non-negative. Zero reads as no band shaping on NodeLink.

FilterWidth float?

Width, in Hz. Non-negative. Zero reads as no band shaping on NodeLink.

Transition FilterTransition

Fades the filter in or out instead of stepping, NodeLink only. Parameter changes still step. On Lavalink the filter is stereo-only, a mono track passes through with the filter configured. NodeLink upmixes a mono source to duplicated stereo and the subtraction cancels it, at the defaults a mono track goes silent, remove the filter for mono sources.

Remarks

Server defaults, level 1.0, monoLevel 1.0, filterBand 220.0, filterWidth 100.0.

A partial object from a co-client activates at full strength on NodeLink, the missing members read as the defaults above, and a full-chain write by this side fills them the same way. Send explicit values to pin the sound you intend.

Properties

FilterBand

Band, in Hz. Non-negative. Zero reads as no band shaping on NodeLink.

[JsonPropertyName("filterBand")]
public float? FilterBand { get; init; }

Property Value

float?

FilterWidth

Width, in Hz. Non-negative. Zero reads as no band shaping on NodeLink.

[JsonPropertyName("filterWidth")]
public float? FilterWidth { get; init; }

Property Value

float?

Level

0.0-1.0. At 0.0 NodeLink keeps the channel subtraction running (only the band shaping stops), Lavalink turns the whole effect into a pass-through. Only level and monoLevel at 0.0 together turn it off on both servers.

[JsonPropertyName("level")]
public float? Level { get; init; }

Property Value

float?

MonoLevel

0.0-1.0. At 0.0 Lavalink keeps the channel subtraction running with no band restore (a stronger effect, not a disable). NodeLink reads it as one half of the pair that turns the filter off.

[JsonPropertyName("monoLevel")]
public float? MonoLevel { get; init; }

Property Value

float?

Transition

Fades the filter in or out instead of stepping, NodeLink only. Parameter changes still step. On Lavalink the filter is stereo-only, a mono track passes through with the filter configured. NodeLink upmixes a mono source to duplicated stereo and the subtraction cancels it, at the defaults a mono track goes silent, remove the filter for mono sources.

[JsonPropertyName("transition")]
public FilterTransition? Transition { get; init; }

Property Value

FilterTransition