Wired is great for the strange music events. The Plug headphone music festival has almost banished acoustic listening (to small spaces close to your ears) from their festival, everyone listens through headphones and talks in chat rooms instead.
music languages since the computercola_fanSeptember 21 2005, 04:53:15 UTC
Here's how I see this in terms of the domain. Since early computer music, there has been a consistent abstraction with regards to these languages, the signal network of unit generators.
(Unit generators are symbolic units that take in 0..n signals, do some math and output 0..n signals. There is also a distinction between control rate data, which is slower and controls synthesis parameters such as pitch and amplitude, and audio rate data, the sounds themselves.)
a simplified breakdown
MusicN, CSound - The signal networks are fixed over a score or performance, and represented in code divided into the orchestra (the network) and score (the control data). Synthesis occurs in non-realtime, meaning you input the score and orchestra, run the compiler and wait a while.
pd, Max, MSP, Audiomulch - Synthesis is realtime, the network is your current document and control data can come from live user input or programs that pull data as synthesis progresses. The signal networks are now represented visually (in the interface rather than code), and dynamic in that you can drag them around during a performance.
Supercollider - The networks go back to code, but can be manipulated in realtime with code too, so can be more dynamic than above. Server dynamically loads code, so can run several processes at once.
ChucK - synthesis processes synchronize by explicitly referring to wall-clock time.
The abstraction works particularly well for multimedia networks, where in other domains it might not be so transparent. For example, if you are writing and debugging a multithreaded web server, you experience very concretely the non-concurrentcy that's being faked. One thread will reach the point before the other, they will print at different times, the network traffic will peak on each threads rise and fall. But in this domain, procedural things can happen at different times as long as the output buffers line up perfectly.
Only time will tell if the abstraction catches on.
(Unit generators are symbolic units that take in 0..n signals, do some math and output 0..n signals. There is also a distinction between control rate data, which is slower and controls synthesis parameters such as pitch and amplitude, and audio rate data, the sounds themselves.)
a simplified breakdown
MusicN, CSound - The signal networks are fixed over a score or performance, and represented in code divided into the orchestra (the network) and score (the control data). Synthesis occurs in non-realtime, meaning you input the score and orchestra, run the compiler and wait a while.
pd, Max, MSP, Audiomulch - Synthesis is realtime, the network is your current document and control data can come from live user input or programs that pull data as synthesis progresses. The signal networks are now represented visually (in the interface rather than code), and dynamic in that you can drag them around during a performance.
Supercollider - The networks go back to code, but can be manipulated in realtime with code too, so can be more dynamic than above. Server dynamically loads code, so can run several processes at once.
ChucK - synthesis processes synchronize by explicitly referring to wall-clock time.
The abstraction works particularly well for multimedia networks, where in other domains it might not be so transparent. For example, if you are writing and debugging a multithreaded web server, you experience very concretely the non-concurrentcy that's being faked. One thread will reach the point before the other, they will print at different times, the network traffic will peak on each threads rise and fall. But in this domain, procedural things can happen at different times as long as the output buffers line up perfectly.
Only time will tell if the abstraction catches on.
Reply
Leave a comment