mirror of
https://github.com/microtherion/VocalEasel.git
synced 2024-12-22 19:23:59 +00:00
1027 lines
30 KiB
DTD
1027 lines
30 KiB
DTD
|
<!--
|
||
|
MusicXML note.dtd
|
||
|
|
||
|
Version 1.1 - 20 May 2005
|
||
|
|
||
|
Copyright © 2004-2005 Recordare LLC.
|
||
|
http://www.recordare.com/
|
||
|
|
||
|
This MusicXML work is being provided by the copyright
|
||
|
holder under the MusicXML Document Type Definition
|
||
|
Public License Version 1.02, available from:
|
||
|
|
||
|
http://www.recordare.com/dtds/license.html
|
||
|
-->
|
||
|
|
||
|
<!--
|
||
|
The note component DTD contains the note representations
|
||
|
for MusicXML. This section of the DTD can then be used
|
||
|
within a partwise or timewise MusicXML score. This DTD
|
||
|
contains the note element, all its children elements,
|
||
|
and related entities.
|
||
|
-->
|
||
|
|
||
|
<!-- Entities -->
|
||
|
|
||
|
<!-- Structures -->
|
||
|
|
||
|
<!--
|
||
|
The common note elements between cue/grace notes and
|
||
|
regular (full) notes: pitch, chord, and rest information,
|
||
|
but not duration (cue and grace notes do not have
|
||
|
duration encoded here). Unpitched elements are used for
|
||
|
unpitched percussion, speaking voice, and other musical
|
||
|
elements lacking determinate pitch.
|
||
|
-->
|
||
|
<!ENTITY % full-note "(chord?, (pitch | unpitched | rest))">
|
||
|
|
||
|
<!-- Elements -->
|
||
|
<!--
|
||
|
Notes are the most common type of MusicXML data. MusicXML
|
||
|
keeps the MuseData distinction between elements used for
|
||
|
sound information and element used for notation
|
||
|
information (e.g., tie is used for sound, tied for
|
||
|
notation). Thus grace notes do not have a duration
|
||
|
element. Cue notes have a duration element, as do forward
|
||
|
elements, but no tie elements. Having these two types of
|
||
|
information available can make interchange considerably
|
||
|
easier, as some programs handle one type of information
|
||
|
much more readily than the other.
|
||
|
-->
|
||
|
<!ELEMENT note
|
||
|
(((grace, %full-note;, (tie, tie?)?) |
|
||
|
(cue, %full-note;, duration) |
|
||
|
(%full-note;, duration, (tie, tie?)?)),
|
||
|
instrument?, %editorial-voice;, type?, dot*,
|
||
|
accidental?, time-modification?, stem?, notehead?,
|
||
|
staff?, beam*, notations*, lyric*)>
|
||
|
|
||
|
<!--
|
||
|
The position and printout entities for printing
|
||
|
suggestions are defined in common.dtd.
|
||
|
|
||
|
The dynamics and end-dynamics attributes reflect MIDI's
|
||
|
Note On and Note Off velocities, respectively. They are
|
||
|
expressed in terms of percentages of a standard MIDI
|
||
|
forte volume of 90. The attack and release attributes
|
||
|
are used to alter the staring and stopping time of the
|
||
|
note from when it would otherwise occur based on the
|
||
|
flow of durations - information that is specific to a
|
||
|
performance. They are expressed in terms of divisions,
|
||
|
either positive or negative. If a note is played only
|
||
|
one time through a repeat, the time-only attribute
|
||
|
shows which time to play the note. The pizzicato
|
||
|
attribute is used when just this note is sounded
|
||
|
pizzicato, vs. the pizzicato and arco elements.
|
||
|
-->
|
||
|
<!ATTLIST note
|
||
|
%print-style;
|
||
|
%printout;
|
||
|
dynamics CDATA #IMPLIED
|
||
|
end-dynamics CDATA #IMPLIED
|
||
|
attack CDATA #IMPLIED
|
||
|
release CDATA #IMPLIED
|
||
|
time-only CDATA #IMPLIED
|
||
|
pizzicato %yes-no; #IMPLIED
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Pitch is represented as a combination of the step of the
|
||
|
diatonic scale, the chromatic alteration, and the octave.
|
||
|
The step element uses the English letters A through G.
|
||
|
The alter element represents chromatic alteration in
|
||
|
number of semitones (e.g., -1 for flat, 1 for sharp).
|
||
|
Decimal values like 0.5 (quarter tone sharp) may be
|
||
|
used for microtones. The octave element is represented
|
||
|
by the numbers 0 to 9, where 4 indicates the octave
|
||
|
started by middle C.
|
||
|
-->
|
||
|
<!ELEMENT pitch (step, alter?, octave)>
|
||
|
<!ELEMENT step (#PCDATA)>
|
||
|
<!ELEMENT alter (#PCDATA)>
|
||
|
<!ELEMENT octave (#PCDATA)>
|
||
|
|
||
|
<!--
|
||
|
The cue and grace elements indicate the presence of
|
||
|
cue and grace notes. The slash attribute for a grace
|
||
|
note is yes for slashed eighth notes. The other grace
|
||
|
note attributes come from MuseData sound suggestions.
|
||
|
Steal-time-previous indicates the percentage of time
|
||
|
to steal from the previous note for the grace note.
|
||
|
Steal-time-following indicates the percentage of time
|
||
|
to steal from the following note for the grace note.
|
||
|
Make-time indicates to make time, not steal time; the
|
||
|
units are in real-time divisions for the grace note.
|
||
|
-->
|
||
|
<!ELEMENT cue EMPTY>
|
||
|
<!ELEMENT grace EMPTY>
|
||
|
<!ATTLIST grace
|
||
|
steal-time-previous CDATA #IMPLIED
|
||
|
steal-time-following CDATA #IMPLIED
|
||
|
make-time CDATA #IMPLIED
|
||
|
slash %yes-no; #IMPLIED
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
The chord element indicates that this note is an
|
||
|
additional chord tone with the preceding note. The
|
||
|
duration of this note can be no longer than the preceding
|
||
|
note. In MuseData, a missing duration indicates the same
|
||
|
length as the preceding note, but here we require the
|
||
|
duration for chord records too.
|
||
|
-->
|
||
|
<!ELEMENT chord EMPTY>
|
||
|
|
||
|
<!--
|
||
|
The unpitched element indicates musical elements that are
|
||
|
notated on the staff but lack definite pitch, such as
|
||
|
unpitched percussion and speaking voice. Like notes, it
|
||
|
uses step and octave elements to indicate placement on
|
||
|
the staff, following the current clef. If percussion clef
|
||
|
is used, the display-step and display-octave are
|
||
|
interpreted as if in treble clef, with a G in octave 4
|
||
|
on line 2. If not present, the note is placed on the
|
||
|
middle line of the staff, generally used for one-line
|
||
|
staffs.
|
||
|
-->
|
||
|
<!ELEMENT unpitched ((display-step, display-octave)?)>
|
||
|
<!ELEMENT display-step (#PCDATA)>
|
||
|
<!ELEMENT display-octave (#PCDATA)>
|
||
|
|
||
|
<!--
|
||
|
The rest element indicates notated rests or silences.
|
||
|
Rest are usually empty, but placement on the staff can
|
||
|
be specified using display-step and display-octave
|
||
|
elements.
|
||
|
-->
|
||
|
<!ELEMENT rest ((display-step, display-octave)?)>
|
||
|
|
||
|
<!--
|
||
|
Duration is specified in division units. This is the
|
||
|
intended duration vs. notated duration (for instance,
|
||
|
swing eighths vs. even eighths, or differences in dotted
|
||
|
notes in Baroque-era music). Differences in duration
|
||
|
specific to an interpretation or performance should use
|
||
|
the note element's attack and release attributes. The
|
||
|
tie element indicates that a tie begins or ends with
|
||
|
this note. The tie element indicates sound; the tied
|
||
|
element indicates notation.
|
||
|
-->
|
||
|
<!ELEMENT duration (#PCDATA)>
|
||
|
<!ELEMENT tie EMPTY>
|
||
|
<!ATTLIST tie
|
||
|
type %start-stop; #REQUIRED
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
If multiple score-instruments are specified on a
|
||
|
score-part, there should be an instrument element for
|
||
|
each note in the part. The id attribute is an IDREF back
|
||
|
to the score-instrument ID.
|
||
|
-->
|
||
|
<!ELEMENT instrument EMPTY>
|
||
|
<!ATTLIST instrument
|
||
|
id IDREF #REQUIRED
|
||
|
>
|
||
|
<!--
|
||
|
Type indicates the graphic note type, Valid values (from
|
||
|
shortest to longest) are 256th, 128th, 64th, 32nd, 16th,
|
||
|
eighth, quarter, half, whole, breve, and long. The size
|
||
|
attribute indicates full-size or cue-size, with full the
|
||
|
default for regular notes and cue the default for cue
|
||
|
and grace notes.
|
||
|
-->
|
||
|
<!ELEMENT type (#PCDATA)>
|
||
|
<!ATTLIST type
|
||
|
size %symbol-size; #IMPLIED
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
One dot element is used for each dot of prolongation.
|
||
|
-->
|
||
|
<!ELEMENT dot EMPTY>
|
||
|
<!ATTLIST dot
|
||
|
%print-style;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Actual notated accidentals. Valid values include: sharp,
|
||
|
natural, flat, double-sharp, sharp-sharp, flat-flat,
|
||
|
natural-sharp, natural-flat, quarter-flat, quarter-sharp,
|
||
|
three-quarters-flat, and three-quarters-sharp. Editorial
|
||
|
and cautionary indications are indicated by attributes.
|
||
|
Values for these attributes are "no" if not present.
|
||
|
Specific graphic display such as parentheses, brackets,
|
||
|
and size are controlled by the level-display entity
|
||
|
defined in the common.dtd file.
|
||
|
-->
|
||
|
<!ELEMENT accidental (#PCDATA)>
|
||
|
<!ATTLIST accidental
|
||
|
cautionary %yes-no; #IMPLIED
|
||
|
editorial %yes-no; #IMPLIED
|
||
|
%level-display;
|
||
|
%print-style;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Time modification indicates tuplets and other
|
||
|
durational changes. The actual-notes element describes
|
||
|
how many notes are played in the time usually occupied
|
||
|
by the number of normal-notes. If the normal-notes type
|
||
|
is different than the current note type (e.g., a
|
||
|
quarter note within an eighth note triplet), then the
|
||
|
normal-notes type (e.g. eighth) is specified in the
|
||
|
normal-type and normal-dot elements.
|
||
|
-->
|
||
|
<!ELEMENT time-modification
|
||
|
(actual-notes, normal-notes,
|
||
|
(normal-type, normal-dot*)?)>
|
||
|
<!ELEMENT actual-notes (#PCDATA)>
|
||
|
<!ELEMENT normal-notes (#PCDATA)>
|
||
|
<!ELEMENT normal-type (#PCDATA)>
|
||
|
<!ELEMENT normal-dot EMPTY>
|
||
|
|
||
|
<!--
|
||
|
Stems can be down, up, none, or double. For down and up
|
||
|
stems, the position attributes can be used to specify
|
||
|
stem length. The relative values specify the end of the
|
||
|
stem relative to the program default. Default values
|
||
|
specify an absolute end stem position. Negative values of
|
||
|
relative-y that would flip a stem instead of shortening
|
||
|
it are ignored.
|
||
|
-->
|
||
|
<!ELEMENT stem (#PCDATA)>
|
||
|
<!ATTLIST stem
|
||
|
%position;
|
||
|
%color;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
The notehead element indicates shapes other than the open
|
||
|
and closed ovals associated with note durations. The element
|
||
|
value can be slash, triangle, diamond, square, cross, x,
|
||
|
circle-x, inverted triangle, arrow down, arrow up, slashed,
|
||
|
back slashed, normal, or none. For shape note music, the
|
||
|
element values do, re, mi, fa, so, la, and ti are used,
|
||
|
corresponding to Aikin's 7-shape system.
|
||
|
|
||
|
The arrow shapes differ from triangle and inverted triangle
|
||
|
by being centered on the stem. Slashed and back slashed
|
||
|
notes include both the normal notehead and a slash. The
|
||
|
triangle shape has the tip of the triangle pointing up;
|
||
|
the inverted triangle shape has the tip of the triangle
|
||
|
pointing down.
|
||
|
|
||
|
For the enclosed shapes, the default is to be hollow for
|
||
|
half notes and longer, and filled otherwise. The filled
|
||
|
attribute can be set to change this if needed.
|
||
|
|
||
|
If the parentheses attribute is set to yes, the notehead
|
||
|
is parenthesized. It is no by default.
|
||
|
-->
|
||
|
<!ELEMENT notehead (#PCDATA)>
|
||
|
<!ATTLIST notehead
|
||
|
filled %yes-no; #IMPLIED
|
||
|
parentheses %yes-no; #IMPLIED
|
||
|
%font;
|
||
|
%color;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Beam types include begin, continue, end, forward hook,
|
||
|
and backward hook. In MuseData, up to six concurrent
|
||
|
beams are available to cover up to 256th notes. This
|
||
|
seems sufficient so we use an enumerated type defined
|
||
|
in common.dtd. The repeater attribute, used for tremolos,
|
||
|
needs to be specified with a "yes" value for each beam
|
||
|
using it. Beams that have a begin value can also have
|
||
|
a fan attribute to indicate accelerandos and ritardandos
|
||
|
using fanned beams. The fan attribute may also be used
|
||
|
with a continue value if the fanning direction changes
|
||
|
on that note. The value is "none" if not specified.
|
||
|
|
||
|
Note that the beam number does not distinguish sets
|
||
|
of beams that overlap, as it does for slur and other
|
||
|
elements. Beaming groups are distinguished by
|
||
|
being in different voices and/or the presence or
|
||
|
absence of grace and cue elements.
|
||
|
-->
|
||
|
<!ELEMENT beam (#PCDATA)>
|
||
|
<!ATTLIST beam
|
||
|
number %beam-level; "1"
|
||
|
repeater %yes-no; #IMPLIED
|
||
|
fan (accel | rit | none) #IMPLIED
|
||
|
%color;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Notations are musical notations, not XML notations.
|
||
|
Multiple notations are allowed in order to represent
|
||
|
multiple editorial levels. The set of notations will be
|
||
|
refined and expanded over time, especially to handle
|
||
|
more instrument-specific technical notations.
|
||
|
-->
|
||
|
<!ELEMENT notations
|
||
|
(%editorial;,
|
||
|
(tied | slur | tuplet | glissando | slide |
|
||
|
ornaments | technical | articulations | dynamics |
|
||
|
fermata | arpeggiate | non-arpeggiate |
|
||
|
accidental-mark | other-notation)*)>
|
||
|
|
||
|
<!ELEMENT tied EMPTY>
|
||
|
<!ATTLIST tied
|
||
|
type %start-stop; #REQUIRED
|
||
|
number %number-level; #IMPLIED
|
||
|
%line-type;
|
||
|
%position;
|
||
|
%placement;
|
||
|
%orientation;
|
||
|
%bezier;
|
||
|
%color;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Slur elements are empty. Most slurs are represented
|
||
|
with two elements: one with a start type, and one
|
||
|
with a stop type. Very complex slurs can add more
|
||
|
elements using a continue type.
|
||
|
-->
|
||
|
<!ELEMENT slur EMPTY>
|
||
|
<!ATTLIST slur
|
||
|
type %start-stop-continue; #REQUIRED
|
||
|
number %number-level; "1"
|
||
|
%line-type;
|
||
|
%position;
|
||
|
%placement;
|
||
|
%orientation;
|
||
|
%bezier;
|
||
|
%color;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
A tuplet element is present when a tuplet is to be
|
||
|
displayed graphically, in addition to the sound data
|
||
|
provided by the time-modification elements. The number
|
||
|
attribute is used to distinguish nested tuplets. The
|
||
|
bracket attribute is used to indicate the presence of a
|
||
|
bracket. If unspecified, the results are implementation-
|
||
|
dependent. The line-shape attribute is used to specify
|
||
|
whether the bracket is straight or in the older curved
|
||
|
or slurred style. It is straight by default.
|
||
|
|
||
|
Whereas a time-modification element shows how the
|
||
|
cumulative, sounding effect of tuplets compare to
|
||
|
the written note type, the tuplet element describes
|
||
|
how this is displayed. The tuplet-actual and
|
||
|
tuplet-normal elements provide optional full control
|
||
|
over tuplet specifications. Each allows the number
|
||
|
and note type (including dots) describing a single
|
||
|
tuplet. If any of these elements are absent, their
|
||
|
values are based on the time-modification element.
|
||
|
|
||
|
The show-number attribute is used to display either
|
||
|
the number of actual notes, the number of both actual
|
||
|
and normal notes, or neither. It is actual by default.
|
||
|
The show-type attribute is used to display either the
|
||
|
actual type, both the actual and normal types, or
|
||
|
neither. It is none by default.
|
||
|
-->
|
||
|
<!ELEMENT tuplet (tuplet-actual?, tuplet-normal?)>
|
||
|
<!ATTLIST tuplet
|
||
|
type %start-stop; #REQUIRED
|
||
|
number %number-level; #IMPLIED
|
||
|
bracket %yes-no; #IMPLIED
|
||
|
show-number (actual | both | none) #IMPLIED
|
||
|
show-type (actual | both | none) #IMPLIED
|
||
|
%line-shape;
|
||
|
%position;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT tuplet-actual (tuplet-number?,
|
||
|
tuplet-type?, tuplet-dot*)>
|
||
|
<!ELEMENT tuplet-normal (tuplet-number?,
|
||
|
tuplet-type?, tuplet-dot*)>
|
||
|
<!ELEMENT tuplet-number (#PCDATA)>
|
||
|
<!ATTLIST tuplet-number
|
||
|
%font;
|
||
|
%color;
|
||
|
>
|
||
|
<!ELEMENT tuplet-type (#PCDATA)>
|
||
|
<!ATTLIST tuplet-type
|
||
|
%font;
|
||
|
%color;
|
||
|
>
|
||
|
<!ELEMENT tuplet-dot EMPTY>
|
||
|
<!ATTLIST tuplet-dot
|
||
|
%font;
|
||
|
%color;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Glissando and slide elements both indicate rapidly
|
||
|
moving from one pitch to the other so that individual
|
||
|
notes are not discerned. The distinction is similar
|
||
|
to that between NIFF's glissando and portamento
|
||
|
elements. A glissando sounds the half notes in
|
||
|
between the slide and defaults to a wavy line. A
|
||
|
slide is continuous between two notes and defaults
|
||
|
to a solid line. The optional text for a glissando
|
||
|
or slide is printed alongside the line.
|
||
|
-->
|
||
|
<!ELEMENT glissando (#PCDATA)>
|
||
|
<!ATTLIST glissando
|
||
|
type %start-stop; #REQUIRED
|
||
|
number %number-level; "1"
|
||
|
%line-type;
|
||
|
%print-style;
|
||
|
>
|
||
|
<!ELEMENT slide (#PCDATA)>
|
||
|
<!ATTLIST slide
|
||
|
type %start-stop; #REQUIRED
|
||
|
number %number-level; "1"
|
||
|
%line-type;
|
||
|
%print-style;
|
||
|
%bend-sound;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
The other-notation element is used to define
|
||
|
any notations not yet in MusicXML. This allows
|
||
|
extended representation, though without application
|
||
|
interoperability. It handles notations where more
|
||
|
specific extension elements such as other-dynamics
|
||
|
and other-technical are not appropriate.
|
||
|
-->
|
||
|
<!ELEMENT other-notation (#PCDATA)>
|
||
|
<!ATTLIST other-notation
|
||
|
type %start-stop; #REQUIRED
|
||
|
number %number-level; "1"
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Ornaments can be any of several types, followed
|
||
|
optionally by accidentals. The accidental-mark
|
||
|
element's content is represented the same as an
|
||
|
accidental element, but with a different name to
|
||
|
reflect the different musical meaning.
|
||
|
-->
|
||
|
<!ELEMENT ornaments
|
||
|
(((trill-mark | turn | delayed-turn | shake |
|
||
|
wavy-line | mordent | inverted-mordent |
|
||
|
schleifer | tremolo | other-ornament),
|
||
|
accidental-mark*)*)>
|
||
|
<!ELEMENT trill-mark EMPTY>
|
||
|
<!ATTLIST trill-mark
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
%trill-sound;
|
||
|
>
|
||
|
<!ELEMENT turn EMPTY>
|
||
|
<!ATTLIST turn
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
%trill-sound;
|
||
|
>
|
||
|
<!ELEMENT delayed-turn EMPTY>
|
||
|
<!ATTLIST delayed-turn
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
%trill-sound;
|
||
|
>
|
||
|
<!ELEMENT shake EMPTY>
|
||
|
<!ATTLIST shake
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
%trill-sound;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
The long attribute for the mordent and inverted-mordent
|
||
|
elements is "no" by default. The mordent element
|
||
|
represents the sign with the vertical line; the
|
||
|
inverted-mordent represent the sign without the
|
||
|
vertical line.
|
||
|
-->
|
||
|
<!ELEMENT mordent EMPTY>
|
||
|
<!ATTLIST mordent
|
||
|
long %yes-no; #IMPLIED
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
%trill-sound;
|
||
|
>
|
||
|
<!ELEMENT inverted-mordent EMPTY>
|
||
|
<!ATTLIST inverted-mordent
|
||
|
long %yes-no; #IMPLIED
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
%trill-sound;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
The name for this ornament is based on the
|
||
|
German, to avoid confusion with the more common
|
||
|
slide element defined earlier.
|
||
|
-->
|
||
|
<!ELEMENT schleifer EMPTY>
|
||
|
<!ATTLIST schleifer
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
While using repeater beams is the preferred
|
||
|
method for indicating tremolos, often playback
|
||
|
and display are not well-enough integrated in
|
||
|
an application to make that feasible, especially
|
||
|
for single-note tremolos. The tremolo ornament
|
||
|
can be used to indicate tremolo marks on a single
|
||
|
note. The text of the element indicates the
|
||
|
number of marks, usually 1, 2, or 3.
|
||
|
-->
|
||
|
<!ELEMENT tremolo (#PCDATA)>
|
||
|
<!ATTLIST tremolo
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
The other-ornament element is used to define
|
||
|
any ornaments not yet in MusicXML. This allows
|
||
|
extended representation, though without application
|
||
|
interoperability.
|
||
|
-->
|
||
|
<!ELEMENT other-ornament (#PCDATA)>
|
||
|
<!ATTLIST other-ornament
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
An accidental-mark can be used as a separate
|
||
|
notation or as part of an ornament. When used in
|
||
|
an ornament, position and placement are relative
|
||
|
to the ornament, not relative to the note.
|
||
|
-->
|
||
|
<!ELEMENT accidental-mark (#PCDATA)>
|
||
|
<!ATTLIST accidental-mark
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Technical indications give performance information for
|
||
|
individual instruments. The current elements are
|
||
|
weighted towards keyboard and string instruments.
|
||
|
Woodwind, brass, and percussion will be treated
|
||
|
more thoroughly in later revisions.
|
||
|
-->
|
||
|
<!ELEMENT technical
|
||
|
((up-bow | down-bow | harmonic | open-string |
|
||
|
thumb-position | fingering | pluck | double-tongue |
|
||
|
triple-tongue | stopped | snap-pizzicato | fret |
|
||
|
string | hammer-on | pull-off | bend | tap | heel |
|
||
|
toe | fingernails | other-technical)*)>
|
||
|
|
||
|
<!--
|
||
|
The up-bow and down-bow elements represent the symbol
|
||
|
that is used both for bowing indications on bowed
|
||
|
instruments, and up-stroke / down-stoke indications
|
||
|
on plucked instruments.
|
||
|
-->
|
||
|
<!ELEMENT up-bow EMPTY>
|
||
|
<!ATTLIST up-bow
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT down-bow EMPTY>
|
||
|
<!ATTLIST down-bow
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
The harmonic element indicates natural and artificial
|
||
|
harmonics. Natural harmonics usually notate the
|
||
|
base pitch rather than the sounding pitch. Allowing
|
||
|
the type of pitch to be specified, combined with
|
||
|
MusicXML's controls for appearance/playback
|
||
|
differences, allows both the notation and the sound
|
||
|
to be represented. Artificial harmonics can add a
|
||
|
notated touching-pitch; the pitch or fret at which
|
||
|
the string is touched lightly to produce the harmonic.
|
||
|
Artificial pinch harmonics will usually not notate
|
||
|
a touching pitch.
|
||
|
-->
|
||
|
<!ELEMENT harmonic
|
||
|
((natural | artificial)?,
|
||
|
(base-pitch | touching-pitch | sounding-pitch)?)>
|
||
|
<!ATTLIST harmonic
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT natural EMPTY>
|
||
|
<!ELEMENT artificial EMPTY>
|
||
|
<!ELEMENT base-pitch EMPTY>
|
||
|
<!ELEMENT touching-pitch EMPTY>
|
||
|
<!ELEMENT sounding-pitch EMPTY>
|
||
|
|
||
|
<!ELEMENT open-string EMPTY>
|
||
|
<!ATTLIST open-string
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT thumb-position EMPTY>
|
||
|
<!ATTLIST thumb-position
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Pluck is used to specify the plucking fingering
|
||
|
on a fretted instrument, where the fingering
|
||
|
element refers to the fretting fingering.
|
||
|
Typical values are p, i, m, a for pulgar/thumb,
|
||
|
indicio/index, medio/middle, and anular/ring
|
||
|
fingers.
|
||
|
-->
|
||
|
<!ELEMENT pluck EMPTY>
|
||
|
<!ATTLIST pluck
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!ELEMENT double-tongue EMPTY>
|
||
|
<!ATTLIST double-tongue
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT triple-tongue EMPTY>
|
||
|
<!ATTLIST triple-tongue
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT stopped EMPTY>
|
||
|
<!ATTLIST stopped
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT snap-pizzicato EMPTY>
|
||
|
<!ATTLIST snap-pizzicato
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
The hammer-on and pull-off elements are used in
|
||
|
guitar and fretted instrument notation. Since
|
||
|
a single slur can be marked over many notes,
|
||
|
the hammer-on and pull-off elements are
|
||
|
separate so the individual pair of notes
|
||
|
can be specified. The element content can be
|
||
|
used to specify how the hammer-on or pull-off
|
||
|
should be notated. An empty element leaves
|
||
|
this choice to the program defaults.
|
||
|
-->
|
||
|
<!ELEMENT hammer-on (#PCDATA)>
|
||
|
<!ATTLIST hammer-on
|
||
|
type %start-stop; #REQUIRED
|
||
|
number %number-level; "1"
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT pull-off (#PCDATA)>
|
||
|
<!ATTLIST pull-off
|
||
|
type %start-stop; #REQUIRED
|
||
|
number %number-level; "1"
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
The bend element is used in guitar and tablature.
|
||
|
The bend-alter element indicates the number of
|
||
|
steps in the bend, similar to the alter element.
|
||
|
As with the alter element, numbers like 0.5 can
|
||
|
be used to indicate microtones. Negative numbers
|
||
|
indicate pre-bends or releases; the pre-bend and
|
||
|
release elements are used to distinguish what
|
||
|
is intended. A with-bar element indicates that
|
||
|
the bend is to be done at the bridge with a
|
||
|
whammy or vibrato bar. The content of the
|
||
|
element indicates how this should be notated.
|
||
|
-->
|
||
|
<!ELEMENT bend
|
||
|
(bend-alter, (pre-bend | release)?, with-bar?)>
|
||
|
<!ATTLIST bend
|
||
|
%print-style;
|
||
|
%bend-sound;
|
||
|
>
|
||
|
<!ELEMENT bend-alter (#PCDATA)>
|
||
|
<!ELEMENT pre-bend EMPTY>
|
||
|
<!ELEMENT release EMPTY>
|
||
|
<!ELEMENT with-bar (#PCDATA)>
|
||
|
<!ATTLIST with-bar
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
The tap element indicates a tap on the fretboard.
|
||
|
The element content allows specification of the
|
||
|
notation; + and T are common choices. If empty,
|
||
|
the program default is used.
|
||
|
-->
|
||
|
<!ELEMENT tap (#PCDATA)>
|
||
|
<!ATTLIST tap
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Heel and toe are used with organ pedals. The
|
||
|
substitution value is "no" if the attribute is not
|
||
|
present.
|
||
|
-->
|
||
|
<!ELEMENT heel EMPTY>
|
||
|
<!ATTLIST heel
|
||
|
substitution %yes-no; #IMPLIED
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT toe EMPTY>
|
||
|
<!ATTLIST toe
|
||
|
substitution %yes-no; #IMPLIED
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!-- Fingernails is used in harp notation. -->
|
||
|
<!ELEMENT fingernails EMPTY>
|
||
|
<!ATTLIST fingernails
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
The other-technical element is used to define
|
||
|
any technical indications not yet in MusicXML.
|
||
|
This allows extended representation, though
|
||
|
without application interoperability.
|
||
|
-->
|
||
|
<!ELEMENT other-technical (#PCDATA)>
|
||
|
<!ATTLIST other-technical
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Articulations and accents are grouped together here.
|
||
|
-->
|
||
|
<!ELEMENT articulations
|
||
|
((accent | strong-accent | staccato | tenuto |
|
||
|
detached-legato | staccatissimo | spiccato |
|
||
|
scoop | plop | doit | falloff | breath-mark |
|
||
|
caesura | other-articulation)*)>
|
||
|
|
||
|
<!ELEMENT accent EMPTY>
|
||
|
<!ATTLIST accent
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT strong-accent EMPTY>
|
||
|
<!ATTLIST strong-accent
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
type %up-down; "up"
|
||
|
>
|
||
|
<!ELEMENT staccato EMPTY>
|
||
|
<!ATTLIST staccato
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT tenuto EMPTY>
|
||
|
<!ATTLIST tenuto
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT detached-legato EMPTY>
|
||
|
<!ATTLIST detached-legato
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT staccatissimo EMPTY>
|
||
|
<!ATTLIST staccatissimo
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT spiccato EMPTY>
|
||
|
<!ATTLIST spiccato
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
The scoop, plop, doit, and falloff elements are
|
||
|
indeterminate slides attached to a single note.
|
||
|
Scoops and plops come before the main note, coming
|
||
|
from below and above the pitch, respectively. Doits
|
||
|
and falloffs come after the main note, going above
|
||
|
and below the pitch, respectively.
|
||
|
-->
|
||
|
<!ELEMENT scoop EMPTY>
|
||
|
<!ATTLIST scoop
|
||
|
%line-shape;
|
||
|
%line-type;
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT plop EMPTY>
|
||
|
<!ATTLIST plop
|
||
|
%line-shape;
|
||
|
%line-type;
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT doit EMPTY>
|
||
|
<!ATTLIST doit
|
||
|
%line-shape;
|
||
|
%line-type;
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT falloff EMPTY>
|
||
|
<!ATTLIST falloff
|
||
|
%line-shape;
|
||
|
%line-type;
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!ELEMENT breath-mark EMPTY>
|
||
|
<!ATTLIST breath-mark
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
<!ELEMENT caesura EMPTY>
|
||
|
<!ATTLIST caesura
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
The other-articulation element is used to define
|
||
|
any articulations not yet in MusicXML. This
|
||
|
allows extended representation, though without
|
||
|
application interoperability.
|
||
|
-->
|
||
|
<!ELEMENT other-articulation (#PCDATA)>
|
||
|
<!ATTLIST other-articulation
|
||
|
%print-style;
|
||
|
%placement;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Dynamics and fermata elements are found in common.dtd
|
||
|
as they apply to more than just note elements.
|
||
|
-->
|
||
|
|
||
|
<!--
|
||
|
Indicates that this note is part of an arpeggiated chord.
|
||
|
The number attribute can be used to distinguish between
|
||
|
two simultaneous chords arpeggiated separately (different
|
||
|
numbers) or together (same number). The up-down attribute
|
||
|
is used if there is an arrow on the arpeggio sign. By
|
||
|
default, arpeggios go from the lowest to highest note.
|
||
|
-->
|
||
|
<!ELEMENT arpeggiate EMPTY>
|
||
|
<!ATTLIST arpeggiate
|
||
|
number %number-level; #IMPLIED
|
||
|
direction %up-down; #IMPLIED
|
||
|
%position;
|
||
|
%placement;
|
||
|
%color;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Indicates that this note is at the top or bottom of
|
||
|
a bracket indicating to not arpeggiate these notes.
|
||
|
Since this does not involve playback, it is only
|
||
|
used on the top or bottom notes, not on each note
|
||
|
as for the arpeggiate element.
|
||
|
-->
|
||
|
<!ELEMENT non-arpeggiate EMPTY>
|
||
|
<!ATTLIST non-arpeggiate
|
||
|
type %top-bottom; #REQUIRED
|
||
|
number %number-level; #IMPLIED
|
||
|
%position;
|
||
|
%placement;
|
||
|
%color;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Text underlays for lyrics, based on Humdrum with support
|
||
|
for other formats. The lyric number indicates multiple
|
||
|
lines, though a name can be used as well (as in Finale's
|
||
|
verse/chorus/section specification). Word extensions are
|
||
|
represented using the extend element. Hyphenation is
|
||
|
indicated by the syllabic element, which can be single,
|
||
|
begin, end, or middle. These represent single-syllable
|
||
|
words, word-beginning syllables, word-ending syllables,
|
||
|
and mid-word syllables. Multiple syllables on a single
|
||
|
note are separated by elision elements. A hyphen in the
|
||
|
text element should only be used for an actual hyphenated
|
||
|
word. Humming and laughing representations are taken from
|
||
|
Humdrum. The end-line and end-paragraph elements come
|
||
|
from RP-017 for Standard MIDI File Lyric meta-events;
|
||
|
they help facilitate lyric display for Karaoke and
|
||
|
similar applications. Language names for text elements
|
||
|
come from ISO 639, with optional country subcodes from
|
||
|
ISO 3166. Justification is center by default; placement is
|
||
|
below by default.
|
||
|
-->
|
||
|
<!ELEMENT lyric
|
||
|
((((syllabic?, text),
|
||
|
(elision, syllabic?, text)*, extend?) |
|
||
|
extend | laughing | humming),
|
||
|
end-line?, end-paragraph?, %editorial;)>
|
||
|
<!ATTLIST lyric
|
||
|
number NMTOKEN #IMPLIED
|
||
|
name CDATA #IMPLIED
|
||
|
%justify;
|
||
|
%position;
|
||
|
%placement;
|
||
|
%color;
|
||
|
>
|
||
|
|
||
|
<!ELEMENT text (#PCDATA)>
|
||
|
<!ATTLIST text
|
||
|
%font;
|
||
|
%color;
|
||
|
xml:lang NMTOKEN #IMPLIED
|
||
|
>
|
||
|
<!ELEMENT syllabic (#PCDATA)>
|
||
|
<!ELEMENT elision EMPTY>
|
||
|
<!ATTLIST elision
|
||
|
%font;
|
||
|
%color;
|
||
|
>
|
||
|
<!ELEMENT extend EMPTY>
|
||
|
<!ATTLIST extend
|
||
|
%font;
|
||
|
%color;
|
||
|
>
|
||
|
<!ELEMENT laughing EMPTY>
|
||
|
<!ELEMENT humming EMPTY>
|
||
|
<!ELEMENT end-line EMPTY>
|
||
|
<!ELEMENT end-paragraph EMPTY>
|
||
|
|
||
|
<!--
|
||
|
Figured bass elements take their position from the first
|
||
|
regular note that follows. Figures are ordered from top to
|
||
|
bottom. A figure-number is a number. Values for prefix and
|
||
|
suffix include the accidental values sharp, flat, natural,
|
||
|
double-sharp, flat-flat, and sharp-sharp. Suffixes include
|
||
|
both symbols that come after the figure number and those
|
||
|
that overstrike the figure number. The suffix value slash
|
||
|
is used for slashed numbers indicating chromatic alteration.
|
||
|
The orientation and display of the slash usually depends on
|
||
|
the figure number. The prefix and suffix elements may
|
||
|
contain additional values for symbols specific to particular
|
||
|
figured bass styles. The value of parentheses is "no" if not
|
||
|
present.
|
||
|
-->
|
||
|
<!ELEMENT figured-bass (figure+, duration?, %editorial;)>
|
||
|
<!ATTLIST figured-bass
|
||
|
%print-style;
|
||
|
%printout;
|
||
|
parentheses %yes-no; #IMPLIED
|
||
|
>
|
||
|
<!ELEMENT figure (prefix?, figure-number?, suffix?, extend?)>
|
||
|
<!ELEMENT prefix (#PCDATA)>
|
||
|
<!ATTLIST prefix
|
||
|
%print-style;
|
||
|
>
|
||
|
<!ELEMENT figure-number (#PCDATA)>
|
||
|
<!ATTLIST figure-number
|
||
|
%print-style;
|
||
|
>
|
||
|
<!ELEMENT suffix (#PCDATA)>
|
||
|
<!ATTLIST suffix
|
||
|
%print-style;
|
||
|
>
|
||
|
|
||
|
<!--
|
||
|
Backup and forward are required to coordinate multiple
|
||
|
voices in one part, including music on multiple staves.
|
||
|
Forward is generally used within voices and staves,
|
||
|
while backup to move between voices and staves. Thus
|
||
|
the backup element does not include voice or staff
|
||
|
elements. Duration values should always be positive,
|
||
|
and should not cross measure boundaries.
|
||
|
-->
|
||
|
<!ELEMENT backup (duration, %editorial;)>
|
||
|
<!ELEMENT forward
|
||
|
(duration, %editorial-voice;, staff?)>
|