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 |
Public Member Functions inherited from EqualizationParameters | |
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 } |
Public Attributes inherited from EqualizationParameters | |
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 Public Attributes inherited from EqualizationParameters | |
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 | |
Public Types inherited from EqualizationParameters | |
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().