Sound Design Toolkit  078
Physically informed sound synthesis for everyday sounds

Typedefs

typedef struct SDTReverb SDTReverb
 Opaque data structure for a reverberator object.
 
typedef struct SDTReverb SDTReverb
 Opaque data structure for a reverberator object.
 

Functions

SDTReverbSDTReverb_new (long maxDelay)
 Object constructor. More...
 
void SDTReverb_free (SDTReverb *x)
 Object destructor. More...
 
void SDTReverb_setXSize (SDTReverb *x, double f)
 Sets the room width. More...
 
void SDTReverb_setYSize (SDTReverb *x, double f)
 Sets the room height. More...
 
void SDTReverb_setZSize (SDTReverb *x, double f)
 Sets the room depth. More...
 
void SDTReverb_setRandomness (SDTReverb *x, double f)
 Sets how randomly distributed are the resonant modes. This parameter is directly proportional to the irregularity of the shape of the room. More...
 
void SDTReverb_setTime (SDTReverb *x, double f)
 Sets the global, frequency-independent reverberation time. More...
 
void SDTReverb_setTime1k (SDTReverb *x, double f)
 Sets the reverberation time at 1kHz. More...
 
void SDTReverb_update (SDTReverb *x)
 Updates the internal filters. Call this function after every sample rate change.
 
double SDTReverb_dsp (SDTReverb *x, double in)
 Signal processing routine. Call this function at sample rate to compute the reverberated signal. More...
 

Detailed Description

Artificial reverberator based on Feedback Delay Networks, as found in D. Rocchesso, "Maximally diffusive yet efficient feedback delay networks for artificial reverberation", Signal Processing Letters, IEEE 4.9 (1997): 252-255.

Function Documentation

double SDTReverb_dsp ( SDTReverb x,
double  in 
)

Signal processing routine. Call this function at sample rate to compute the reverberated signal.

Parameters
[in]inInput sample
Returns
Output sample
void SDTReverb_free ( SDTReverb x)

Object destructor.

Parameters
[in]xPointer to the instance to destroy
SDTReverb * SDTReverb_new ( long  maxDelay)

Object constructor.

Parameters
[in]maxDelayMaximum length of the delay lines, in samples
Returns
Pointer to the new instance
void SDTReverb_setRandomness ( SDTReverb x,
double  f 
)

Sets how randomly distributed are the resonant modes. This parameter is directly proportional to the irregularity of the shape of the room.

Parameters
[in]fRandomness in the modal distribution [0, 1]
void SDTReverb_setTime ( SDTReverb x,
double  f 
)

Sets the global, frequency-independent reverberation time.

Parameters
[in]fReverberation time, in s
void SDTReverb_setTime1k ( SDTReverb x,
double  f 
)

Sets the reverberation time at 1kHz.

Parameters
[in]fReverberation time at 1kHz, in s
void SDTReverb_setXSize ( SDTReverb x,
double  f 
)

Sets the room width.

Parameters
[in]fRoom width, in m
void SDTReverb_setYSize ( SDTReverb x,
double  f 
)

Sets the room height.

Parameters
[in]fRoom height, in m
void SDTReverb_setZSize ( SDTReverb x,
double  f 
)

Sets the room depth.

Parameters
[in]fRoom depth, in m