Table of Contents

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, IVideoEditXAudioEffect

Inheritance

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

float

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

ChebyshevLimitAudioEffectMode

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

int

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

float

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

int

Methods

GenerateDescription()

Generates the description.

public string GenerateDescription()

Returns

string

A string representation of the audio effect parameters.