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

Go to the source code of this file.

Macros

#define SDT_ver   075
 SDT version number.
 
#define SDT_ver_str   "075"
 SDT version string.
 
#define SDT_PI   3.141592653589793
 Value of Pi.
 
#define SDT_TWOPI   6.283185307179586
 Value of 2 * Pi.
 
#define SDT_EULER   2.718281828459045
 Euler number.
 
#define SDT_SQRT2   1.4142135623730951
 Square root of 2.
 
#define SDT_MACH1   340.29
 Mach 1, speed of sound in air under normal atmospheric conditions (m/s)
 
#define SDT_EARTH   9.81
 Earth gravity (N/Kg)
 
#define SDT_MICRO   0.000001
 One millionth, small value often used instead of 0 to avoid division errors.
 
#define SDT_QUIET   0.00003
 Gain factor roughly corresponding to a -90dB attenuation.
 

Functions

void SDT_setSampleRate (double sampleRate)
 Sets the sample rate. More...
 
unsigned int SDT_bitReverse (unsigned int u, unsigned int bits)
 Reverses the bit order of an unsigned integer of given bit length. More...
 
long SDT_clip (long x, long min, long max)
 Clips an integer value. Limits the range of an integer value between a given lower bound and upper bound. More...
 
double SDT_expRand (double lambda)
 Exponential random number generator. Generates random numbers, following an exponential distribution. More...
 
double SDT_fclip (double x, double min, double max)
 Clips a floating point value. Limits the range of a floating point value between a given lower bound and upper bound. More...
 
double SDT_frand ()
 Uniform random number generator. Generates random numbers, following a uniform distribution. More...
 
double SDT_gravity (double mass)
 Computes earth gravity force. Computes the earth gravity force acting on an object of a given mass. More...
 
void SDT_hanning (double *sig, int n)
 Applies a Hanning window to a chunk of samples. Applies a Hanning window to a chunk of samples. More...
 
void SDT_haar (double *sig, long n)
 Computes a direct Haar Wavelet Transform of the incoming signal (in place). More...
 
void SDT_ihaar (double *sig, long n)
 Computes an inverse Haar Wavelet Transform of the incoming signal (in place). More...
 
double SDT_kinetic (double mass, double velocity)
 Computes kinetic energy. Computes the kinetic energy of an object, given its mass and velocity. More...
 
unsigned int SDT_nextPow2 (unsigned int u)
 Returns the smallest power of 2 greater or equal than u. More...
 
double SDT_normalize (double x, double min, double max)
 Rescales a value of known range into the [0.0, 1.0] interval. Rescales a value of known range into the [0.0, 1.0] interval. More...
 
void SDT_normalizeWindow (double *sig, int n)
 Normalizes samples in a window so that their sum is equal to 1. More...
 
double SDT_samplesInAir (double length)
 Time needed to travel the given distance at Mach 1. Computes the amount of time, in samples, needed by a sound wave propagating in air to travel a given distance. Particularly useful to set the delay times of comb filters and/or digital waveguides representing hollow cavities. More...
 
double SDT_scale (double x, double srcMin, double srcMax, double dstMin, double dstMax, double gamma)
 Rescales a value from a source range to a target range. Rescales a value from a source range to a target range. More...
 
int SDT_signum (double x)
 Computes the signum function. Computes the signum function. More...
 

Variables

double SDT_sampleRate
 Sampling frequency (Hz)
 
double SDT_timeStep
 Sampling period (s)