[CM] those birds of the samson box

Bill Schottstaedt bil at ccrma.Stanford.EDU
Wed Nov 30 10:08:56 PST 2011


> What is the history behind birds.clm (birds.scm) ?. 

Around 1980 I wanted a bird song for "Colony", but realistic-sounding
bird songs are not easy to make from scratch.  So I got out my bird book,
Robbins, Bruun, Zim, Singer "Birds of North America" Golden Press, NY 1966,
which had sonograms of most of the songs.  The graphs were incredibly
small, so I needed a magnifying glass to read them, but in many cases,
you could simply copy the data into the frequency and amplitude envelopes
of a sine wave instrument, and a pretty good bird song would
result.  My main collaborator in this research was the AI lab cat
named Marathon.  She would prowl around the speakers trying to find the
birds, which I took as expert approval.  bird.clm/scm is a very direct
translation of those notelists.

Here's the Samson box version of the bird:

Instrument(Bird);
INTEGER ARRAY Gens[1:3];
REAL ARRAY Frats,ARats[1:3];
INTEGER i,AllOut,FltOut;
Pars(<(Name,Beg,Dur,Frq,FrqSkw,Amp,Deg,Rev,FUNCTION FrqF,FUNCTION AmpF,LpCoeff)>);
Waiter(Beg);
Gens[1]Osc(Pns,AllOut,Zero,Sinemode);
IF LpCoeff>0 AND LpCoeff<1
  THEN FltSig(Pns,FltOut,AllOut,LpCoeff,1-LpCoeff,0,1)
ELSE FltOutAllOut;
LocSig(Pns,FltOut,Deg,1,Rev);
AddEnv(Pns,Gens[1],"F",Frq,FrqSkw,FrqF);
AddEnv(Pns,Gens[1],"A",0,Amp,AmpF);
End_Instrument(Pns);

The funny characters are left-arrows in the SAIL character set.
The low-pass filter was for distance effects.

Many years later, I made what I think are better renditions in
animals.scm, using Snd to make the sonograms, and some very good
recordings from Cornell.  There's documentation about that in
sndscm.html.  Some bird songs are incredibly beautiful when
slowed down via granular synthesis.





More information about the Cmdist mailing list