OpenWareLaboratory
StereoBiquadFilter Class Reference
Inheritance diagram for StereoBiquadFilter:
Collaboration diagram for StereoBiquadFilter:

Public Member Functions

void copyCoefficients (FloatArray newCoefficients)
 Copies coefficient values from an array. More...
 
void copyState (FloatArray newState)
 Copies state values from an array. More...
 
FloatArray getCoefficients ()
 
BiquadFiltergetFilter (size_t channel)
 
FilterStage getFilterStage (size_t stage)
 
float getSampleRate ()
 
size_t getStages ()
 
FloatArray getState ()
 
void process (AudioBuffer &input, AudioBuffer &output)
 
void process (float *input, float *output, size_t size)
 
float process (float input)
 
void process (FloatArray in)
 
void process (FloatArray in, FloatArray out)
 
void processAllPass (FloatArray in, FloatArray fc, float q, FloatArray out)
 
void processBandPass (FloatArray in, FloatArray fc, float q, FloatArray out)
 
void processHighPass (FloatArray in, FloatArray fc, float q, FloatArray out)
 
void processLowPass (FloatArray in, FloatArray fc, float q, FloatArray out)
 
void setAllPass (float fc, float q)
 
void setBandPass (float fc, float q)
 
void setCoefficients (FloatArray newCoefficients)
 Sets coefficients to point to a different set of values. More...
 
void setHighPass (float fc, float q)
 
void setHighShelf (float fc, float gain)
 Configure a high shelf filter with variable gain. More...
 
void setLowPass (float fc, float q)
 
void setLowShelf (float fc, float gain)
 Configure a low shelf filter with variable gain. More...
 
void setNotch (float fc, float q)
 
void setPeak (float fc, float q, float gain)
 Configure a peaking filter with resonance and variable gain. More...
 
void setSampleRate (float sr)
 
void setStages (size_t newStages)
 
void setState (FloatArray newState)
 Sets state to point to a different set of values. More...
 
 StereoBiquadFilter (float sr, float *coefs, float *states, size_t stages, BiquadFilter *filters)
 

Static Public Member Functions

static MultiBiquadFiltercreate (float sr, size_t channels, size_t stages=1)
 
static StereoBiquadFiltercreate (float sr, size_t stages=1)
 
static void destroy (BiquadFilter *filter)
 
static void destroy (MultiBiquadFilter *filter)
 
static void destroy (StereoBiquadFilter *filter)
 
static size_t getCoefficientsPerStage ()
 

Protected Member Functions

void copyCoefficients ()
 
void init ()
 

Protected Attributes

float * coefficients
 
size_t stages
 
float * state
 

Detailed Description

Definition at line 473 of file BiquadFilter.h.

Constructor & Destructor Documentation

◆ StereoBiquadFilter()

StereoBiquadFilter::StereoBiquadFilter ( float  sr,
float *  coefs,
float *  states,
size_t  stages,
BiquadFilter filters 
)
inline

Definition at line 475 of file BiquadFilter.h.

Referenced by create().

Member Function Documentation

◆ copyCoefficients() [1/2]

◆ copyCoefficients() [2/2]

void BiquadFilter::copyCoefficients ( FloatArray  newCoefficients)
inlineinherited

◆ copyState()

void BiquadFilter::copyState ( FloatArray  newState)
inlineinherited

◆ create() [1/2]

◆ create() [2/2]

◆ destroy() [1/3]

static void BiquadFilter::destroy ( BiquadFilter filter)
inlinestaticinherited

◆ destroy() [2/3]

static void MultiBiquadFilter::destroy ( MultiBiquadFilter filter)
inlinestaticinherited

Definition at line 452 of file BiquadFilter.h.

References BiquadFilter::coefficients, and BiquadFilter::state.

Referenced by destroy().

◆ destroy() [3/3]

static void StereoBiquadFilter::destroy ( StereoBiquadFilter filter)
inlinestatic

Definition at line 493 of file BiquadFilter.h.

References MultiBiquadFilter::destroy().

◆ getCoefficients()

FloatArray BiquadFilter::getCoefficients ( )
inlineinherited

◆ getCoefficientsPerStage()

static size_t BiquadFilter::getCoefficientsPerStage ( )
inlinestaticinherited

Definition at line 240 of file BiquadFilter.h.

References BIQUAD_COEFFICIENTS_PER_STAGE.

◆ getFilter()

BiquadFilter* MultiBiquadFilter::getFilter ( size_t  channel)
inlineinherited

Definition at line 458 of file BiquadFilter.h.

◆ getFilterStage()

FilterStage BiquadFilter::getFilterStage ( size_t  stage)
inlineinherited

◆ getSampleRate()

float BiquadFilter::getSampleRate ( )
inlineinherited

Definition at line 228 of file BiquadFilter.h.

References M_PI.

◆ getStages()

size_t BiquadFilter::getStages ( )
inlineinherited

Definition at line 232 of file BiquadFilter.h.

References BiquadFilter::stages.

