Languages and Programs for Music Encoding and Processing

Francesco Giomi

Divisione Musicologica CNUCE/C.N.R.

Conservatorio do Musica "L. Cherubini"

Music and its branches, as well as humanities, have introduced computing technologies into each phase of production, listening and analytic processes: from the automation of simple tasks to the aided investigation of new aspects of musical knowledge. The results of this relationship are so satisfying that we can really talk of computer transformations of music.

Changing processes due to new technologies have taken place in literary as well as in musical texts. For years musicologists and composers have aimed to represent musical information in machine-readable form (Hewlett & Selfridge-Field, eds., 1987), so as to work on musical data through computers.

While describing the most important alphanumeric encoding systems, I will dwell only on those which, contrary to simple codes designed for particular applications, can be considered as real encoding languages. In a parallel way they can represent a great amount of information of the musical alphabet, primarily polyphonic pitches, rhythms, dynamics and articulations. After explaining these kinds of problems we have to clear up the possible uses of encoded information; musical data storing can generate a large number of applications, music analysis, music printing and audio output being the most important. However, researches in other side fields have been carried out: for example the use of music by the blind (Camilleri, 1990) or its employment in multimedia artistic performances (Aitiani and Giomi, 1991).

Encoding systems

Many musical codes have been introduced but very often only for single and specific applications; they do not interest us in this context. For an exhaustive survey of all these systems and their musicological employs we can see the specialized volume published every year by the center for Computer Assisted Research in the HUmanities in Menlo Park, California, edited by Walter Hewlett and Eleanor Selfridge-Field. Before describing some of them, it is worthwhile to dwell on some general remarks.

First of all, there are not fixed rules for the structural organization of data, except the fact that each musical parameter has to be treated separately. Moreover, there is not any pre-established precedence among these parameters: the writing order of pitches, durations, etc. changes in every system. But we can make a distinction between systems which work note-for-note and those called two-pass systems (Hewlett & Selfridge-Field eds., 1987). In the first ones (for instance the TES code) all the parameters relating a certain event are encoded sequentially, while in the second ones (for instance the SCORE-TM) a string of pitches, followed by a string of their relative durations, followed by articulations and so on are encoded.

In many cases, we follow the "running status" criterion, in order to facilitate the input task, by omitting those parameters (except the pitch) whose value is the same as the previous note. For example, when we have a group of notes with the same rhythm, the value of duration can be omitted from the second onwards; a new value will be written only when a duration change occurs. Then other parameters can be calculated directly by the machine: this the case of note alteration (sharp and flat) which be inserted automatically if the direction for key has been provided at the beginning.

For a detailed and formal investigation on the properties needed for a good representation we suggest the good work by David Huron (1992).

Now let us see the description of some encoding systems.

Its syntax foresees that each element of musical code is open by the <. . . > symbol and closed by , while points stand for the element name (pitch, duration, thread, etc.); between the previous symbols values assigned to the musical element are inserted. Nowadays the SGNL is strictly linked with the world-wide standard technical framework for integrated hypermedia HYTIME (Austin and Newcomb 1992). In effect this could be considered as its best field of application.

Among other significant systems we can mention MUSTRAN (System for Music Transcription) developed at the Indiana University (U.S.A.), the Oxford Music Processor of the Oxford University (U.K.), and the OPAL/IMS used at the University of Illinois (U.S.A.), which was designed by the CCARH in Menlo Park (U.S.A.) and many others.

Present and Future Applications

