Sound Design Toolkit  075
Physically informed sound synthesis for everyday sounds
SDTCommon.h
Go to the documentation of this file.
1 
56 #ifndef SDT_COMMON_H
57 #define SDT_COMMON_H
58 
60 #define SDT_ver 075
61 
62 #define SDT_ver_str "075"
63 
64 #define SDT_PI 3.141592653589793
65 
66 #define SDT_TWOPI 6.283185307179586
67 
68 #define SDT_EULER 2.718281828459045
69 
70 #define SDT_SQRT2 1.4142135623730951
71 
72 #define SDT_MACH1 340.29
73 
74 #define SDT_EARTH 9.81
75 
76 #define SDT_MICRO 0.000001
77 
78 #define SDT_QUIET 0.00003
79 
81 extern double SDT_sampleRate;
82 
84 extern double SDT_timeStep;
85 
88 extern void SDT_setSampleRate(double sampleRate);
89 
94 unsigned int SDT_bitReverse(unsigned int u, unsigned int bits);
95 
102 extern long SDT_clip(long x, long min, long max);
103 
108 extern double SDT_expRand(double lambda);
109 
116 extern double SDT_fclip(double x, double min, double max);
117 
121 extern double SDT_frand();
122 
127 extern double SDT_gravity(double mass);
128 
133 extern void SDT_hanning(double *sig, int n);
134 
138 extern void SDT_haar(double *sig, long n);
139 
143 extern void SDT_ihaar(double *sig, long n);
144 
150 extern double SDT_kinetic(double mass, double velocity);
151 
155 extern unsigned int SDT_nextPow2(unsigned int u);
156 
163 extern double SDT_normalize(double x, double min, double max);
164 
168 extern void SDT_normalizeWindow(double *sig, int n);
169 
176 extern double SDT_samplesInAir(double length);
177 
187 extern double SDT_scale(double x, double srcMin, double srcMax,
188  double dstMin, double dstMax, double gamma);
189 
194 extern int SDT_signum(double x);
195 
196 #endif
197 
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 ...
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...
void SDT_haar(double *sig, long n)
Computes a direct Haar Wavelet Transform of the incoming signal (in place).
unsigned int SDT_bitReverse(unsigned int u, unsigned int bits)
Reverses the bit order of an unsigned integer of given bit length.
double SDT_samplesInAir(double length)
Time needed to travel the given distance at Mach 1. Computes the amount of time, in samples...
void SDT_normalizeWindow(double *sig, int n)
Normalizes samples in a window so that their sum is equal to 1.
double SDT_gravity(double mass)
Computes earth gravity force. Computes the earth gravity force acting on an object of a given mass...
double SDT_frand()
Uniform random number generator. Generates random numbers, following a uniform distribution.
int SDT_signum(double x)
Computes the signum function. Computes the signum function.
double SDT_kinetic(double mass, double velocity)
Computes kinetic energy. Computes the kinetic energy of an object, given its mass and velocity...
double SDT_timeStep
Sampling period (s)
void SDT_setSampleRate(double sampleRate)
Sets the sample rate.
void SDT_ihaar(double *sig, long n)
Computes an inverse Haar Wavelet Transform of the incoming signal (in place).
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 tar...
unsigned int SDT_nextPow2(unsigned int u)
Returns the smallest power of 2 greater or equal than u.
double SDT_sampleRate
Sampling frequency (Hz)
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 th...
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 bo...
double SDT_expRand(double lambda)
Exponential random number generator. Generates random numbers, following an exponential distribution...