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!