B5Repertoire: String Tablature

This chapter describes the MEI.stringtab module (which will be renamed to MEI.tablature in a future version). The MEI.stringtab module is used to record basic tablature notation. It is designed primarily for plucked-string instruments, such as guitar and lute.

5.1The Staff Definition

5.1.1Defining the Notation

Tablatures come in a variety of types or notations, varying according to instrument but also according to historical context. The notation used is defined on the <staffDef> element using the @notationtype attribute. Possible values are: tab.guitar, tab.lute.italian, tab.lute.french, tab.lute.german and tab.staff-like.

The @lines attribute on the <staffDef> element is used to define the number of horizontal lines used in a staff.

<staffDef lines="6" n="1" notationtype="tab.guitar"> ... </staffDef>
Listing 161.

5.1.2The Instrument Setup and Tuning

Because string tablatures specify which frets and strings to play on the instrument, rather than abstract pitches, it is necessary to know the tuning and setup of the instrument.

Guitar-like instruments can be described in terms of the number of strings they have, but often the strings are grouped and notated as if those groups were a single string. Examples include mandolins and 12-string guitars. To make this distinction explicit, we use "string" exclusively to refer to physical strings. To refer to the notated version, which may consist of one or more physical strings, we use the historical term, "course". Thus, both a 6-string and a 12-string guitar are 6-course instruments.

The course tuning for 6- and 12-string guitars are the same — so they can both play from the same tablatures. Our tuning specification supports indicating course tunings on their own, or string tunings as well.

The <tuning> element is used inside <staffDef> to describe the pitches of the open strings of the instrument. In the simplest cases, the tuning can be named from a standard list. For example, to specify the most common tuning of the guitar:

<staffDef lines="6" n="1" notationtype="tab.guitar">
<tuning tuning.standard="guitar.standard"/>
</staffDef>
Listing 162.

or, for six-course lute:

<staffDef lines="6" n="1" notationtype="tab.lute.french">
<tuning tuning.standard="lute.renaissance.6"/>
</staffDef>
Listing 163.

Custom tuning may be needed when no existing @tuning.standard value applies. The course [not available in this MEI customization] element gives the tuning of each course. @n captures the course number (counting from the course closest to the player’s feet when the instrument is played), @pname the pitch information and @oct the octave information.

For standard classical guitar tuning, the <tuning> element might look like this:

<tuning>
<course n="1" pname="e" oct="4"/>
<course n="2" pname="b" oct="3"/>
<course n="3" pname="g" oct="3"/>
<course n="4" pname="d" oct="3"/>
<course n="5" pname="a" oct="2"/>
<course n="6" pname="e" oct="2"/>
</tuning>
Listing 164.

Chromatic alteration of the open string’s pitch may be indicated by adding the @accid. For example, a guitar in E-flat tuning might look like this:

<staffDef lines="6" n="1" notationtype="tab.guitar">
<tuning>
<course n="1" oct="5" pname="e" accid="f"/>
<course n="2" oct="4" pname="b" accid="f"/>
<course n="3" oct="4" pname="g" accid="f"/>
<course n="4" oct="4" pname="d" accid="f"/>
<course n="5" oct="3" pname="a" accid="f"/>
<course n="6" oct="3" pname="e" accid="f"/>
</tuning>
</staffDef>
Listing 165.

Where the specific instrumental setup is important, the stringing of the instrument can also be specified. The example below is a common way to string and tune a 6-course renaissance lute. The pitch on course [not available in this MEI customization] indicates how the resulting note would normally be transcribed in score, and would often be derived from the lowest sounding pitch.

