Table of Contents

Class BandPassAudioEffect

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

Simple band-pass audio filter that passes frequencies within a specified range. Allows frequencies between the low and high cutoff points to pass while attenuating frequencies outside this range. Useful for isolating specific frequency bands, creating "telephone" or "radio" effects, or frequency-selective processing. Implements the VisioForge.Core.Types.X.AudioEffects.BaseAudioEffect.

public class BandPassAudioEffect : BaseAudioEffect, ISharedAudioEffectX

Inheritance

Implements

Inherited Members

Remarks

A band-pass filter is essentially a combination of a high-pass and low-pass filter:

  • High-pass component removes frequencies below CutOffLow
  • Low-pass component removes frequencies above CutOffHigh
  • Result: Only frequencies between CutOffLow and CutOffHigh are passed

Common applications:

  • Telephone effect: 300-3000 Hz (simulates telephone bandwidth)
  • Radio effect: 500-5000 Hz (simulates AM radio)
  • Vocal isolation: 200-8000 Hz (isolates vocal range)
  • Instrument isolation: Target the fundamental and harmonic range
  • Noise reduction: Remove unwanted frequency ranges above and below signal

Bandwidth calculation:

  • Bandwidth = CutOffHigh - CutOffLow
  • Center frequency = (CutOffHigh + CutOffLow) / 2
  • Narrow bandwidth: <500 Hz (selective filtering)
  • Medium bandwidth: 500-2000 Hz (typical effects)
  • Wide bandwidth: >2000 Hz (gentle shaping)

Note: This is a simpler implementation compared to VisioForge.Core.Types.X.AudioEffects.ChebyshevBandPassRejectAudioEffect which offers steeper roll-off and more control over filter characteristics.

Constructors

BandPassAudioEffect(float, float)

Initializes a new instance of the VisioForge.Core.Types.X.AudioEffects.BandPassAudioEffect class.

public BandPassAudioEffect(float cutOffHigh, float cutOffLow)

Parameters

cutOffHigh float

The high cutoff frequency in Hz. Frequencies above this are attenuated. Must be higher than cutOffLow and typically below 20000 Hz (Nyquist limit).

cutOffLow float

The low cutoff frequency in Hz. Frequencies below this are attenuated. Must be lower than cutOffHigh and typically above 20 Hz (below audible range).

Properties

CutOffHigh

Gets or sets the high cutoff frequency (upper limit of the pass band). Frequencies above this point are progressively attenuated. Must be greater than VisioForge.Core.Types.X.AudioEffects.BandPassAudioEffect.CutOffLow.

Examples:

  • 3000 Hz: Upper limit for telephone effect (with CutOffLow=300 Hz)
  • 8000 Hz: Upper limit for vocal range (with CutOffLow=200 Hz)
  • 15000 Hz: Preserves most audible content (with appropriate CutOffLow)
public float CutOffHigh { get; set; }

Property Value

float

CutOffLow

Gets or sets the low cutoff frequency (lower limit of the pass band). Frequencies below this point are progressively attenuated. Must be less than VisioForge.Core.Types.X.AudioEffects.BandPassAudioEffect.CutOffHigh.

Examples:

  • 300 Hz: Lower limit for telephone effect (with CutOffHigh=3000 Hz)
  • 200 Hz: Lower limit for vocal range (with CutOffHigh=8000 Hz)
  • 80 Hz: Removes rumble while keeping most content (with appropriate CutOffHigh)
  • 500 Hz: More aggressive low-end filtering for clarity
public float CutOffLow { get; set; }

Property Value

float

See Also