Request for new tab-specific notation for hammer-on etc.

• Sep 24, 2014 - 13:04
S5 - Suggestion

Musescore 2.0 Beta 1

A slide/pulloff between two notes displays correctly. However, if the second note is in a chord the slur always is drawn from the first note to the top of the chord. This is OK in standard music notation but is not standard in TAB.

In the attached screen shot of Musescore, the slurs are slides and hammerons, however the slurs are drawn between different strings. This is very confusing for people who grew up on TAB.

Attachment Size
slurbug.png 7.55 KB


Has there been proposed any solution in the meantime (the topic seems to be quite old)?

This is the same with lute tablature. One possible solution is to change the voice of the two notes to voice 2 for instance. Then the correct signs have the slur.
But this is no real soluton. I would be happy if the default sluring end position in tablature would be the next note on the same course/string, even if sometimes other slurs are possible, but in these extra cases manual adjustion is possibly the best solution.

BTW - here I post an example for baroque lute, that shows some of the problems, if using voices for correct slurs and for tablature at all.
In this example for measure 1 I used voice 2 for the slurred notes, what gives a quite perfect look with the slurs in the tablature. They even are drawn beneath the notes, what is the common way in lute tablature, even if in historical sources these slurs beneath the notes sometimes had been inverted for Abzüge (pull-offs), as shown in measure 3 Slurs160131.png .

The highest note I left as voice 1, and changed it's length to a whole note, because of the notation line. (But that gives a problem with the rhythm flag that should be a quarter, as always all voices should be seen, visually spoken , as one line. So always the shortest length give the flag's length, compare to measure 2, where this is correct).
The look of the notation line here also is very problematic. In my opinion the whole notes (voice 1+3+4) should be vertically in the same and only voice 2 should be shifted horizontally.

In measure 2 I left all as one voice, the tab flag is correct then, but there are problems with the slur on beat 1 (I inverted it with Alt-x).

Agreed – it's a bug. Slurs between consecutive notes, by default, should always begin and end on the same tablature line.

Title Tablature problem with slurs and chords Request for new tab-specific notation for hammeron etc.

I'd say the symbols you are discussing *look* like slurs but are actually something different. I think the behavior of true slurs is correct, and and not likely to change since the way slurs are implemented, they are attached to chords, not notes. The issue is that we need a *new* feature to add these new types of symbols, that look like slurs but that behave differently different. The implementation would likely be based not on slurs but on other existing symbols like slides, which are attached to notes. It would help if you could provide a detailed description of the new symbols you are requesting - what they are used for, more examples from published literature, etc.

Note there do exist similar requests already - see for example #16262: Slurs: integrate a text option to enable annotations for hammer ons (e.g. H) and pull offs (e.g. P). Depending on exactly what is being requested here, this can perhaps be closed as a duplicate.

Actually, FWIW, while I still think we should treat this as a new feature so that it is still possible to have true slurs in tab, it probably *would* be possible to model the new feature on slurs, but simply give them an extra flag to force horizontal layout. Basically, it would internally be a slur with a special setting to force it to layout differently than a standard slur. That probably wouldnb't be hard. Would still love to see a fuller description of what new symbols we actually need.

If you are going to take this on, be sure to add in a little 'h', 'p' and 's' to the center of the joining slur. I know this is not necessary because you can figure it out without the little letter, however ever tab on the planet for the last 30 years have the little letters somewhere -- either on the arc or down below the staff next to the stem. Tabs look incomplete without them. Having the program place them perfectly is way better than forcing me to hack it in there.

Title Request for new tab-specific notation for hammeron etc. Request for new tab-specific notation for hammer-on etc.

The obvious solution for annotations is to have a text box in the Inspector (like the current glissando). That way, the user can customise their own text – HO, PO, h, p, s etc. – or have it blank as needed.

This is a good example of what I mean when I'd like to see a detailed description - ideally supported by examples from published literature - of exactly what is desired here.

Give me a few days and I'll write you a slide, pulloff, hammeron spec. I have a lot of banjo and guitar tab books so I can give you lots of examples and screen shots. I will include examples from other software packages. Hopefully by Monday.

Well, no hurry, but I definitely appreciate the effort! I have plenty of experience in standard notation and some excellent references on standard engraving practices, but know relatively little about tab, and the person who did the majority of the tablature implementation is primarily a Renaissance man - literally :-).

It is necessary to take into account, that guitar tab and historic lute tab differ here. In historic lute tab there is no "p", "h" or something like that.
Normally a bow below could be used for both. But it could be senseful to also have the possibility to differ between pull down and hammer on by having downward bows (hammer on) and upwards bows (pull off), as this is sometimes used in historical sources.
Both are to be drawn below the tablature signs.
See the attached example (Falckenhagen Op. 2):
m.1+2 pull-off (Abzug)
m.3 hammer-on (Einfall) and pull-off
m.5 hammer-on
m.7 hammer-on with 3 notes
These slurs could also be combined, in this example here pull-off + hammer-on.

Why not just expand the current slur behavior to allow the user to move end handles up/down between notes within a voice using [Shift] + [↑ or ↓] (currently you can only move end handles between voices). Then add an optional text-field in the Inspector for the user annotation (PO, HO etc.).

