Table of Contents

Class ChebyshevBandPassRejectAudioEffect

Namespace
VisioForge.Core.Types.X.AudioEffects
Assembly
VisioForge.Core.dll

Chebyshev band pass and band reject audio filter for precise frequency range control. Uses the GStreamer 'audiochebband' element implementing Chebyshev Type I or Type II filters. Provides steeper roll-off than standard filters, useful for frequency isolation or notch filtering.

public class ChebyshevBandPassRejectAudioEffect : BaseAudioEffect, ISharedAudioEffectX, IVideoEditXAudioEffect

Inheritance

Implements

Inherited Members

Remarks

GStreamer element: audiochebband Properties:

  • mode: 0=Band pass (passes frequencies within range), 1=Band reject (blocks frequencies within range)
  • lower-frequency: Start of frequency band (Hz)
  • upper-frequency: End of frequency band (Hz)
  • poles: Filter order (more poles = steeper roll-off but more ripple)
  • type: 1=Type I (ripple in passband), 2=Type II (ripple in stopband)
  • ripple: Amount of ripple in dB

Band Pass mode:

  • Allows frequencies between lower and upper to pass
  • Attenuates everything outside this range
  • Use for: Isolating specific frequency ranges, telephone effect, radio effect

Band Reject (Notch) mode:

  • Blocks frequencies between lower and upper
  • Allows everything outside this range to pass
  • Use for: Removing hum (50/60 Hz), feedback elimination, noise reduction

Filter Types:

  • Type I: Ripple in passband, monotonic in stopband (more common)
  • Type II: Monotonic in passband, ripple in stopband (inverse Chebyshev)

Poles (filter order):

  • More poles = steeper transition, but more phase distortion and ripple
  • Typical: 4-8 poles for most applications
  • Higher (10-12+): Very steep roll-off, but audible artifacts

Constructors

ChebyshevBandPassRejectAudioEffect()

Initializes a new instance of the VisioForge.Core.Types.X.AudioEffects.ChebyshevBandPassRejectAudioEffect class with default settings. Creates a band-pass filter with moderate characteristics.

public ChebyshevBandPassRejectAudioEffect()

Properties

LowerFrequency

Gets or sets the lower frequency limit of the band in Hz. This is the starting point of the frequency range to pass (band-pass) or reject (band-reject). Must be less than VisioForge.Core.Types.X.AudioEffects.ChebyshevBandPassRejectAudioEffect.UpperFrequency. Typical ranges:

  • 20-100 Hz: Low-end control
  • 100-500 Hz: Low-mid control
  • 500-2000 Hz: Mid-range control
  • 2000-8000 Hz: High-mid control
  • 8000-20000 Hz: High-frequency control
public float LowerFrequency { get; set; }

Property Value

float

Mode

Gets or sets the filter mode determining whether to pass or reject the specified frequency band. Band Pass: Allows frequencies between LowerFrequency and UpperFrequency to pass through. Band Reject: Blocks frequencies between LowerFrequency and UpperFrequency (acts as a notch filter).

public ChebyshevBandPassRejectAudioEffectMode Mode { get; set; }

Property Value

ChebyshevBandPassRejectAudioEffectMode

Poles

Gets or sets the number of poles (filter order) in the Chebyshev filter. More poles create a steeper transition between pass and stop bands but introduce more ripple. Range: Typically 2-12. Default: 4.

  • 2-4 poles: Gentle slope, minimal ripple, natural sound
  • 4-8 poles: Moderate slope (typical for most uses)
  • 8-12 poles: Steep slope, more ripple, can sound artificial Higher pole counts also increase phase distortion.
public int Poles { get; set; }

Property Value

int

Ripple

Gets or sets the amount of ripple in decibels. Ripple is the variation in amplitude within the passband (Type I) or stopband (Type II). Lower ripple = flatter response but less steep roll-off. Range: Typically 0.1 to 5 dB. Default: 0.25 dB.

  • 0.1-0.5 dB: Minimal ripple, nearly flat response (recommended)
  • 0.5-1.0 dB: Slight ripple, steeper roll-off
  • 1.0-3.0 dB: Noticeable ripple, very steep roll-off
  • 3.0+ dB: Significant ripple, extreme roll-off (may sound unnatural)
public float Ripple { get; set; }

Property Value

float

Type

Gets or sets the type of Chebyshev filter to use. Type I (value=1): Ripple in the passband, monotonic (smooth) in the stopband. Most common. Type II (value=2): Monotonic in the passband, ripple in the stopband. Inverse Chebyshev. Range: 1 or 2. Default: 1 (Type I).

Type I is generally preferred for audio applications because:

  • The passband (what you want to hear) has controlled, predictable ripple
  • The stopband (what you want to remove) has smooth, aggressive attenuation

Type II is useful when:

  • You need a maximally flat passband
  • You can tolerate less aggressive stopband attenuation
public int Type { get; set; }

Property Value

int

UpperFrequency

Gets or sets the upper frequency limit of the band in Hz. This is the ending point of the frequency range to pass (band-pass) or reject (band-reject). Must be greater than VisioForge.Core.Types.X.AudioEffects.ChebyshevBandPassRejectAudioEffect.LowerFrequency and less than or equal to Nyquist frequency (half the sample rate).

public float UpperFrequency { get; set; }

Property Value

float

Methods

GenerateDescription()

Generates the description.

public string GenerateDescription()

Returns

string

A string representation of the audio effect parameters.