On 19/04/2008, Jeff Smith <jeff@smithicus.com> wrote:
I'm interested in exploring sound synthesis using ChucK.In particular
I'm interested in algorithmic synthesis of simple physically-based
sounds, like a water drip or a hand-clap. Does anybody have any
examples lying around that create a sound like this from scratch? I'm
a complete noob when it comes to audio signal synthesis, and I'd love
to see how others have approached building up the sound.

Hi Jeff.

The easy way would be to take the Shakers Ugen. I'm sure it does water-drops and seem to remember it does hand-claps as well. It's a great little Ugen for fun simple physically modelled sounds. Taking that one hardly counts as "from scratch" though.

The good news is that it comes from the STK which is aimed at exactly what you need; explaining how to build things like this in practical terms. There is extensive documentation to it in the form of Perry Cook's little book "real sound synthesis for interactive applications". The bad-ish news is that this is done in C++ and not in ChucK, with the results ending up as ChucK Ugens.
 
Typically a good strategy is to look at natural sounds as "something" (the wind, a hammer...) acting on "something else" (a string, a table, a car-trunk) and causing the second thing to vibrate. These two are typically called the "exciter" and the "resonator". You can get very far modelling the exciter as some sort of noise with a certain envelope (a thrown pebble would come down to a very short impulse-like burst of noise while a violin bow would be a longer more gentle type of noise with some periodic characteristics) and the resonator can typically be modelled as a set of band-pass filters or a tuned delay-line with feedback and a filter in the feedback-chain to represent the internal damping of the material. A guitar string is quite simple and could be successfully modelled with a simple feedbacking delay with a simple filter while something like a car-trunk would likely need a network of tuned filters. The example Eduard send is a good example of this approach.

Physical modelling can be a lot of fun because the sounds are often so evocative but it can also be quite hard as the real world is quite complicated.

Hope that gives you some leads.

Yours,
Kas.