The last experiment took a block of noise and pounded it into waves on the beach. Wind is much like surf in many ways. But rather than a smooth pulse, wind requires something more erratic. Erratic but not random. A different kind of erratic. Wait, what?!
Yes, there different flavors of chaotic. One flavor was created by Ken Perlin for the original movie “Tron.” It’s a type of bounded randomness rather than careening between extremes with no rhyme or reason. Perlin’s algorithm is popular for generating visual effects with organic textures. It seemed like a good fit for this. (Ken also has a cool online slideshow about how this came about.)
So Perlin noise can (maybe) model the amplitude shifts in a winds natural variation. Better than a simple sine wave oscillation. But wind also shifts frequencies. Sometimes it sounds like a whistle, other times like guttural sighs and moans. And it frequently contains embedded gusts of more intense sound.
The approach with surf sound was to simply chop off the high frequencies. But wind needs to skip within frequency bands like a flickering flame.
A special kind of filter call the band-pass filter may be useful. It’s one of the prime “sculpting” tools of subtractive synthesis. A little finer blade than the heavy cleaver of the low-pass filter.
A Band-pass filter has a center frequency it filters and a Q value that determines how wide the band is that’s filtered on either side of the target frequency.
So with Perlin controlling the the fluctuation of amplitude and a band-pass filter to slice a frequency for a particular kind of wind, the only thing remaining is the gusts.
For intermittent gusts, the sound will need to be shaped more directly. For this, there’s another tool in the subtractive toybox called an “envelope” which controls 4 variables: attack, decay, sustain and release. Basically, these control how fast a sound peaks from zero (attack), how fast it drops (decay) to a level it sustains (sustain) and then how fast it drops from there back to zero (release.) With a block of wind-like noise, this should be able to craft a decent gust effect.
The widget created below explores this approach to simulation with controls for all the variables discussed above.
Dials control the band-pass filters frequency and Q value. Play with these to get the right “tone” of wind.
Other dials control the nature of the Perlin noise and a real time graph shows the shape of the resultant waves forming the amplitude of the wind.
The envelope is a set of nodes you can drag to tweak and hit the play button to start a gust of wind at any time into the mix.
This experiment took a little longer than I anticipated. Mainly because I decided to build all the interface elements from scratch. I also skipped the Pure Data sketch and just went straight to code for the audio.