This Chapter of the MEI Guidelines is based on the older MEI v3 release. It may contradict the current state of the MEI specifications as documented in the Elements, Attribute Classes, Model Classes, Data Types and Macro Groups sections. The Community is currently working to update these Guidelines. Of course, help is greatly appreciated. In case you would like to contribute, please reach out to us.
This chapter describes the attribute classes that are part of the MEI.tablature module.
The tablature module is used to record basic tablature notation. It is designed primarily for guitar and similar plucked-string instruments.
The @lines attribute on the staffDef element is used to define the number of lines, courses, or strings, present in the tablature. The @tab.strings attribute is then used to enumerate the pitches of the open strings. It is important to note that this is given using the written pitch, not the sounding pitch. For example, the Western 6-string guitar, in standard tuning, sounds an octave below written pitch.
The @tab.strings attribute gives the string tuning, ordered from highest to lowest pitch.
For standard guitar tuning, the staffDef element might look like this:
Chromatic alteration of the open string’s pitch may be indicated with the ‘-‘ or ‘f’ (flat), or the ‘#’ or ‘s’ (sharp). Multiple sharps and flats are not permitted.
A guitar in E-flat tuning might look like this:
Some instruments, like the 12-string guitar, have the four lowest strings tuned an octave above but are still written on a 6-line tablature staff. In this case, you may enumerate the open string pitches while maintaining 6 lines.
The note element is used to capture the specific events in the tablature. The @tab.string attribute is used to capture which string the note is to be played on. String order is the same as that given in the @tab.strings attribute. This attribute takes a positive integer in the range of 1-9.
In the case of fretted instruments, the fret number may be captured using the @tab.fret attribute. An open string may be indicated using the value “0” (zero).