Again, internally, slurs are not attached to notes at all - they are attached to chords. So we can't have a control to change which note a slur attachjes to until we invent this new concept of a note-attached slur. If we don't actually *need* anything so general - like, we don't need the arbitrary ability to connect a slur from a note on the third line of one chord to a note on the fifth line of another - then there is no point in expending all that effort. If simply having a "horizontal" flag on the current chord-attached slurs does what is actually needed, that's much less work, and leaves time available to work on other features that are actually needed.

This is why, again, it is very important we understand the actual needs here. If we truly need the ability to connect a slur between any two notes on different lines within chords, so be it - but I'd want to understand to use case to be sure.

Normally, I would say in at least 95% cases, we (for historical lute) need a slur that connects tabs on the same line. Other cases often can be done by changing the slurs manually.

It is possible to do such slurs by changing the tab's voice (see my first example #2), but that has some side effects, as the tab flag (duration) always is taken from the first voice.
So in measure 1 of my first example the flag/stem's duration is a whole note, whereas it should be a quarter, like in measure 2!
Changing of voices in tablature (at least for lute) shouldn't have any consequences to the stems/flags' duration.

For lute notation there also are essential some lines/dashes, diagonal and vertical etc. that give other instructions like play notes together (vertical dash between bass and chord/upper voice), or let the bass ring as long as possible (diagonal line, sometimes also meant as barree indication).
Also a short bow/line below two tabs in neigbouring courses with two dots, here at the end of the line by the notes, sometimes between the notes, that mean to sweep both notes with the index finger (here 2nd and 3rd note).

BTW - slurs and other ornaments always should also appear and be changed in the parts, as these signs are part of notation.

Thanks for that! Still wanting more information on the actual requirements as established by common practice in published music for "modern" tablature.

I have taken a crack at defining a slide, hammeron and pulloff spec for Musescore 2.0.2. I have tried to separate "must have's" and "nice to have's." I looked at MusicXml, Sibelius, Lilypond and a popular tab program called Tabledit.

I hope it helps.

The thing I discovered doing this is that Tablature programs define slides, hammerons and pulloffs first and the display happens second. So all you have to do is say something is a pulloff and you never need to mess with slurs, arcs, glissando, or text markup -- the pulloff STYLE defines what is drawn.

Music notation programs tend to make you draw things first that imply a slide, hammeron and pulloff. So most music programs have no concept of a pulloff -- it is implied from the slur you draw.

Musescore needs to flip this around and track slides, pulloffs and hammerons as separate and unique things (this release) that have styles a user can mess with (in a future release)

Attachment Size
musescore-slide.txt 7.88 KB

Let me (the "Renaissance man" quoted by Marc in #12) join Marc in thanking banjobits for this extensive documentation.

A few notes about some details already implemented (with no difference between standard and tab notation, unless noted), mostly about glissandi. They may help any further step in implementation of these concepts:

1) Current glissando implementation is already between notes, rather than between chords and supports the right slant in tabs.

2) Glissandi default to connecting predefined notes between two chords but can be edited by 'snapping' either end to whatever chord note is actually needed (even across parts or staves of the same instrument).

3) Glissando already supports a custom text. Currently the user is expected to customize it, if different from the default "gliss.", but adding a few pre-defined texts associated with ready-made menu or palette items should be rather straightforward.

4) As I see it, the current glissando implementation already fulfils much of the requirements for non-legato slides.

Then a few notes about possible further implementation:

A) Glissando currently does not support any sub-type. Distinguishing between slides, legato slides, hammer and pull off (and any of them from the generic glissando?) might require adding a new field to the Glissando class to mark the sub-type; it would be used for display and import-export purposes.

B) Again as I see it, it supports the functional requirements for hammer / pull off, except for the shape of the line. This could be added once sub-types are added to the Glissando class, in a relatively straightforward way.

C) Legato slides require 2 lines; this is a rather deep structural difference. I wonder if it would be worth implementing them as two different elements (one for the straight line and one for the arc), rather than a totally new element; there might be pros and cons for either solution. It might even be possible to create a compound element, behaving as one at high level, but made of two elements at a lower level to leverage as much existing code as possible; but this would relatively new ground, as far as MuseScore code base is concerned.

D) Borrowing slur code for the arcs might prove more cumbersome than useful, as these arcs are always level and the code needs a lot less special cases than for slurs. Who will actually implement all of this will judge, though!

Hoping this can be of some use,


@Marc: What do you mean with "modern" tablature? There is a strong difference between guitar tablature and "modern" ways of lute tablature.
I think it is necessary to have the possibility to define different ways of drawing the different legato ways of playing (hammer-on, pull-off etc.) for different sort of tablatures.
Furthermore it would be good to have possibilities to define different musically essential signs in the tablature, that doesn't have to be reflected in the audio output (eg. lines for sweeping of fingers or holding notes).

But I also think it would be useful to have the possibility to adjust the length of notes by dividing them into different voices without - that would be essential - changing the length of the duration stem/flag! These flags should always rely on the length of "all voices put into one voice" - at least that applies for lute tablatures, that have only one flag system above.
But that migth be another building site.

I think it is important to ensure that the case for further implementation is backed by sufficient evidence in the form of a good selection of links to scores, which can then be evaluated by developers and testers alike.

However, I can see the case for annotated slurs and for allowing the user to easily adjust slurs so that they end on the right note.