Thursday, July 03, 2008

Creative Computing Major Project

I suppose late is better than never, except at university. My major project for Creative Computing is centred around a concept of environment and weather, in particular rain in a rainforest.

In the main composition, the rain that builds up and then subsides was the original concept for the program, and is the main controller of thematic material, namely drums and bass (both natural inhabitants of a rainforest).

The animal sounds were downloaded from www.a1freesoundeffects.com and http://www.sound-effect.com/ for free. The low quality of the sounds meant I had to change the sample rate (from 8000Hz to 44100Hz) and use Noise Removal in Audacity. Once the files were played in a SynthDef with a reverb, the low quality was barely noticeable. I wanted to use Gverb on every animal sample, however this would crash the server after about 5 animals were initiated. I considered using FreeVerb, which would allow me to pan many sounds within a stereo field without panning the reverb, however the implementation took far too long and I eventually cut my losses and recorded the patch in sections. Due to such CPU/memory issues, I did not implement an automatic play-through code, as the server would inevitably crash.

Oh, and all soundfiles were originally mono (even the thunder).

The drum SynthDef was created by accident while trying to build a flute/pan pipe instrument. Utilising a nested sequence of Pseqs (based on a weekly task), I created a form of drum sequencer, a part of which includes a random order sequencer and a random beat sequencer. I particularly like the effect I created for this drum sound, as I am running a ClipNoise into a klank, meaning the amount of resonance in the drum depends on how hard it is hit (ie how loud the ClipNoise is). Combine this with the drum sequencer which has attenuable amplitudes, and the the result is fairly cool.

By far the most taxing task was trying to create a realistic rain sound. While my result is not yet indistinguishable from the real thing, I feel I brought it fairly close. Dust, Dust and more Dust. Ironically.


My score is as good as they ever are, basically just showing a timeline of events.

If I had more time/better organisational skills, I would have created a cricket and frog synth, as this seems to be the main thing missing in the mix. You can imagine my state of mind after working on it for far too long in one sitting, all while listening to rainforest ambience - relaxing sounds are not the best stay-awake technique. Oh how I wish I still drank coffee.

A big shout out to my main man SuperCollider Help, who pulled me out of a dark time in my coding life and carried me to safety. Did I say shout out? I meant middle finger. David Cottle's book was very useful, as were the weekly tasks, so an actual shout out to them.

My composition is best heard with speakers capable of producing low frequencies well. Or with a subwoofer. Doof doof squawk.
Composition: MP3 4.53MB

My SuperCollider code is in this order: Ocean breeze (background noise), Ambientator (ambient synth), Rain, Conga (feat. Drum Synth, Reverb Synth & Drummer), Bass (feat. Bass Synth & Bassist) and finally Animals (about 9 sections, includes Thunder, the king of all animals).
Rainforest Code: RTF 27KB

You do not have to download the animal sounds to use my patch, unless you actually want to play them. Don't, they aren't very interesting. You can hear them in the above composition anyway.
Animal Audio: ZIP 2.3MB

My patch in layman's terms. John Layman. Hmm, if he exists he should write one of those 'for Dummies' books.
Program Note: PDF 38KB