Gin
Loading...
Searching...
No Matches
EQ Class Reference

Multi-channel, multi-band equalizer with flexible filter types. More...

#include <gin_eq.h>

Public Types

enum  Type {
  lowshelf , highshelf , peak , highpass ,
  lowpass
}

Public Member Functions

 EQ (int numBands)
void setSampleRate (double sr)
void setNumChannels (int ch)
void reset ()
void setParams (int band, Type t, float freq, float q, float g)
void process (juce::AudioSampleBuffer &buffer)

Detailed Description

Multi-channel, multi-band equalizer with flexible filter types.

EQ provides a professional multi-band equalizer supporting multiple filter types per band. Each band can be configured independently as a shelving filter, peak/notch filter, or high/low-pass filter. Supports any number of channels.

Key Features:

  • Configurable number of bands
  • Multiple filter types per band (lowshelf, highshelf, peak, highpass, lowpass)
  • Multi-channel support
  • Independent frequency, Q, and gain per band
  • Based on high-quality biquad filters

Filter Types:

  • lowshelf: Boost/cut low frequencies
  • highshelf: Boost/cut high frequencies
  • peak: Boost/cut at specific frequency (bell curve)
  • highpass: Remove frequencies below cutoff
  • lowpass: Remove frequencies above cutoff

Usage:

EQ equalizer(3); // 3-band EQ
equalizer.setSampleRate(44100.0);
equalizer.setNumChannels(2); // Stereo
// Low shelf: boost bass at 100Hz
equalizer.setParams(0, EQ::lowshelf, 100.0f, 0.7f, 3.0f);
// Peak: cut at 1kHz
equalizer.setParams(1, EQ::peak, 1000.0f, 2.0f, -6.0f);
// High shelf: boost treble at 8kHz
equalizer.setParams(2, EQ::highshelf, 8000.0f, 0.7f, 2.0f);
equalizer.process(audioBuffer);
EQ(int numBands)
Definition gin_eq.h:70
@ peak
Definition gin_eq.h:65
@ lowshelf
Definition gin_eq.h:63
@ highshelf
Definition gin_eq.h:64
See also
Filter

Member Enumeration Documentation

◆ Type

enum EQ::Type
Enumerator
lowshelf 
highshelf 
peak 
highpass 
lowpass 

Constructor & Destructor Documentation

◆ EQ()

EQ::EQ ( int numBands)

Member Function Documentation

◆ setSampleRate()

void EQ::setSampleRate ( double sr)

◆ setNumChannels()

void EQ::setNumChannels ( int ch)

◆ reset()

void EQ::reset ( )

◆ setParams()

void EQ::setParams ( int band,
Type t,
float freq,
float q,
float g )

◆ process()

void EQ::process ( juce::AudioSampleBuffer & buffer)

The documentation for this class was generated from the following file: