Sound Design Toolkit  078
Physically informed sound synthesis for everyday sounds
SDTGases.h
1 
23 #ifndef SDT_GASES_H
24 #define SDT_GASES_H
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
40 typedef struct SDTWindFlow SDTWindFlow;
41 
45 
48 extern void SDTWindFlow_free(SDTWindFlow *x);
49 
53 extern void SDTWindFlow_setFilters(SDTWindFlow *x);
54 
58 void SDTWindFlow_setWindSpeed(SDTWindFlow *x, double f);
59 
63 extern double SDTWindFlow_dsp(SDTWindFlow *x);
64 
85 
89 extern SDTWindCavity *SDTWindCavity_new(int maxDelay);
90 
93 extern void SDTWindCavity_free(SDTWindCavity *x);
94 
97 extern void SDTWindCavity_setLength(SDTWindCavity *x, double f);
98 
101 extern void SDTWindCavity_setDiameter(SDTWindCavity *x, double f);
102 
105 extern void SDTWindCavity_setWindSpeed(SDTWindCavity *x, double f);
106 
110 extern double SDTWindCavity_dsp(SDTWindCavity *x);
111 
125 
129 
132 extern void SDTWindKarman_free(SDTWindKarman *x);
133 
136 extern void SDTWindKarman_setDiameter(SDTWindKarman *x, double f);
137 
140 extern void SDTWindKarman_setWindSpeed(SDTWindKarman *x, double f);
141 
145 extern double SDTWindKarman_dsp(SDTWindKarman *x);
146 
156 typedef struct SDTExplosion SDTExplosion;
157 
162 extern SDTExplosion *SDTExplosion_new(long maxScatter, long maxDelay);
163 
166 extern void SDTExplosion_free(SDTExplosion *x);
167 
170 extern void SDTExplosion_setBlastTime(SDTExplosion *x, double f);
171 
174 extern void SDTExplosion_setScatterTime(SDTExplosion *x, double f);
175 
178 extern void SDTExplosion_setDispersion(SDTExplosion *x, double f);
179 
182 extern void SDTExplosion_setDistance(SDTExplosion *x, double f);
183 
186 extern void SDTExplosion_setWaveSpeed(SDTExplosion *x, double f);
187 
190 extern void SDTExplosion_setWindSpeed(SDTExplosion *x, double f);
191 
194 extern void SDTExplosion_update(SDTExplosion *x);
195 
199 extern void SDTExplosion_dsp(SDTExplosion *x, double *outs);
200 
203 #ifdef __cplusplus
204 };
205 #endif
206 
207 #endif
208 
void SDTWindFlow_setWindSpeed(SDTWindFlow *x, double f)
Sets the wind speed.
void SDTExplosion_setWaveSpeed(SDTExplosion *x, double f)
Sets the propagation velocity of the shockwave.
void SDTExplosion_setDistance(SDTExplosion *x, double f)
Sets the distance of the listener from the explosion.
void SDTWindCavity_setLength(SDTWindCavity *x, double f)
Sets the lenght of the cavity.
void SDTExplosion_update(SDTExplosion *x)
Updates the internal state of the object. Please call this function after having reset one or more sy...
struct SDTWindKarman SDTWindKarman
Opaque data structure for a thin obstacle object.
Definition: SDTGases.h:124
double SDTWindFlow_dsp(SDTWindFlow *x)
Signal processing routine. Call this function at sample rate to synthesize a wind turbulence sound...
SDTWindCavity * SDTWindCavity_new(int maxDelay)
Object constructor.
void SDTWindKarman_free(SDTWindKarman *x)
Object destructor.
void SDTWindCavity_free(SDTWindCavity *x)
Object destructor.
void SDTWindFlow_setFilters(SDTWindFlow *x)
Update filter coefficients. Should be always called after setting the sampling rate with SDT_setSampl...
struct SDTExplosion SDTExplosion
Opaque data structure for an explosion object.
Definition: SDTGases.h:156
void SDTWindCavity_setDiameter(SDTWindCavity *x, double f)
Sets the diameter of the cavity.
void SDTWindKarman_setDiameter(SDTWindKarman *x, double f)
Sets the diameter of the object.
struct SDTWindFlow SDTWindFlow
Opaque data structure for a solid obstacle object.
Definition: SDTGases.h:40
SDTWindFlow * SDTWindFlow_new()
Object constructor.
struct SDTWindCavity SDTWindCavity
Opaque data structure for a hollow cavity object.
Definition: SDTGases.h:84
SDTWindKarman * SDTWindKarman_new()
Object constructor.
void SDTExplosion_dsp(SDTExplosion *x, double *outs)
Signal processing routine. Call this function at sample rate to synthesize an explosion sound...
double SDTWindCavity_dsp(SDTWindCavity *x)
Signal processing routine. Call this function at sample rate to synthesize wind through a cavity...
void SDTExplosion_setDispersion(SDTExplosion *x, double f)
Sets the balance between initial spike and successive scattering.
void SDTWindCavity_setWindSpeed(SDTWindCavity *x, double f)
Sets the wind speed.
void SDTExplosion_setBlastTime(SDTExplosion *x, double f)
Sets the duration of the initial spike.
void SDTWindFlow_free(SDTWindFlow *x)
Object destructor.
SDTExplosion * SDTExplosion_new(long maxScatter, long maxDelay)
Object constructor.
void SDTExplosion_setScatterTime(SDTExplosion *x, double f)
Sets the duration of the scattering.
void SDTWindKarman_setWindSpeed(SDTWindKarman *x, double f)
Sets the wind speed.
void SDTExplosion_setWindSpeed(SDTExplosion *x, double f)
Sets the propagation velocity of the blast wind.
double SDTWindKarman_dsp(SDTWindKarman *x)
Signal processing routine. Call this function at sample rate to synthesize wind blowing against a thi...
void SDTExplosion_free(SDTExplosion *x)
Object destructor.