Michael J McGonagle wrote: > Kasper Souren wrote: > >>>Could you offer some comparisons here? What things are possible in >>>SuperCollider that are either not available or are more difficult in >>>SAOL? >>> >>AFAIK SuperCollider is much more object oriented. I think it's even >>'completely' OO, more than C++ or Java. And OO is a completely >>different way of working, and of concepts than structural programming. >> > > Well, if SuperCollider is based on SmallTalk, then yes it would be OO. > SmallTalk is considered to be one of the first OO languages, from whence > most others model themselves. I think the only thing that makes > SmallTalk more "OO" than Java is that it also abstracts all of the > primitive data types into Objects. > > Yes, OO is different that "Structural Programming", but is it better? > For some tasks it is, but I wonder if Algorithmic Composition requires > OO. I could see the argument that the program used to process the > Composition would be better written using OO, as it is easier to > maintain large programs.
>>>Could you please explain why SuperCollider is so excellent? What >>>features does it have that other languages should have? I consider MusicN/Csound/SAOL music rendering systems. That is, given an input of a score and instrument description, it outputs the audio data. I regret that it forces composers to think in terms of scores and instruments. It is certainly a traditional and useful abstraction but I think computers offer much more possibilities. MusicN/Csound/SAOL is by no means a composition system. You need other tools for that. The paragraph on SASL on the Mpeg4 web site states that that was not their objective. SuperCollider, however, allows a composer to build his own musical structures and use them as he sees fit. It also allows the composer to design composition algorithms and manipulate and test them. MusicN/Csound/SAOL is also not an interactive music system even though Csound excepts real-time midi input. SuperCollider definitely is an interactive music environment. Another feature of SuperCollider is that the synthesis algorithm is executed per sample not per buffer. This allows you to experiment with physical modelling techniques. SuperCollider is the only program out there that can handle composition, sound synthesis, real-time, and interactivity in one package. It makes SuperCollider one of the most intelligent and interesting music applications to me. >>And, which >>is probably the hardest part, internally there has to be a notion of time. >> > > Hum, I guess I don't really know what you mean here. Could you explain a > little more? I don't want to reply for Kasper, but here's my view. Most sound synthesis systems only know what time it is *now*. The system says "Tick" and all the controllers update their values and an audio buffer is filled. If you want to make music using a more complex structural organization and you want to apply non local effects, you need a more complex view of time. As a simple example: play a melody with vibrato. You can add vibrato to each individual note but it won't sound good. In general, the vibrato is carried from one note to the next. So you need a higher level of description and be able to see what will happen later in the score. > Thanks, > > Mike >