2964 lines
103 KiB
Plaintext
2964 lines
103 KiB
Plaintext
|
||
X3V1.8M/SD-7 Journal of Development
|
||
Standard Music Description Language
|
||
Part Two: Technical Description and Formal Definition
|
||
Editor: Alan D. Talbot, New England Digital Corporation
|
||
June 4, 1988
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 2 -
|
||
|
||
|
||
|
||
CONTENTS
|
||
|
||
0 Introduction 4
|
||
0.1 Purpose of the Document 4
|
||
0.2 Development Methodology 4
|
||
0.3 Editorial Conventions 5
|
||
1 Scope and Field of Application 5
|
||
1.1 Scope 5
|
||
1.2 Field of Application 6
|
||
3 References 6
|
||
4 Definitions 6
|
||
5 Notation 8
|
||
6 Structure and Content 8
|
||
7 Work 9
|
||
7.1 Work Segment 10
|
||
7.2 Work Segment Reference 11
|
||
8 Core 11
|
||
8.1 Thread 12
|
||
8.1.1 Core Event Sequence 13
|
||
8.1.2 Core Event Group 14
|
||
8.1.3 Core Events 14
|
||
8.1.3.1 Notes and Rests 14
|
||
8.1.3.2 Graced Events 15
|
||
8.1.3.3 Special Events 16
|
||
8.1.4 Core Event References 16
|
||
8.2 Time 16
|
||
8.2.1 Beat 16
|
||
8.2.2 Duration 17
|
||
8.3 Stress 17
|
||
8.3.1 Beat Number 17
|
||
8.3.2 Stresses 18
|
||
8.3.3 Meter 18
|
||
8.4 Tempo Sequence 18
|
||
8.4.1 Tempo 18
|
||
9 Gestural Domain 20
|
||
9.1 Track 21
|
||
9.1.1 Gestural Event Sequence 21
|
||
9.1.2 Gestural Event Group 21
|
||
9.1.3 Gestural Event 22
|
||
9.1.4 Gestural Event Reference 22
|
||
9.2 Click Track 22
|
||
10 Visual Domain 23
|
||
10.1 Part 23
|
||
10.1.1 Visual Event Sequence 24
|
||
10.1.2 Visual Event Group 24
|
||
10.1.3 Visual Event 24
|
||
10.1.4 Visual Event Reference 25
|
||
10.2 Space 25
|
||
11 Analytical Domain 25
|
||
11.1 Voice 26
|
||
11.1.1 Analytical Event Sequence 26
|
||
11.1.2 Analytical Event Group 27
|
||
11.1.3 Analytical Event 27
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 3 -
|
||
|
||
|
||
11.1.4 Analytical Event Reference 27
|
||
12 Bibliographic 27
|
||
12.1 Theme 28
|
||
13 Conformance 28
|
||
Annex A 30
|
||
Annex B 40
|
||
B.1 General Application 40
|
||
Annex C 42
|
||
C.1 Definitions 42
|
||
C.2 Structure 42
|
||
C.3 Segregation 42
|
||
C.4 Language 43
|
||
Annex D 44
|
||
D.1 Structure 44
|
||
D.2 Punctuation 44
|
||
Annex E 45
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 4 -
|
||
|
||
|
||
0 Introduction
|
||
|
||
This is the second part of a two part document describing the work of
|
||
ANSI X3V1.8M, the Music Information Processing Standards Committee
|
||
(MIPS). The parts are known collectively as the Journal of Develop-
|
||
ment.
|
||
|
||
"Part One: Objectives and Methodology" describes the objectives of the
|
||
project and the development methodology employed.
|
||
|
||
"Part Two: Technical Description and Formal Definition" describes the
|
||
language design itself, and provides a formal definition.
|
||
|
||
This document and the other Standing Documents comprise the output of
|
||
the committee, while the other documents and material presented at the
|
||
meetings provide the input.
|
||
|
||
NOTES
|
||
|
||
1. 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 established by Part One.
|
||
|
||
2. This introduction appears in both parts of the Journal of
|
||
Development.
|
||
|
||
3. General information about the MIPS committee, including a guide
|
||
to participation, can be found in committee document X3V1.8M/SD-
|
||
0.
|
||
|
||
0.1 Purpose of the Document
|
||
|
||
The Journal of Development describes the status of the Standard Music
|
||
Description Language (SMDL) being developed by the Music Information
|
||
Processing Standards (MIPS) Committee. It is intended as the technical
|
||
and methodological design specification which will ultimately evolve
|
||
into a Standard.
|
||
|
||
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 on in detail by the committee, but only the edi-
|
||
tors' 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
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 5 -
|
||
|
||
|
||
text that has been agreed to.
|
||
|
||
During the Journal of Development and working draft stages, public
|
||
comment is sought and considered, but the process is informal. When,
|
||
eventually, the committee is satisfied with a working draft, it will
|
||
recommend that X3V1.8 process the document as a "draft proposed Ameri-
|
||
can National Standard". There will then commence a formal public
|
||
review and ballot, during which all comments received will be
|
||
responded to in writing.
|
||
|
||
0.3 Editorial Conventions
|
||
|
||
Formal standards can be complex documents in which every word has both
|
||
legal and technical significance. They may also need to be translated
|
||
into other languages. For these reasons, editorial conventions have
|
||
been established to assure precision, accuracy, and clarity (albeit
|
||
often at the expense of readability by the general public). The key
|
||
principles are:
|
||
|
||
1. Precise and consistent definitions of terms.
|
||
|
||
2. Distinguishing real requirements from mere commentary, explana-
|
||
tions, and examples -- and from definitions.
|
||
|
||
3. Avoidance of redundancy. (Repetition of a requirement is nor-
|
||
mally expressed as a note, 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 C
|
||
of Part 2 for details.)
|
||
|
||
1 Scope and Field of Application
|
||
|
||
This section defines the range of applicability of the Standard. It
|
||
specifies the limits of what the Standard can be expected to
|
||
represent, and what is outside the design criteria.
|
||
|
||
NOTE: In order to proceed in a timely fashion, we found it necessary
|
||
to choose a subset of all possible music for the scope of the Stan-
|
||
dard. As the design matures, we expect to expand the scope to meet any
|
||
further needs of its users.
|
||
|
||
1.1 Scope
|
||
|
||
This Standard defines a language for the representation of music
|
||
information, either alone, or in conjunction with text, graphics, or
|
||
other information needed for publishing or business purposes. The
|
||
language is known as the "Standard Music Description Language", or
|
||
"SMDL".
|
||
|
||
NOTE: The Standard Music Description Language is an SGML application
|
||
conforming to International Standard ISO 8879 -- Standard Generalized
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 6 -
|
||
|
||
|
||
Markup Language.
|
||
|
||
The SMDL is capable of representing many (but not all) genres of
|
||
music, and most (but not necessarily all) instances of works in those
|
||
genres. The primary focus is on music that can reasonably be
|
||
expressed in Standard Western Musical Notation.
|
||
|
||
NOTE: The scope as defined should encompass the vast majority of
|
||
music. It does not exclude the use of special symbols that can be
|
||
placed in the score, nor of modern notational practices. The only cri-
|
||
terion is that the music be capable of representation as notes on a
|
||
staff, regardless of whether it was actually written down that way, or
|
||
even written down at all.
|
||
|
||
The SMDL is designed for flexibility and extensibility. There are no
|
||
technical prohibitions against the use of some components without the
|
||
whole, or against the use of user-defined components in conjunction
|
||
with standardized ones. The Standard includes a conformance clause
|
||
that identifies minimum and higher levels of support in terms of
|
||
standardized language components and options for user extensions.
|
||
|
||
1.2 Field of Application
|
||
|
||
Pieces that are composed on computer devices, pieces that exist as
|
||
printed scores, pieces that are performances recorded in a manner that
|
||
permits machine transcription, and pieces that are already represented
|
||
in some language, are all within the field of application of this
|
||
Standard.
|
||
|
||
Pieces that have other sources, such as digital audio recordings, can
|
||
be associated and synchronized with pieces described in SMDL. They can
|
||
exist as elements in the same document as SMDL works, but will have
|
||
their own representation (document type definition and data content
|
||
notations).
|
||
|
||
3 References
|
||
|
||
ISO 8879, Information processing -- Text and office systems -- Stan-
|
||
dard Generalized Markup Language (SGML).
|
||
|
||
X3V1.8M/SD-6 Journal of Development -- Standard Music Description
|
||
Language -- Part One: Objectives and Methodology
|
||
|
||
4 Definitions
|
||
|
||
The following items are used in a number of places in the text but are
|
||
not explicitly defined. They are essential to the understanding of the
|
||
Standard, and many have been assigned meanings which differ from com-
|
||
mon usage.
|
||
|
||
4.1 analytical domain: The portion of a work which contains music
|
||
theoretical analyses.
|
||
|
||
4.2 analysis: A music theoretical analysis of the piece, such as a
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 7 -
|
||
|
||
|
||
Shenkerian analysis. An examination of the piece as opposed to a ren-
|
||
dition of the piece.
|
||
|
||
4.3 beat: A relative time unit that is used for measuring durations
|
||
in the core.
|
||
|
||
NOTE: It should be the "felt" beat (tactus) if known. Otherwise, it
|
||
can be chosen for convenience; for example, the smallest or most com-
|
||
mon note value in the piece (i.e., 1/4, 1/8, 1/16, etc.)
|
||
|
||
4.4 bibliographic data: Identification information used to catalog
|
||
and archive pieces of music (or any other works.)
|
||
|
||
4.5 core: The portion of a work that represents the basis of all of
|
||
the performances, scores, and analyses. The logical musical material
|
||
as opposed to the performance or score specific material.
|
||
|
||
NOTE: The core can be thought of mechanistically as the information
|
||
which is most convenient to share in common among the other domains,
|
||
and among multiple instances in the same domain. Philosophically, it
|
||
can be thought of as the information that is necessary (and in the
|
||
case of conventional Western music, sufficient) to distinguish the
|
||
piece from all others.
|
||
|
||
4.6 gestural domain: The portion of a work that represents live per-
|
||
formance data such as precise timing and dynamic fluctuation.
|
||
|
||
4.7 logical: The basic musical content of a piece of music, such as
|
||
the time values, pitch values, and basic groupings such as chords and
|
||
tuplets.
|
||
|
||
4.8 logical domain: The core.
|
||
|
||
4.9 markup minimization: The elimination of redundant verbiage in the
|
||
actual representation of a work.
|
||
|
||
NOTE: SGML has been designed to allow this to happen naturally, so it
|
||
is not necessary to consider it in the initial design of the Standard.
|
||
|
||
4.10 MIPS: Music Information Processing Standards Committee; ANSI
|
||
X3V1.8M.
|
||
|
||
4.11 performance: A particular realization of a piece, either by
|
||
mechanical means or by a musician.
|
||
|
||
4.12 piece: A musical composition.
|
||
|
||
4.13 real time unit: The basic unit of measurement of time in a work;
|
||
the smallest representable division of time.
|
||
|
||
4.14 SGML: Standard Generalized Markup Language; a text markup
|
||
language and structured design tool. SGML is an International Standard
|
||
and is fully defined and described in ISO 8879-1986.
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 8 -
|
||
|
||
|
||
4.15 SMDL: Standard Music Description Language; this Standard.
|
||
|
||
4.16 score: A printed piece of music; an edition.
|
||
|
||
4.17 tuplet: A group of notes which occur in a different time frame
|
||
than the surrounding notes; a time anomaly.
|
||
|
||
NOTE: A triplet, a quintuplet, and a duplet in compound meter are all
|
||
tuplets.
|
||
|
||
4.18 visual domain: The portion of a work which represents the score;
|
||
the music engraving information.
|
||
|
||
4.19 work: The SMDL representation of a piece.
|
||
|
||
NOTE: A work has four domains: core, gestural, visual, and analytical.
|
||
In addition, bibliographic data can be associated with the work as a
|
||
whole or with instances of any of the domains.
|
||
|
||
5 Notation
|
||
|
||
This Standard is expected to be an SGML application, and the develop-
|
||
ment is proceding using SGML as a design tool. For this reason, the
|
||
formal syntactic and structural definitions in this document are in
|
||
SGML. A brief discussion of SGML syntax and semantics can be found in
|
||
Annex D. A complete and definitive treatise on SGML is found in ISO
|
||
8879-1986.
|
||
|
||
It is intended that the text describing each element and attribute
|
||
will be a complete definition and explanation, but the formal language
|
||
of the SGML coding provides the rigorous definitions underlying the
|
||
text descriptions, and will show the mechanism behind each technique
|
||
that is presented. For this reason, excerpts of the SGML encoding have
|
||
been interspersed with the text at strategic points. It is recommended
|
||
that the reader refer to the SGML in the text and in Annex A while
|
||
reading the technical definitions.
|
||
|
||
NOTE: In the case of conflict between the SGML excerpts in the text
|
||
and the formal specification in Annex A, the SGML in Annex A will
|
||
govern.
|
||
|
||
6 Structure and Content
|
||
|
||
The Standard will be based on a hierarchical structure which describes
|
||
a piece in terms of four basic sections: the underlying musical form,
|
||
a set of performances (presumably to be reproduced by a machine), a
|
||
set of scores in the form of Standard Western Music Notation, and a
|
||
set of theoretical analyses. We feel this structure best reflects the
|
||
conceptual divisions inherent in music in light of the uses to which
|
||
the Standard will be put. These divisions may not represent the philo-
|
||
sophically most elegant approach to the expression of musical ideas,
|
||
but we feel they will they will be maximally useful. This separation
|
||
of the whole into performance and score, and the extraction of the
|
||
logical musical concepts, seems an unavoidable outcome of the way
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 9 -
|
||
|
||
|
||
music has come to be performed and notated, and has long been present
|
||
in Western music.
|
||
|
||
This hierarchical structure will be codified in terms of elements.
|
||
Elements are basic structural building blocks which provide a frame-
|
||
work and a means to relate and collect information. Each element has a
|
||
related information set consisting of attributes. These will contain
|
||
much of the actual data, as the element itself is basically a place
|
||
holder. For instance, an event is an element, and may represent a
|
||
note, in which case it will have attributes describing pitch, dura-
|
||
tion, and possibly dynamic level. Attributes can be defined by the
|
||
user as well as the designer. This allows almost unlimited flexibility
|
||
in representing unusual material that may not have been foreseen dur-
|
||
ing the design.
|
||
|
||
The representational scheme is based on the separation of the basic
|
||
musical content (pitch, rhythm, harmony, etc.) from the purely perfor-
|
||
mance oriented information (intonation, rhythmic interpretation) and
|
||
the purely score oriented information (page layout, horizontal spac-
|
||
ing, clef). This means simply that some process or machine must be
|
||
able to separate the work into one or more of these categories for
|
||
this Standard to represent it. (These divisions are discussed in
|
||
detail in the following clauses.) This is not to say that the piece
|
||
must originate in a separated form, only that it can be separated for
|
||
the purpose of encoding in the Standard. While it is possible to ima-
|
||
gine pieces which are not separable in this way, almost all works in
|
||
all genres are in fact easily separable.
|
||
|
||
7 Work
|
||
|
||
NOTE: This and the following clauses are devoted to a detailed defini-
|
||
tion of each element of the structure, and the information it con-
|
||
tains. (A description of the applications of these elements is found
|
||
in Annex B.) Some of the attributes have been defined and are
|
||
described below, but some have not yet been addressed. The assumption
|
||
is that every element will have an attribute list, containing at least
|
||
an identification mark for reference by other elements. Additional
|
||
items will be added to the attribute list as they are defined, but in
|
||
the interests of top down design, we are concentrating on the overall
|
||
structure first, leaving the myriad and obfuscating details for later.
|
||
|
||
The work is the top level of the hierarchy. The work encompasses the
|
||
entire document, and is defined as the logical musical information,
|
||
and all of the performances, scores, and analyses that stem from that
|
||
musical information. If a "piece" actually has several versions which
|
||
differ in basic ways, those versions must each be a separate work. All
|
||
of the remaining elements are contained within the work.
|
||
|
||
The source is an attribute of a work which indicates what form the
|
||
piece originated from. It distinguishes between a piece which was cap-
|
||
tured from a MIDI stream, a piece which was entered from a printed
|
||
score, and a piece which was composed and entered as logical informa-
|
||
tion.
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 10 -
|
||
|
||
|
||
The composer analysis attribute, if present, indicates an analysis
|
||
which was created by the composer.
|
||
|
||
NOTE: The intent is to label that information which is definitive as
|
||
opposed to that which represents an opinion.
|
||
|
||
The rtu base is a time reference which specifies the order of magni-
|
||
tude of the timing in the work. It specifies the number of real time
|
||
units (rtu) per second.
|
||
|
||
NOTE: The intent is to allow a wide range of pieces to be realized
|
||
with an implementation of limited precision. If 32 bits are used to
|
||
hold time values, for instance, setting rtubase to 1 will give about
|
||
100 years of time measurable to 1 second accuracy. Setting it to
|
||
1,000,000 will give about 1 hour at 1 microsecond accuracy.
|
||
|
||
<!-- 7 Work as a Whole -->
|
||
<!ELEMENT work -- Musical composition, piece, etc. --
|
||
- - (bibdata?, workseg+, analysis*) >
|
||
<!ATTLIST work source -- Origin of this representation of the work --
|
||
(core | analysis | perform | score) #REQUIRED
|
||
companal -- Composer's analysis (may include core-like
|
||
controlling factors that distinguish the work)--
|
||
IDREF #IMPLIED -- ID of analysis --
|
||
rtubase -- Real Time Units per second (0=100,000,000) --
|
||
NUMBER 10000 >
|
||
|
||
|
||
7.1 Work Segment
|
||
|
||
The work segment is a structural device for dividing the work along
|
||
major boundaries. Workseg is defined self-referentially so that
|
||
repetitions and other constructs can be easily represented.
|
||
|
||
Movements of a symphony would be placed in separate segments, as would
|
||
acts in an opera or any other divisions that affect all aspects of the
|
||
piece (i.e. all parts, all instruments, etc.) The segment will also be
|
||
used for making global changes such as key changes, time signature
|
||
changes and instrumentation changes. If the piece changes key or time
|
||
signature, that often affects every part and instrument, and indicates
|
||
a major turning point in the music. In such cases, the material before
|
||
the change should be in one segment, and the material after in
|
||
another.
|
||
|
||
One very important use of the work segment will be in cases where the
|
||
instrumentation changes. If the piece starts out with full orchestra,
|
||
and later proceeds with only strings, then two segments should be used
|
||
to separate the sections. This will greatly assist in maintaining a
|
||
useful relationship between the threads in the core, the parts in the
|
||
score, and the tracks in the performance.
|
||
|
||
Another use is to indicate the composer's intent. If the composer or
|
||
the editor wants a major division in the work, the work segment can be
|
||
used to indicate the division even though none of the above situations
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 11 -
|
||
|
||
|
||
apply.
|
||
|
||
The class is a label indicating the use of the workseg. It is coded as
|
||
a text string, not as a machine interpretable value.
|
||
|
||
The delay indicates the expected pause (if any) between the workseg
|
||
and any following workseg. It is coded as a text string, not as a
|
||
machine interpretable value.
|
||
|
||
|
||
<!-- 7.1 Work Segment -->
|
||
<!ELEMENT workseg -- Sequential segment of a work: movement, act, etc. --
|
||
O O ((workseg, (workseg | worksegr)+) |
|
||
(bibdata?, core, perform*, score*)) >
|
||
<!ATTLIST workseg id ID #IMPLIED
|
||
class -- E.g., movement, section, coda --
|
||
CDATA #IMPLIED -- don't care --
|
||
delay -- E.g., 15 minute intermission --
|
||
CDATA #IMPLIED -- don't care -- >
|
||
|
||
|
||
7.2 Work Segment Reference
|
||
|
||
The work segment reference is a structural tool to allow a work seg-
|
||
ment to reference other work segments. This provides flexibility in
|
||
creating repeats and loops, and allows analyses to refer to work seg-
|
||
ments.
|
||
|
||
|
||
<!-- 7.2 Work Segment Reference -->
|
||
<!ELEMENT worksegr -- Work segment reference --
|
||
- O EMPTY >
|
||
<!ATTLIST worksegr idr IDREF #REQUIRED -- ID of any work segment -- >
|
||
|
||
|
||
8 Core
|
||
|
||
The core is the basis for a work, and a work has one and only one
|
||
core. The core contains such information as pitch, note value, har-
|
||
monic groupings, phrasings, tuplets, etc. A piece for which a core is
|
||
not producible can not be represented, and a piece with more than one
|
||
core must be represented as more than one work. We will see, however,
|
||
that several interpretations of the same basic piece can reside in the
|
||
same work if they derive from the same core.
|
||
|
||
Let us take the example of a simple piano piece. We have a performance
|
||
captured by a MIDI sequencer, and the score from which the performance
|
||
was played. The core will contain an element for each note and rest in
|
||
the score, thus representing the logical basis of the work. A given
|
||
measure in the core may contain no notes, and the corresponding spot
|
||
in the score may say "ad lib". At that point in the performance, there
|
||
are several improvised notes. It is possible that another performance
|
||
with a different improvised section, and another score which specifi-
|
||
cally details a cadenza, might be included in this work and be based
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 12 -
|
||
|
||
|
||
on the same core.
|
||
|
||
The normalized attribute states whether the core has been normalized.
|
||
It may often be desirable that the core have a canonical (normalized)
|
||
form. That is, that there be one particular form which will always be
|
||
used for a given piece. (Note that the definition of the core does not
|
||
provide orthoganality, so there are many ways that a given piece could
|
||
be represented.) For such situations, an algorithm can be applied
|
||
which translates any arbitrary core into a given canonical form. The
|
||
user may create such an algorithm to fit the needs of the application,
|
||
or the Standard Canonical Form can be generated using the Standard
|
||
Algorithm. We plan to provide this Standard Algorithm both as a way
|
||
of providing consistency between applications and as a model for other
|
||
algorithms.
|
||
|
||
The normalization algorithm attribute states which algorithm has been
|
||
used to normalize the core. If "standard" is used, it is expected that
|
||
implementations will access the Standard Algorithm. If another algo-
|
||
rithm is used it can be identified here, and may be implementation
|
||
specific.
|
||
|
||
|
||
<!-- 8 Core -->
|
||
<!ELEMENT core -- The essential music, common to all domains --
|
||
- O (stress*, temposeq+, thread+) >
|
||
<!ATTLIST core norm -- Is core timing normalized? (7.5) --
|
||
(norm | nonnorm) nonnorm >
|
||
|
||
|
||
8.1 Thread
|
||
|
||
The thread is a sequence of musical events which lasts for the dura-
|
||
tion of the piece. It is analogous to a track in a sequencer or on a
|
||
multi-track tape deck. The purpose of the thread is to allow the core
|
||
to be sectioned into concurrent streams of notes and other events,
|
||
mostly for the sake of convenience. There is no assumption made about
|
||
how the piece will be divided into threads, but logic suggests that
|
||
parts in a score, tracks in a sequence, or voices would be the best
|
||
choices of thread allocation.
|
||
|
||
The tempo sequence attribute indicates which tempo sequence is to be
|
||
used for this thread.
|
||
|
||
The nominal instrument attribute records for posterity the instrument
|
||
that the composer had in mind (in case anybody cares.) The point is
|
||
that the gestural section, which contains the timbral information, may
|
||
be an interpretation by someone other than the composer. This will be
|
||
encoded as a text string, not as coded timbral data such as is found
|
||
in the gestural section.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 13 -
|
||
|
||
|
||
|
||
|
||
<!-- 8.1 Thread -->
|
||
<!ELEMENT thread -- Voice-like time-ordered sequence of events --
|
||
- O (ces) >
|
||
<!ATTLIST thread id ID #IMPLIED
|
||
temposeq IDREF #IMPLIED
|
||
nominst CDATA #IMPLIED -- Nominal instrument --
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
8.1.1 Core Event Sequence
|
||
|
||
A core event sequence is a collection of core events, other core event
|
||
sequences, and core event groups. A core event sequence groups sequen-
|
||
tial events, as in movements, measures or tuplets. These groups may be
|
||
nested to any depth and combined in any way. Each thread is made up of
|
||
a structure of core event sequences which is as complex as is neces-
|
||
sary to represent the music completely.
|
||
|
||
The time factor attribute is a fraction which describes the relation-
|
||
ship of the beat inside a given sequence and the beat surrounding (or
|
||
underneath) the sequence. Time anomalies (such as triplets) will be
|
||
represented by setting the time factor to the correct fraction. For
|
||
example, if the beat of a piece falls on the quarter note (so quarter
|
||
notes have a time value of 1) and an eighth note triplet is encoun-
|
||
tered, the triplet could be expressed as a sequence of three notes of
|
||
value 1 with a time factor of 1/3, or as a sequence of three notes of
|
||
value 1/2 with a time factor of 2/3. It may turn out to be desirable
|
||
to specify that every event sequence must contain an integral (non-
|
||
fractional) number of beats. This would not be limiting since a common
|
||
denominator can be found for any situation.
|
||
|
||
The stress id attribute is a reference to a stress pattern to use for
|
||
this sequence.
|
||
|
||
The stress beat attribute is the offset (in beats) into the stress
|
||
pattern at which the sequence starts. A common use for this would be
|
||
for an anacrusis (pick-up measure).
|
||
|
||
The ornamentation style attribute is a text string which allows the
|
||
composer or editor to record remarks on the ornamentation style of the
|
||
sequence.
|
||
|
||
NOTE: This attribute should perhaps modify stress instead.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 14 -
|
||
|
||
|
||
|
||
|
||
<!-- 8.1.1 Core Event Sequence -->
|
||
<!ENTITY % FRAC "NUMBERS" -- fraction: numerator, denominator? (=1) -- >
|
||
<!ENTITY % m.ces "(ces|ceg|note|rest|grcevent|special|cer)*" >
|
||
<!ELEMENT ces -- Core event sequence --
|
||
O O (chordnm?, %m.ces;) >
|
||
<!ATTLIST ces id ID #IMPLIED
|
||
factor -- ces beats / sum of subelement beats --
|
||
%FRAC "1 1"
|
||
stressid -- Beat cycle dynamic stress pattern --
|
||
IDREF #IMPLIED -- Default: no change --
|
||
stressbt -- Beat # of stress pattern on which ces begins --
|
||
NUMBER 1 -- Not 1 only if anacrusis --
|
||
ornstyle -- Ornamentation style: e.g., period --
|
||
CDATA #IMPLIED -- Default: no ornamentation -- >
|
||
|
||
|
||
8.1.2 Core Event Group
|
||
|
||
The core event group is a collection of events or sequences which are
|
||
initiated simultaneously. A chord is a group which contains events
|
||
(notes). A section of a thread may well be a group containing a
|
||
sequence for each of several parallel voices. This is an alternative
|
||
to placing each voice in a separate thread.
|
||
|
||
|
||
<!-- 8.1.2 Core Event Group -->
|
||
<!ELEMENT ceg -- Core event group --
|
||
- - %m.ces; >
|
||
<!ATTLIST ceg id ID #IMPLIED
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
|
||
8.1.3 Core Events
|
||
|
||
The core event is the basic unit of the structure. Notes and rests are
|
||
examples of core events, but other occurrences may also be represented
|
||
as events. In general an event is some occurrence or item which has a
|
||
single definable starting point in time, and a definable duration.
|
||
|
||
8.1.3.1 Notes and Rests
|
||
|
||
The note and the rest are the most common musical events. They are
|
||
very similar in that they are simple events (as opposed to compound
|
||
events like the graced event). The note has a pitch attribute which
|
||
specifies its scale tone and octave.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 15 -
|
||
|
||
|
||
|
||
|
||
<!-- 8.1.3.1 Notes and Rests -->
|
||
<!ELEMENT (note | rest)
|
||
-- Conventionally pitched time-stamped event --
|
||
- O EMPTY >
|
||
|
||
<!ATTLIST (note | rest)
|
||
id ID #IMPLIED
|
||
%a.ctime;
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
|
||
8.1.3.2 Graced Events
|
||
|
||
The graced event is a compound event in that it consists of a main
|
||
event ornamented by a "grace" modifier. The modifier is an event
|
||
sequence which can either precede or follow the main event, and which
|
||
will not consume time as will a normal sequence.
|
||
|
||
The preceding grace modifier is an event sequence which starts at a
|
||
given time and proceeds until finished, at which time the grace sub-
|
||
ject is started.
|
||
|
||
The grace subject is the main event. It starts after the preceding
|
||
modifier and continues until the end of its duration, or until the
|
||
start of a posterior modifier.
|
||
|
||
The posterior grace modifier starts at a given time after the main
|
||
event has started, and proceeds until finished.
|
||
|
||
The grace synchronization attribute specifies the starting time
|
||
offsets of the preceding and posterior modifiers. It is measured from
|
||
the start time of the subject, and the end time of the subject,
|
||
respectively.
|
||
|
||
|
||
<!-- 8.1.3.2 Graced Event -->
|
||
<!ELEMENT grcevent -- Graced core event --
|
||
- O ((grcpre, grcsubj) | (grcpre?, grcsubj, grcpost))>
|
||
<!ATTLIST grcevent id ID #IMPLIED >
|
||
<!ELEMENT (grcpre | grcpost)
|
||
-- Core event whose duration is not counted --
|
||
- O %m.ces; >
|
||
<!ATTLIST (grcpre | grcpost)
|
||
id ID #IMPLIED
|
||
-- Synchronization with subject:
|
||
start-time in the case of grcpre
|
||
end-time in the case of grcpref --
|
||
grcsync (lead | lag) lead >
|
||
<!ELEMENT grcsubj -- Grace sequence subject: that which is graced --
|
||
O O (note | rest | special | cer) >
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 16 -
|
||
|
||
|
||
8.1.3.3 Special Events
|
||
|
||
The special event contains user defined information about timed events
|
||
other than conventional musical occurrences. Its content (other than
|
||
starting time and duration) will be application specific.
|
||
|
||
|
||
<!-- 8.1.3.3 Special Events -->
|
||
<!ELEMENT special -- User-defined time-stamped event: content describes it --
|
||
- O (#PCDATA) >
|
||
<!ATTLIST special id ID #IMPLIED
|
||
%a.ctime;
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
8.1.4 Core Event References
|
||
|
||
Core events are accessed through core event references. These are
|
||
pointers which allow the core to be referred to in arbitrarily complex
|
||
ways by the performance, score, and analysis sections of the piece.
|
||
This process will be explored in more depth in Theory of Use. This
|
||
structure yields a very flexible system for organizing and referring
|
||
to events.
|
||
|
||
|
||
<!-- 8.1.4 Core Event Reference -->
|
||
<!ELEMENT cer -- Reference to core event, sequence, or group --
|
||
- O EMPTY >
|
||
<!ATTLIST cer idr IDREF #REQUIRED -- ID of ces|ceg|ce --
|
||
shift NUTOKEN 0 -- Transposition in steps --
|
||
-- TO DO: other event modifier attributes -- >
|
||
|
||
|
||
8.2 Time
|
||
|
||
It is in the core that the time of the piece is represented. By time
|
||
we mean the rhythmic relationship of each event to all other events.
|
||
This is not to be confused with tempo, which refers to the rate of
|
||
progress of the piece. The time model has several components which
|
||
combine to form a system which we hope will account for any situation
|
||
within the scope of the Standard.
|
||
|
||
8.2.1 Beat
|
||
|
||
All time must be measured in relation to some base which is not open
|
||
to interpretation. That base will be called the beat. The beat is
|
||
defined to be that time interval which, at any given point in the
|
||
piece, is small enough to divide without remainder into all existing
|
||
subdivisions of the sequence, excluding time anomalies. This beat will
|
||
only be assigned an absolute value in the gestural section; in the
|
||
core it is simply a common reference. If the beat changes in meaning
|
||
as the piece progresses, then the core will be sectioned into more
|
||
than one sequence. Each sequence will specify the relation of its
|
||
beat to an overall reference beat.
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 17 -
|
||
|
||
|
||
Since the beat is a relative measurement, the performance can be
|
||
linked to any time base that is appropriate. The beat can be assigned
|
||
a fixed duration, an algorithmically generated variable duration, or
|
||
be related to a live recorded click track. Similarly the score can use
|
||
any appropriate time signature for a given passage. The same piece
|
||
could, for example, be scored in 4/4 as triplets or in 12/8 as
|
||
straight eighths. Indeed, a score representation in each meter could
|
||
refer to the same core.
|
||
|
||
8.2.2 Duration
|
||
|
||
Each core event will have a music duration (note value) attribute
|
||
which is stated as a fraction of a beat. The time consumed by a core
|
||
event sequence will be the sum of the durations of its events in
|
||
beats. Accumulated time is therefore represented as the sum of dura-
|
||
tional time, necessitating the definition of events which sound
|
||
(notes), and events which do not (rests).
|
||
|
||
The model will support single events or tied events. Tied events are
|
||
strings of events which are taken together to represent one event with
|
||
a duration that is the sum of each of the individual durations. When a
|
||
note starts sounding in one event sequence and continues into the
|
||
next, the note is split into two tied events of the appropriate dura-
|
||
tion. The tie attribute indicates that the event is tied, and to which
|
||
subsequent event it is tied.
|
||
|
||
|
||
<!-- 8.2 Time -->
|
||
<!ENTITY % BEATS "%FRAC;" -- Measure of music time (fractional) -- >
|
||
<!ENTITY % a.ctime -- Core event time attributes (7.2) --
|
||
"musicdur %BEATS #CURRENT tie IDREF #IMPLIED" >
|
||
|
||
|
||
8.3 Stress
|
||
|
||
The stress element indicates how a passage is to be stressed dynami-
|
||
cally. It consists of a set of template sequences that indicate which
|
||
beats are to receive what stress. Stress can be dynamic, agogic (tempo
|
||
related), or can be related to other user specified parameters.
|
||
|
||
The beat count attribute indicates the number of beats in the template
|
||
cycle.
|
||
|
||
|
||
<!-- 8.3 Stress -->
|
||
<!ELEMENT stress -- Beat cycle definition; dynamic stress pattern --
|
||
- O (beatnum, stresses)+ >
|
||
<!ATTLIST stress id ID #IMPLIED
|
||
beatcnt NUMBER #REQUIRED -- Number of beats in cycle -->
|
||
|
||
|
||
8.3.1 Beat Number
|
||
|
||
The beat number element marks a particular beat in a stress cycle as
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 18 -
|
||
|
||
|
||
receiving stress.
|
||
|
||
|
||
<!ELEMENT beatnum -- Beat number receiving agogic or dynamic stresses --
|
||
O O (#PCDATA) >
|
||
|
||
|
||
|
||
8.3.2 Stresses
|
||
|
||
The stresses element contains information on what kind of stress is to
|
||
be applied to the beat with which it is associated.
|
||
|
||
|
||
<!ELEMENT stresses -- Stresses applied to specified beat --
|
||
O O (#PCDATA) >
|
||
|
||
|
||
|
||
8.3.3 Meter
|
||
|
||
The concept of meter is expressible in the core by creating a stress
|
||
template which models a measure. In 4/4 time, a template may have 4
|
||
beats, and may mark the first as having maximum stress, and the third
|
||
as having moderate stress. In the case of a complex metric situation,
|
||
such as a measure of five which is felt as two and three, a nested
|
||
structure of stress templates can be used to accurately indicate the
|
||
feel. If ambiguity is desired however, the measure can be represented
|
||
as simply five beats.
|
||
|
||
NOTE: The inclusion of the meter in the core reflects the philosophy
|
||
that measures are a basic logical concept in music, rather than
|
||
strictly a score related issue. This is certainly not true of all
|
||
music, but the facility must be there for those pieces for which it is
|
||
important.
|
||
|
||
8.4 Tempo Sequence
|
||
|
||
The tempo sequence element is a list of time stamped tempo modifica-
|
||
tions which govern the tempo of the piece. Each thread refers to a
|
||
particular tempo sequence; there can be several if the piece involves
|
||
conflicting tempi.
|
||
|
||
|
||
<!-- 8.4 Tempo -->
|
||
<!ELEMENT temposeq -- Relates music time to real time (may be imprecise) --
|
||
- O (tempo+) >
|
||
<!ATTLIST temposeq id ID #IMPLIED >
|
||
|
||
|
||
8.4.1 Tempo
|
||
|
||
The tempo element is the basic building block of the tempo sequence.
|
||
It specifies a tempo change from the current tempo to a target tempo.
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 19 -
|
||
|
||
|
||
(The current tempo is the tempo in effect infinitesimally before the
|
||
start time of the tempo element. The target tempo is the tempo in
|
||
effect infinitesimally before the start time of the next tempo ele-
|
||
ment.) The attributes have been defined to give a large degree of
|
||
flexibility in specifying changes over time, and maintaining ambiguity
|
||
and imprecision when desired.
|
||
|
||
The music duration attribute specifies the life of this tempo setting
|
||
(the time until the next change) in beats.
|
||
|
||
The set value attribute specifies a precise target tempo, either abso-
|
||
lutely in rtu's per beat or as a percentage of the current tempo.
|
||
|
||
The set text attribute specifies an imprecise target tempo. The value
|
||
is represented as a text string, and presumably will be a common musi-
|
||
cal expression such as "presto" or "moderato".
|
||
|
||
The rate value attribute specifies a precise formula for reaching the
|
||
target tempo from the current tempo. It can be specified as "immedi-
|
||
ate" (instant change at the start time of the tempo element), "linear"
|
||
over the duration of the tempo element, or represented by a mathemati-
|
||
cal formula in the form of a text string.
|
||
|
||
The rate text attribute specifies an imprecise formula for reaching
|
||
the target tempo from the current tempo. The value is represented as a
|
||
text string, and presumably will be a common musical expression such
|
||
as "accelerando" or "ritardando".
|
||
|
||
The hold duration attribute specifies a precise pause in the counting
|
||
of music time. Its value is absolute in beats. It can be used for a
|
||
fermata, a full stop, or any other pause or interruption of the normal
|
||
time flow of the piece, such as an unaccompanied solo cadenza. The
|
||
hold starts at the starting time of the tempo element, and the tempo
|
||
duration begins at the completion of the hold.
|
||
|
||
The hold type attribute specifies an imprecise pause in the counting
|
||
of music time. It can be specified as "full stop", "long", "medium",
|
||
"short", "none", in non-increasing order of length. The actual time
|
||
value of these specifiers is implementation dependant. The hold starts
|
||
at the starting time of the tempo element, and the tempo duration
|
||
begins at the completion of the hold.
|
||
|
||
The strictness attribute specifies the precision with which the tempo
|
||
should be followed during a realization of the piece. It is specified
|
||
as "strict tempo", or represented by a text string containing a common
|
||
musical expression such as "rubato".
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 20 -
|
||
|
||
|
||
|
||
|
||
<!ELEMENT tempo -- Real time units per beat --
|
||
- O (#PCDATA) >
|
||
<!ATTLIST tempo id ID #IMPLIED
|
||
musicdur -- Duration of tempo setting in music time --
|
||
%BEATS #CURRENT
|
||
setval -- Precise final tempo: RTUs/beat (integer #RTU)
|
||
or % of earlier tempo (%FRAC idref) --
|
||
CDATA #CURRENT
|
||
settext -- Imprecise final tempo: moderato --
|
||
CDATA #IMPLIED -- Default: use setval --
|
||
|
||
rateval -- Precise rate of reaching final tempo --
|
||
-- Format: (LINEAR | FORMULA data) --
|
||
CDATA #IMPLIED -- Default: immediate --
|
||
ratetext -- Imprecise rate specification: accel, ritard --
|
||
CDATA #IMPLIED -- Default: use rateval --
|
||
strict -- Strictness of interpretation: rubato --
|
||
CDATA #IMPLIED -- Default: strict tempo --
|
||
holdtype -- Imprecise extension of counted duration --
|
||
(fullstop|long|medium|short|none) none
|
||
holddur -- Precise duration of hold --
|
||
%BEATS #CURRENT >
|
||
|
||
|
||
9 Gestural Domain
|
||
|
||
The gestural section of the piece contains the performances. While
|
||
each work has only one core, it may have several gestural sections,
|
||
each a different performance (and hence different interpretation) of
|
||
the piece, and each linked to a particular score The gestural section
|
||
refers to the core for the majority of its musical material, but may
|
||
have events of its own. Usually these events will be ad lib notes and
|
||
performance control information such as volume or timbre selection.
|
||
The gestural section is intended to represent data for an automated
|
||
performance of the piece. That data could be generated by a live per-
|
||
formance or by non-real-time composition, then returned to a syn-
|
||
thesizer for realization.
|
||
|
||
The performance is the top level gestural element. Each performance
|
||
typically realizes the entire piece.
|
||
|
||
The score attribute identifies a score in the visual domain which
|
||
represents the edition which produced this performance, if such a
|
||
score exists.
|
||
|
||
The closure attribute indicates whether every event in the core was
|
||
realized in this performance.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 21 -
|
||
|
||
|
||
|
||
|
||
<!-- 9 Gestural Domain -->
|
||
<!ELEMENT perform -- The gestures of a performance (MIDI) --
|
||
- O (bibdata?, clicktrk*, track+) >
|
||
<!ATTLIST perform id ID #IMPLIED
|
||
score IDREFS #IMPLIED
|
||
closure -- Are all core events referenced? --
|
||
(closed, open) open >
|
||
|
||
|
||
|
||
9.1 Track
|
||
|
||
The track is analogous to the thread in the core. It will be used to
|
||
drive one channel of sound output, or one instrument. It is the pre-
|
||
cise counterpart of a track on a multi-track. Unlike the thread, the
|
||
division of music into tracks may need to follow certain restraints
|
||
imposed by the device that will perform the piece. For example a track
|
||
may have to be limited to events which are to sound in the same tim-
|
||
bre.
|
||
|
||
A track is made up of gestural event sequences, which are made up of
|
||
gestural events, gestural event references, and core event references.
|
||
It is through these core event references that the core becomes the
|
||
basis of the gestural section. While it would be possible through the
|
||
use of gestural events to represent a performance that was unrelated
|
||
to the core, the intention is that the track will contain mostly per-
|
||
formance control information, and refer to the core for most or all of
|
||
the notes, rests, and other basic conceptual material.
|
||
|
||
|
||
<!-- 9.1 Track -->
|
||
<!ELEMENT track -- One instrument's time-ordered sequence of gestures --
|
||
- O (ges) >
|
||
<!ATTLIST track id ID #IMPLIED
|
||
instrum CDATA #IMPLIED
|
||
clicktrk IDREF #IMPLIED
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
9.1.1 Gestural Event Sequence
|
||
|
||
<!-- 9.1.1 Gestural Event Sequence -->
|
||
<!ENTITY % e.ge "ge" -- TO DO: replace with real element types -- >
|
||
<!ENTITY % m.ges "(ges | geg | %e.ge; | ger | gcer)*" >
|
||
<!ELEMENT ges -- Gestural event sequence (has core references) --
|
||
O O %m.ges; >
|
||
<!ATTLIST ges id ID #IMPLIED
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
9.1.2 Gestural Event Group
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 22 -
|
||
|
||
|
||
|
||
<!-- 9.1.2 Gestural Event Group -->
|
||
<!ELEMENT geg -- Gestural event group (has core references) --
|
||
- - %m.ges; >
|
||
<!ATTLIST geg id ID #IMPLIED
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
9.1.3 Gestural Event
|
||
|
||
<!-- 9.1.3 Gestural Event -->
|
||
<!ENTITY % SECONDS "NUMBERS" -- Format: (seconds?, Real Time Units) -- >
|
||
<!ELEMENT (%e.ge;) -- Gestural event: e.g., controller setting, ad lib note --
|
||
- O EMPTY >
|
||
<!ATTLIST ge id ID #IMPLIED
|
||
start -- Start time (Default: derived from core) --
|
||
%SECONDS #IMPLIED
|
||
duration -- (Default: derived from core) --
|
||
%SECONDS #IMPLIED
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
9.1.4 Gestural Event Reference
|
||
|
||
<!-- 9.1.4.1 Gestural Domain Reference to Gestural Event -->
|
||
<!ELEMENT ger -- Gestural event reference (includes geg|ges) --
|
||
- O EMPTY >
|
||
<!ATTLIST ger idr IDREF #REQUIRED -- ges|ge|geg same perform --
|
||
start -- Start time (Default: derived from core) --
|
||
%SECONDS #IMPLIED
|
||
duration -- (Default: derived from core) --
|
||
%SECONDS #IMPLIED
|
||
shift NUTOKEN 0 -- Transposition in steps --
|
||
-- TO DO: other event modifier attributes -- >
|
||
|
||
|
||
<!-- 9.1.4.2 Gestural Domain References to Core Events -->
|
||
<!ELEMENT gcer -- Gestural domain core event reference --
|
||
- O EMPTY >
|
||
<!ATTLIST gcer idr IDREF #REQUIRED -- ces|ce|ceg in core --
|
||
start -- Start time (Default: derived from core) --
|
||
%SECONDS #IMPLIED
|
||
duration -- (Default: derived from core) --
|
||
%SECONDS #IMPLIED
|
||
shift NUTOKEN 0 -- Transposition in steps --
|
||
-- TO DO: other event modifier attributes -- >
|
||
|
||
|
||
9.2 Click Track
|
||
|
||
The click track is a gestural event sequence with an event to mark
|
||
each beat in the piece. This element will provide a means for relating
|
||
beats in the core to real time. Click tracks can have arbitrarily
|
||
spaced events, so any kind of expressive performance can be
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 23 -
|
||
|
||
|
||
represented. The click track will usually be generated by a transcrip-
|
||
tion program in the process of creating a work from a live perfor-
|
||
mance. Note that a click track does not need to be present, since a
|
||
rhythmically exact performance can be generated from the core alone.
|
||
|
||
|
||
<!-- 9.2 Click Track -->
|
||
<!ELEMENT clicktrk -- Click track: ordered table of event start-times --
|
||
- O (#PCDATA) >
|
||
<!ATTLIST clicktrk id ID #IMPLIED -- Default: generated --
|
||
nextbeat -- Track and time of next beat --
|
||
NMTOKENS #IMPLIED >
|
||
|
||
|
||
10 Visual Domain
|
||
|
||
The visual section of the piece contains the scores. While each work
|
||
has only one core, it may have several scores, each a different edi-
|
||
tion (and hence a different interpretation of the piece), and each
|
||
linked to a particular performance. The visual section refers to the
|
||
core for the majority of its musical material, but may have events of
|
||
its own. Usually these events will be symbols that appear on the
|
||
score aside from notes, rests, and accidentals. Such items as phrase
|
||
markings, beams, accents, dynamic markings, and lyrics would be found
|
||
here. The visual section is intended to represent the printed score in
|
||
Standard Western Music Notation. The score could be generated by a
|
||
music printing system and returned to such a system for printing or
|
||
display.
|
||
|
||
The score element is the top level of the visual domain. Each score is
|
||
a presumably complete edition of the piece.
|
||
|
||
The performance attribute specifies a performance in the gestural
|
||
domain which was generated from this particular score (edition), if
|
||
such a performance exists.
|
||
|
||
The closure attribute indicates whether every event in the core was
|
||
notated in this score.
|
||
|
||
|
||
<!-- 10 Visual Domain -->
|
||
<!ELEMENT score -- Visual representation of work (a la DARMS, MUSTRAN...) --
|
||
- O (bibdata?, part+) >
|
||
<!ATTLIST score id ID #IMPLIED
|
||
perform IDREFS #IMPLIED
|
||
closure -- Are all core events referenced? --
|
||
(closed, open) open >
|
||
|
||
|
||
10.1 Part
|
||
|
||
The part is analogous to the thread in the core. It will be used to
|
||
print one part of the score for one instrument. It is the precise
|
||
counterpart of a staff in a score. The division of music into parts
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 24 -
|
||
|
||
|
||
will be based on the desired appearance of the score.
|
||
|
||
A part is made up of visual event sequences, which are made up of
|
||
visual events, visual event references, and core event references. It
|
||
is through these core event references that the core becomes the basis
|
||
of the visual section. While it would be possible through the use of
|
||
visual events to represent a score that was unrelated to the core, the
|
||
intention is that the part will contain mostly visual symbols, and
|
||
refer to the core for most or all of the notes, rests, and other basic
|
||
conceptual material.
|
||
|
||
|
||
<!-- 10.1 Part -->
|
||
<!ELEMENT part -- One instrument's portion of the system --
|
||
- O (ves) >
|
||
<!ATTLIST part id ID #IMPLIED
|
||
clef NAMES "treble bass"
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
10.1.1 Visual Event Sequence
|
||
|
||
|
||
<!-- 10.1.1 Visual Event Sequence -->
|
||
<!ENTITY % e.ve "ve" -- TO DO: replace with real element types -- >
|
||
<!ENTITY % m.ves "(ves | veg | %e.ve; | ver | vcer)*" >
|
||
<!ELEMENT ves -- Visual event sequence (has core references) --
|
||
O O %m.ves; >
|
||
<!ATTLIST ves id ID #IMPLIED
|
||
tuplet -- Triplet (etc.) indicator for sequence --
|
||
CDATA #IMPLIED -- Not a tuplet --
|
||
cue IDREF #IMPLIED -- ID of ves --
|
||
tsinst NUMBERS #IMPLIED -- Time sig for instrument --
|
||
tscond NUMBERS #IMPLIED -- Time sig for conductor --
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
10.1.2 Visual Event Group
|
||
|
||
|
||
<!-- 10.1.2 Visual Event Group -->
|
||
<!ELEMENT veg -- Visual event group (has core references) --
|
||
- - %m.ves; >
|
||
<!ATTLIST veg id ID #IMPLIED
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
10.1.3 Visual Event
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 25 -
|
||
|
||
|
||
|
||
|
||
<!-- 10.1.3 Visual Event -->
|
||
<!ELEMENT (%e.ve;) -- Visual event: e.g., phrase mark, bar line --
|
||
- O EMPTY >
|
||
<!ATTLIST (%e.ve;) id ID #IMPLIED
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
10.1.4 Visual Event Reference
|
||
|
||
|
||
<!-- 10.1.4.1 Visual Domain Reference to Visual Event -->
|
||
<!ELEMENT ver -- Visual event reference (includes veg|ves) --
|
||
- O EMPTY >
|
||
<!ATTLIST ver idr IDREF #REQUIRED -- ves|ve|geg same score --
|
||
shift NUTOKEN 0 -- Transposition in steps --
|
||
-- TO DO: other event modifier attributes -- >
|
||
|
||
|
||
<!-- 10.1.4.2 Visual Domain Reference to Core Event -->
|
||
<!ELEMENT vcer -- Visual domain core event reference --
|
||
- O EMPTY >
|
||
<!ATTLIST vcer idr IDREF #REQUIRED -- ces|ce|ceg in core --
|
||
shift NUTOKEN 0 -- Transposition in steps --
|
||
-- TO DO: other event modifier attributes -- >
|
||
|
||
|
||
10.2 Space
|
||
|
||
The unit of space will be defined relative to the size of the staff
|
||
and note heads. The actual size of the printed staff is not defined
|
||
except perhaps as a global attribute of the visual section. A unit of
|
||
one staff space for the vertical and one note head width for the hor-
|
||
izontal will provide the basis for all spatial measurements.
|
||
|
||
Spatial relationship will be representable in several ways: as an
|
||
absolute position on a line (staff), as a relative position from
|
||
another object, and as a relative position from a logical (time) posi-
|
||
tion on a staff. Furthermore, for each of these possibilities there
|
||
will be an explicit position (specified in spatial units) and an
|
||
implicit position. The implicit position will take the form of a
|
||
non-numerical relationship to some other object, such as "above the
|
||
staff" or "between this note head and the one to the left".
|
||
|
||
11 Analytical Domain
|
||
|
||
The analytical section of the piece contains any analyses that may
|
||
have been produced. A work may have several analytical sections, each
|
||
a different analysis (and hence a different interpretation of the
|
||
piece.) The analytical section refers to the core for the majority of
|
||
its musical material, but may also refer to performances and scores.
|
||
The analytical section is intended to represent a structuring of the
|
||
piece based on any style of analysis. The analysis could be generated
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 26 -
|
||
|
||
|
||
by a specialized music printing/editing system and returned to such a
|
||
system for printing or display, or might take the ultimate form of a
|
||
written document. It might even be generated automatically by a com-
|
||
puter system.
|
||
|
||
The analysis element is the top level of the analysis structure. It
|
||
represents a presumably complete analysis of the piece, by a particu-
|
||
lar analyst. If several analyses by different analysts exist, they
|
||
will each be is a separate analysis. The analysis can refer freely to
|
||
any other elements of a work, thus allowing complex relationships to
|
||
be represented.
|
||
|
||
|
||
<!-- 11 Analytical Domain -->
|
||
<!ELEMENT analysis -- An analysis of a work --
|
||
- O (bibdata?, voice+) >
|
||
<!ENTITY % a.anal
|
||
"core IDREFS #IMPLIED perform IDREFS #IMPLIED score IDREFS #IMPLIED" >
|
||
<!ATTLIST analysis id ID #IMPLIED
|
||
%a.anal; >
|
||
|
||
|
||
11.1 Voice
|
||
|
||
The voice is analogous to the thread in the core. It will be used to
|
||
represent one voice or melodic line of the piece. It is the counter-
|
||
part of a passage of notes that have the same stem direction. The
|
||
division of music into voices will be based on the voicing of the
|
||
piece intended by the composer or analyst.
|
||
|
||
A voice is made up of analytical event sequences, which are made up of
|
||
analytical events, analytical event references, and core event refer-
|
||
ences. It also can contain gestural event references and visual event
|
||
references. It is through these references that the analytical section
|
||
can arbitrarily structure any aspect of the piece in order to illus-
|
||
trate a music theoretical idea.
|
||
|
||
|
||
<!-- 11.1 Voice -->
|
||
<!ELEMENT voice -- A single melody line (possibly polyphonic) --
|
||
- O (aes) >
|
||
<!ENTITY % a.voice "" >
|
||
<!ATTLIST voice id ID #IMPLIED
|
||
%a.voice; >
|
||
|
||
|
||
11.1.1 Analytical Event Sequence
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 27 -
|
||
|
||
|
||
|
||
<!-- 11.1.1 Analytical Event Sequence -->
|
||
<!ENTITY % e.ae "ae" -- TO DO: replace with real element types -- >
|
||
<!ENTITY % m.aes "(aes | aeg | %e.ae; | aer | ver | ger | cer)*" >
|
||
<!ELEMENT aes -- Analytical event sequence (multi-domain refs) --
|
||
O O %m.aes; >
|
||
<!ENTITY % a.aes "class (motif | epmotif | esmotif | elision) motif" >
|
||
<!ATTLIST aes id ID #IMPLIED
|
||
%a.aes; >
|
||
|
||
|
||
11.1.2 Analytical Event Group
|
||
|
||
<!-- 11.1.2 Analytical Event Group -->
|
||
<!ELEMENT aeg -- Analytical event group (multi-domain refs) --
|
||
- - %m.aes; >
|
||
<!ENTITY % a.ae "" >
|
||
<!ATTLIST aeg id ID #IMPLIED
|
||
%a.ae; >
|
||
|
||
|
||
11.1.3 Analytical Event
|
||
|
||
|
||
<!-- 11.1.3 Analytical Event -->
|
||
<!ENTITY % m.ae "(%e.ae;|%e.ge;|%e.ve;)*" >
|
||
<!ELEMENT (%e.ae;) -- Analytical event --
|
||
- O %m.ae; >
|
||
<!ATTLIST (%e.ae;) id ID #IMPLIED
|
||
%a.ae; >
|
||
|
||
|
||
11.1.4 Analytical Event Reference
|
||
|
||
|
||
<!-- 11.1.4 References -->
|
||
<!ELEMENT aer -- Analytical event sequence reference --
|
||
- O EMPTY >
|
||
<!ENTITY % a.aer "" >
|
||
<!ATTLIST aer idr IDREF #REQUIRED -- ID of aes --
|
||
%a.aer; >
|
||
|
||
|
||
12 Bibliographic
|
||
|
||
The bibliographic entry is found at the top level (as an element of
|
||
work) and can also be used at lower levels. It contains much of the
|
||
bibliographic and discographic data necessary for the cataloging of a
|
||
piece.The bibliographic entry will contain the information necessary
|
||
to make the Standard useful. Such items as title, author, issuer (pub-
|
||
lisher), date, and copyright will all be explicitly defined. In addi-
|
||
tion, a miscellaneous area will be available which can contain any
|
||
information that is not defined elsewhere. If desired, a bibliographic
|
||
entry may be made for each performance in the gestural section, or for
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 28 -
|
||
|
||
|
||
each edition in the visual section.
|
||
|
||
The attributes are explained in the SGML code comments.
|
||
|
||
NOTE: We have not attempted to form an exhaustive structure for the
|
||
representation of complete library cataloging information. Such a
|
||
structure would extend the scope of the Standard beyond where we feel
|
||
it should go at present. Since we are utilizing the machinery of SGML
|
||
to implement this Standard, another committee could easily create such
|
||
a complete bibliographic element, and it could be readily included in
|
||
music documents. We in fact strongly urge the Library community to
|
||
initiate such a project.
|
||
|
||
|
||
<!-- 12 Bibliographic Data -->
|
||
<!ENTITY % e.bib "title | author | date | issuer | descript | copr">
|
||
<!-- Explanation of bibliographic elements:
|
||
title Title of work, performance, score, or analysis
|
||
author Work: composer, librettist, computer
|
||
Performance: performer, arranger
|
||
Score: editor, copyist, arranger
|
||
Analysis: theorist
|
||
issuer Access information: e.g., publisher, catalog number
|
||
date Date of work, performance, score, or analysis
|
||
copr Copyright notice
|
||
descript Miscellaneous descriptive data: e.g., performance time
|
||
-->
|
||
<!ENTITY % d.bib "<!ELEMENT (%e.bib;) - O (#PCDATA)>"> %d.bib;
|
||
<!ENTITY % m.bib "(%e.bib; | theme)*">
|
||
<!ELEMENT bibdata -- Bibliographic data applying to work as a whole --
|
||
- O %m.bib; >
|
||
|
||
|
||
12.1 Theme
|
||
|
||
The theme will contain references to the core which pinpoint key pas-
|
||
sages (or famous passages) for the purpose of identification of the
|
||
work. It will allow a cataloging application, for instance, to quickly
|
||
locate and then display or perform a well known section. This will
|
||
make it easy for the user to verify that the correct piece has been
|
||
retrieved.
|
||
|
||
|
||
<!-- 12.1 Theme -->
|
||
<!ENTITY % a.theme "">
|
||
<!ELEMENT theme -- Themes that best identify the work (e.g., incipit) --
|
||
- O EMPTY >
|
||
<!ATTLIST theme idr IDREFS #REQUIRED -- ID of analysis --
|
||
%a.theme; >
|
||
|
||
|
||
13 Conformance
|
||
|
||
The Standard will define several levels of conformance to allow
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 29 -
|
||
|
||
|
||
applications to implement subsets of the language. There will be a
|
||
canonical form and a "standard" level described.
|
||
|
||
NOTE: The issue of conformance will be developed further at a later
|
||
date.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 30 -
|
||
|
||
|
||
Annex A
|
||
|
||
Formal Definition
|
||
|
||
|
||
(This annex is normative and will become an integral part of the Standard.)
|
||
This annex contains the formal definition of a work, expressed as an SGML
|
||
document type definition.
|
||
|
||
NOTES
|
||
|
||
Because the SMDL is still under development, the SGML document type defini-
|
||
tion (DTD) is presently incomplete in a number of respects. These are
|
||
listed below, and will be updated with the SGML Formal Definition.
|
||
|
||
1. Little detail is provided on the actual encoding of an instance of
|
||
a work. As we are first attempting to identify the potential events and to
|
||
define their properties (attributes), the DTD acts as though all events
|
||
will be encoded with start-tags and end-tags, with all properties specified
|
||
using the SGML attribute notation. The result is a lopsided definition in
|
||
which there is only structure and no actual data.
|
||
|
||
This convention is satisfactory (even advantageous) while we are designing
|
||
the structure and semantics of the SMDL. It allows relationships to be
|
||
seen easily and requirements to be evaluated, without the intrusion of cod-
|
||
ing considerations. Once the design is complete and we understand all of
|
||
the information that must be represented, we will create a concise coding
|
||
scheme to replace the lower levels of the structure. (In SGML, such a
|
||
scheme is known as a "data content notation".)
|
||
|
||
2. Most attributes have not yet been defined. As a result, many of
|
||
the ATTLIST declarations appear identical to one another. In such cases,
|
||
we expect that the lists will be differentiated by attributes that will be
|
||
defined later.
|
||
|
||
3. The lowest-level gestural, visual, and analytical event elements
|
||
(ge, ve, and ae) are temporary placeholders for lists of distinct element
|
||
types (for example, bar lines, clefs, etc.). Eventually, the entity refer-
|
||
ences to lists of the distinct types will be completed to replace these
|
||
element names. For now, only the lowest-level core events have been
|
||
defined.
|
||
|
||
Moreover, as we are first attempting to define those attributes which all
|
||
events have in common, a single ATTLIST is used in each domain. Eventu-
|
||
ally, each event may have its own ATTLIST declaration.
|
||
|
||
4. There are many elements that have common content models and, at
|
||
least for the moment, common attribute lists. As a matter of development
|
||
methodology, we felt it better to assume that elements that represent dif-
|
||
ferent semantic constructs (e.g., tracks and parts) are likely to have dif-
|
||
ferent attributes when the design is complete, even though they may have
|
||
identical structures. If the presumption proves incorrect in any instance,
|
||
we will of course remove the redundancy when finalizing the design, but
|
||
premature optimization might cause us to overlook vital differences.
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 31 -
|
||
|
||
|
||
5. For attributes that have been defined, particularly those whose
|
||
domain is a list of specific values, we have typically provided only a nom-
|
||
inal list of values. We expect that once the overall structure is firm,
|
||
experts will be able to contribute more complete lists. Such attribute
|
||
domains can also be made user-extensible if that is desirable.
|
||
|
||
|
||
<!-- Public document type definition for music representation.
|
||
|
||
Typical invocation:
|
||
<!DOCTYPE work PUBLIC "-//ANSI X3V1.8M//DTD Musical Work//EN">
|
||
|
||
|
||
NOTE: The section heading comments identify the corresponding clause
|
||
numbers in the body of this document.
|
||
|
||
-->
|
||
|
||
<!-- 7 Work as a Whole -->
|
||
<!ELEMENT work -- Musical composition, piece, etc. --
|
||
- - (bibdata?, workseg+, analysis*) >
|
||
<!ATTLIST work source -- Origin of this representation of the work --
|
||
(core | analysis | perform | score) #REQUIRED
|
||
companal -- Composer's analysis (may include core-like
|
||
controlling factors that distinguish the work)--
|
||
IDREF #IMPLIED -- ID of analysis --
|
||
rtubase -- Real Time Units per second (0=100,000,000) --
|
||
NUMBER 10000 >
|
||
|
||
|
||
<!-- 7.1 Work Segment -->
|
||
<!ELEMENT workseg -- Sequential segment of a work: movement, act, etc. --
|
||
O O ((workseg, (workseg | worksegr)+) |
|
||
(bibdata?, core, perform*, score*)) >
|
||
<!ATTLIST workseg id ID #IMPLIED
|
||
class -- E.g., movement, section, coda --
|
||
CDATA #IMPLIED -- don't care --
|
||
delay -- E.g., 15 minute intermission --
|
||
CDATA #IMPLIED -- don't care -- >
|
||
<!ELEMENT worksegr -- Work segment reference --
|
||
- O EMPTY >
|
||
<!ATTLIST worksegr idr IDREF #REQUIRED -- ID of any work segment -- >
|
||
|
||
|
||
<!-- 8 Core -->
|
||
<!ELEMENT core -- The essential music, common to all domains --
|
||
- O (stress*, temposeq+, thread+) >
|
||
<!ATTLIST core norm -- Is core timing normalized? (7.5) --
|
||
(norm | nonnorm) nonnorm >
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 32 -
|
||
|
||
|
||
|
||
<!-- 8.1 Thread -->
|
||
<!ELEMENT thread -- Voice-like time-ordered sequence of events --
|
||
- O (ces) >
|
||
<!ATTLIST thread id ID #IMPLIED
|
||
temposeq IDREF #IMPLIED
|
||
nominst CDATA #IMPLIED -- Nominal instrument --
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
<!-- 8.1.1 Core Event Sequence -->
|
||
<!ENTITY % FRAC "NUMBERS" -- fraction: numerator, denominator? (=1) -- >
|
||
<!ENTITY % m.ces "(ces|ceg|note|rest|grcevent|special|cer)*" >
|
||
<!ELEMENT ces -- Core event sequence --
|
||
O O (chordnm?, %m.ces;) >
|
||
<!ATTLIST ces id ID #IMPLIED
|
||
factor -- ces beats / sum of subelement beats --
|
||
%FRAC "1 1"
|
||
stressid -- Beat cycle dynamic stress pattern --
|
||
IDREF #IMPLIED -- Default: no change --
|
||
stressbt -- Beat # of stress pattern on which ces begins --
|
||
NUMBER 1 -- Not 1 only if anacrusis --
|
||
ornstyle -- Ornamentation style: e.g., period --
|
||
CDATA #IMPLIED -- Default: no ornamentation -- >
|
||
|
||
|
||
<!-- 8.1.2 Core Event Group -->
|
||
<!ELEMENT ceg -- Core event group --
|
||
- - %m.ces; >
|
||
<!ATTLIST ceg id ID #IMPLIED
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
<!-- 8.1.3.1 Notes and Rests -->
|
||
<!ELEMENT (note | rest)
|
||
-- Conventionally pitched time-stamped event --
|
||
- O EMPTY >
|
||
<!ATTLIST (note | rest)
|
||
id ID #IMPLIED
|
||
%a.ctime;
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 33 -
|
||
|
||
|
||
|
||
<!-- 8.1.3.2 Graced Event -->
|
||
<!ELEMENT grcevent -- Graced core event --
|
||
- O ((grcpre, grcsubj) | (grcpre?, grcsubj, grcpost))>
|
||
<!ATTLIST grcevent id ID #IMPLIED >
|
||
<!ELEMENT (grcpre | grcpost)
|
||
-- Core event whose duration is not counted --
|
||
- O %m.ces; >
|
||
<!ATTLIST (grcpre | grcpost)
|
||
id ID #IMPLIED
|
||
-- Synchronization with subject:
|
||
start-time in the case of grcpre
|
||
end-time in the case of grcpref --
|
||
grcsync (lead | lag) lead >
|
||
<!ELEMENT grcsubj -- Grace sequence subject: that which is graced --
|
||
O O (note | rest | special | cer) >
|
||
|
||
|
||
<!-- 8.1.3.3 Special Events -->
|
||
<!ELEMENT special -- User-defined time-stamped event: content describes it --
|
||
- O (#PCDATA) >
|
||
<!ATTLIST special id ID #IMPLIED
|
||
%a.ctime;
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
<!-- 8.1.4 Core Event Reference -->
|
||
<!ELEMENT cer -- Reference to core event, sequence, or group --
|
||
- O EMPTY >
|
||
<!ATTLIST cer idr IDREF #REQUIRED -- ID of ces|ceg|ce --
|
||
shift NUTOKEN 0 -- Transposition in steps --
|
||
-- TO DO: other event modifier attributes -- >
|
||
|
||
|
||
<!-- 8.1.5 Chord Name -->
|
||
<!ENTITY % d.chord "<!ELEMENT chordnm - O (#PCDATA)>"> %d.chord;
|
||
|
||
|
||
<!-- 8.2 Time -->
|
||
<!ENTITY % BEATS "%FRAC;" -- Measure of music time (fractional) -- >
|
||
<!ENTITY % a.ctime -- Core event time attributes (7.2) --
|
||
"musicdur %BEATS #CURRENT tie IDREF #IMPLIED" >
|
||
<!-- Explanation of core time attributes:
|
||
musicdur Duration of event in music time.
|
||
tie Succeeding event to which this one is tied (Default: not tied).-->
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 34 -
|
||
|
||
|
||
|
||
<!-- 8.3 Stress -->
|
||
<!ELEMENT stress -- Beat cycle definition; dynamic stress pattern --
|
||
- O (beatnum, stresses)+ >
|
||
<!ATTLIST stress id ID #IMPLIED
|
||
beatcnt NUMBER #REQUIRED -- Number of beats in cycle -->
|
||
<!ELEMENT beatnum -- Beat number receiving agogic or dynamic stresses --
|
||
O O (#PCDATA) >
|
||
<!ELEMENT stresses -- Stresses applied to specified beat --
|
||
O O (#PCDATA) >
|
||
|
||
|
||
<!-- 8.4 Tempo -->
|
||
<!ELEMENT temposeq -- Relates music time to real time (may be imprecise) --
|
||
- O (tempo+) >
|
||
<!ATTLIST temposeq id ID #IMPLIED >
|
||
<!ELEMENT tempo -- Real time units per beat --
|
||
- O (#PCDATA) >
|
||
<!ATTLIST tempo id ID #IMPLIED
|
||
musicdur -- Duration of tempo setting in music time --
|
||
%BEATS #CURRENT
|
||
setval -- Precise final tempo: RTUs/beat (integer #RTU)
|
||
or % of earlier tempo (%FRAC idref) --
|
||
CDATA #CURRENT
|
||
settext -- Imprecise final tempo: moderato --
|
||
CDATA #IMPLIED -- Default: use setval --
|
||
rateval -- Precise rate of reaching final tempo --
|
||
-- Format: (LINEAR | FORMULA data) --
|
||
CDATA #IMPLIED -- Default: immediate --
|
||
ratetext -- Imprecise rate specification: accel, ritard --
|
||
CDATA #IMPLIED -- Default: use rateval --
|
||
strict -- Strictness of interpretation: rubato --
|
||
CDATA #IMPLIED -- Default: strict tempo --
|
||
holdtype -- Imprecise extension of counted duration --
|
||
(fullstop|long|medium|short|none) none
|
||
holddur -- Precise duration of hold --
|
||
%BEATS #CURRENT >
|
||
|
||
|
||
<!-- 9 Gestural Domain -->
|
||
<!ELEMENT perform -- The gestures of a performance (MIDI) --
|
||
- O (bibdata?, clicktrk*, track+) >
|
||
<!ATTLIST perform id ID #IMPLIED
|
||
score IDREFS #IMPLIED
|
||
closure -- Are all core events referenced? --
|
||
(closed, open) open >
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 35 -
|
||
|
||
|
||
|
||
<!-- 9.1 Track -->
|
||
<!ELEMENT track -- One instrument's time-ordered sequence of gestures --
|
||
- O (ges) >
|
||
<!ATTLIST track id ID #IMPLIED
|
||
instrum CDATA #IMPLIED
|
||
clicktrk IDREF #IMPLIED
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
<!-- 9.1.1 Gestural Event Sequence -->
|
||
<!ENTITY % e.ge "ge" -- TO DO: replace with real element types -- >
|
||
<!ENTITY % m.ges "(ges | geg | %e.ge; | ger | gcer)*" >
|
||
<!ELEMENT ges -- Gestural event sequence (has core references) --
|
||
O O %m.ges; >
|
||
<!ATTLIST ges id ID #IMPLIED
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
<!-- 9.1.2 Gestural Event Group -->
|
||
<!ELEMENT geg -- Gestural event group (has core references) --
|
||
- - %m.ges; >
|
||
<!ATTLIST geg id ID #IMPLIED
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
<!-- 9.1.3 Gestural Event -->
|
||
<!ENTITY % SECONDS "NUMBERS" -- Format: (seconds?, Real Time Units) -- >
|
||
<!ELEMENT (%e.ge;) -- Gestural event: e.g., controller setting, ad lib note --
|
||
- O EMPTY >
|
||
<!ATTLIST ge id ID #IMPLIED
|
||
start -- Start time (Default: derived from core) --
|
||
%SECONDS #IMPLIED
|
||
duration -- (Default: derived from core) --
|
||
%SECONDS #IMPLIED
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
<!-- 9.1.4.1 Gestural Domain Reference to Gestural Event -->
|
||
<!ELEMENT ger -- Gestural event reference (includes geg|ges) --
|
||
- O EMPTY >
|
||
<!ATTLIST ger idr IDREF #REQUIRED -- ges|ge|geg same perform --
|
||
start -- Start time (Default: derived from core) --
|
||
%SECONDS #IMPLIED
|
||
duration -- (Default: derived from core) --
|
||
%SECONDS #IMPLIED
|
||
shift NUTOKEN 0 -- Transposition in steps --
|
||
-- TO DO: other event modifier attributes -- >
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 36 -
|
||
|
||
|
||
|
||
<!-- 9.1.4.2 Gestural Domain References to Core Events -->
|
||
<!ELEMENT gcer -- Gestural domain core event reference --
|
||
- O EMPTY >
|
||
<!ATTLIST gcer idr IDREF #REQUIRED -- ces|ce|ceg in core --
|
||
start -- Start time (Default: derived from core) --
|
||
%SECONDS #IMPLIED
|
||
duration -- (Default: derived from core) --
|
||
%SECONDS #IMPLIED
|
||
shift NUTOKEN 0 -- Transposition in steps --
|
||
-- TO DO: other event modifier attributes -- >
|
||
|
||
|
||
<!-- 9.2 Click Track -->
|
||
<!ELEMENT clicktrk -- Click track: ordered table of event start-times --
|
||
- O (#PCDATA) >
|
||
<!ATTLIST clicktrk id ID #IMPLIED -- Default: generated --
|
||
nextbeat -- Track and time of next beat --
|
||
NMTOKENS #IMPLIED >
|
||
|
||
|
||
<!-- 10 Visual Domain -->
|
||
<!ELEMENT score -- Visual representation of work (a la DARMS, MUSTRAN...) --
|
||
- O (bibdata?, part+) >
|
||
<!ATTLIST score id ID #IMPLIED
|
||
perform IDREFS #IMPLIED
|
||
closure -- Are all core events referenced? --
|
||
(closed, open) open >
|
||
|
||
|
||
<!-- 10.1 Part -->
|
||
<!ELEMENT part -- One instrument's portion of the system --
|
||
- O (ves) >
|
||
<!ATTLIST part id ID #IMPLIED
|
||
clef NAMES "treble bass"
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
<!-- 10.1.1 Visual Event Sequence -->
|
||
<!ENTITY % e.ve "ve" -- TO DO: replace with real element types -- >
|
||
<!ENTITY % m.ves "(ves | veg | %e.ve; | ver | vcer)*" >
|
||
<!ELEMENT ves -- Visual event sequence (has core references) --
|
||
O O %m.ves; >
|
||
<!ATTLIST ves id ID #IMPLIED
|
||
tuplet -- Triplet (etc.) indicator for sequence --
|
||
CDATA #IMPLIED -- Not a tuplet --
|
||
cue IDREF #IMPLIED -- ID of ves --
|
||
tsinst NUMBERS #IMPLIED -- Time sig for instrument --
|
||
tscond NUMBERS #IMPLIED -- Time sig for conductor --
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 37 -
|
||
|
||
|
||
|
||
<!-- 10.1.2 Visual Event Group -->
|
||
<!ELEMENT veg -- Visual event group (has core references) --
|
||
- - %m.ves; >
|
||
<!ATTLIST veg id ID #IMPLIED
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
<!-- 10.1.3 Visual Event -->
|
||
<!ELEMENT (%e.ve;) -- Visual event: e.g., phrase mark, bar line --
|
||
- O EMPTY >
|
||
<!ATTLIST (%e.ve;) id ID #IMPLIED
|
||
-- TO DO: other attributes -- >
|
||
|
||
|
||
<!-- 10.1.4.1 Visual Domain Reference to Visual Event -->
|
||
<!ELEMENT ver -- Visual event reference (includes veg|ves) --
|
||
- O EMPTY >
|
||
<!ATTLIST ver idr IDREF #REQUIRED -- ves|ve|geg same score --
|
||
shift NUTOKEN 0 -- Transposition in steps --
|
||
-- TO DO: other event modifier attributes -- >
|
||
|
||
|
||
<!-- 10.1.4.2 Visual Domain Reference to Core Event -->
|
||
<!ELEMENT vcer -- Visual domain core event reference --
|
||
- O EMPTY >
|
||
<!ATTLIST vcer idr IDREF #REQUIRED -- ces|ce|ceg in core --
|
||
shift NUTOKEN 0 -- Transposition in steps --
|
||
-- TO DO: other event modifier attributes -- >
|
||
|
||
|
||
<!-- 11 Analytical Domain -->
|
||
<!ELEMENT analysis -- An analysis of a work --
|
||
- O (bibdata?, voice+) >
|
||
<!ENTITY % a.anal
|
||
"core IDREFS #IMPLIED perform IDREFS #IMPLIED score IDREFS #IMPLIED" >
|
||
<!ATTLIST analysis id ID #IMPLIED
|
||
%a.anal; >
|
||
|
||
|
||
<!-- 11.1 Voice -->
|
||
<!ELEMENT voice -- A single melody line (possibly polyphonic) --
|
||
- O (aes) >
|
||
<!ENTITY % a.voice "" >
|
||
<!ATTLIST voice id ID #IMPLIED
|
||
%a.voice; >
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 38 -
|
||
|
||
|
||
|
||
<!-- 11.1.1 Analytical Event Sequence -->
|
||
<!ENTITY % e.ae "ae" -- TO DO: replace with real element types -- >
|
||
<!ENTITY % m.aes "(aes | aeg | %e.ae; | aer | ver | ger | cer)*" >
|
||
<!ELEMENT aes -- Analytical event sequence (multi-domain refs) --
|
||
O O %m.aes; >
|
||
<!ENTITY % a.aes "class (motif | epmotif | esmotif | elision) motif" >
|
||
<!ATTLIST aes id ID #IMPLIED
|
||
%a.aes; >
|
||
|
||
|
||
<!-- 11.1.2 Analytical Event Group -->
|
||
<!ELEMENT aeg -- Analytical event group (multi-domain refs) --
|
||
- - %m.aes; >
|
||
<!ENTITY % a.ae "" >
|
||
<!ATTLIST aeg id ID #IMPLIED
|
||
%a.ae; >
|
||
|
||
|
||
<!-- 11.1.3 Analytical Event -->
|
||
<!ENTITY % m.ae "(%e.ae;|%e.ge;|%e.ve;)*" >
|
||
<!ELEMENT (%e.ae;) -- Analytical event --
|
||
- O %m.ae; >
|
||
<!ATTLIST (%e.ae;) id ID #IMPLIED
|
||
%a.ae; >
|
||
|
||
|
||
<!-- 11.1.4 References -->
|
||
<!ELEMENT aer -- Analytical event sequence reference --
|
||
- O EMPTY >
|
||
<!ENTITY % a.aer "" >
|
||
<!ATTLIST aer idr IDREF #REQUIRED -- ID of aes --
|
||
%a.aer; >
|
||
|
||
|
||
<!-- 12 Bibliographic Data -->
|
||
<!ENTITY % e.bib "title | author | date | issuer | descript | copr">
|
||
<!-- Explanation of bibliographic elements:
|
||
title Title of work, performance, score, or analysis
|
||
author Work: composer, librettist, computer
|
||
Performance: performer, arranger
|
||
Score: editor, copyist, arranger
|
||
Analysis: theorist
|
||
issuer Access information: e.g., publisher, catalog number
|
||
date Date of work, performance, score, or analysis
|
||
copr Copyright notice
|
||
descript Miscellaneous descriptive data: e.g., performance time -->
|
||
<!ENTITY % d.bib "<!ELEMENT (%e.bib;) - O (#PCDATA)>"> %d.bib;
|
||
<!ENTITY % m.bib "(%e.bib; | theme)*">
|
||
<!ELEMENT bibdata -- Bibliographic data applying to work as a whole --
|
||
- O %m.bib; >
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 39 -
|
||
|
||
|
||
|
||
<!-- 12.1 Theme -->
|
||
<!ENTITY % a.theme "">
|
||
<!ELEMENT theme -- Themes that best identify the work (e.g., incipit) --
|
||
- O EMPTY >
|
||
<!ATTLIST theme idr IDREFS #REQUIRED -- ID of analysis --
|
||
%a.theme; >
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 40 -
|
||
|
||
|
||
Annex B
|
||
|
||
Theory of Use
|
||
|
||
(This annex is informative and will not form an integral part of the Stan-
|
||
dard.)
|
||
|
||
As a language, the Standard can be put to a wide variety of uses ranging
|
||
>from the highly appropriate to the completely pathological. It was, how-
|
||
ever, designed with a particular set of applications in mind, and will be
|
||
most effective if used for these. Knowing the design assumptions will also
|
||
facilitate application of the Standard to unforeseen or unusual situations.
|
||
It is hoped that this annex will answer many of the questions that will
|
||
arise concerning applicability.
|
||
|
||
NOTE: This section will be developed further at a later date.
|
||
|
||
B.1 General Application
|
||
|
||
In general, the Standard is intended as a storage and interchange for-
|
||
mat for musical ideas. It is designed to be somewhat human readable so
|
||
that a piece could theoretically be created by using a word processor
|
||
and entering the encoded material directly. However, it is expected
|
||
that it will be used mainly for automated processing in such areas as
|
||
music printing, library cataloging and storage, multimedia presenta-
|
||
tions, teaching, and research. For other situations, such as live per-
|
||
formance or sound recording, other formats are likely to be more
|
||
applicable.
|
||
|
||
A piece to be represented can originate from almost any source. An
|
||
automated composition program might generate a core and an associated
|
||
gestural section. An interactive music printing system might generate
|
||
a core and a visual section. A sequencer might capture a live perfor-
|
||
mance and transcribe it into a core and performance section, and then
|
||
turn the piece over to a music printing system for the creation of the
|
||
visual and analytical sections. There is much flexibility in the way
|
||
the Standard can be used and the situations to which it can be
|
||
applied. The only common element is the core, the others need not even
|
||
be present.
|
||
|
||
The gestural section is designed to be used for the representation of
|
||
computer instrument sequences. This does not mean that it is a
|
||
sequencer format for internal use by sequencers. In fact it would be
|
||
poorly suited for that application. It is for archiving and transport-
|
||
ing music that has been, or will be, processed in some way by a com-
|
||
puter system. A performance may be captured on a synthesizer, it may
|
||
be interpreted from a MIDI stream, or it may be translated from
|
||
another language, such as a MIDI sequence file format or MUSIC V. A
|
||
sequencer might read a piece in the Standard, translate it into an
|
||
internal data format, and then realize it in real time.
|
||
|
||
The visual section will be used for representing scores of all kinds.
|
||
The score may have an accompanying performance or it may not. The
|
||
score may be entered or captured using a music printing system, or it
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 41 -
|
||
|
||
|
||
may be translated from DARMS or MUSTRAN. It might be retrieved as a
|
||
display on a screen, a printed page, or translated into another
|
||
language. Most importantly it will allow systems of all kinds to
|
||
interchange scores easily and accurately.
|
||
|
||
The analytical section will be used to represent theoretical ideas in
|
||
a structural format. Any sort of layering and grouping will be possi-
|
||
ble, so various styles of analysis will be supported. A given piece
|
||
may have several analyses (i.e. one Shenkerian, one classical), which
|
||
could even refer to each other. An analysis of a piece with a circular
|
||
score could refer to the score and the performance in an attempt to
|
||
relate the music to the shape of the score to the vertiginous effect
|
||
on the performer.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 42 -
|
||
|
||
|
||
Annex C
|
||
|
||
Explanation of Editorial Conventions
|
||
|
||
|
||
|
||
|
||
(This annex is informative and will not form an integral part of the Stan-
|
||
dard.) This document observes some of the editorial conventions of a for-
|
||
mal standard, but not yet with the strictness and consistency that will be
|
||
required in the final document. Those conventions that are observed in this
|
||
revision are listed.
|
||
|
||
C.1 Definitions
|
||
|
||
Definitions are contained in a separate clause. Ours is presently
|
||
incomplete and will probably remain that way for a while. Also, some
|
||
of the definitions in it are not as precise as they should be. When
|
||
the clause is complete, the definitions will refer to one another in a
|
||
top-down hierarchical order, without tautologies, and will define each
|
||
term fully.
|
||
|
||
C.2 Structure
|
||
|
||
Part Two is structured like a standard in that it observes the follow-
|
||
ing conventions:
|
||
|
||
Clause 0 is an informative introduction (that is, it does not
|
||
contain requirements.)
|
||
|
||
Clause 1 states what the standard includes, and its expected
|
||
uses.
|
||
|
||
Clause 3 contains references to related standards.
|
||
|
||
Clause 4 contains the definitions.
|
||
|
||
Clause 5 describes the notational conventions used in the remain-
|
||
ing clauses.
|
||
|
||
The clauses from 6 until the end contain the actual requirements.
|
||
|
||
There are also annexes (appendixes) containing information that was
|
||
segregated from the body of the standard for convenience.
|
||
|
||
C.3 Segregation
|
||
|
||
Requirements are distinguished from definitions, examples, and expla-
|
||
natory notes and comments.
|
||
|
||
Anything identified as a "NOTE" is there to aid in understanding the
|
||
standard, but does not change the requirements. At present, we also
|
||
use notes to discuss matters relating to the development of the stan-
|
||
dard.
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 43 -
|
||
|
||
|
||
Annexes are designated either "normative" or "informative". The former
|
||
contain requirements and have the same force and effect as if they
|
||
were in the body of the standard. The latter are extended notes or
|
||
tutorial information.
|
||
|
||
C.4 Language
|
||
|
||
Some words have formal implications that may differ from casual usage.
|
||
Those that are used in this document are as follows:
|
||
|
||
C.4.1deprecated: Technically allowed, but only in rare situations
|
||
a sensible thing to do. The opposite of "should".
|
||
|
||
C.4.2must: Required by the language; unavoidable.
|
||
|
||
C.4.3shall: Required by definition. (But not necessarily unavoid-
|
||
able syntactically or semantically in the language.)
|
||
|
||
C.4.4should: Recommended, but not mandatory. The opposite of
|
||
"deprecated." (Within a requirement, it is used in place of
|
||
"shall" where there is some rare situation in which it wouldn't
|
||
work or where it was too burdensome to check for compliance.)
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 44 -
|
||
|
||
|
||
Annex D
|
||
|
||
|
||
Guide to SGML Notation
|
||
|
||
(This annex is informative and will not form an integral part of the Stan-
|
||
dard.)
|
||
|
||
For those unfamiliar with SGML, the following brief explanation will assist
|
||
in understanding the code that appears in this document. For a more in-
|
||
depth explanation, the ISO standard (ISO 8879-1986) is the definitive
|
||
tutorial and reference on the subject.
|
||
|
||
NOTE: This description is currently "brief" to the point of opacity. We
|
||
plan to expand this section at a later date.
|
||
|
||
D.1 Structure
|
||
|
||
SGML consists of three basic structural components. It is the usual
|
||
intent that these structures will contain data, but in our application
|
||
there is only structure for the moment. Elements are structural build-
|
||
ing blocks which can be defined to contain data or other elements. An
|
||
attribute list is associated with an element and contains values which
|
||
describe the element. Entities are a structural tool which allow por-
|
||
tions of code to be referenced by a label from one or more places in
|
||
the code.
|
||
|
||
D.2 Punctuation
|
||
|
||
There are several punctuation marks that are important. Declarations
|
||
(definitions) are surrounded by <! ... > and comments to the reader
|
||
are surrounded by -- ... --. For the purposes of this document, the
|
||
marks - - and -O can be ignored. In each declaration, the following
|
||
marks may occur: , this followed by the next, & this and the next, |
|
||
this or the next, ? optional, + one or more, * zero or more.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|
||
|
||
|
||
|
||
|
||
- 45 -
|
||
|
||
|
||
Annex E
|
||
|
||
Status Report
|
||
|
||
(This annex is informative and will not form an integral part of the Stan-
|
||
dard.)
|
||
|
||
In the first meetings, the committee concentrated on the overall structure
|
||
of the SMDL. Many issues were touched upon to ensure that the basic design
|
||
would be flexible and powerful enough to handle the wide range of material
|
||
demanded by the requirements specification.
|
||
|
||
More recently, the concentration has focused on the core and related
|
||
issues, as this seemed the logical starting place. Subsequent work will
|
||
have to build from a basically finished core section. As of the most recent
|
||
meeting (February 1 - 4, 1988) we have developed the core substantially,
|
||
although some work remains. We expect to finish this section at the next
|
||
meeting, and proceed to the gestural and visual sections. It is assumed
|
||
that further revisions of the core will be necessary after development of
|
||
the other sections.
|
||
|
||
Because the work has focused on a particular area, the preceding document
|
||
is uneven. Some areas have been discused down to minute detail, and some
|
||
are as yet merely suggestions of the direction in which to proceed. In par-
|
||
ticular the core section is considerably fleshed out, but the others are
|
||
unfinished. As the meetings continue, we expect this document (parts 1 and
|
||
2) to grow into a Draft Standard which will be complete in all areas.
|
||
|
||
|
||
|
||
|
||
|
||
%%% 30 %%%
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
June 16, 1988
|
||
|