Fractal Wavetables
Posted on | March 20, 2009 | No Comments
Based on work by composer Terran Olson, I’m releasing a Processing applet that lets you play with recursive/fractal sound synthesis by setting a few sliders.
Background
Inspired by an article on CDM, and Terran Olson’s work in particular, I dug into creating a slightly more general version of fractal set synthesis.
In essence, you use a bank of sliders to give the program a wavetable “seed”, which is immediately subdivided into sound — each sample is replaced by a copy of the wavetable, multiplied by the old sample value, and so on.…
This recursion continues until the desired length of audio data has been generated. The initial value always begins at “1″. For a seed of “1 0.5 1″, you get the following as the first three steps:
1 =>
1 0.5 1 =>
1 0.5 1 0.5 0.25 0.5 1 0.5 1 =>
1 0.5 1 0.5 0.25 0.5 1 0.5 1 0.5 0.25 0.5 0.25 0.125 0.25 0.5 0.25 0.5 1 0.5 1 0.5 0.25 0.5 1 0.5 1 => …
Try it
Click the thumbnail below to run the applet in your browser (requires Java):
Or get the downloadable application version here (so you can save out audio files):
Mac OS X version
Windows version
Linux version
If you’re curious about how this was written, the public git repository for this project lives at:
http://wiki.github.com/jdnorthrup/fractalwavetablesketch
Thoughts
Initially, I found the whole idea that the music can be self-similar from the waveform level, up to the “LFO” level, up to the rhythmic phrase, to the overall flow of a passage of sound — rather mind-expanding.
Interestingly, the sounds produced from this can sound spectacular through deep reverbs and other processing. They’re almost the same amplitude at all frequencies in their range, quite unlike natural harmonic spectra. Try running a steep resonant bandpass across some of the more complex sounds.
If you do anything cool with this app, please send me a link!
Comments
Leave a Reply