Sound Design Toolkit  075
Physically informed sound synthesis for everyday sounds
SDTFilters.h File Reference

Go to the source code of this file.

Typedefs

typedef struct SDTOnePole SDTOnePole
 Opaque data structure for a one pole filter object.
 
typedef struct SDTAllPass SDTAllPass
 Opaque data structure for an allpass filter object.
 
typedef struct SDTEnvelope SDTEnvelope
 Opaque data structure for an envelope tracker object.
 
typedef struct SDTTwoPoles SDTTwoPoles
 Opaque data structure for a two poles filter object.
 
typedef struct SDTAverage SDTAverage
 Opaque data structure for a moving average filter object.
 
typedef struct SDTDelay SDTDelay
 Opaque data structure for a delay line object.
 
typedef struct SDTComb SDTComb
 Opaque data structure representing a comb filter object.
 
typedef struct SDTWaveguide SDTWaveguide
 Opaque data structure representing a digital waveguide object.
 

Functions

SDTOnePoleSDTOnePole_new ()
 Object constructor. More...
 
void SDTOnePole_free (SDTOnePole *x)
 Object destructor. More...
 
void SDTOnePole_setFeedback (SDTOnePole *x, double f)
 Manually sets the alpha coefficient. More...
 
void SDTOnePole_lowpass (SDTOnePole *x, double f)
 Puts the filter in lowpass mode, at the given cutoff frequency. More...
 
void SDTOnePole_highpass (SDTOnePole *x, double f)
 Puts the filter in highpass mode, at the given cutoff frequency. More...
 
double SDTOnePole_dsp (SDTOnePole *x, double in)
 Signal processing routine. Call this function at sample rate to compute the filtered signal. More...
 
SDTAllPassSDTAllPass_new ()
 Object constructor. More...
 
void SDTAllPass_free (SDTAllPass *x)
 Object destructor. More...
 
void SDTAllPass_setFeedback (SDTAllPass *x, double f)
 Sets the feedback coefficient. More...
 
double SDTAllPass_dsp (SDTAllPass *x, double in)
 Signal processing routine. Call this function at sample rate to compute the filtered signal. More...
 
SDTEnvelopeSDTEnvelope_new ()
 Object constructor. More...
 
void SDTEnvelope_free (SDTEnvelope *x)
 Object destructor. More...
 
void SDTEnvelope_setAttack (SDTEnvelope *x, double a)
 Sets the attack time. More...
 
void SDTEnvelope_setRelease (SDTEnvelope *x, double r)
 Sets the release time. More...
 
double SDTEnvelope_dsp (SDTEnvelope *x, double in)
 Signal processing routine. Call this function at sample rate to compute the filtered signal. More...
 
SDTTwoPolesSDTTwoPoles_new ()
 Object constructor. More...
 
void SDTTwoPoles_free (SDTTwoPoles *x)
 Object destructor. More...
 
void SDTTwoPoles_lowpass (SDTTwoPoles *x, double fc)
 Puts the filter in lowpass mode, at the given cutoff frequency. More...
 
void SDTTwoPoles_highpass (SDTTwoPoles *x, double fc)
 Puts the filter in highpass mode, at the given cutoff frequency. More...
 
void SDTTwoPoles_resonant (SDTTwoPoles *x, double fc, double q)
 Puts the filter in resonant bandpass mode, at the given center frequency and Q. More...
 
double SDTTwoPoles_dsp (SDTTwoPoles *x, double in)
 Signal processing routine. Call this function at sample rate to compute the filtered signal. More...
 
SDTAverageSDTAverage_new (long size)
 Object constructor. More...
 
void SDTAverage_free (SDTAverage *x)
 Object destructor. More...
 
void SDTAverage_setWindow (SDTAverage *x, unsigned int i)
 Sets the averaging window. More...
 
double SDTAverage_dsp (SDTAverage *x, double in)
 Signal processing routine. Call this function at sample rate to compute the filtered signal. More...
 
SDTDelaySDTDelay_new (long maxDelay)
 Object constructor. More...
 
void SDTDelay_free (SDTDelay *x)
 Object destructor. More...
 
void SDTDelay_clear (SDTDelay *x)
 Clears the buffer, therefore silencing the delayed signal.
 
void SDTDelay_setDelay (SDTDelay *x, double f)
 Sets the delay time. Fractional values are allowed. The delay time can be continuously changed over time without audible glitches. More...
 
double SDTDelay_dsp (SDTDelay *x, double in)
 Signal processing routine. Call this function at sample rate to output the delayed signal. More...
 
SDTCombSDTComb_new (long maxXDelay, long maxYDelay)
 Object constructor. More...
 
void SDTComb_free (SDTComb *x)
 Object destructor. More...
 
void SDTComb_setXDelay (SDTComb *x, double f)
 Sets the delay time for the feed forward section. More...
 
void SDTComb_setYDelay (SDTComb *x, double f)
 Sets the delay time for the feedback section. More...
 
void SDTComb_setXYDelay (SDTComb *x, double f)
 Sets the delay time for both sections. More...
 
void SDTComb_setXGain (SDTComb *x, double f)
 Sets the gain for the feed forward section. More...
 
void SDTComb_setYGain (SDTComb *x, double f)
 Sets the gain for the feedback section. More...
 
void SDTComb_setXYGain (SDTComb *x, double f)
 Sets the gain for both sections. More...
 
double SDTComb_dsp (SDTComb *x, double in)
 Signal processing routine. Call this function at sample rate to output the filtered signal. More...
 
SDTWaveguideSDTWaveguide_new (int maxDelay)
 Object constructor. More...
 
void SDTWaveguide_free (SDTWaveguide *x)
 Object destructor. More...
 
double SDTWaveguide_getFwdOut (SDTWaveguide *x)
 Reads the output signal coming from the right side of the waveguide. More...
 
double SDTWaveguide_getRevOut (SDTWaveguide *x)
 Reads the output signal coming from the left side of the waveguide. More...
 
void SDTWaveguide_setDelay (SDTWaveguide *x, double f)
 Sets the length of the waveguide, in samples. More...
 
void SDTWaveguide_setFwdFeedback (SDTWaveguide *x, double f)
 Sets the feedback on the right side. Determines how much energy gets fed back into the system after the wave reaches the right side of the waveguide. Consequently, this value also determines how much attenuated is the output on the same side. More...
 
void SDTWaveguide_setRevFeedback (SDTWaveguide *x, double f)
 Sets the feedback on the left side. Determines how much energy gets fed back into the system after the wave reaches the left side of the waveguide. Consequently, this value also determines how much attenuated is the output on the same side. More...
 
void SDTWaveguide_setFwdDamping (SDTWaveguide *x, double f)
 Sets the frequency damping on the right side. More...
 
void SDTWaveguide_setRevDamping (SDTWaveguide *x, double f)
 Sets the frequency damping on the left side. More...
 
void SDTWaveguide_dsp (SDTWaveguide *x, double fwdIn, double revIn)
 Signal processing routine. Call this function at sample rate to compute the output samples. To read them, call the respective functions SDTWaveguide_getFwdOut() and SDTWaveguide_getRevOut(). More...