Class DistortionFilter
Distorts the audio.
public sealed record DistortionFilter : IFilter, IEquatable<DistortionFilter>
- Inheritance
-
DistortionFilter
- Implements
- Inherited Members
Remarks
The server defaults are offsets 0.0 and scales 1.0. A full-chain write by this side fills the unset members with them, which activates the filter on Lavalink. NodeLink keeps the block in the applied state but bypasses the default values, so the same write is inaudible there (the fade-out idiom when a transition rides it). Send explicit values to pin the sound you intend, removing the filter disables it.
Lavalink multiplies the three trigonometric terms (a zeroed scale mutes the whole filter), NodeLink adds them as separate terms with the offsets as phase, the same values sound different per server.
The NodeLink-only transition fades the filter in or out, the out leg is the default-values block carrying a transition, removals themselves step, no removal in this library carries a transition. Parameter changes still step.
Constructors
DistortionFilter(float?, float?, float?, float?, float?, float?, float?, float?, FilterTransition?)
Distorts the audio.
public DistortionFilter(float? SinOffset = null, float? SinScale = null, float? CosOffset = null, float? CosScale = null, float? TanOffset = null, float? TanScale = null, float? Offset = null, float? Scale = null, FilterTransition? Transition = null)
Parameters
SinOffsetfloat?SinScalefloat?CosOffsetfloat?CosScalefloat?TanOffsetfloat?TanScalefloat?Offsetfloat?Scalefloat?TransitionFilterTransition
Remarks
The server defaults are offsets 0.0 and scales 1.0. A full-chain write by this side fills the unset members with them, which activates the filter on Lavalink. NodeLink keeps the block in the applied state but bypasses the default values, so the same write is inaudible there (the fade-out idiom when a transition rides it). Send explicit values to pin the sound you intend, removing the filter disables it.
Lavalink multiplies the three trigonometric terms (a zeroed scale mutes the whole filter), NodeLink adds them as separate terms with the offsets as phase, the same values sound different per server.
The NodeLink-only transition fades the filter in or out, the out leg is the default-values block carrying a transition, removals themselves step, no removal in this library carries a transition. Parameter changes still step.
Properties
CosOffset
[JsonPropertyName("cosOffset")]
public float? CosOffset { get; init; }
Property Value
CosScale
[JsonPropertyName("cosScale")]
public float? CosScale { get; init; }
Property Value
Offset
[JsonPropertyName("offset")]
public float? Offset { get; init; }
Property Value
Scale
[JsonPropertyName("scale")]
public float? Scale { get; init; }
Property Value
SinOffset
[JsonPropertyName("sinOffset")]
public float? SinOffset { get; init; }
Property Value
SinScale
[JsonPropertyName("sinScale")]
public float? SinScale { get; init; }
Property Value
TanOffset
[JsonPropertyName("tanOffset")]
public float? TanOffset { get; init; }
Property Value
TanScale
[JsonPropertyName("tanScale")]
public float? TanScale { get; init; }
Property Value
Transition
[JsonPropertyName("transition")]
public FilterTransition? Transition { get; init; }