Class ChebyshevLimitAudioEffect
- Namespace
- VisioForge.Core.Types.X.AudioEffects
- Assembly
- VisioForge.Core.dll
Chebyshev low-pass and high-pass audio filter for frequency range control. Uses the GStreamer 'audiocheblimit' element implementing Chebyshev Type I or Type II filters. Provides steep roll-off for aggressive frequency limiting, common in synthesis and audio processing.
public class ChebyshevLimitAudioEffect : BaseAudioEffect, ISharedAudioEffectX, IVideoEditXAudioEffectInheritance
Implements
Inherited Members
Remarks
GStreamer element: audiocheblimit Properties:
- mode: 0=Low-pass (passes frequencies below cutoff), 1=High-pass (passes frequencies above cutoff)
- cutoff: Cutoff frequency in Hz
- poles: Filter order (more poles = steeper slope)
- type: 1=Type I (ripple in passband), 2=Type II (ripple in stopband)
- ripple: Amount of ripple in dB
Low-Pass mode:
- Allows frequencies below cutoff to pass
- Removes high frequencies (treble, sibilance, noise)
- Use for: Removing high-frequency noise, "telephone" effect, de-essing, warmth
High-Pass mode:
- Allows frequencies above cutoff to pass
- Removes low frequencies (rumble, hum, bass)
- Use for: Removing rumble, reducing muddiness, clarity in dense mixes
Chebyshev characteristics:
- Steeper roll-off than Butterworth filters
- Some ripple in the passband (Type I) or stopband (Type II)
- More phase distortion than Butterworth
- Useful when steep filtering is more important than flat frequency response
Constructors
ChebyshevLimitAudioEffect()
Initializes a new instance of the VisioForge.Core.Types.X.AudioEffects.ChebyshevLimitAudioEffect class with default settings. Creates a low-pass filter with moderate characteristics.
public ChebyshevLimitAudioEffect()Properties
CutOffFrequency
Gets or sets the cutoff frequency in Hz where the filter transitions from pass to stop. For low-pass: Frequencies below this are passed, above are attenuated. For high-pass: Frequencies above this are passed, below are attenuated. Range: Typically 20 Hz to 20,000 Hz.
Common cutoff frequencies: Low-pass:
- 5000-8000 Hz: Removes air/brightness, creates warmth
- 3000-5000 Hz: "Telephone" or "radio" effect
- 1000-2000 Hz: Removes most high-frequency content
- 500-1000 Hz: Extreme filtering, muffled sound
High-pass:
- 20-40 Hz: Removes sub-sonic rumble only
- 60-100 Hz: Reduces bass, removes most rumble
- 150-250 Hz: Reduces warmth, increases clarity
- 300-500 Hz: Thins sound significantly, "tinny" quality
public float CutOffFrequency { get; set; }Property Value
Mode
Gets or sets the filter mode determining whether to use low-pass or high-pass filtering. Low-pass: Passes frequencies below the cutoff, removes frequencies above. High-pass: Passes frequencies above the cutoff, removes frequencies below.
public ChebyshevLimitAudioEffectMode Mode { get; set; }Property Value
Poles
Gets or sets the number of poles (filter order) determining the steepness of the roll-off. More poles create a steeper transition at the cutoff frequency but introduce more phase shift. Range: Typically 2-12. Default: 4.
- 2 poles: 12 dB/octave slope (gentle, natural)
- 4 poles: 24 dB/octave slope (moderate, typical)
- 6 poles: 36 dB/octave slope (steep)
- 8 poles: 48 dB/octave slope (very steep)
- 12+ poles: 72+ dB/octave (extreme, "brick wall")
Higher pole counts:
- More aggressive filtering
- Steeper transition
- More passband ripple
- More phase distortion
- Less natural sound
public int Poles { get; set; }Property Value
Ripple
Gets or sets the amount of ripple in the passband (Type I) or stopband (Type II). Represents the maximum deviation from the ideal flat response. Range: Typically 0.1 to 5 dB. Default: 0.25 dB.
- 0.1-0.5 dB: Minimal ripple, nearly flat response (best for audio)
- 0.5-1.0 dB: Slight ripple, audible with critical listening
- 1.0-3.0 dB: Noticeable ripple, steeper roll-off
- 3.0+ dB: Significant ripple, may sound unnatural
Trade-off: Less ripple = gentler slope, More ripple = steeper slope
public float Ripple { get; set; }Property Value
Type
Gets or sets the type of Chebyshev filter implementation. Type I (value=1): Ripple in passband, monotonic stopband. Most common for audio. Type II (value=2): Monotonic passband, ripple in stopband. Inverse Chebyshev. Range: 1 or 2. Default: 1 (Type I).
Type I characteristics:
- Steeper roll-off for given order
- More aggressive filtering
- Some ripple in frequencies you want to hear
Type II characteristics:
- Flat passband (no ripple in audible range)
- Better for critical listening
- Less steep roll-off
- Ripple in the stopped frequencies (usually not audible)
public int Type { get; set; }Property Value
Methods
GenerateDescription()
Generates the description.
public string GenerateDescription()Returns
- string
-
A string representation of the audio effect parameters.