On Jan 10, 2005, at 10:22 PM, Dave Robillard wrote:
Yes, the basic sound production in ChucK is based on ugen networks, but the cool thing about the language is it's handling of time. Time is essentially a variable, so you can do a bunch of operations, then increment time (ie "now += 1 second") and do some more operations. It's really great for algorithmic composition and things like that.
It's main attraction to me however is the ability to insert/delete/modify
chunks of code on the fly, while everything runs. That would be ideal
in a modular synth - those "chunks of code" are just modules. The
only problem is a chunk of ChucK code doesn't really havea way to
specify inputs and outputs that I know of, so the language and/or vm
would have to be modified a bit to allow coding of modules with
arbitrary inputs and outputs.
ChucK code chunks, both as shreds and as unit generators (definable directly in the language!), will be able to communicate with each other and the outside world via many ports and manners, this as part of the new release later this month.
The ability to define unit generators directly in the language is a direct
consequence of the timing mechanism. Just like ChucK in its existing
state, ChucK-native unit generators have precise control over
DSP-level timing, using the same mechanism.
Best, Ge!
