Class CompressorFilter
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
Thresholdfloat?Level above which compression kicks in, in dB, null uses the server default.
Ratiofloat?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.
Attackfloat?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.
Releasefloat?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.
Gainfloat?Input gain in dB. NodeLink ignores it and just echoes it back, null is sent as 0.
MakeupGainfloat?Output gain in dB, null is sent as 0.
TransitionFilterTransitionFades 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
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
MakeupGain
Output gain in dB, null is sent as 0.
[JsonPropertyName("makeupGain")]
public float? MakeupGain { get; init; }
Property Value
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
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
Threshold
Level above which compression kicks in, in dB, null uses the server default.
[JsonPropertyName("threshold")]
public float? Threshold { get; init; }
Property Value
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; }