Sound Design Toolkit  078
Physically informed sound synthesis for everyday sounds
Turbulence against solid objects

Typedefs

typedef struct SDTWindFlow SDTWindFlow
 Opaque data structure for a solid obstacle object.
 
typedef struct SDTWindFlow SDTWindFlow
 Opaque data structure for a solid obstacle object.
 

Functions

SDTWindFlowSDTWindFlow_new ()
 Object constructor. More...
 
void SDTWindFlow_free (SDTWindFlow *x)
 Object destructor. More...
 
void SDTWindFlow_setFilters (SDTWindFlow *x)
 Update filter coefficients. Should be always called after setting the sampling rate with SDT_setSampleRate(). More...
 
void SDTWindFlow_setWindSpeed (SDTWindFlow *x, double f)
 Sets the wind speed. More...
 
double SDTWindFlow_dsp (SDTWindFlow *x)
 Signal processing routine. Call this function at sample rate to synthesize a wind turbulence sound. More...
 

Detailed Description

One of the possible sources of turbulence is the impact on a large solid surface. In this case, turbulence is generated due to the impact of the air molecules on the surface and to their random change of direction caused by the irregularities of the surface itself. The resulting sound is modeled through a bandpass-filtered white noise generator. The center frequency and bandwidth of the filter are empirically set to fixed values, while the resulting output is modulated in amplitude according to the velocity of the air flow.

Function Documentation

double SDTWindFlow_dsp ( SDTWindFlow x)

Signal processing routine. Call this function at sample rate to synthesize a wind turbulence sound.

Returns
Computed audio sample
void SDTWindFlow_free ( SDTWindFlow x)

Object destructor.

Parameters
[in]xPointer to the instance to destroy
SDTWindFlow * SDTWindFlow_new ( )

Object constructor.

Returns
Pointer to the new instance
void SDTWindFlow_setFilters ( SDTWindFlow x)

Update filter coefficients. Should be always called after setting the sampling rate with SDT_setSampleRate().

Parameters
[in]xPointer to a SDTWindFlow instance
void SDTWindFlow_setWindSpeed ( SDTWindFlow x,
double  f 
)

Sets the wind speed.

Parameters
[in]xPointer to a SDTWindFlow instance
[in]fWind speed [0,1]