home *** CD-ROM | disk | FTP | other *** search
-
- February 15, 1988
-
-
- {This document may be duplicated and distributed to others
- except as noted. To contribute a document and/or to obtain
- copies of other ANSI X3V1.8M Music Information Processing
- Standards Committee documents, contact: X3V1.8M Secretariat,
- c/o Craig R. Harris, The Computer Music Association, P.O.
- Box 1634, San Francisco, California 94101-1634 USA.}
-
- X3V1.8M/SD-6
- Journal of Development, Part One:
- Standard Music Description Language
- -- Objectives and Methodology --
-
-
- Editors: Charles F. Goldfarb
- IBM Research
-
- Steven R. Newcomb
- Florida State University
-
-
- 0. Introduction
-
- NOTE -- The Journal of Development is maintained
- in two parts only to facilitate maintenance by
- separate individuals; the two parts should always
- be read as a single document. There is much in
- Part Two, for example, that may seem confusing or
- contentious if it is not read in the context esta-
- blished by Part One.
-
- NOTE -- This introduction appears in both parts of
- the Journal of Development.
-
- 0.1. Purpose of the Document
- The Journal of Development describes the status of the
- Standard Music Description Language (SMDL) being
- developed by ANSI X3V1.8M, the Music Information Pro-
- cessing Standards (MIPS) Committee.
-
- NOTE -- General information about the MIPS commit-
- tee, including a guide to participation, can be
- found in committee document X3V1.8M/SD-0.
-
- The Journal is in two parts:
-
- Part One describes the objectives of the project and
- the development methodology employed.
-
- Part Two describes the language design itself.
-
-
-
-
-
-
-
-
-
- - 2 -
-
-
- 0.2. Development Methodology
- Both parts are revised by their respective editors
- after each meeting of the committee. As a result, the
- documents never represent text that has been agreed in
- detail by the committee, but only the editors' best
- efforts to express the committee's ideas. Moreover,
- the ideas in the journal are subject to further study
- and revision and do not represent a final design.
-
- Eventually, the design work will reach a point where
- all aspects of the language have been addressed,
- although not necessarily finalized. At that point, the
- Journal of Development will cease to be the vehicle
- that expresses the current language design. Instead,
- the committee will produce one or more successive
- "working drafts," consisting of text which represents
- the consensus of the committee.
-
- During the Journal of Development and working draft
- stages, public comment is sought and considered, but
- the process is informal. Eventually, when the commit-
- tee is satisfied with a working draft, it will recom-
- mend that X3V1.8 process the document as a "draft pro-
- posal American National Standard." There will then
- commence a formal public review and ballot, during
- which the contributor of each comment will receive a
- written reply.
-
- 0.3. Editorial Conventions
- Formal standards can be complex documents in which
- every word has both legal and technical significance.
- Standards documents may also need to be translated into
- other languages. For these reasons, editorial conven-
- tions have been established to assure precision, accu-
- racy, and clarity (albeit often at the expense of rea-
- dability by the general public). The key principles
- are:
-
- (1) Precise and consistent definitions of terms.
-
- (2) Distinguishing real requirements from mere commen-
- tary, explanations, and examples -- and from
- definitions.
-
- (3) Avoidance of redundancy. (Repetition of a
- requirement is normally a comment, to avoid the
- question of which text governs if the "repetition"
- is imperfect.)
-
- Part Two of the Journal of Development observes some of
- the editorial conventions of a formal standard, but not
- yet with the strictness and consistency that will be
- required in the final document. (See annex B of Part
- Two for details.)
-
-
-
-
-
-
-
-
-
- - 3 -
-
-
- 1. Requirements for a Standard Music Description Language
- (SMDL). The SMDL is being developed to meet the
- requirements described in this clause.
-
- 1.1 General Needs
-
- 1.1.1 Book Publishing
- Publishers need a way of representing musical examples
- within a document (e.g. a music textbook), so that no
- additional typesetting or formatting cost is incurred,
- and no paste-ups need be done when either the text or
- music portions of the document are edited.
-
- 1.1.2 Business Presentations
- Makers of computer-mediated business presentations need
- to integrate music into their productions, and their
- productions need to be portable. Those who create
- business presentations, especially those who create
- business presentations of the kind that are now com-
- monly done with a PC and a video projector, want to
- incorporate music in such presentations, and they want
- to be in a position to have the music reformatted
- (i.e., rearranged) for different performing resources
- "on the fly." The business of business presentations
- is a large one and it can be expected to generate con-
- siderable demand for computer music products, and, of
- course, for music itself.
-
- 1.1.3 Computer-assisted Instruction
- Computer assisted instruction which employs music as a
- reinforcer, or which actually teaches music, needs to
- be portable in order to maximize its marketability.
- The people who create the instruction need to be able
- to call upon databases of music written by other people
- who wrote or transcribed the music using perhaps incom-
- patible hardware and/or software systems.
-
- 1.1.4 Electronic Information Distribution
- Electronic distributors of information (via videotex,
- etc.) need to be able to include music as part of their
- product mix.
-
- 1.1.5 Music Creation and Distribution
- Composers, performers, and arrangers would be better
- able to exploit the market for their creativity, and
- their market would be better served and have a wider
- variety of product to choose from, given the existence
- of a lingua franca for music--a single representation
- which is able to encompass the kind of information
- which is available from printed music, as well as the
- kind of information (gesture, nuance) which performers
- add in any given performance.
-
- 1.1.6 Information Retrieval
-
-
-
-
-
-
-
-
-
- - 4 -
-
-
- Librarians and information retrieval specialists need a
- standard representation of music data bases, including
- the ability to identify musical works by themes as well
- as conventional bibliographic data.
-
- 1.1.7 Musical Analysis and Criticism
- Musicologists, reviewers, editors, and critics require
- the ability to annotate and analyze musical works, and
- to record their analyses in a manner that provides com-
- plete flexibility in their choice of analytical tech-
- nique, as well as precision in indicating musical pas-
- sages and phenomena.
-
- 1.2 Specific Assumptions
- Within the above broad categorization of application
- needs, specific requirements have been identified.
-
- 1.2.1 User Interface
- It is expected that the primary means of creating and
- revising SMDL documents will be with specialized music
- editors. However, it is also expected that direct
- access with "dumb" text editors will also be necessary,
- for example:
-
- 1. By programmers who are developing or maintaining
- the specialized music editors.
-
- 2. By users who have incorporated SMDL into larger
- documents for publication, and who must modify
- them in an environment where a music editor is not
- available.
-
- 1.2.2 Unique Representation
- The representation of a musical work must contain a
- "core" of information that can be encoded in a canoni-
- cal form such that unambiguous comparisons can be made
- between works. In other words, there must be a defined
- portion of the representation that serves to distin-
- guish a work from all other works.
-
- ***** section 1 TO BE COMPLETED: *****
- ***** Contributions are solicited! *****
-
-
- 2. The Role of SGML in the SMDL
-
- NOTE -- The SMDL is intended to be an SGML
- representation of music information. The nature
- of SGML is such that this objective does not res-
- trict the SMDL design in any practical way. The
- purpose of this clause is to explain why that is
- so.
-
- 2.1 Background
-
-
-
-
-
-
-
-
-
- - 5 -
-
-
- The Standard Generalized Markup Language (SGML) is an
- internationally standardized language for document
- description, published as International Standard ISO
- 8879 : 1986.
-
- SGML has been adopted by a broad variety of organiza-
- tions for a diverse range of applications.
-
- -- The Association of American Publishers has adopted
- SGML for use by authors submitting manuscripts to
- publishers, and it has published applications of
- the language for journals, books, articles,
- mathematical formulae, and complex tables.
-
- -- The U.S. Government, which is the world's largest
- publisher, is a major user of SGML, and it is in
- the process of formally adopting it as a Federal
- Information Processing Standard. Agencies using
- SGML range from the Internal Revenue Service,
- which uses it for tax form preparation, training
- manuals, and other publications, to the Defense
- Department. The latter has adopted SGML as a
- standard for documentation in its Computer
- Assisted Logistical Support program, a project
- that could see the expenditure of over a billion
- dollars on SGML-based documentation support in the
- next three years alone.
-
- -- The IBM Corporation, on whose Generalized Markup
- Language (GML) the SGML is based, is the world's
- second largest publisher. It uses GML for over
- 90% of its publications.
-
- -- The Oxford University Press is using SGML to
- create an immense data base of the contents of the
- Oxford English Dictionary and its many supple-
- ments. It will be the base for the publication of
- the New Oxford English Dictionary and many spe-
- cialized dictionaries, and it will eventually be
- available for online information retrieval.
-
- Implementations of SGML for IBM and Macintosh personal
- computers, DEC minicomputers, and IBM mainframes among
- others, are already available, and more are under
- development.
-
- 2.2 Document Representation with SGML
-
- 2.2.1 Structure
- SGML allows a document to be described as a hierarchy
- of logical elements. For example, a "book" may be
- described as a sequence of "chapter" elements, each of
- which contains a "title" element followed by one or
- more "paragraph" elements.
-
-
-
-
-
-
-
-
-
- - 6 -
-
-
- The title of a chapter might appear as:
-
- <title>How Dorothy Returned to Oz</title>
-
- and the first paragraph might appear as:
-
- <p>When Dorothy returned to her room, there was a
- tiny cameo lying on her dresser. She picked it
- up, and it began to glow, while the tiny face on
- it seemed to come to life.</p>
-
- While this example may seem trivial, it illustrates the
- beauty of SGML: an SGML document need not contain any
- formatting instructions, but all the information about
- the document needed to format it automatically (by
- means of an application designed to do that) can be
- placed within the document itself. Having created a
- document expressed in SGML, the author or editor can
- instruct a formatting program that, for example, all
- chapter titles are to be centered on new pages, one
- third of a page down, followed by a specified amount of
- blank space. Thus, if the document is reprinted in a
- journal or anthology with different formatting conven-
- tions, no one needs to edit the document itself,
- because a formatter can reformat it according to the
- desired publishing style. SGML documents can contain
- normal text characters, graphics, images, mathematical
- formulae, and other specialized notations.
-
- In the above example, the structure of this instance of
- a book (a very short one!) was:
-
-
- <book>
- <chapter>
- <title>
- data ...
- <para>
- data ...
-
-
- where "data" was those characters other than the markup
- tags -- the "real" text of the document.
-
- 2.2.2 Data Content Notations
- In our book, the data was a string of normal English
- characters interpreted in the usual way. But consider
- the following data:
-
- three over four
-
- This example could also be normal English text, but in
- a different context it could be interpreted as the
- equivalent of:
-
-
-
-
-
-
-
-
-
- - 7 -
-
-
- 3/4
-
- The interpretation of data characters in a specialized
- manner like that described is called a "data content
- notation." Data content notations are frequently used
- in SGML documents to describe the content of elements
- such as mathematical formulas and pictures.
-
- However, the example could also have been represented
- as an SGML structure that did not require a data con-
- tent notation:
-
- <fraction><numer>3<denom>4</fraction>
-
- Here, "fraction" is an element (like "title" or "p");
- it contains a numerator ("numer") and a denominator
- ("denom"). In other words, the structure is:
-
-
- <fraction>
- <numer>
- data ...
- <denom>
- data ...
-
-
- And, just as in our book, the data need no special
- interpretation -- the formatting of "fraction" is what
- specifies that the "numer" should be displayed above
- the "denom".
-
- The coding schemes conventionally used for musical
- scores are essentially data content notations. In
- them, for example, the letters "a" through "g" might
- stand for notes of a particular pitch, while the digits
- "4" and "8" might represent durations.
-
- By using such a notation, an SGML document like our
- book could contain a "song" element within (say) a
- chapter:
-
- <book><chapter><title>Some Obscure Songs</title>
- <para>Here is a really obscure song:</para>
- <song notation="DARMTRAN">4EDCDEEER</song>
-
- Here, the "notation" attribute on the tag that intro-
- duces the "song" element tells us that the data content
- of the element is interpretable by the "DARMTRAN" nota-
- tion. The formatting program could call a "DARMTRAN"
- processor for that element in order to obtain the
- typeset music.
-
- 2.2.3 Cross-references
- Elements can have other attributes besides "notation."
-
-
-
-
-
-
-
-
-
- - 8 -
-
-
- One such attribute, called an "ID", allows a name to be
- assigned to an individual element. Relationships
- between other elements and that one can be expressed
- with an "IDREF" (ID reference) attribute whose value is
- the ID of that one. In the following example, a para-
- graph contains a "songref" (song reference) element
- that refers to the song whose ID is "song1":
-
- <para>I am referring to <songref idref="song1"></songref>
- when I speak of true obscurity.</para>
- <song id="song1" notation="DARMTRAN" >T"Obscure Song"CDEFEDC</song>
-
- The "songref" element has no data of its own; presum-
- ably the formatting application will generate an
- automatic reference based on material that is decoded
- by the data content notation processor. (There seems
- to be a title hidden in there, but only a DARMTRAN pro-
- cessor would know for sure!)
-
- An alternative technique might be to define "song" ele-
- ments as containing a "title" and a "body", with only
- the body being in the data content notation:
-
- <song id="song1"><title>Obscure Song</title>
- <body notation="DARMTRAN">CDEFEDC</body></song>
-
- Now the formatting application can be smart enough on
- its own (without the DARMTRAN processor) to extract the
- content of the "title" element of the song and use it
- to generate data for the "songref" element!
-
- 2.2.4 Data Content Notation Encoding
- The data content notations in our examples were both
- character coded. An advantage of a character coded
- notation is that it can be typed at a non-graphics ter-
- minal and printed in the form of a listing by non-
- graphics printers. This can be particularly helpful to
- programmers who write the friendly "front-ends" and
- applications that create and process SMDL documents.
-
- However, SGML documents also have the ability to con-
- tain binary data content notations, e.g., photographs.
- To a software developer, this may appear, at first
- blush, to be the most appropriate for music representa-
- tion. However, the distinction between the SMDL and a
- representation that is internal to an application
- should always be kept in mind. The SMDL representation
- will be for the purpose of allowing applications with
- DISSIMILAR internal representations to communicate with
- one another. A binary encoded notation will not neces-
- sarily be more convenient for a given application to
- handle than a character coded one.
-
- 2.3 An SGML Design Tradeoff
-
-
-
-
-
-
-
-
-
- - 9 -
-
-
- There is obviously a tradeoff that must be made here
- when designing an SGML application. A data content
- notation, because it is designed specifically to
- describe a certain kind of information, will likely
- require fewer characters to express the same thing as a
- general-purpose description language like SGML. (To
- avoid any misapprehension that SGML is unacceptably
- verbose, it should be noted that SGML has "markup
- minimization" features that, if used, would have sub-
- stantially reduced the amount of markup in the previous
- examples.)
-
- On the other hand, the more detail about an element
- that is exposed at the SGML level, the greater the pos-
- sibility of interaction with other parts of the docu-
- ment (such as cross-references). Another benefit of
- maximizing the use of SGML structure is that any tex-
- tual information in the music could be handled in the
- same way as any other text, and there would be the
- least likelihood of conflict between the formatting
- conventions for the text outside the music portion of a
- document and the formatting conventions for the text
- and music inside the music portion.
-
- A document expressed in SGML may be visualized as a
- tree, in which only the leaves contain data. The
- flatter the tree structure, the more likely that a
- notation will be required to interpret that data. But
- whether the tree has one level or one hundred, it is
- still an SGML document.
-
- In creating SMDL as an application of SGML, therefore,
- a range of possibilities present themselves:
-
- 1. The bare minimum of SGML structure could be used:
-
- <symphony notation="SMDL">GGGEb</symphony>
-
- 2. SGML structure could be used for some levels, but
- not for all of them. For example, SGML could be
- used for the few highest level elements of the
- tree where it might be useful to have cross-
- references, etc., and where there is little effi-
- ciency to be lost because there are so few
- instances of them:
-
- <symphony>
- <movement id="first" notation="SMDL">GG</movement>
- <movement id="second" notation="SMDL">GEb</movement>
- </symphony>
-
-
- 3. SGML structure could be used right down to the
- leaves.
-
-
-
-
-
-
-
-
-
- - 10 -
-
-
- The choice between the above alternatives cannot be
- made with certainty until the full set of information
- to be represented in SMDL has been identified. The
- final language will almost certainly be some mix of
- SGML and a data content notation, but some difficult
- design work will be needed to implement it. For one
- thing, we will have to design (or adapt) a data content
- notation.
-
- In the interim, we can easily express the set of infor-
- mation to be represented by using alternative #3, as it
- does not require us to invent a notation at this time.
- Once the full set of information is defined, we can
- devise a coding scheme (data content notation) for the
- leaves and appropriate levels of node, and leave the
- remainder to be represented with SGML markup.
-
- 3. Design Philosophy
- This clause describes the principles that are observed
- in formulating the SMDL design.
-
- 3.1 Role of a Description Language
- A description language (such as SMDL) is a method of
- expressing certain material that falls within a range
- that the language designers specify. A description
- language does not make any demands on the material
- other than that it be within its range, nor is there
- any dynamic aspect to a description language.
-
- English can be used to illustrate the concept of the
- range of a language. English is a language that is
- ideally suited for writing material such as this docu-
- ment. English also lends itself beautifully to poetry.
- Mathematics, on the other hand, can only poorly be
- expressed in English (calculus and algebra are far
- better), and music cannot usefully be represented at
- all. Clearly, some material is within the range
- addressed by English, and some is not. English imposes
- a certain structure (grammar, vocabulary, spelling,
- etc.) on its range of subject material, but does not
- restrain the content.
-
- 3.2 Terminology
- The terms for SMDL constructs are chosen with care, but
- some may be different from conventional music terminol-
- ogy, in the following ways:
-
- 1. The term may be used in a more restricted (or more
- general) sense in the Standard than in common
- music parlance.
-
- 2. The term may refer to an SMDL language construct
- that corresponds to, but is not identical to, a
- construct in music.
-
-
-
-
-
-
-
-
-
- - 11 -
-
-
- 3. The term may refer to a construct from another
- discipline that is here being applied to music.
- The term "thread," for example, refers to a con-
- cept which does not have a counterpart in conven-
- tional music terminology, but it is a metaphor
- like the one used when speaking of the "thread" of
- a story line or argument.
-
- The terminology, like everything else in SMDL, is sub-
- ject to review and revision, but for now we need "han-
- dles" for various concepts, and these are workable.
-
- 3.3 Efficiency
- It is intended that SMDL be able to express the bulk of
- the material it is intended to represent in an elegant
- and straightforward manner, with some thought given to
- efficiency as well.
-
- However, efficiency with respect to potential modifica-
- tion is much less a concern, since any given instance
- of a musical piece is static. The only criterion is
- whether the versions existing both before and after the
- change can be expressed correctly.
-
- Dynamic efficiency is more the concern of designers of
- the internal representations used by application
- software that will read and create SMDL documents. (It
- is especially easy for those of us who are software
- developers to fall into the trap of thinking like pro-
- grammers rather than language designers.)
-
- 3.4 Redundancy and Consistency
- Our general approach is to avoid the possibility of
- conflicting information in an SMDL document, which is
- tantamount to avoiding redundancy. While it is recog-
- nized that internal redundancy can serve as a vehicle
- for error-checking, our belief is that it is the
- responsibility of the originator of an SMDL document to
- assure that it is error-free and conforms to the stan-
- dard. A non-redundant design assures that the document
- is internally consistent, and therefore processable,
- even if it does not correctly express the intention of
- the originator.
-
- 3.5 Economy of Constructs
- We intend that the final language design be elegant, in
- the sense of having no more constructs than are needed
- to describe the full range of subject material. During
- the design process, however, we prefer to err on the
- side of defining too many constructs, rather than too
- few, so that distinctions can easily be made as we gain
- better understanding of the differences between
- apparently similar things. We will, of course, remove
- any duplications when finalizing the design, but
-
-
-
-
-
-
-
-
-
- - 12 -
-
-
- premature optimization might cause us to overlook
- important differences.
-