EnvelopeFilter.
More...
#include <AudioEffectsSuite.h>
template<typename effectsuite_t = effectsuite_t_default>
class audio_tools::EnvelopeFilter< effectsuite_t >
EnvelopeFilter.
- Author
- Matthew Hamilton
- Copyright
- MIT License
◆ EnvelopeFilter()
template<typename effectsuite_t = effectsuite_t_default>
◆ ~EnvelopeFilter()
template<typename effectsuite_t = effectsuite_t_default>
◆ active()
determines if the effect is active
◆ allocateBufferMemory()
template<typename effectsuite_t = effectsuite_t_default>
| void allocateBufferMemory |
( |
| ) |
|
|
inlineprotectedinherited |
will allocate memory to a buffer given the current filter order and set all values == 0.00
◆ applyFilter()
template<typename effectsuite_t = effectsuite_t_default>
| virtual effectsuite_t applyFilter |
( |
effectsuite_t |
sampVal | ) |
|
|
inlinevirtualinherited |
with the current filter coefficients this method filters a sample then stores it the sample Buffer and increments the index
- Parameters
-
| sampVal | is the sample to be processed |
- Returns
- filtered audio sample
◆ changeChebyICoefficients()
template<typename effectsuite_t = effectsuite_t_default>
| bool changeChebyICoefficients |
( |
effectsuite_t |
cutFreq, |
|
|
bool |
shelfType, |
|
|
effectsuite_t |
ripple, |
|
|
int |
poles |
|
) |
| |
|
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
- Returns
- boolean false on error and true on success
◆ clearMemory()
template<typename effectsuite_t = effectsuite_t_default>
checks internal memory storage of filter coeffcients and deletes if required
◆ clip()
| int16_t clip |
( |
int32_t |
in, |
|
|
int16_t |
clipLimit = 32767, |
|
|
int16_t |
resultLimit = 32767 |
|
) |
| |
|
inlineprotectedinherited |
◆ clone()
template<typename effectsuite_t = effectsuite_t_default>
◆ copyParent()
◆ envelope()
template<typename effectsuite_t = effectsuite_t_default>
| effectsuite_t envelope |
( |
effectsuite_t |
sample | ) |
|
|
inlineinherited |
detect the envelop of an incoming signal
- Parameters
-
| sample | the incoming signal sample value |
- Returns
- returns envelope dection signal sample value
◆ id()
Allows to identify an effect.
◆ incBufferIndex()
template<typename effectsuite_t = effectsuite_t_default>
increment the buffer index and wrap it to the filter order
◆ process()
template<typename effectsuite_t = effectsuite_t_default>
|
|
inlineoverridevirtualinherited |
◆ processFloat()
template<typename effectsuite_t = effectsuite_t_default>
| effectsuite_t processFloat |
( |
effectsuite_t |
sample | ) |
|
|
inlinevirtual |
main process method: applies an envelope filter to the incoming signal sample @params sample incoming signal sample value
- Returns
- processed sample value
Reimplemented from FilterEffectBase< effectsuite_t >.
◆ rms()
template<typename effectsuite_t = effectsuite_t_default>
| effectsuite_t rms |
( |
effectsuite_t |
sample | ) |
|
|
inlineprotectedinherited |
root mean square of signal over a specific sample window
◆ setActive()
| virtual void setActive |
( |
bool |
value | ) |
|
|
inlinevirtualinherited |
sets the effect active/inactive
◆ setChebyICoefficients()
template<typename effectsuite_t = effectsuite_t_default>
| bool setChebyICoefficients |
( |
effectsuite_t |
cutFreqIn, |
|
|
bool |
shelfType, |
|
|
effectsuite_t |
rippleIn |
|
) |
| |
|
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
- See also
- setChebyICoefficients @params cutFreq normalised cutoff frequency (0 < x < .5) @params shelfType bool Filters shelf type, false = low pass, true = high pass @params ripple percentage ripple (<.2929)
- Returns
- boolean false on error and true on success
◆ setId()
Allows to identify an effect.
◆ setSimpleLpf()
template<typename effectsuite_t = effectsuite_t_default>
| bool setSimpleLpf |
( |
int |
order | ) |
|
|
inlineprotectedinherited |
a simple normalised fir low pass filter @params order number of delay coefficients
◆ active_flag
◆ bufferIndex
template<typename effectsuite_t = effectsuite_t_default>
◆ envelopeFollower
template<typename effectsuite_t = effectsuite_t_default>
this follows the signal envelope and alters the internallow pass filter cutoff
◆ filterOrder
template<typename effectsuite_t = effectsuite_t_default>
order of delay filter including the zero delay coefficients
◆ firBuffer
template<typename effectsuite_t = effectsuite_t_default>
buffer to hold forward delay sample data
◆ firCoefficients
template<typename effectsuite_t = effectsuite_t_default>
| float* firCoefficients = 0 |
|
protectedinherited |
Numerator coefficients in delay filter firCoefficients[0] z^0 coeffcieint firCoefficients[1] z^-1 coefficient
◆ firTemp
template<typename effectsuite_t = effectsuite_t_default>
hold temporary values for fir coeffcient buffer
◆ id_value
◆ iirBuffer
template<typename effectsuite_t = effectsuite_t_default>
buffer to hold backward delay sample data
◆ iirCoefficients
template<typename effectsuite_t = effectsuite_t_default>
| float* iirCoefficients = 0 |
|
protectedinherited |
◆ iirTemp
template<typename effectsuite_t = effectsuite_t_default>
hold temporary values for iir coeffcient buffer
◆ rmsBuffer
template<typename effectsuite_t = effectsuite_t_default>
◆ rmsBufferIndex
template<typename effectsuite_t = effectsuite_t_default>
current write index of rmsBuffer
◆ rmsWindowSize
template<typename effectsuite_t = effectsuite_t_default>
| const int rmsWindowSize = 128 |
|
protectedinherited |
window size in samples of rms window
◆ samplingRate
template<typename effectsuite_t = effectsuite_t_default>
The documentation for this class was generated from the following file: