Table of Contents

Class EqualizerParametricAudioEffect

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

Parametric n-band audio equalizer with adjustable frequency, Q (bandwidth), and gain for each band. Provides more precise and flexible frequency control compared to graphic equalizers. Ideal for surgical EQ adjustments, feedback elimination, and professional audio work.

public class EqualizerParametricAudioEffect : BaseAudioEffect, ISharedAudioEffectX

Inheritance

Implements

Inherited Members

Remarks

Unlike graphic equalizers with fixed frequencies, parametric EQ allows you to:

  1. Choose the exact center frequency for each band
  2. Adjust the bandwidth (Q factor) to target narrow or wide frequency ranges
  3. Boost or cut by any amount within limits

Q Factor (bandwidth) guidelines:

  • Low Q (0.5-1.0): Wide bandwidth, affects broad frequency range (musical, gentle)
  • Medium Q (1.0-3.0): Moderate bandwidth (typical for general EQ)
  • High Q (5.0-10.0+): Narrow bandwidth (surgical cuts, feedback elimination)

Common uses:

  • Feedback elimination: High Q, narrow cuts at problem frequencies
  • Vocal de-essing: Narrow cut at 5-8 kHz
  • Bass tightening: Narrow cut at 100-200 Hz
  • Presence boost: Wide boost at 2-5 kHz
  • Air enhancement: Wide boost at 10-15 kHz

Each band is independently configurable via VisioForge.Core.Types.X.AudioEffects.ParametricEqualizerBand objects. Call VisioForge.Core.Types.X.AudioEffects.EqualizerParametricAudioEffect.Update after modifying bands to apply changes during playback.

Constructors

EqualizerParametricAudioEffect(int)

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

public EqualizerParametricAudioEffect(int numBands)

Parameters

numBands int

Number of equalizer bands to create. Range: 1 to 64. More bands provide finer control but use more CPU. Typical values: 3-5 bands for general use, 8-12 for professional mixing.

Exceptions

Exception

Thrown if numBands is not between 1 and 64.

Properties

Bands

Gets the array of equalizer bands. Each band can be configured with frequency, Q (bandwidth), and gain. Access individual bands by index to set their parameters. After modifying band parameters, call VisioForge.Core.Types.X.AudioEffects.EqualizerParametricAudioEffect.Update to apply changes.

public ParametricEqualizerBand[] Bands { get; }

Property Value

ParametricEqualizerBand[]

Examples

var eq = new EqualizerParametricAudioEffect(3);

// Band 0: Cut muddy low-mids
eq.Bands[0].Frequency = 200;    // Hz
eq.Bands[0].Q = 1.5;             // Moderate bandwidth
eq.Bands[0].Gain = -3;           // Cut by 3 dB

// Band 1: Boost presence
eq.Bands[1].Frequency = 3000;    // Hz
eq.Bands[1].Q = 2.0;
eq.Bands[1].Gain = 4;            // Boost by 4 dB

// Band 2: Add air/sparkle
eq.Bands[2].Frequency = 12000;   // Hz
eq.Bands[2].Q = 0.7;             // Wide bandwidth
eq.Bands[2].Gain = 2;            // Subtle boost

eq.Update();  // Apply all band settings

Methods

Update()

Updates the equalizer with the current band settings. Must be called after modifying any band parameters in the VisioForge.Core.Types.X.AudioEffects.EqualizerParametricAudioEffect.Bands array to apply the changes to the audio processing pipeline. Can be called during playback to adjust EQ in real-time.

public void Update()