beck-chris@CS.YALE.EDU (Chris Beck) (01/17/90)
I have a philosophical question for anyone outhere: I was wondering if anyone could recommend some books, or, preferably, had some of their own thoughts, about possible representations for music that can be understood by a computer (other than standard notation and MIDI). What constitutes a musical event? What would be a good strategy for representing not only the music itself but also all (if possible) aspects of a given musical performance? - Chris
mjs@hpfcso.HP.COM (Marc Sabatella) (01/18/90)
>I was wondering if anyone could recommend some books, or, preferably, had >some of their own thoughts, about possible representations for music that >can be understood by a computer (other than standard notation and MIDI). The programming environemt Formula, developed by David Anderson (UC Berkeley) and Ron Kuivila (Wesleyan U), on which I did my Master's work, uses a purely procedural external representation in which pitch numbers, volume, and durations are encapsulated in concurrent processes. Thus one process would consist of a procedure which spat out note names; another would consist of a procedural representation of a volume curve (giving volume as a function of time), and a third process would consist of a procedure which spat out note durations. The processes can be tied together in any fashion, although one common use would be to have several pitch generating process, each tied to its own duration generating process, and have one global volume process controlling all of them (each pitch process may have its own volume process in addition, so that, for instance, the melody could always be brought out a little stronger as it changed from voice to voice). Complicating this is the concept of "virtual time" - all functions of time are functions in some virtual coordinate system, but processes could be constructed which "deform" a virtual coordinate system in relation to real time. For example, a durations generating process might spit out a series of eighth notes, while some time deforming process might be sitting in a loop, "stretching" the lenght of every other eighth note in real time, thus giving the effect of "swing" eighth notes. >What constitutes a musical event? What would be a good strategy for >representing not only the music itself but also all (if possible) aspects >of a given musical performance? In the Formula scheme of things, the "musical event" is somewhat lost in the external view, since it is distributed over several processes. Internally, though, there is just a big buffer, ordered by virtual time, of MIDI commands. The system takes care of the the conversion from a bunch of concurrent processes describing the music as a whole, into discrete note-on and note-off commands. There is no particular reason this has to be tied to MIDI; it's just that that is what we had available. The event records could be whatever your synthesizer or score generator or what have you recognizes. Similarly, we allow message passing between processes as a means of explicit synchronization (implicit synchronization is achieved since processes execute in a virtual time coordinate system), but the form of the messages is unspecified. I wrote an application in which the messages were simple MIDI commands, but again, if you have some synthesizer or other application which understands something else, that is not prohibited by the system. Thus the internal representation music within Formula is nothing to write home about, being tailored to available devices, but the external view, that of cooperating concurrent processes, is what gives the system its expressibility. For example, you can get articulation effects by defining a process which gives an "articulation curve" similar to the volume curve, and by defining a note-playing process to somehow factor this articulation value into the duration of a note (low values for the articulation curve might mean cut the note short and insert an appropriate amount of space for the remainder of the originally specified duration). -------------- Marc Sabatella (marc%hpfcrt@hplabs.hp.com) Disclaimers: 2 + 2 = 3, for suitably small values of 2 Bill and Dave may not always agree with me
wright@hpccc.HP.COM (Jeff Wright) (01/18/90)
> I have a philosophical question for anyone outhere: > > I was wondering if anyone could recommend some books, or, preferably, had > some of their own thoughts, about possible representations for music that > can be understood by a computer (other than standard notation and MIDI). > > What constitutes a musical event? What would be a good strategy for > representing not only the music itself but also all (if possible) aspects > of a given musical performance? a CD would fit your description... --Jeff Wright