<tuning>
<course n="1" pname="g" oct="4">
<string pname="g" oct="4"/>
</course>
<course n="2" pname="d" oct="4">
<string pname="d" oct="4"/>
</course>
<course n="3" pname="a" oct="3">
<string pname="a" oct="3"/>
<string pname="a" oct="3"/>
</course>
<course n="4" pname="f" oct="3">
<string pname="f" oct="4"/>
<string pname="f" oct="3"/>
</course>
<course n="5" pname="c" oct="3">
<string pname="c" oct="4"/>
<string pname="c" oct="3"/>
</course>
<course n="6" pname="g" oct="2">
<string pname="g" oct="3"/>
<string pname="g" oct="2"/>
</course>
</tuning>
Listing 166.

5.2Encoding Tablatures

5.2.1Basic Structure

Unlike CMN, <note> elements in tablature do not have an explicit pitch, but indicate playing instructions (i.e., where to place fingers on the fingerboard and when to play the strings). The @tab.course attribute is used to capture which course is to be struck, and @tab.fret specifies on which fret of the fretboard the player should stop the course. A value of 0 for @tab.fret refers to an unstopped, open course; a value of 1 refers to the first fret; and so on. Course order is the same as that given in the course [not available in this MEI customization] elements.

<note tab.course="6" tab.fret="5"/>
Listing 167.

A set of vertically-aligned symbols is indicated by tabGrp [not available in this MEI customization], i.e., a chord whose notes are played at the same time, and have the same (minimum) notated duration. The duration of a tabGrp [not available in this MEI customization] may be indicated visually with a rhythm symbol, whose presence is encoded using the tabDurSym [not available in this MEI customization] element. In many cases, the rhythm sign is omitted where it would repeat the previous value. For this reason tabDurSym [not available in this MEI customization] is optional, and the durational value of the tabGrp [not available in this MEI customization] is encoded as @dur.

<tabGrp dur="4">
<tabDurSym/>
<note tab.course="4" tab.fret="2"/>
<note tab.course="6" tab.fret="0"/>
</tabGrp>
Listing 168.

As with CMN, rhythm flags joined together can be indicated using beam [not available in this MEI customization]. Since every note in a beam group always has a rhythm sign, tabDurSym [not available in this MEI customization] should be used for beamed notes.

<beam>
<tabGrp dur="8">
<tabDurSym/>
<note tab.course="1" tab.fret="0"/>
</tabGrp>
<tabGrp dur="8">
<tabDurSym/>
<note tab.course="1" tab.fret="2"/>
</tabGrp>
</beam>
Listing 169.

Tablatures usually indicate a rest by a rhythm sign that has no symbols for notes underneath. We can encode this with a tabDurSym [not available in this MEI customization] that is the only element of a tabGrp [not available in this MEI customization].

<tabGrp dur="4">
<tabDurSym/>
</tabGrp>
Listing 170.

In some rare cases, special rest symbols may also appear below the rhythm sign. This can be encoded by adding a <rest> to the tabGrp [not available in this MEI customization].

<tabGrp dur="4">
<tabDurSym/>
<rest/>
</tabGrp>
Listing 171.

5.2.2Special Case: 'Notehead' Notation

A special kind of @notationtype is tab.staff-like, also referred to as 'notehead notation'. This notationtype is a hybrid between CMN and tablature that uses solid, stemless noteheads on a CMN staff, with tablature rhythm flags placed above the staff. It provides only pitch and onset information, and gives no interpretation of note duration or voice leading; as such, it faithfully transcribes tablature into a staff-like form.

