💾 Archived View for spam.works › mirrors › textfiles › music › smdl-in.tro captured on 2023-06-16 at 19:19:43.
-=-=-=-=-=-=-
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.