Table of Contents

Class CompressorFilter

Namespace
Nyra.Entities.Filters
Assembly
Nyra.dll

Squashes the dynamic range of the audio.

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

Remarks

NodeLink only. An instance with every member null is not a no-op, the server applies its own defaults, send explicit values to pin the sound you intend.

Constructors

CompressorFilter(float?, float?, float?, float?, float?, float?, FilterTransition?)

Squashes the dynamic range of the audio.

public CompressorFilter(float? Threshold = null, float? Ratio = null, float? Attack = null, float? Release = null, float? Gain = null, float? MakeupGain = null, FilterTransition? Transition = null)

Parameters

Threshold float?

Level above which compression kicks in, in dB, null uses the server default.

Ratio float?

How much the level above the threshold is reduced, 1.0 or more, null uses the server default. Values below 1.0 are rejected client-side before the wire.

Attack float?

How fast the compressor engages, in seconds, null uses the server default. The server clamps values below its minimum. Negative values are rejected client-side before the wire.

Release float?

How fast the compressor lets go, in seconds, null uses the server default. The server clamps values below its minimum. Negative values are rejected client-side before the wire.

Gain float?

Input gain in dB. NodeLink ignores it and just echoes it back, null is sent as 0.

MakeupGain float?

Output gain in dB, null is sent as 0.

Transition FilterTransition

Fades the filter in instead of stepping, the out leg has no reachable idiom for this filter, parameter changes still step.

Remarks

NodeLink only. An instance with every member null is not a no-op, the server applies its own defaults, send explicit values to pin the sound you intend.

Properties

Attack

How fast the compressor engages, in seconds, null uses the server default. The server clamps values below its minimum. Negative values are rejected client-side before the wire.

[JsonPropertyName("attack")]
public float? Attack { get; init; }

Property Value

float?

Gain

Input gain in dB. NodeLink ignores it and just echoes it back, null is sent as 0.

[JsonPropertyName("gain")]
public float? Gain { get; init; }

Property Value

float?

MakeupGain

Output gain in dB, null is sent as 0.

[JsonPropertyName("makeupGain")]
public float? MakeupGain { get; init; }

Property Value

float?

Ratio

How much the level above the threshold is reduced, 1.0 or more, null uses the server default. Values below 1.0 are rejected client-side before the wire.

[JsonPropertyName("ratio")]
public float? Ratio { get; init; }

Property Value

float?

Release

How fast the compressor lets go, in seconds, null uses the server default. The server clamps values below its minimum. Negative values are rejected client-side before the wire.

[JsonPropertyName("release")]
public float? Release { get; init; }

Property Value

float?

Threshold

Level above which compression kicks in, in dB, null uses the server default.

[JsonPropertyName("threshold")]
public float? Threshold { get; init; }

Property Value

float?

Transition

Fades the filter in instead of stepping, the out leg has no reachable idiom for this filter, parameter changes still step.

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

Property Value

FilterTransition