Sound Design Toolkit  075
Physically informed sound synthesis for everyday sounds
SDTGases.h
1 
23 #ifndef SDT_GASES_H
24 #define SDT_GASES_H
25 
36 typedef struct SDTWindFlow SDTWindFlow;
37 
41 
44 extern void SDTWindFlow_free(SDTWindFlow *x);
45 
49 extern void SDTWindFlow_setFilters(SDTWindFlow *x);
50 
54 void SDTWindFlow_setWindSpeed(SDTWindFlow *x, double f);
55 
59 extern double SDTWindFlow_dsp(SDTWindFlow *x);
60 
81 
85 extern SDTWindCavity *SDTWindCavity_new(int maxDelay);
86 
89 extern void SDTWindCavity_free(SDTWindCavity *x);
90 
93 extern void SDTWindCavity_setLength(SDTWindCavity *x, double f);
94 
97 extern void SDTWindCavity_setDiameter(SDTWindCavity *x, double f);
98 
101 extern void SDTWindCavity_setWindSpeed(SDTWindCavity *x, double f);
102 
106 extern double SDTWindCavity_dsp(SDTWindCavity *x);
107 
121 
125 
128 extern void SDTWindKarman_free(SDTWindKarman *x);
129 
132 extern void SDTWindKarman_setDiameter(SDTWindKarman *x, double f);
133 
136 extern void SDTWindKarman_setWindSpeed(SDTWindKarman *x, double f);
137 
141 extern double SDTWindKarman_dsp(SDTWindKarman *x);
142 
152 typedef struct SDTExplosion SDTExplosion;
153 
158 extern SDTExplosion *SDTExplosion_new(long maxScatter, long maxDelay);
159 
162 extern void SDTExplosion_free(SDTExplosion *x);
163 
166 extern void SDTExplosion_setBlastTime(SDTExplosion *x, double f);
167 
170 extern void SDTExplosion_setScatterTime(SDTExplosion *x, double f);
171 
174 extern void SDTExplosion_setDispersion(SDTExplosion *x, double f);
175 
178 extern void SDTExplosion_setDistance(SDTExplosion *x, double f);
179 
182 extern void SDTExplosion_setWaveSpeed(SDTExplosion *x, double f);
183 
186 extern void SDTExplosion_setWindSpeed(SDTExplosion *x, double f);
187 
190 extern void SDTExplosion_update(SDTExplosion *x);
191 
195 extern void SDTExplosion_dsp(SDTExplosion *x, double *outs);
196 
199 #endif
200 
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:120
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:152
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:36
SDTWindFlow * SDTWindFlow_new()
Object constructor.
struct SDTWindCavity SDTWindCavity
Opaque data structure for a hollow cavity object.
Definition: SDTGases.h:80
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.