tab.staff-like differs from the other tablature @notationtypes in the following ways. The <staffDef> and <note> are structured following the conventions of the Common Music Notation repertoire (see #cmnDefs [not available in this MEI customization]): in <staffDef>, the attribute @lines always has value 5 and the elements <clef> and <keySig> are required. The element <note> requires the attributes @pitch and @oct. Unlike in other tablature notation types, the element <tuning> in <staffDef> and the attributes @tab.course and @tab.fret on <note> are now optional.

<staffDef n="1" lines="5" notationtype="tab.staff-like">
<clef shape="G" line="2" dis="8" dis.place="below"/>
<keySig sig="0"/>
<mensur sign="C" num="3"/>
</staffDef>
...
<measure n="1">
<staff n="1">
<layer n="1">
<tabGrp dur="4">
<tabDurSym/>
</tabGrp>
<tabGrp dur="4">
<tabDurSym/>
</tabGrp>
<tabGrp dur="4">
<tabDurSym/>
<note pname="a" oct="4"/>
<note pname="a" oct="3"/>
</tabGrp>
</layer>
</staff>
</measure>
<measure n="2">
<staff n="1">
<layer n="1">
<tabGrp dur="4">
<tabDurSym/>
<note pname="a" oct="4"/>
<note pname="c" oct="4"/>
<note pname="a" oct="3"/>
</tabGrp>
<tabGrp dur="16">
<tabDurSym/>
<note pname="a" oct="4"/>
</tabGrp>
<tabGrp dur="16">
<tabDurSym/>
<note pname="g" oct="4"/>
</tabGrp>
<tabGrp dur="16">
<tabDurSym/>
<note pname="a" oct="4"/>
</tabGrp>
<tabGrp dur="16">
<tabDurSym/>
<note pname="b" oct="4"/>
</tabGrp>
<beam>
<tabGrp dur="8">
<tabDurSym/>
<note pname="c" oct="5"/>
<note pname="c" oct="4"/>
<note pname="a" oct="3"/>
</tabGrp>
<tabGrp dur="8">
<tabDurSym/>
<note pname="a" oct="4"/>
</tabGrp>
</beam>
</layer>
</staff>
</measure>
Listing 172.

5.2.3Vertical Organisation in German Lute Tablature

Unlike other types of lute tablature, German lute tablature encodes the course and the fret information simultaneously, and in that sense is different from the staff-based (i.e., Italian and French) lute tablature types. Vertical positioning thus does not correspond to the course to be played, and may instead reflect aesthetic or layout conventions or, in some cases, indicate voice leading. Mechanisms for encoding vertical organisation of the tablature notes in horizontal strands (i.e., ‘rows’ or ‘lines’) are thus required.

  • The @tab.align attribute on <staffDef> specifies the vertical alignment of the tablature notes. It typically takes two of the four data.VERTICALALIGNMENT values (top and bottom), and can be used to encode a consistent alignment of the tablature notes towards the top row or the bottom row. As with @valign, top is the default value for @tab.align. Therefore, in practice, @tab.align is only required in the ‘bottom’ scenario.
  • The @lines attribute, also on <staffDef>, is used to specify the number of horizontal strands. These lines are conceptual rather than visible. Following general MEI practice, lines are counted from bottom to top, starting at 1.
  • In specific cases, @tab.anchorline is also needed on <staffDef>. It is used where the vertical alignment of tablature notes is consistent but cannot be identified using a typical value of @tab.align (i.e., top or bottom). It specifies the horizontal strand corresponding to the @lines attribute on the <staffDef> that anchors the vertical position of notes. Note that the usage of @tab.anchorline always implies top alignment (see examples below).
  • The @tab.line attribute on <note>, which also corresponds to the @lines attribute on the <staffDef>, is used to indicate position of the note on one of these strands — where this deviates from the default positioning suggested by @tab.align and/or @tab.anchorline.

The mechanisms presented in this section may be used to encode German lute tablature according to the following four scenarios. Note that, in the encoding, the order of notes in tabGrp [not available in this MEI customization] is significant — the first encoded note is the top symbol drawn in the chord, while the last encoded note that is a child of tabGrp [not available in this MEI customization] is the bottom symbol in the chord.

  • Alignment from the top.

    example
    Figure 62. A-Wn Mus.Hs. 18688, fol. 7v, [Elslein], m. 3.

    Example encoding:

    <staffDef n="1" notationtype="tab.lute.german"> ... </staffDef>
    ...
    <beam>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="1" tab.fret="2"/>
    <note tab.course="3" tab.fret="0"/>
    <note tab.course="4" tab.fret="0"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="1" tab.fret="0"/>
    </tabGrp>
    </beam>
    <beam>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="1" tab.fret="2"/>
    </tabGrp>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="1" tab.fret="0"/>
    </tabGrp>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="1" tab.fret="2"/>
    </tabGrp>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="1" tab.fret="4"/>
    </tabGrp>
    </beam>
    <tabGrp dur="4">
    <tabDurSym/>
    <note tab.course="1" tab.fret="5"/>
    <note tab.course="3" tab.fret="0"/>
    <note tab.course="5" tab.fret="0"/>
    </tabGrp>
    Listing 173.

  • Alignment from the bottom.

    example
    Figure 63. A-Wn Mus.Hs. 18688, fol. 24v, Elseleyn, m. 4.

    Example encoding — note the usage of @tab.align on the <staffDef>:

    <staffDef n="1" tab.align="bottom" notationtype="tab.lute.german"> ... </staffDef>
    ...
    <beam>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="1" tab.fret="2"/>
    <note tab.course="3" tab.fret="0"/>
    <note tab.course="4" tab.fret="0"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="1" tab.fret="0"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="1" tab.fret="2"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="1" tab.fret="4"/>
    </tabGrp>
    </beam>
    <tabGrp dur="4">
    <tabDurSym/>
    <note tab.course="1" tab.fret="5"/>
    <note tab.course="3" tab.fret="0"/>
    <note tab.course="5" tab.fret="0"/>
    </tabGrp>
    <tabGrp dur="4">
    <tabDurSym/>
    <note tab.course="1" tab.fret="7"/>
    <note tab.course="3" tab.fret="5"/>
    </tabGrp>
    <tabGrp dur="4">
    <tabDurSym/>
    <note tab.course="5" tab.fret="7"/>
    </tabGrp>
    <tabGrp dur="4">
    <tabDurSym/>
    <note tab.course="1" tab.fret="7"/>
    <note tab.course="3" tab.fret="5"/>
    </tabGrp>
    Listing 174.

  • Alignment from the top, with deviating anchorline. The anchorline, usually the second line from the top or bottom, is used as the vertical starting position when stacking notes into chords. Single notes simply occupy this position; chords ‘grow upwards’ from this position. If the chord extends further than the number of available horizontal strands above the anchorline, the entire chord is shifted downward until its top note is positioned on the top-most line.

    example
    Figure 64. Melchior Neusidler, Teütsch Lautenbuch (1574), fol. 4r, Benedicta es coeloru[m], mm. 22–25.

    Example encoding (m. 1) — note the usage of @lines and @tab.anchorline on the <staffDef>:

    <staffDef n="1" lines="5" tab.anchorline="4" notationtype="tab.lute.german"> ... </staffDef>
    ...
    <beam>
    <tabGrp dur="32">
    <tabDurSym/>
    <note tab.course="3" tab.fret="3"/>
    </tabGrp>
    <tabGrp dur="32">
    <tabDurSym/>
    <note tab.course="3" tab.fret="2"/>
    </tabGrp>
    <tabGrp dur="32">
    <tabDurSym/>
    <note tab.course="3" tab.fret="0"/>
    </tabGrp>
    <tabGrp dur="32">
    <tabDurSym/>
    <note tab.course="3" tab.fret="2"/>
    </tabGrp>
    </beam>
    <beam>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="2" tab.fret="2"/>
    <note tab.course="3" tab.fret="3"/>
    <note tab.course="5" tab.fret="0"/>
    </tabGrp>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="2" tab.fret="0"/>
    </tabGrp>
    </beam>
    <beam>
    <tabGrp dur="32">
    <tabDurSym/>
    <note tab.course="2" tab.fret="2"/>
    </tabGrp>
    <tabGrp dur="32">
    <tabDurSym/>
    <note tab.course="2" tab.fret="0"/>
    </tabGrp>
    <tabGrp dur="32">
    <tabDurSym/>
    <note tab.course="2" tab.fret="2"/>
    </tabGrp>
    <tabGrp dur="32">
    <tabDurSym/>
    <note tab.course="2" tab.fret="4"/>
    </tabGrp>
    </beam>
    <tabGrp dur="4">
    <tabDurSym/>
    <note tab.course="1" tab.fret="0"/>
    <note tab.course="2" tab.fret="0"/>
    <note tab.course="6" tab.fret="4"/>
    </tabGrp>
    Listing 175.

    example
    Figure 65. Wolff Heckel, Discant. Lautten Bůch (1562), p. 3, Ich klag den tag und alle stund, mm. 3–6.

    Example encoding (m. 1) — note the usage of @lines and @tab.anchorline on the <staffDef>:

    <staffDef n="1" lines="4" tab.anchorline="2" notationtype="tab.lute.german"> ... </staffDef>
    ...
    <beam>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="1" tab.fret="2"/>
    <note tab.course="2" tab.fret="3"/>
    <note tab.course="3" tab.fret="0"/>
    <note tab.course="5" tab.fret="2"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="1" tab.fret="0"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="1" tab.fret="2"/>
    <note tab.course="2" tab.fret="3"/>
    <note tab.course="4" tab.fret="0"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="1" tab.fret="3"/>
    </tabGrp>
    </beam>
    Listing 176.

  • Irregular alignment. In cases where the alignment provided by @tab.align or @tab.anchorline are insufficient, i.e., because the scribe is placing the symbols according to an imagined grid, this may be specified in the encoding. To do this, the @lines attribute on <staffDef> should be used to specify the number of horizontal strands, and the @tab.line attribute on <note> is to indicate the position of the note on one of these strands — but only where this deviates from the positioning suggested by @tab.align.

    example
    Figure 66. Sebastian Ochsenkun, Tabulaturbuch auff die Lauten (1558), fol. LVIIIr, Herr Gott laß dich erbarmen, mm. 1–4.

    Example encoding (mm. 1–3) — note the usage of @lines on the <staffDef> and @tab.line on the <note>s.

    <staffDef n="1" lines="4" notationtype="tab.lute.german"> ... </staffDef>
    ...
    <measure n="1">
    <staff n="1">
    <layer n="1">
    <tabGrp dur="2">
    <tabDurSym/>
    </tabGrp>
    <tabGrp dur="4">
    <tabDurSym/>
    <note tab.course="2" tab.fret="3" tab.line="4"/>
    <note tab.course="3" tab.fret="3" tab.line="3"/>
    <note tab.course="4" tab.fret="0" tab.line="2"/>
    <note tab.course="5" tab.fret="5" tab.line="1"/>
    </tabGrp>
    </layer>
    </staff>
    </measure>
    <measure n="2">
    <staff n="1">
    <layer n="1">
    <tabGrp dur="4">
    <tabDurSym/>
    <note tab.course="2" tab.fret="3" tab.line="4"/>
    <note tab.course="3" tab.fret="5" tab.line="3"/>
    <note tab.course="4" tab.fret="4" tab.line="2"/>
    <note tab.course="5" tab.fret="2" tab.line="1"/>
    </tabGrp>
    <tabGrp dur="4">
    <tabDurSym/>
    <note tab.course="1" tab.fret="0" tab.line="4"/>
    <note tab.course="2" tab.fret="2" tab.line="3"/>
    <note tab.course="3" tab.fret="1" tab.line="2"/>
    <note tab.course="4" tab.fret="2" tab.line="1"/>
    </tabGrp>
    <beam>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="1" tab.fret="2" tab.line="4"/>
    <note tab.course="2" tab.fret="3" tab.line="3"/>
    <note tab.course="3" tab.fret="3" tab.line="2"/>
    <note tab.course="4" tab.fret="0" tab.line="1"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="4" tab.fret="2" tab.line="1"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="4" tab.fret="4" tab.line="1"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="1" tab.fret="3" tab.line="4"/>
    </tabGrp>
    </beam>
    </layer>
    </staff>
    </measure>
    <measure n="3">
    <staff n="1">
    <layer n="1">
    <beam>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="1" tab.fret="5" tab.line="4"/>
    <note tab.course="3" tab.fret="3" tab.line="3"/>
    <note tab.course="4" tab.fret="4" tab.line="2"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="2" tab.fret="3" tab.line="3"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="2" tab.fret="3" tab.line="3"/>
    <note tab.course="4" tab.fret="2" tab.line="1"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="4" tab.fret="0" tab.line="1"/>
    </tabGrp>
    </beam>
    <tabGrp dur="8" dots="1">
    <tabDurSym/>
    <note tab.course="1" tab.fret="3" tab.line="4"/>
    <note tab.course="2" tab.fret="3" tab.line="3"/>
    <note tab.course="3" tab.fret="1" tab.line="2"/>
    <note tab.course="4" tab.fret="2" tab.line="1"/>
    </tabGrp>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="2" tab.fret="2" tab.line="3"/>
    </tabGrp>
    <beam>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="2" tab.fret="3" tab.line="3"/>
    </tabGrp>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="2" tab.fret="2" tab.line="3"/>
    </tabGrp>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="2" tab.fret="0" tab.line="3"/>
    </tabGrp>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="2" tab.fret="2" tab.line="3"/>
    </tabGrp>
    </beam>
    </layer>
    </staff>
    </measure>
    Listing 177.

    In the above example, it is the case that the vertical positioning is suggestive of voice-leading. To explicitly capture this information, layers can be specified via @layer on <note>. These can be associated with a layer definition in the <layerDef> within the <staffDef> if desired.

    Example encoding (m. 3) — note the usage of @layer on the <note>s.

    <staffDef n="1" lines="4" notationtype="tab.lute.german">
    <layerDef n="1"/>
    <layerDef n="2"/>
    <layerDef n="3"/>
    <layerDef n="4"/>
    ... </staffDef>
    ...
    <measure n="3">
    <staff n="1">
    <layer n="1">
    <beam>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="1" tab.fret="5" tab.line="4" layer="1"/>
    <note tab.course="3" tab.fret="3" tab.line="3" layer="2"/>
    <note tab.course="4" tab.fret="4" tab.line="2" layer="3"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="2" tab.fret="3" tab.line="3" layer="2"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="2" tab.fret="3" tab.line="3" layer="2"/>
    <note tab.course="4" tab.fret="2" tab.line="1" layer="4"/>
    </tabGrp>
    <tabGrp dur="8">
    <tabDurSym/>
    <note tab.course="4" tab.fret="0" tab.line="1" layer="4"/>
    </tabGrp>
    </beam>
    <tabGrp dur="8" dots="1">
    <tabDurSym/>
    <note tab.course="1" tab.fret="3" tab.line="4" layer="1"/>
    <note tab.course="2" tab.fret="3" tab.line="3" layer="2"/>
    <note tab.course="3" tab.fret="1" tab.line="2" layer="3"/>
    <note tab.course="4" tab.fret="2" tab.line="1" layer="4"/>
    </tabGrp>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="2" tab.fret="2" tab.line="3" layer="2"/>
    </tabGrp>
    <beam>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="2" tab.fret="3" tab.line="3" layer="2"/>
    </tabGrp>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="2" tab.fret="2" tab.line="3" layer="2"/>
    </tabGrp>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="2" tab.fret="0" tab.line="3" layer="2"/>
    </tabGrp>
    <tabGrp dur="16">
    <tabDurSym/>
    <note tab.course="2" tab.fret="2" tab.line="3" layer="2"/>
    </tabGrp>
    </beam>
    </layer>
    </staff>
    </measure>
    Listing 178.