Cheers Dom,
The birds in the audio examples are randomly generated, then tweaked and fixed if that makes sense. So I generate a bunch of parameters and listen. If it sounds good I store it away and do some more. When I have a load that are interesting I go back to them and carefully tweak. That quickly homes in a set of parameters that work well for certain species. There are certain "areas" in the parameter space, sweet spots that sound just like real species, so I know the algorithm is good. Then I listen to the real recordings and tweak a little more to bring them as close to the natural sound as possible.
The algorithm is much too sensitive to add real-time randomness , except in the articulation, which is randomly concatenated curves analysed from real bird calls - mostly squares, cubes and exponentials in various patterns. All birds seem to use these common gestures, only the order and pattern changes. Those audio examples are a lot more sophisticated than the birdbox patches on the site because each paremeter has its own trajectory, and there is some functional relations hard wired in between them.
> Edit : i'm looking into your birdbox2 patch and i'm wondering how the tweetivity
> actually works (the initial bit with the noise lowpassed and multiplied...)?
Yeah , let's see...
hmm, tweetivity is a random curve generator like the last stage I was just describing. It modulates _every_ parameter by a a certain scale and offset. Starting at the bottom with [lop~ 2] , that's just there to slug the phasor when it goes to zero to avoid nasty clicks. The input to the phasor can be negative or positive in the range of about -4 to +4 so it scans up or down (a negative frequency gives a reversed phasor ramp). That frequency curve is achieved from a sinusoidal oscillator moving very slowly plus a DC offset to set the current base frequency. The signal feeding it is a slowly moving random with a period of about 5 seconds, [abs~] rectifies it to make it unipolar and it's scaled by the "tweetivity" factor to make it more or less lively. Articulation controls the beak filter which opens up or closes to attenuate the vocal source.
It's not very sophisticated, I needed something to randomise the parameters and it sounded quite good. All the real juice is in the [pd tweetypie] sub. That's a modification of Hans Mikelsons FM patch but adding a modulation of the two sources first. I noticed in the spectrographs that many birds have a difference trajectory without the sum, which indicates some kind of ring modulation going on.