-- // 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