mirror of
https://github.com/microtherion/VocalEasel.git
synced 2024-12-22 03:04:00 +00:00
645 lines
20 KiB
DTD
Executable File
645 lines
20 KiB
DTD
Executable File
<!--
|
|
MusicXML common.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
|
|
-->
|
|
|
|
<!--
|
|
This file contains entities and elements that are common
|
|
across multiple component DTDs. In particular, several
|
|
elements here are common across both notes and measures.
|
|
-->
|
|
|
|
<!-- Entities -->
|
|
|
|
<!--
|
|
If greater ASCII compatibility is desired, entity
|
|
references may be used instead of the direct Unicode
|
|
characters. Currently we include ISO Latin-1 for Western
|
|
European characters and ISO Latin-2 for Central European
|
|
characters.
|
|
-->
|
|
<!ENTITY % ISOlat1 PUBLIC
|
|
"ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
|
|
"ISOlat1.pen">
|
|
%ISOlat1;
|
|
<!ENTITY % ISOlat2 PUBLIC
|
|
"ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
|
|
"ISOlat2.pen">
|
|
%ISOlat2;
|
|
|
|
<!--
|
|
Data types. These nearly all resolve to strings but
|
|
show intent for how data is formatted and used.
|
|
-->
|
|
|
|
<!--
|
|
Calendar dates are represented yyyy-mm-dd format,
|
|
following ISO 8601.
|
|
-->
|
|
<!ENTITY % yyyy-mm-dd "(#PCDATA)">
|
|
|
|
<!--
|
|
The tenths entity is a number representing tenths of
|
|
interline space (positive or negative) for use in
|
|
attributes. The layout-tenths entity is the same for
|
|
use in elements. Both integer and decimal values are
|
|
allowed, such as 5 for a half space and 2.5 for a
|
|
quarter space.
|
|
-->
|
|
<!ENTITY % tenths "CDATA">
|
|
<!ENTITY % layout-tenths "(#PCDATA)">
|
|
|
|
<!--
|
|
Common structures between element and attribute definitions.
|
|
-->
|
|
|
|
<!--
|
|
Two entities for editorial information in notes. These
|
|
entities, and their elements defined below, are used
|
|
across all the different component DTDs.
|
|
-->
|
|
<!ENTITY % editorial "(footnote?, level?)">
|
|
<!ENTITY % editorial-voice "(footnote?, level?, voice?)">
|
|
|
|
<!--
|
|
The start-stop and start-stop-continue entities are used
|
|
for musical elements that can either start or stop, such
|
|
as slurs, tuplets, and wedges. The start-stop-continue
|
|
entity is used when there is a need to refer to an
|
|
intermediate point in the symbol, as for complex slurs.
|
|
-->
|
|
<!ENTITY % start-stop "(start | stop)">
|
|
<!ENTITY % start-stop-continue "(start | stop | continue)">
|
|
|
|
<!--
|
|
The yes-no entity is used for boolean-like attributes.
|
|
-->
|
|
<!ENTITY % yes-no "(yes | no)">
|
|
|
|
<!--
|
|
The symbol-size entity is used to indicate full vs.
|
|
cue-sized vs. oversized symbols. The large value
|
|
for oversized symbols was added in version 1.1.
|
|
-->
|
|
<!ENTITY % symbol-size "(full | cue | large)">
|
|
|
|
<!--
|
|
The up-down entity is used for arrow direction,
|
|
indicating which way the tip is pointing.
|
|
-->
|
|
<!ENTITY % up-down "(up | down)">
|
|
|
|
<!--
|
|
The top-bottom entity is used to indicate the top or
|
|
bottom part of a vertical shape like non-arpeggiate.
|
|
-->
|
|
<!ENTITY % top-bottom "(top | bottom)">
|
|
|
|
|
|
<!--
|
|
The position attributes are based on MuseData print
|
|
suggestions. For most elements, any program will compute
|
|
a default x and y position. The position attributes let
|
|
this be changed two ways.
|
|
|
|
The default-x and default-y attributes change the
|
|
computation of the default position. For most elements,
|
|
the origin is changed relative to the left-hand side of
|
|
the note or the musical position within the bar (x) and
|
|
the top line of the staff (y).
|
|
|
|
For the following elements, the default-x value changes
|
|
the origin relative to the start of the current measure:
|
|
|
|
- note
|
|
- figured-bass
|
|
- harmony
|
|
- link
|
|
- directive
|
|
- all descendants of the part-list element
|
|
- all children of the direction-type element
|
|
|
|
For the note, figured-bass, and harmony elements, the
|
|
default-x value is considered to have adjusted the
|
|
musical position within the bar for its descendant
|
|
elements.
|
|
|
|
Since the <credit-words> element is not related to a
|
|
measure, in this case the default-x and default-y
|
|
attributes adjust the origin relative to the bottom
|
|
left-hand corner of the first page.
|
|
|
|
The relative-x and relative-y attributes change the
|
|
position relative to the default position, either as
|
|
computed by the individual program, or as overridden by
|
|
the default-x and default-y attributes.
|
|
|
|
Positive x is right, negative x is left; positive y
|
|
is up, negative y is down. All units are in tenths of
|
|
interline space. For stems, positive relative-y
|
|
lengthens a stem while negative relative-y shortens it.
|
|
|
|
As elsewhere in MusicXML, tenths are the global tenths
|
|
defined by the <scaling> element, not the local tenths
|
|
of a staff resized by the <staff-size> element.
|
|
|
|
-->
|
|
<!ENTITY % position
|
|
"default-x %tenths; #IMPLIED
|
|
default-y %tenths; #IMPLIED
|
|
relative-x %tenths; #IMPLIED
|
|
relative-y %tenths; #IMPLIED">
|
|
|
|
<!--
|
|
The placement attribute indicates whether something is
|
|
above or below another element, such as a note or a
|
|
notation.
|
|
-->
|
|
<!ENTITY % placement
|
|
"placement (above | below) #IMPLIED">
|
|
|
|
<!--
|
|
The orientation attribute indicates whether slurs and
|
|
ties are overhand (tips down) or underhand (tips up).
|
|
This is distinct from the placement entity used by any
|
|
notation type.
|
|
-->
|
|
<!ENTITY % orientation
|
|
"orientation (over | under) #IMPLIED">
|
|
|
|
<!--
|
|
The bezier entity is used to indicate the curvature of
|
|
slurs and ties, representing the control points for a
|
|
cubic bezier curve. For ties, the bezier entity is
|
|
used with the tied element.
|
|
|
|
Normal slurs, S-shaped slurs, and ties need only two
|
|
bezier points: one associated with the start of the slur
|
|
or tie, the other with the stop. Complex slurs and slurs
|
|
divided over system breaks can specify additional
|
|
bezier data at slur elements with a continue type.
|
|
|
|
The bezier-offset, bezier-x, and bezier-y attributes
|
|
describe the outgoing bezier point for slurs and ties
|
|
with a start type, and the incoming bezier point for
|
|
slurs and ties with types of stop or continue. The
|
|
attributes bezier-offset2, bezier-x2, and bezier-y2
|
|
are only valid with slurs of type continue, and
|
|
describe the outgoing bezier point.
|
|
|
|
The bezier-offset and bezier-offset2 attributes are
|
|
measured in terms of musical divisions, like the offset
|
|
element. These are the recommended attributes for
|
|
specifying horizontal position. The other attributes
|
|
are specified in tenths, relative to any position
|
|
settings associated with the slur or tied element.
|
|
-->
|
|
<!ENTITY % bezier
|
|
"bezier-offset CDATA #IMPLIED
|
|
bezier-offset2 CDATA #IMPLIED
|
|
bezier-x %tenths; #IMPLIED
|
|
bezier-y %tenths; #IMPLIED
|
|
bezier-x2 %tenths; #IMPLIED
|
|
bezier-y2 %tenths; #IMPLIED">
|
|
|
|
<!--
|
|
Slurs, tuplets, and many other features can be
|
|
concurrent and overlapping within a single musical
|
|
part. The number-level attribute distinguishes up to
|
|
six concurrent objects of the same type. A reading
|
|
program should be prepared to handle cases where
|
|
the number-levels stop in an arbitrary order.
|
|
Different numbers are needed when the features
|
|
overlap in MusicXML file order.
|
|
-->
|
|
<!ENTITY % number-level "(1 | 2 | 3 | 4 | 5 | 6)">
|
|
|
|
<!--
|
|
MusicXML supports six levels of beaming, up to 256th
|
|
notes. Unlike the number-level attribute, the beam-level
|
|
identifies concurrent beams in a beam group. It does not
|
|
distinguish overlapping beams such as grace notes within
|
|
regular notes, or beams used in different voices.
|
|
-->
|
|
<!ENTITY % beam-level "(1 | 2 | 3 | 4 | 5 | 6)">
|
|
|
|
<!--
|
|
The font entity gathers together attributes for
|
|
determining the font within a directive or direction.
|
|
They are based on the text styles for Cascading
|
|
Style Sheets. The font-family is a comma-separated list
|
|
of font names. These can be specific font styles such
|
|
as Maestro or Opus, or one of three generic font styles:
|
|
music, serif, or sans-serif. The font-style can be
|
|
normal or italic. The font-size can be one of the CSS
|
|
sizes (xx-small, x-small, small, medium, large, x-large,
|
|
xx-large) or a numeric point size. The font-weight can
|
|
be normal or bold. The default is application-dependent,
|
|
but is a text font vs. a music font.
|
|
-->
|
|
|
|
<!ENTITY % font
|
|
"font-family CDATA #IMPLIED
|
|
font-style CDATA #IMPLIED
|
|
font-size CDATA #IMPLIED
|
|
font-weight CDATA #IMPLIED">
|
|
|
|
<!--
|
|
The color entity indicates the color of an element.
|
|
Color may be represented as hexadecimal RGB triples,
|
|
as in HTML, or as hexadecimal ARGB tuples, with the
|
|
A indicating alpha of transparency. An alpha value
|
|
of 00 is totally transparent; FF is totally opaque.
|
|
If RGB is used, the A value is assumed to be FF.
|
|
|
|
For instance, the RGB value "#800080" represents
|
|
purple. An ARGB value of "#40800080" would be a
|
|
transparent purple.
|
|
|
|
As in SVG 1.1, colors are defined in terms of the
|
|
sRGB color space (IEC 61966).
|
|
-->
|
|
<!ENTITY % color
|
|
"color CDATA #IMPLIED">
|
|
|
|
<!--
|
|
The justify entity is used to indicate left, center,
|
|
or right justification. The default value varies for
|
|
different elements.
|
|
-->
|
|
<!ENTITY % justify
|
|
"justify (left | center | right) #IMPLIED">
|
|
|
|
<!--
|
|
In cases where text extends over more than one line,
|
|
horizontal alignment and justify values can be
|
|
different. The most typical case is for credits,
|
|
such as:
|
|
|
|
Words and music by
|
|
Pat Songwriter
|
|
|
|
Typically this type of credit is aligned to the right,
|
|
so that the position information refers to the right-
|
|
most part of the text. But in this example, the text
|
|
is center-justified, not right-justified.
|
|
|
|
The halign attribute is used in these situations. If it
|
|
is not present, its value is the same as for the justify
|
|
attribute.
|
|
-->
|
|
<!ENTITY % halign
|
|
"halign (left | center | right) #IMPLIED">
|
|
|
|
<!--
|
|
The valign entity is used to indicate vertical
|
|
alignment to the top, middle, bottom, or baseline
|
|
of the text. Defaults are implementation-dependent.
|
|
-->
|
|
<!ENTITY % valign
|
|
"valign (top | middle | bottom | baseline) #IMPLIED">
|
|
|
|
<!--
|
|
The most popular combination of printing attributes
|
|
is position, font, and color.
|
|
-->
|
|
<!ENTITY % print-style
|
|
"%position;
|
|
%font;
|
|
%color;">
|
|
|
|
<!--
|
|
The line-shape entity is used to distinguish between
|
|
straight and curved lines. The line-type entity
|
|
distinguishes between solid, dashed, dotted, and
|
|
wavy lines.
|
|
-->
|
|
<!ENTITY % line-shape
|
|
"line-shape (straight | curved) #IMPLIED">
|
|
|
|
<!ENTITY % line-type
|
|
"line-type (solid | dashed | dotted | wavy) #IMPLIED">
|
|
|
|
<!--
|
|
The printout entity is based on MuseData print
|
|
suggestions. They allow a way to specify not to print
|
|
print an object (e.g. note or rest), its augmentation
|
|
dots, or its lyrics. This is especially useful for notes
|
|
that overlap in different voices, or for chord sheets
|
|
that contain lyrics and chords but no melody. For wholly
|
|
invisible notes, such as those providing sound-only data,
|
|
the attribute for print-spacing may be set to no so that
|
|
no space is left for this note. The print-spacing value
|
|
is only used if no note, dot, or lyric is being printed.
|
|
|
|
By default, all these attributes are set to yes. If
|
|
print-object is set to no, print-dot and print-lyric are
|
|
interpreted to also be set to no if they are not present.
|
|
-->
|
|
<!ENTITY % print-object
|
|
"print-object %yes-no; #IMPLIED">
|
|
|
|
<!ENTITY % print-spacing
|
|
"print-spacing %yes-no; #IMPLIED">
|
|
|
|
<!ENTITY % printout
|
|
"%print-object;
|
|
print-dot %yes-no; #IMPLIED
|
|
%print-spacing;
|
|
print-lyric %yes-no; #IMPLIED">
|
|
|
|
<!--
|
|
The trill-sound entity includes attributes used to guide
|
|
the sound of trills, mordents, turns, shakes, and wavy
|
|
lines, based on MuseData sound suggestions. The default
|
|
choices are:
|
|
|
|
start-note = "upper"
|
|
trill-step = "whole"
|
|
two-note-turn = "none"
|
|
accelerate = "no"
|
|
beats = "4" (minimum of "2").
|
|
|
|
Second-beat and last-beat are percentages for landing
|
|
on the indicated beat, with defaults of 25 and 75
|
|
respectively.
|
|
|
|
For mordent and inverted-mordent elements, the defaults
|
|
are different:
|
|
|
|
The default start-note is "main", not "upper".
|
|
The default for beats is "3", not "4".
|
|
The default for second-beat is "12", not "25".
|
|
The default for last-beat is "24", not "75".
|
|
-->
|
|
<!ENTITY % trill-sound
|
|
"start-note (upper | main | below) #IMPLIED
|
|
trill-step (whole | half | unison) #IMPLIED
|
|
two-note-turn (whole | half | none) #IMPLIED
|
|
accelerate %yes-no; #IMPLIED
|
|
beats CDATA #IMPLIED
|
|
second-beat CDATA #IMPLIED
|
|
last-beat CDATA #IMPLIED">
|
|
|
|
<!--
|
|
The bend-sound entity is used for bend and slide
|
|
elements, and is similar to the trill-sound. Here the
|
|
beats element refers to the number of discrete elements
|
|
(like MIDI pitch bends) used to represent a continuous
|
|
bend or slide. The first-beat indicates the percentage
|
|
of the direction for starting a bend; the last-beat the
|
|
percentage for ending it. The default choices are:
|
|
|
|
accelerate = "no"
|
|
beats = "4" (minimum of "2")
|
|
first-beat = "25"
|
|
last-beat = "75"
|
|
-->
|
|
<!ENTITY % bend-sound
|
|
"accelerate %yes-no; #IMPLIED
|
|
beats CDATA #IMPLIED
|
|
first-beat CDATA #IMPLIED
|
|
last-beat CDATA #IMPLIED">
|
|
|
|
<!--
|
|
The level-display entity allows specification of
|
|
three common ways to indicate editorial indications:
|
|
putting parentheses or square brackets around a
|
|
symbol, or making the symbol a different size. If
|
|
not specified, they are left to application defaults.
|
|
It is used by the level and accidental elements.
|
|
-->
|
|
<!ENTITY % level-display
|
|
"parentheses %yes-no; #IMPLIED
|
|
bracket %yes-no; #IMPLIED
|
|
size %symbol-size; #IMPLIED">
|
|
|
|
<!-- Elements -->
|
|
|
|
<!--
|
|
Footnote and level are used to specify editorial
|
|
information, while voice is used to distinguish
|
|
between multiple voices (what MuseData calls tracks)
|
|
in individual parts. These elements are used
|
|
throughout the component MusicXML DTDs. If the
|
|
reference attribute for the level element is yes,
|
|
this indicates editorial information that is for
|
|
display only and should not affect playback. For
|
|
instance, a modern edition of older music may set
|
|
reference="yes" on the attributes containing the
|
|
music's original clef, key, and time signature.
|
|
It is no by default.
|
|
-->
|
|
<!ELEMENT footnote (#PCDATA)>
|
|
<!ATTLIST footnote
|
|
%justify;
|
|
%halign;
|
|
%valign;
|
|
%print-style;
|
|
>
|
|
<!ELEMENT level (#PCDATA)>
|
|
<!ATTLIST level
|
|
reference %yes-no; #IMPLIED
|
|
%level-display;
|
|
>
|
|
<!ELEMENT voice (#PCDATA)>
|
|
|
|
<!--
|
|
Fermata and wavy-line elements can be applied both to
|
|
notes and to measures, so they are defined here. Wavy
|
|
lines are one way to indicate trills; when used with a
|
|
measure element, they should always have type="continue"
|
|
set. The fermata type is upright if not specified.
|
|
-->
|
|
<!ELEMENT fermata EMPTY>
|
|
<!ATTLIST fermata
|
|
type (upright | inverted) #IMPLIED
|
|
%print-style;
|
|
>
|
|
<!ELEMENT wavy-line EMPTY>
|
|
<!ATTLIST wavy-line
|
|
type %start-stop-continue; #REQUIRED
|
|
number %beam-level; #IMPLIED
|
|
%position;
|
|
%placement;
|
|
%color;
|
|
%trill-sound;
|
|
>
|
|
|
|
<!--
|
|
Staff assignment is only needed for music notated on
|
|
multiple staves. Used by both notes and directions.
|
|
Staff values are numbers, with 1 referring to the
|
|
top-most staff in a part.
|
|
-->
|
|
<!ELEMENT staff (#PCDATA)>
|
|
|
|
<!--
|
|
Segno and coda signs can be associated with a measure
|
|
or a general musical direction. These are visual
|
|
indicators only; a sound element is needed to guide
|
|
playback applications reliably.
|
|
-->
|
|
<!ELEMENT segno EMPTY>
|
|
<!ATTLIST segno
|
|
%print-style;
|
|
>
|
|
|
|
<!ELEMENT coda EMPTY>
|
|
<!ATTLIST coda
|
|
%print-style;
|
|
>
|
|
|
|
<!--
|
|
Dynamics can be associated either with a note or a
|
|
general musical direction. To avoid inconsistencies
|
|
between and amongst the letter abbreviations for
|
|
dynamics (what is sf vs. sfz, standing alone or with a
|
|
trailing dynamic that is not always piano), we use the
|
|
actual letters as the names of these dynamic elements.
|
|
The element other-dynamics allows other dynamic marks
|
|
that are not covered here, but many of those should
|
|
perhaps be included in a more general musical
|
|
direction element. Dynamics may also be combined as
|
|
in <sf/><mp/>.
|
|
|
|
These letter dynamic symbols are separated from
|
|
crescendo, decrescendo, and wedge indications. Dynamic
|
|
representation is basically inconsistent in scores
|
|
(lots of things are assumed by the composer and left out,
|
|
such as returns to original dynamics), and is quite
|
|
complex to do systematically. Humdrum for instance has
|
|
at least 3 representation formats related to dynamics.
|
|
MusicXML captures what is in the score, but does not try
|
|
to be optimal for analysis or synthesis of dynamics.
|
|
-->
|
|
<!ELEMENT dynamics ((p | pp | ppp | pppp | ppppp | pppppp |
|
|
f | ff | fff | ffff | fffff | ffffff | mp | mf | sf |
|
|
sfp | sfpp | fp | rf | rfz | sfz | sffz | fz |
|
|
other-dynamics)*)>
|
|
<!ATTLIST dynamics
|
|
%print-style;
|
|
%placement;
|
|
>
|
|
<!ELEMENT p EMPTY>
|
|
<!ELEMENT pp EMPTY>
|
|
<!ELEMENT ppp EMPTY>
|
|
<!ELEMENT pppp EMPTY>
|
|
<!ELEMENT ppppp EMPTY>
|
|
<!ELEMENT pppppp EMPTY>
|
|
<!ELEMENT f EMPTY>
|
|
<!ELEMENT ff EMPTY>
|
|
<!ELEMENT fff EMPTY>
|
|
<!ELEMENT ffff EMPTY>
|
|
<!ELEMENT fffff EMPTY>
|
|
<!ELEMENT ffffff EMPTY>
|
|
<!ELEMENT mp EMPTY>
|
|
<!ELEMENT mf EMPTY>
|
|
<!ELEMENT sf EMPTY>
|
|
<!ELEMENT sfp EMPTY>
|
|
<!ELEMENT sfpp EMPTY>
|
|
<!ELEMENT fp EMPTY>
|
|
<!ELEMENT rf EMPTY>
|
|
<!ELEMENT rfz EMPTY>
|
|
<!ELEMENT sfz EMPTY>
|
|
<!ELEMENT sffz EMPTY>
|
|
<!ELEMENT fz EMPTY>
|
|
<!ELEMENT other-dynamics (#PCDATA)>
|
|
|
|
<!--
|
|
The fret, string, and fingering elements can be
|
|
used either in a technical element for a note
|
|
or in a frame element as part of a chord symbol.
|
|
-->
|
|
|
|
<!--
|
|
Fingering is typically indicated 1,2,3,4,5. Multiple
|
|
fingerings may be given, typically to substitute
|
|
fingerings in the middle of a note. The substitution
|
|
and alternate values are "no" if the attribute is
|
|
not present. For guitar and other fretted instruments,
|
|
the fingering element represents the fretting finger;
|
|
the pluck element represents the plucking finger.
|
|
-->
|
|
<!ELEMENT fingering (#PCDATA)>
|
|
<!ATTLIST fingering
|
|
substitution %yes-no; #IMPLIED
|
|
alternate %yes-no; #IMPLIED
|
|
%print-style;
|
|
%placement;
|
|
>
|
|
|
|
<!--
|
|
Fret and string are used with tablature notation
|
|
and chord symbols. Fret numbers start with 0 for
|
|
an open string and 1 for the first fret. String
|
|
numbers start with 1 for the highest string.
|
|
String can also be used in regular notation.
|
|
-->
|
|
<!ELEMENT fret (#PCDATA)>
|
|
<!ATTLIST fret
|
|
%font;
|
|
%color;
|
|
>
|
|
<!ELEMENT string (#PCDATA)>
|
|
<!ATTLIST string
|
|
%print-style;
|
|
%placement;
|
|
>
|
|
|
|
<!--
|
|
The tuning-step, tuning-alter, and tuning-octave
|
|
elements are represented like the step, alter, and
|
|
octave elements, with different names to reflect their
|
|
different function. They are used in the staff-tuning
|
|
and accord elements.
|
|
-->
|
|
<!ELEMENT tuning-step (#PCDATA)>
|
|
<!ELEMENT tuning-alter (#PCDATA)>
|
|
<!ELEMENT tuning-octave (#PCDATA)>
|
|
|
|
<!--
|
|
The midi-instrument element can be a part of either
|
|
the score-instrument element at the start of a part,
|
|
or the sound element within a part. The id attribute
|
|
refers to the score-instrument affected by the change.
|
|
-->
|
|
<!ELEMENT midi-instrument
|
|
(midi-channel?, midi-name?, midi-bank?, midi-program?,
|
|
midi-unpitched?)>
|
|
<!ATTLIST midi-instrument
|
|
id IDREF #REQUIRED
|
|
>
|
|
|
|
<!-- MIDI channel numbers range from 1 to 16. -->
|
|
<!ELEMENT midi-channel (#PCDATA)>
|
|
|
|
<!--
|
|
MIDI names correspond to ProgramName meta-events within
|
|
a Standard MIDI File.
|
|
-->
|
|
<!ELEMENT midi-name (#PCDATA)>
|
|
|
|
<!-- MIDI bank numbers range from 1 to 16,384. -->
|
|
<!ELEMENT midi-bank (#PCDATA)>
|
|
|
|
<!-- MIDI program numbers range from 1 to 128. -->
|
|
<!ELEMENT midi-program (#PCDATA)>
|
|
|
|
<!--
|
|
For unpitched instruments, specify a MIDI note number
|
|
ranging from 1 to 128. Usually used with MIDI banks
|
|
for percussion.
|
|
-->
|
|
<!ELEMENT midi-unpitched (#PCDATA)>
|