|
arduino-audio-tools
|
#include <AudioEffectsSuite.h>
Public Member Functions | |
| EnvelopeFilter () | |
| ~EnvelopeFilter ()=default | |
| virtual bool | active () |
| determines if the effect is active | |
| virtual effectsuite_t_default | applyFilter (effectsuite_t_default sampVal) |
| EnvelopeFilter * | clone () override |
| effectsuite_t_default | envelope (effectsuite_t_default sample) |
| int | id () |
| Allows to identify an effect. | |
| virtual effect_t | process (effect_t inputSample) override |
| see applyFilter | |
| effectsuite_t | processFloat (effectsuite_t sample) |
| virtual effectsuite_t_default | processFloat (effectsuite_t_default inputSample) override |
| virtual void | setActive (bool value) |
| sets the effect active/inactive | |
| bool | setChebyICoefficients (effectsuite_t_default cutFreqIn, bool shelfType, effectsuite_t_default rippleIn) |
| void | setId (int id) |
| Allows to identify an effect. | |
Protected Member Functions | |
| void | allocateBufferMemory () |
| bool | changeChebyICoefficients (effectsuite_t_default cutFreq, bool shelfType, effectsuite_t_default ripple, int poles) |
| void | clearMemory () |
| int16_t | clip (int32_t in, int16_t clipLimit=32767, int16_t resultLimit=32767) |
| generic clipping method | |
| void | copyParent (AudioEffect *copy) |
| void | incBufferIndex () |
| effectsuite_t_default | rms (effectsuite_t_default sample) |
| bool | setSimpleLpf (int order) |
Protected Attributes | |
| bool | active_flag |
| int | bufferIndex |
| SimpleLPF< effectsuite_t > | envelopeFollower |
| int | filterOrder |
| float * | firBuffer |
| float * | firCoefficients |
| float * | firTemp |
| int | id_value |
| float * | iirBuffer |
| float * | iirCoefficients |
| float * | iirTemp |
| effectsuite_t_default * | rmsBuffer |
| int | rmsBufferIndex |
| const int | rmsWindowSize |
| int | samplingRate |
|
inline |
Constructor
|
default |
Desructor
|
inlinevirtualinherited |
determines if the effect is active
|
inlineprotectedinherited |
will allocate memory to a buffer given the current filter order and set all values == 0.00
|
inlinevirtualinherited |
with the current filter coefficients this method filters a sample then stores it the sample Buffer and increments the index
| sampVal | is the sample to be processed |
|
inlineprotectedinherited |
set firCoefficients and iirCoefficients for required chebyshev type I filter sampleBuffer memory is also set @params cutFreq normalised cutoff frequency (0 < x < .5) @params shelfType bool filter shelf type, false = low pass, true = high pass @params ripple percentage ripple (<.2929) @params poles number of poles
|
inlineprotectedinherited |
checks internal memory storage of filter coeffcients and deletes if required
|
inlineprotectedinherited |
generic clipping method
|
inlineoverridevirtual |
Implements AudioEffect.
|
inlineprotectedinherited |
|
inlineinherited |
detect the envelop of an incoming signal
| sample | the incoming signal sample value |
|
inlineinherited |
Allows to identify an effect.
|
inlineprotectedinherited |
increment the buffer index and wrap it to the filter order
see applyFilter
Reimplemented from EffectSuiteBase< effectsuite_t_default >.
Reimplemented in FilteredDelay< effectsuite_t >.
|
inline |
main process method: applies an envelope filter to the incoming signal sample @params sample incoming signal sample value
|
inlineoverridevirtualinherited |
Implements EffectSuiteBase< effectsuite_t_default >.
|
inlineprotectedinherited |
root mean square of signal over a specific sample window
|
inlinevirtualinherited |
sets the effect active/inactive
|
inlineinherited |
changes the current Chebyshev type 1 coefficients without altering the filter order. This allows for use in an audio process thread as it avoids dynamic allocation of memory. Filter sample and coefficient buffers are unaltered for initialising a chebyshev type 1 filter
|
inlineinherited |
Allows to identify an effect.
|
inlineprotectedinherited |
a simple normalised fir low pass filter @params order number of delay coefficients
|
protectedinherited |
|
protectedinherited |
current buffer index
|
protected |
this follows the signal envelope and alters the internallow pass filter cutoff
|
protectedinherited |
order of delay filter including the zero delay coefficients
|
protectedinherited |
buffer to hold forward delay sample data
|
protectedinherited |
Numerator coefficients in delay filter firCoefficients[0] z^0 coeffcieint firCoefficients[1] z^-1 coefficient
|
protectedinherited |
hold temporary values for fir coeffcient buffer
|
protectedinherited |
|
protectedinherited |
buffer to hold backward delay sample data
|
protectedinherited |
Denomiator coefficients in delay filter
|
protectedinherited |
hold temporary values for iir coeffcient buffer
|
protectedinherited |
RMS window buffer
|
protectedinherited |
current write index of rmsBuffer
|
protectedinherited |
window size in samples of rms window
|
protectedinherited |