Electronic printing of music is becoming well-known everywhere these last few years because of personal computers. Some of the programs used for this purpose accept, as we have seen in the previous paragraph, the input data written in a specially designed alphanumeric encoding language. In my opinion, systems which codes physically written on ASCII files can be considered the most interesting in their category. In fact, from one side they allow the storing of many parameters of the musical object (symbolic completeness requirements) and from the other, they allow one to work on the score on a higher level than the graphic one. We can notice that many commercial music printing programs (for instance the famous Finale by Coda Software allow an exclusive graphic approach to score building.

Contemporary composers have got a considerable advantage out of the music printing programs based on codification to produce and print their own scores. Such programs allow also new editions of never published old repertoires; see, for instance, the work of Piero Gargiulo (Musicological Dpt. of CNUCE, Florence) who encoded a madrigal manuscript dated 1598 through the SCORE program (Gargiulo 1991).

Another immediate application is the development of a musical data base concerning specific authors or particular repertories (Hewlett & Selfridge-Field, eds. 1989, 1991). The developed database can be used in order to catalogue folk melodies, to retrieve music incipit and in general to support the other applications (analysis, printing, performance, etc.).

It is in the field of music analysis that encoding systems find one of the most interesting applications. It is impossible to list all the works concerning this topic here; but we can stress that every type of analysis statistical, based on theories or formalized into rules (Camilleri 1992) has to work on extremely non-homogeneous data. In consequence programs have to manipulate the encoding, by taking out, each time, the information which is pertinent.

In general the elements needed for the music analysis represent a subset of those data which are useful in score printing. And it is for this reason that many computer-based anlysis systems accept as input musical files written in SCORE or DARMS languages which are thinned out, if necessary durinfg a pre-processing phase.

The information used to play encoded music pieces are even less: fundamentally pitch and duration with the possible addition of timbric and dynamic parameters. Suffice it to say that every MIDI system (the standard employed by electronic music instruments to transmit data) does not know the difference very important for analysis between, for example, a C sharp and D flat; from the auditory level it is always the same note between C and D. Therefore every code corresponding to this kind of application would not expect this difference, saving from the syntax recognition point of view (less memory space and less processing time).

As far as the differentiation of the various languages and the possibility of a real process of standardization are concerned, I think it is still an experimental project (even if it is hoped that it would be realized), since it is particularly important either from a musical or computational point of view. This remark can be explained by the following three points:

  1. Every research center or study group knows its own system so well that it is unlikely to be forsaken. And besides, its own codes fit perfectly the pursued purposes;
  2. Repertoires and current large databases should be completely re-codified;
  3. It is probably very difficult to design a real general purpose language able to fit each type of application, chiefly without being redundant for many of them.
One of the solutions I consider very interesting is the possibility to transcodify form one language to another (Camilleri 1990), together with the development of specific programs for the translation from one starting code towards an inner highly specific representation of the music information. An excellent example of the last approach is Alexander Brinkman's work concerning the passage from the DARMS code to a list-based representation of the musical piece (Brinkman 1986).

The development of encoding systems allowed the application of many analytical methods implemented on computer to large music repertoires transferred on machines. Therefore many repertoires are available for the scientific-musical community as normal alphanumeric files which can be exchanged simply and quickly through, for example, the many geographical networks.


Aitiani, M. and Giomi, F. (1991). "The Artwork Nave di Luce: A Journey into Art, Music and Telematics ". Leonardo 24 (2).

Austin, L. and Newcomb, S. (1992). "SMDL/HYTIME Standard: Opportunity for Restriction ". Leonardo Currents, N. 1.

Brinkman, A. R. (1986). "Representing Musical Scores for Computer Analysis ". Journal of Music Theory 30 (2).

Camilleri, L. (1990). "Musical Codes and Transcoding Possibilities". In Graziani, P. (ed.), Computer Aided Production of Music Material for and by the Blind. Florence: I.R.O.E./C.N.R.

Camilleri, L. (1992). "Computational Theories of Music: Theoretical and Applicative Issues", in Marsden A. and Pople A., eds., Computer Representations and Models in Music. London: Academic Press.

Camilleri, L. and Giomi, F. (1989). "Computer Applications to Music: A View from Florence". Humanistike Data 3.

Erickson, R. (1976). DARMS: A Reference Manual. Binghamton (NY): typescript.

Gargiula, P. (1991). Luca Bati madrigalista fiorentino. Firenze: Leo S. Olschki Editore.

Hewlett, W. and Selfridge-Field, E., eds. (1985-1988). Computing in Musicology, A Directory of Research. Menlo Park, CA: Center for Computer Assisted Research in Musicology.

Hewlett, W. and Selfridge-Field, E., eds. (1989-1991). Computing in Musicology, A Directory of Research. Menlo Park, CA: Center for Computer Assisted Research in Musicology.

Huron, D. (1992). "Design Principles in Computer-bsed Music Representation ", in Marsden A. and Pople A., eds., Computer Representations and Models in Music. London: Academic Press.

Nencini, G., ed., (1987). Modalita'operative del TELETAỦRel. 2.0. Pisa: CNUCE/C.N.R.

Smith, L. (1987). SCORE Reference Manual. Half Moon Bay, CA: Passport.