MakeMusic
SmartMusic Finale Garritan MusicXML

Initial proposal for enhanced guitar tab in MusicXML 0.6c

Moderator: Michael Good

Initial proposal for enhanced guitar tab in MusicXML 0.6c

Postby Michael Good » Thu Jul 11, 2002 5:43 pm

Here is the current proposal to add more guitar tab support to MusicXML. There is a draft version of the 0.6c DTD available at:

http://www.recordare.com/dtds/06c/musicxml.zip

The individual DTD files are also at their expected places in this directory. Most of the changes are in note.dtd, with some changes in direction.dtd and common.dtd as well.

MusicXML 0.6c includes:

1) Revised hammer-on and pull-off
2) Bends
3) Slides
4) Harmonics
5) Taps
6) Brackets

1) Hammer-on and pull-off

I don't think any software has supported these MusicXML elements yet. That is good because I think what we had in 0.6b is too simple. I see in looking at more tab music that a slur may be notated across many notes, with individual "H" and "P" symbols between each pair. Therefore, these have been moved out of the <slur> element to the <technical> element, where they are now defined as:

<!ELEMENT hammer-on (#PCDATA)>
<!ATTLIST hammer-on
type %start-stop; #REQUIRED
number %beam-level; "1"
%position;
%placement;>
<!ELEMENT pull-off (#PCDATA)>
<!ATTLIST pull-off
type %start-stop; #REQUIRED
number %beam-level; "1"
%position;
%placement;>

The text in the element allows you to specify "h", "H", or whatever symbol you want for the hammer-on indication. If you don't use it, you get the tab program's default for the current user.

2) Bends

A <bend> element goes into a <technical> element. It is defined as:

<!ELEMENT bend
(bend-alter, (pre-bend | release)?, with-bar?)>
<!ATTLIST bend
%position; >
<!ELEMENT bend-alter (#PCDATA)>
<!ELEMENT pre-bend EMPTY>
<!ELEMENT release EMPTY>
<!ELEMENT with-bar (#PCDATA)>
<!ATTLIST with-bar
%position;
%placement; >

The bend-alter value is the number of half-steps in the bend, similar to MusicXML's alter element. As with the alter element, a value like 0.5 can be used for a quarter-tone bend. Negative values indicate pre-bend or release. Include the appropriate element to indicate which is correct. The <with-bar> element indicates the bend should be done with the tremolo / whammy bar. The text of the element indicates how this should be notated.

3) Slides

Slides are now available as a top-level <notations> element, very similar to <glissando>:

<!ELEMENT slide EMPTY>
<!ATTLIST slide
type %start-stop; #REQUIRED
number %beam-level; "1"
%line-type;
%position; >
<!ENTITY % line-type
"line-type (solid | dashed | dotted | wavy) #IMPLIED">

The old <slide> element in <ornaments>, intended for slide appoggiaturas in classical music, is now renamed <slide-ornament>. I don't think this has been used outside of MuseData.

4) Harmonics

Natural and artificial harmonics are now available in the <technical>
element:

<!ELEMENT harmonic
((natural | artificial)?,
(base-pitch | touching-pitch | sounding-pitch)?)> <!ATTLIST harmonic
%position;
%placement; >
<!ELEMENT natural EMPTY>
<!ELEMENT artificial EMPTY>
<!ELEMENT base-pitch EMPTY>
<!ELEMENT touching-pitch EMPTY>
<!ELEMENT sounding-pitch EMPTY>

Natural and artificial pinch harmonics can use the <base-pitch> and <sounding-pitch> elements, while full artificial harmonics can use the <touching-pitch> element too. If the notation program doesn't keep track of the sounding pitch, just the notated pitch, that's OK. Just use this element for whatever harmonic pitches you do use.

5) Taps

Fretboard taps are indicated with the <tap> element within the <technical> element:

<!ELEMENT tap (#PCDATA)>
<!ATTLIST tap
%position;
%placement; >

The element content (typically "+" or "T") lets you specify how to notate the tap if you want. If left blank, you get the program's defaults for the current user.

6) Brackets

Lots of tab notation can be done by a combination of a text direction and either a dashed line or a bracket. We had the <dashes> element for this, and now we have the <bracket> element too. This is a new <direction-type> element, defined as:

<!ELEMENT bracket EMPTY>
<!ATTLIST bracket
type %start-stop; #REQUIRED
line-end (up | down | both | none) #REQUIRED
%line-type;
%position; >

That seems to take care of all the guitar bracket types I have seen so far.

Still to come are tremolos, plus a general way to indicate the indeterminate slides, fall-offs, etc. attached to just one note. I will post a separate message on the latter topic. Also to come in 0.6c are some added elements for classical notation.

Please let me know what you think. Suggestions are most appreciated!

Best regards,

Michael Good Recordare LLC
Michael Good
VP of MusicXML Technologies
MakeMusic, Inc.
User avatar
Michael Good
 
Posts: 2197
Joined: March, 2014
Reputation: 0

Who is online

Users browsing this forum: No registered users and 2 guests