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, ISharedAudioEffectXInheritance
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
cutOffHighfloat-
The high cutoff frequency in Hz. Frequencies above this are attenuated. Must be higher than cutOffLow and typically below 20000 Hz (Nyquist limit).
cutOffLowfloat-
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
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; }