◆ getState()

FloatArray BiquadFilter::getState ( )
inlineinherited

◆ init()

void BiquadFilter::init ( )
inlineprotectedinherited

◆ process() [1/5]

void MultiBiquadFilter::process ( AudioBuffer input,
AudioBuffer output 
)
inlinevirtualinherited

◆ process() [2/5]

◆ process() [3/5]

float BiquadFilter::process ( float  input)
inlinevirtualinherited

Reimplemented from SignalProcessor.

Definition at line 341 of file BiquadFilter.h.

References BiquadFilter::process().

◆ process() [4/5]

void BiquadFilter::process ( FloatArray  in)
inlineinherited

Definition at line 303 of file BiquadFilter.h.

References SimpleArray< T >::getSize(), and BiquadFilter::process().

◆ process() [5/5]

void BiquadFilter::process ( FloatArray  in,
FloatArray  out 
)
inlinevirtualinherited

Reimplemented from SignalProcessor.

Definition at line 307 of file BiquadFilter.h.

References ASSERT, SimpleArray< T >::getSize(), and BiquadFilter::process().

◆ processAllPass()

void BiquadFilter::processAllPass ( FloatArray  in,
FloatArray  fc,
float  q,
FloatArray  out 
)
inlineinherited

◆ processBandPass()

void BiquadFilter::processBandPass ( FloatArray  in,
FloatArray  fc,
float  q,
FloatArray  out 
)
inlineinherited

◆ processHighPass()

void BiquadFilter::processHighPass ( FloatArray  in,
FloatArray  fc,
float  q,
FloatArray  out 
)
inlineinherited

◆ processLowPass()

void BiquadFilter::processLowPass ( FloatArray  in,
FloatArray  fc,
float  q,
FloatArray  out 
)
inlineinherited

◆ setAllPass()

void BiquadFilter::setAllPass ( float  fc,
float  q 
)
inlineinherited

◆ setBandPass()

void BiquadFilter::setBandPass ( float  fc,
float  q 
)
inlineinherited

◆ setCoefficients()

void BiquadFilter::setCoefficients ( FloatArray  newCoefficients)
inlineinherited

Sets coefficients to point to a different set of values.

Definition at line 402 of file BiquadFilter.h.

References ASSERT, BIQUAD_COEFFICIENTS_PER_STAGE, BiquadFilter::coefficients, SimpleArray< T >::getData(), SimpleArray< T >::getSize(), BiquadFilter::init(), and BiquadFilter::stages.

Referenced by MultiBiquadFilter::create(), and create().

◆ setHighPass()

void BiquadFilter::setHighPass ( float  fc,
float  q 
)
inlineinherited

◆ setHighShelf()

void BiquadFilter::setHighShelf ( float  fc,
float  gain 
)
inlineinherited

Configure a high shelf filter with variable gain.

Parameters
gainin dB

Definition at line 394 of file BiquadFilter.h.

References BiquadFilter::coefficients, BiquadFilter::copyCoefficients(), and FilterStage::setHighShelf().

◆ setLowPass()

void BiquadFilter::setLowPass ( float  fc,
float  q 
)
inlineinherited

◆ setLowShelf()

void BiquadFilter::setLowShelf ( float  fc,
float  gain 
)
inlineinherited

Configure a low shelf filter with variable gain.

Parameters
gainin dB

Definition at line 385 of file BiquadFilter.h.

References BiquadFilter::coefficients, BiquadFilter::copyCoefficients(), and FilterStage::setLowShelf().

◆ setNotch()

void BiquadFilter::setNotch ( float  fc,
float  q 
)
inlineinherited

◆ setPeak()

void BiquadFilter::setPeak ( float  fc,
float  q,
float  gain 
)
inlineinherited

Configure a peaking filter with resonance and variable gain.

Parameters
gainin dB

Definition at line 376 of file BiquadFilter.h.

References BiquadFilter::coefficients, BiquadFilter::copyCoefficients(), and FilterStage::setPeak().

◆ setSampleRate()

void BiquadFilter::setSampleRate ( float  sr)
inlineinherited

Definition at line 224 of file BiquadFilter.h.

References M_PI.

Referenced by MultiBiquadFilter::create(), and create().

◆ setStages()

void BiquadFilter::setStages ( size_t  newStages)
inlineinherited

Definition at line 236 of file BiquadFilter.h.

References BiquadFilter::stages.

Referenced by MultiBiquadFilter::create(), and create().

◆ setState()

void BiquadFilter::setState ( FloatArray  newState)
inlineinherited

Sets state to point to a different set of values.

Definition at line 255 of file BiquadFilter.h.

References ASSERT, BIQUAD_STATE_VARIABLES_PER_STAGE, SimpleArray< T >::getData(), SimpleArray< T >::getSize(), BiquadFilter::stages, and BiquadFilter::state.

Referenced by MultiBiquadFilter::create(), and create().

Field Documentation

◆ coefficients

◆ stages

◆ state


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