Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update, clean, and complete TabMEI documentation #1

Open
reinierdevalk opened this issue Nov 25, 2020 · 0 comments
Open

Update, clean, and complete TabMEI documentation #1

reinierdevalk opened this issue Nov 25, 2020 · 0 comments

Comments

@reinierdevalk
Copy link
Contributor

reinierdevalk commented Nov 25, 2020

What?

This issue lists information about the modelling of lute and guitar tablature that we might possibly want to include in the documentation - for example because it explains specific choices.

Example encodings

Lute tablature fragments:

  • Italian tablature example: da_crema-1546_10-no_6 (= gerle-1552_1-no_4)
  • German tablature example: gerle-1552_1-no_4 (= da_crema-1546_10-no_6)
  • French tablature example: phalese-1546_20-no_2 (= milano-1546_6-no_8)
  • Italian tablature example: milano-1546_6-no_8 (= phalese-1546_20-no_2)

Guitar tablature fragments:

  • slurs example: van_halen-hot_for_teacher
  • slides example: satriani-not_of_this_earth
  • combined slurs + slides example: satriani-ice_9
  • various techniques example: van_halen-panama

General

  • Obvious errors (or editorial changes) are corrected (or realised) using a <sic>...</sic> element pair followed by a <corr>...</corr> element pair, so that all information remains in the encoding.

Lute tablature

  • @dots='<n>' should go to the <tabGrp>: the dot applies to the rhythm (which gives rise to the symbol).
  • n-line staves (where n != 6) are handled using @lines='<n>' in the <staffDef> (see, e.g., phalese-1546_20-no_2, where a five-line staff is used).

Guitar tablature

  • We use @dur (rather than @dur.ges) in the <tabGrp> - the duration is unambiguous here.
    • DL: OK, my guess for why we did this: it's inter-chord interval, not duration. I can happily argue either way for this, and it might be worth revisiting in the SIG.
    • RdV: I thought the issue was that in the lute tablature the actual duration depends on interpretation (does |\ mean quarter note? half note?), while in the guitar tablature it is actually directly given in the CMN staff above (so no interpretation/ambiguity)?
  • In the case of muted notes, the tab.fret value is deduced from the CMN staff above.
  • ‘Single-note hammer-ons’ (see satriani-not_of_this_earth, m. 2; van_halen-hot_for_teacher, m. 2, 3): <slur> notes can have no @endid (cf. one-note slides) because they are 'single-note hammer-ons': notes not played with the RH but sounded by hammering 'out of nothing' a LH finger onto the fretboard. @show.dirmark='true' must in these cases always render 'H'.
  • I left @startids referring to non-visible notes (i.e., notes just before or after the fragment) in for now (I assume that they won't break the parsing but just give a warning) (see satriani-ice_9 and van_halen-hot_for_teacher).
  • Guitar tablature can have above the staff
    • No rhythm symbols (the rhythm indication is done in the accompanying CMN staff; see, e.g., all guitar examples in this repository). In this case, only <tabGrp> elements need to be used.
    • Rhythm symbols (see, e.g., https://nationalguitaracademy.com/guitar-tabs-for-beginners/). In this case, <tabGrp> elements with child <tabRhythm> elements must be used.
  • Place attributes as 'high' as possible. E.g., on the <tabGrp> should go
    • @dur
    • @dot
    • @tie
    • @show.fret='true' @show.fret.enclose='paren'
  • We must make sure that tied notes that are not repeated between parentheses in the tablature (which are usually found in the middle of the bar, and have the attribute @tie='m' or @tie='t') are not shown.
  • There should be a default dirmark (default text for a technique) that is shown when @show.dirmark='true'. Candidates:
    • sl. for <gliss>
    • pick sl. for <gliss> with @pick-slide='true'
    • H or P for <slur> (hammer-on or pull-off)
    • T for <dir> with @technique='tap-fing' / @technique='tap-pick'
    • P.M. for <dir> with @technique='palm-muting'; followed by a dashed line in case of multiple notes
    • let ring for <dir> with @technique='let-ring'; followed by a dashed line in case of multiple notes
    • rake for <dir> with @technique='rake'
    • Fdbk. for <dir> with @technique='feedback'
    • w/ bar for <vibrato> with @technique='vibrato-arm'
    • Harm. for <dir> with @technique='natural-harmonic'; followed by a dashed line in case of multiple notes
    • A.H. for <dir> with @technique='artificial-harmonic'
    • T.H. for <dir> with @technique='tap-harmonic'
    • H.H. for <dir> with @technique='harp-harmonic'
  • Bends are always indicated with text only rather than with @show.dirmark='true', as the @dis is indicated in semitones
    but the text may differ (additionally, at @dis='2', there is the option for either 'Full' or '1').
  • Additional information can be added as text, e.g.:
    <dir technique='feedback' startid='#ID' show.dirmark='true'>Fdbk. pitch: D</dir>
  • On using @show.dirmark='true' in combination with text:
    • @show.dirmark='true' in combination with text results in the default dirmark and the additional text.
    • @show.dirmark='false' in combination with text results in the provided text as dirmark. (TODO: Problem in van_halen-panama.mei at notes m4.n6-7: <pitchInflection> takes disposition as text, so what to do with the 'trem. bar' in the source?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant