|
arduino-audio-tools
|
Simple Delay effect consiting of a single tap delay with Effect Gain and feed back controls Constructor requires internal delay in samples. More...
#include <AudioEffectsSuite.h>
Public Member Functions | |
| SimpleDelay (int maxDelayInSamples=8810, int samplingRate=44100) | |
| SimpleDelay (SimpleDelay ©)=default | |
| ~SimpleDelay ()=default | |
| virtual bool | active () |
| determines if the effect is active | |
| SimpleDelay * | clone () override |
| int | id () |
| Allows to identify an effect. | |
| effect_t | process (effect_t inputSample) override |
| effectsuite_t | processDouble (effectsuite_t inputSample) override |
| virtual void | setActive (bool value) |
| sets the effect active/inactive | |
| void | setDelayGain (effectsuite_t gain) |
| void | setDelayTime (effectsuite_t delayInSamples) |
| void | setDelayTransitionTime (effectsuite_t seconds) |
| void | setFeedbackGain (effectsuite_t gain) |
| void | setId (int id) |
| Allows to identify an effect. | |
| void | setupDelayEffectBase (const int bufferSizeSamples) |
| void | setupSimpleDelay (int delayInSamples) |
Protected Member Functions | |
| void | capGain (effectsuite_t &gain) |
| int16_t | clip (int32_t in, int16_t clipLimit=32767, int16_t resultLimit=32767) |
| generic clipping method | |
| void | copyParent (AudioEffect *copy) |
| void | delaySample (effectsuite_t inputSample) |
| effectsuite_t | getInterpolatedOut (effectsuite_t bufferIndex) |
| effectsuite_t | getSplineOut (effectsuite_t bufferIndex) |
| void | incDelayBuffReadIndex (effectsuite_t indexInc) |
| void | incDelayBuffWriteIndex () |
| bool | setDelayBuffer (int bufferSizeSamples) |
| void | setDelayBuffReadIndex (effectsuite_t index) |
| void | storeSample (effectsuite_t inputSample) |
Static Protected Member Functions | |
| static effectsuite_t ** | setInterpolationTable () |
Static Protected Attributes | |
| static const int | interpOrder = 4 |
| static const int | interpResolution = 1000 |
Simple Delay effect consiting of a single tap delay with Effect Gain and feed back controls Constructor requires internal delay in samples.
|
inline |
Constructor: DigitalEffect Base Must Be initialised
| delayInSamples | Set the amount of delay in samples |
|
default |
|
default |
Destructor.
|
inlineprotected |
capGain: caps gain to a range of 1 and -1;
| gain | address of gain value |
|
inlineprotectedinherited |
generic clipping method
|
inlineoverridevirtual |
Implements AudioEffect.
|
inlineprotectedinherited |
|
inlineprotectedinherited |
store input sample into the delay buffer and increment currentDelayWriteIndex for tracking when to loop back to start of buffer
| inputSample | sample to be stored for delay (effectsuite_t) |
|
inlineprotectedinherited |
get the value of the requested buffer index by interpolating other points
| bufferIndex | The required buffer index |
|
inlineprotected |
get a cubic spline interpolated out from the wave table Derived from code by Alec Wright at repository: https://github.com/Alec-Wright/Chorus
| bufferIndex | the required buffer index |
|
inlineinherited |
Allows to identify an effect.
|
inlineprotectedinherited |
Increments the currentDelayBufferReadIndex by indexInc
| indexInc | The amount to increment the delay buffer index |
|
inlineprotectedinherited |
Increments the currentDelayWriteBufferIndex by 1
Main process block for applying audio effect
| inputSample | The int16_t input audio sample for the effect to be applied to |
Reimplemented from EffectSuiteBase.
|
inlineoverridevirtual |
Apply delay and return input sample along with delay buffer signal
| inputSample | <inputSample description#> |
Implements EffectSuiteBase.
Allocates memory for delay buffer and initialises all elements to 0
| bufferSizeSamples | the size of delay buffer to be used |
|
inlineprotectedinherited |
sets the currentDelayBufferReadIndex by indexInc (Currently no wrapping)
| index | the read index index required |
|
inline |
setDelayGain: sets the delay gain to a value between 1 and -1
| gain | required delay gain. Values beyond 1 and -1 are capped to the maximum to avoid idiocy. Negative velus invoke a phase inversion. |
|
inline |
<Description#>
| delayInSample | <delayInSample description#> |
|
inline |
<Description#>
| seconds | <seconds description#> |
|
inline |
setDelayGain: sets the feedback gain to a value between 1 and -1
| gain | required delay gain. Values beyond 1 and -1 are capped to the maximum to avoid idiocy. Negative velus invoke a phase inversion. |
|
inlinestaticprotectedinherited |
Sets the internal lagrange interpolation table. Ideally it should be shared amongst all
<Description#>
| bufferSizeSamples | <bufferSizeSamples description#> |
<Description#>
| delayInSamples | <delayInSamples description#> |
|
inlineprotectedinherited |
store input sample into the delay buffer
| inputSample | sample to be stored for delay (effectsuite_t) |
|
protected |
|
protectedinherited |
|
protected |
|
protectedinherited |
|
protectedinherited |
buffer to stored audio buffer for delay effects
|
protected |
|
protected |
increment when transition from current to target delay per sample set by delayTransitionTime
|
protectedinherited |
the delay time of signal in samples
|
protected |
time in seconds to transition from one delay to another
|
protected |
|
protectedinherited |
internal class error boolean
|
protected |
|
protectedinherited |
|
protected |
inverse of delay increment: for working out whole number cyles to reach target delay
|
protectedinherited |
Maximum number of samples that can be stored in delayBuffer
|
protected |
|
protected |
|
protected |