Sound Design Toolkit 075 Physically informed sound synthesis for everyday sounds

- Main Page
- Modules
- Data Structures
- Files

Typedefs | Functions
Reverb
SDTEffects.h: Digital audio effects

## Typedefs
typedef struct SDTReverb | SDTReverb
| Opaque data structure for a reverberator object.

## Functions
SDTReverb * | SDTReverb_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] | in | Input sample

Returns
  Output sample

void SDTReverb_free | ( | SDTReverb * | x | ) |

Object destructor.

Parameters

  [in] | x | Pointer to the instance to destroy

SDTReverb* SDTReverb_new | ( | long | maxDelay | ) |

Object constructor.

Parameters

  [in] | maxDelay | Maximum 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] | f | Randomness in the modal distribution [0, 1]

void SDTReverb_setTime | ( | SDTReverb * | x,
|  | double | f
| ) |  |

Sets the global, frequency-independent reverberation time.

Parameters

  [in] | f | Reverberation time, in s

void SDTReverb_setTime1k | ( | SDTReverb * | x,
|  | double | f
| ) |  |

Sets the reverberation time at 1kHz.

Parameters

  [in] | f | Reverberation time at 1kHz, in s

void SDTReverb_setXSize | ( | SDTReverb * | x,
|  | double | f
| ) |  |

Sets the room width.

Parameters

  [in] | f | Room width, in m

void SDTReverb_setYSize | ( | SDTReverb * | x,
|  | double | f
| ) |  |

Sets the room height.

Parameters

  [in] | f | Room height, in m

void SDTReverb_setZSize | ( | SDTReverb * | x,
|  | double | f
| ) |  |

Sets the room depth.

Parameters

  [in] | f | Room depth, in m