![]() |
Audacity 3.2.0
|
#include <EqualizationFilter.h>
Public Member Functions | |
EqualizationFilter (const EffectSettingsManager &manager) | |
bool | CalcFilter () |
void | Filter (size_t len, float *buffer) const |
const Envelope & | ChooseEnvelope () const |
Envelope & | ChooseEnvelope () |
const Envelope & | ChooseEnvelopeToPaint () const |
![]() | |
EqualizationParameters (const EffectSettingsManager &manager) | |
void | LoadDefaults (int options) |
void | SaveConfig () const |
bool | IsLinear () const |
Public Attributes | |
Envelope | mLinEnvelope |
Envelope | mLogEnvelope |
HFFT | hFFT { GetFFT(windowSize) } |
Floats | mFFTBuffer { windowSize } |
Floats | mFilterFuncR { windowSize } |
Floats | mFilterFuncI { windowSize } |
double | mLoFreq { loFreqI } |
double | mHiFreq { mLoFreq } |
size_t | mWindowSize { windowSize } |
![]() | |
const EffectSettingsManager & | mSettingsManager |
wxString | mCurveName |
float | mdBMin |
float | mdBMax |
size_t | mM |
int | mInterp |
bool | mDrawMode |
bool | mDrawGrid |
bool | mLin |
Static Public Attributes | |
static constexpr int | loFreqI = 20 |
static constexpr size_t | windowSize = 16384u |
![]() | |
static const EnumValueSymbol | kInterpStrings [nInterpolations] |
static constexpr EffectParameter | FilterLength |
static constexpr EffectParameter | CurveName |
static constexpr EffectParameter | InterpLin |
static constexpr EnumParameter | InterpMeth |
static constexpr EffectParameter | DrawMode |
static constexpr EffectParameter | DrawGrid |
static constexpr EffectParameter | dBMin |
static constexpr EffectParameter | dBMax |
Additional Inherited Members | |
![]() | |
enum | kInterpolations { kBspline , kCosine , kCubic , nInterpolations } |
Extend EqualizationParameters with frequency domain coefficients computed from a curve or from frequency band slider positions
Definition at line 24 of file EqualizationFilter.h.
|
explicit |
Definition at line 18 of file EqualizationFilter.cpp.
References mLinEnvelope, mLogEnvelope, and Envelope::SetTrackLen().
bool EqualizationFilter::CalcFilter | ( | ) |
Adjust given coefficients so there is a finite impulse response in time domain
Definition at line 32 of file EqualizationFilter.cpp.
References DB_TO_LINEAR, Envelope::GetValue(), InverseRealFFT(), EqualizationParameters::IsLinear(), M_PI, mFilterFuncI, mFilterFuncR, mHiFreq, mLinEnvelope, mLoFreq, mLogEnvelope, EqualizationParameters::mM, mWindowSize, and RealFFT().
Referenced by EqualizationBase::Init(), and EqualizationBase::Process().
|
inline |
Definition at line 47 of file EqualizationFilter.h.
|
inline |
Definition at line 45 of file EqualizationFilter.h.
Referenced by EqualizationCurvesList::setCurve().
|
inline |
Definition at line 51 of file EqualizationFilter.h.
References EqualizationParameters::IsLinear().
void EqualizationFilter::Filter | ( | size_t | len, |
float * | buffer | ||
) | const |
Transform a given buffer of time domain signal, which should be zero padded left and right for the tails
Definition at line 149 of file EqualizationFilter.cpp.
References hFFT, InverseRealFFTf(), mFFTBuffer, mFilterFuncI, mFilterFuncR, RealFFTf(), and ReorderToTime().
Referenced by EqualizationBase::ProcessOne().
HFFT EqualizationFilter::hFFT { GetFFT(windowSize) } |
Definition at line 55 of file EqualizationFilter.h.
Referenced by Filter().
|
staticconstexpr |
Definition at line 28 of file EqualizationFilter.h.
Referenced by EqualizationBase::Init(), and EqualizationCurvesList::setCurve().
Floats EqualizationFilter::mFFTBuffer { windowSize } |
Definition at line 56 of file EqualizationFilter.h.
Referenced by Filter().
Floats EqualizationFilter::mFilterFuncI { windowSize } |
Definition at line 57 of file EqualizationFilter.h.
Referenced by CalcFilter(), and Filter().
Floats EqualizationFilter::mFilterFuncR { windowSize } |
Definition at line 57 of file EqualizationFilter.h.
Referenced by CalcFilter(), and Filter().
double EqualizationFilter::mHiFreq { mLoFreq } |
Definition at line 59 of file EqualizationFilter.h.
Referenced by CalcFilter(), EqualizationCurvesList::EnvelopeUpdated(), EqualizationBase::EqualizationBase(), EqualizationBandSliders::Init(), EqualizationBase::Init(), and EqualizationCurvesList::setCurve().
Envelope EqualizationFilter::mLinEnvelope |
Definition at line 54 of file EqualizationFilter.h.
Referenced by CalcFilter(), EqualizationCurvesList::EnvelopeUpdated(), EqualizationBandSliders::EnvLinToLog(), EqualizationBandSliders::EnvLogToLin(), EqualizationFilter(), and EqualizationBandSliders::Invert().
double EqualizationFilter::mLoFreq { loFreqI } |
Definition at line 58 of file EqualizationFilter.h.
Referenced by CalcFilter(), and EqualizationBase::Init().
Envelope EqualizationFilter::mLogEnvelope |
Definition at line 54 of file EqualizationFilter.h.
Referenced by CalcFilter(), EqualizationCurvesList::EnvelopeUpdated(), EqualizationFilter(), EqualizationBandSliders::ErrMin(), and EqualizationBandSliders::OnSlider().
size_t EqualizationFilter::mWindowSize { windowSize } |
Definition at line 60 of file EqualizationFilter.h.
Referenced by CalcFilter(), and EqualizationPanel::Recalc().
|
staticconstexpr |
Definition at line 33 of file EqualizationFilter.h.
Referenced by EqualizationBase::Process(), and EqualizationBase::ProcessOne().