arduino-audio-tools
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
audio_tools::FilteredDelay Class Reference

Delay effect that filters the repeat delay. More...

#include <AudioEffectsSuite.h>

Inheritance diagram for audio_tools::FilteredDelay:
audio_tools::DelayEffectBase audio_tools::FilterEffectBase audio_tools::EffectSuiteBase audio_tools::AudioEffect

Public Member Functions

 FilteredDelay (FilteredDelay &copy)=default
 
 FilteredDelay (int delayInSamples, int sample_rate=44100)
 
 ~FilteredDelay ()=default
 
FilteredDelayclone () override
 
effect_t process (effect_t inputSample) override
 see applyFilter More...
 
effectsuite_t processDouble (effectsuite_t inputSample) override
 
void setDelayGain (effectsuite_t gain)
 
void setFeedbackGain (effectsuite_t gain)
 
- Public Member Functions inherited from audio_tools::DelayEffectBase
 DelayEffectBase ()=default
 
 DelayEffectBase (DelayEffectBase &copy)=default
 
 DelayEffectBase (int bufferSizeSamples)
 
 ~DelayEffectBase ()
 
void setupDelayEffectBase (const int bufferSizeSamples)
 
- Public Member Functions inherited from audio_tools::FilterEffectBase
 FilterEffectBase ()
 
 FilterEffectBase (FilterEffectBase &copy)=default
 
 ~FilterEffectBase ()=default
 
virtual effectsuite_t applyFilter (effectsuite_t sampVal)
 
effectsuite_t envelope (effectsuite_t sample)
 
void printBuffers ()
 
void printCoefs ()
 
virtual effect_t process (effect_t inputSample) override
 see applyFilter More...
 
virtual effectsuite_t processDouble (effectsuite_t inputSample) override
 Main process block for applying audio effect. More...
 
bool setChebyICoefficients (effectsuite_t cutFreq, bool shelfType, effectsuite_t ripple)
 
- Public Member Functions inherited from audio_tools::AudioEffect
virtual bool active ()
 determines if the effect is active
 
virtual AudioEffectclone ()=0
 
int id ()
 Allows to identify an effect.
 
virtual effect_t process (effect_t in)=0
 calculates the effect output from the input More...
 
virtual void setActive (bool value)
 sets the effect active/inactive
 
void setId (int id)
 Allows to identify an effect.
 

Protected Member Functions

void capGain (effectsuite_t &gain)
 
- Protected Member Functions inherited from audio_tools::DelayEffectBase
void delaySample (effectsuite_t inputSample)
 
effectsuite_t getInterpolatedOut (effectsuite_t bufferIndex)
 
void incDelayBuffReadIndex (effectsuite_t indexInc)
 
void incDelayBuffWriteIndex ()
 
void printInterpTable ()
 
bool setDelayBuffer (int bufferSizeSamples)
 
void setDelayBuffReadIndex (effectsuite_t index)
 
void storeSample (effectsuite_t inputSample)
 
- Protected Member Functions inherited from audio_tools::FilterEffectBase
void allocateBufferMemory ()
 
bool changeChebyICoefficients (effectsuite_t cutFreq, bool shelfType, effectsuite_t ripple, int poles)
 
void clearMemory ()
 
void incBufferIndex ()
 
effectsuite_t rms (effectsuite_t sample)
 
bool setSimpleLpf (int order)
 
- Protected Member Functions inherited from audio_tools::AudioEffect
int16_t clip (int32_t in, int16_t clipLimit=32767, int16_t resultLimit=32767)
 generic clipping method
 
void copyParent (AudioEffect *copy)
 

Protected Attributes

effectsuite_t delayGain = .707
 
effectsuite_t feedbackGain = 0.0
 
- Protected Attributes inherited from audio_tools::DelayEffectBase
effectsuite_t currentDelayReadIndex = 0
 
int currentDelayWriteIndex = 0
 
effectsuite_t * delayBuffer = 0
 
int delayTimeSamples = 44100
 
bool error
 
int maxDelayBufferSize = 441000
 
- Protected Attributes inherited from audio_tools::FilterEffectBase
int bufferIndex = 0
 
int filterOrder = 0
 
effectsuite_t * firBuffer = 0
 
effectsuite_t * firCoefficients = 0
 
effectsuite_t * firTemp = 0
 
effectsuite_t * iirBuffer = 0
 
effectsuite_t * iirCoefficients = 0
 
effectsuite_t * iirTemp = 0
 
effectsuite_t * rmsBuffer = new effectsuite_t[rmsWindowSize]
 
int rmsBufferIndex = 0
 
const int rmsWindowSize = 128
 
int samplingRate = 0
 
- Protected Attributes inherited from audio_tools::AudioEffect
bool active_flag = true
 
int id_value = -1
 

Additional Inherited Members

- Static Protected Member Functions inherited from audio_tools::DelayEffectBase
static effectsuite_t ** setInterpolationTable ()
 
- Static Protected Attributes inherited from audio_tools::DelayEffectBase
static const int interpOrder = 4
 
static const int interpResolution = 1000
 
- Static Protected Attributes inherited from audio_tools::FilterEffectBase
static constexpr const effectsuite_t pi = 3.141592653589793
 

Detailed Description

Delay effect that filters the repeat delay.

Author
Matthew Hamilton

Constructor & Destructor Documentation

◆ FilteredDelay()

audio_tools::FilteredDelay::FilteredDelay ( int  delayInSamples,
int  sample_rate = 44100 
)
inline

Constructor

◆ ~FilteredDelay()

audio_tools::FilteredDelay::~FilteredDelay ( )
default

Destructor

Member Function Documentation

◆ capGain()

void audio_tools::FilteredDelay::capGain ( effectsuite_t &  gain)
inlineprotected

capGain: caps gain to a range of 1 and -1;

Parameters
gainaddress of gain value

◆ clone()

FilteredDelay * audio_tools::FilteredDelay::clone ( )
inlineoverridevirtual

◆ process()

effect_t audio_tools::FilteredDelay::process ( effect_t  inputSample)
inlineoverridevirtual

see applyFilter

Reimplemented from audio_tools::FilterEffectBase.

◆ processDouble()

effectsuite_t audio_tools::FilteredDelay::processDouble ( effectsuite_t  inputSample)
inlineoverridevirtual

apply the DSP effect

Reimplemented from audio_tools::FilterEffectBase.

◆ setDelayGain()

void audio_tools::FilteredDelay::setDelayGain ( effectsuite_t  gain)
inline

setDelayGain: sets the delay gain to a value between 1 and -1

Parameters
gainrequireddelay gain. Values beyond 1 and -1 are capped to the maximum to avoid idiocy. Negative velus invoke a phase inversion.
See also
setFeedbackGain

◆ setFeedbackGain()

void audio_tools::FilteredDelay::setFeedbackGain ( effectsuite_t  gain)
inline

setDelayGain: sets the feedback gain to a value between 1 and -1

Parameters
gainrequired delay gain. Values beyond 1 and -1 are capped to the maximum to avoid idiocy. Negative velus invoke a phase inversion.
See also
setDelayGain

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