[CM] 2nd International Linux Audio Conference

Bill Schottstaedt bil@ccrma.Stanford.EDU
Thu, 29 Apr 2004 04:03:27 -0700


 > Yes indeed listening the result of a process while is computing
 > certainly is not the main feature in CLM (question is that really
 > needed in CLM?). Saying that CLM lack of real time capability, i think i
 > pretty much incorrect.

I meant "realtime"!  CLM in Scheme, Ruby, or C, for example, has no trouble
synthesizing new samples, or processing in-coming samples, while the
starry-eyed composer clicks and drags widgets that control those
processes, listening to the output as he does so -- I'm not trying
to play games with words.  Look at the numerous examples in
Snd, or try moving the "speed" control while playing a sound in
Snd -- you are actually using the CLM src generator.  Most of the
processing in Snd is based on CLM generators.  So it's not just
"capable of realtime", it does it constantly and easily -- see
the fm-violin dialog in snd-motif for example.


 > The concept of ' algorithmic composition ' in real-time by itself sounds
 > pretty amazing. I have been toggling my mind about it since yesterday
 > and I still wonder how were you doing that in those days.

I'll try to dig up the actual sources -- I've kept most of the Samson
box files somewhere.  Briefly, though, the Samson box was the
equivalent of a 200 MHz PC, more or less, so it could do a reasonable
number of my fm violins plus reverb in realtime -- and I mean
listening to the output as the box calculated it. I can't actually
remember now how many violins -- I think it was about 30 at a
reasonable sampling rate.  We didn't have mice, but we used the
keyboard.  The input I used was Pla expressions, like typing Scheme to
the listener, but that was simply a choice.  I had a compositional
algorithm running in Pla, generating calls on the violins, (using the
Foonly system clock to time them) as I sat there poking the variables
that controlled that algorithm -- call it realtime algorithmic
"improvisation" if "composition" seems too grand.  An example in the
CL CLM is bess5.cl, translated by Michael Scholz to Ruby in Snd's
bess1.rb.  I think I talk about this business in one of the Pla
articles.

Perhaps the confusion arises because most computer music types say
"realtime" when they mean "MIDI" -- "'when I use a word', Humpty Dumpty
said..."