--
// connect impulse (train) generator to dac
impulse i => dac;
// infinite time loop
while( true )
{
// set next sample to 1.0
1.0 => i.next;
// advance time by 80 samples
80::samp => now;
}
---
You can follow the control structures and know exactly what and
WHEN things are happening (generating a impulse train with period
of 80 samples). Pair this with concurrency, and it allows you to
follow parallel flows and you can reason about timing in a
synchronous way across the entire system.
Of course, this alone is probably not enough and there are other things
that we can do to get the understanding across - like visualization
the coding process and how code is running in the system at run-time
http://audicle.cs.princeton.edu/
One of our goals is to make code a live instrument by conveying
the intent of the musician to the audience, and to give the audience
an opportunity to appreciate the process of realizing that intent. It
is
this lack of perceivable intent that really make most computer music
utterly meaningless in live performance. We don't know if the performer
succeeds in his/her gestures at any level because we don't know what
those gestures are.
The ability to understand and appreciate code is central because
code is our gesture. I believe we must try to get this part right.
Okay, I stop typing now.
Best,
Ge!
Received on Thu Oct 21 2004 - 23:23:15 BST
This archive was generated by hypermail 2.4.0 : Sun Aug 20 2023 - 16:02:24 BST