Am Sa., 9. Nov. 2024 um 20:25 Uhr schrieb Peter X <peterandu...@gmail.com>:
>
> Dear LilyPond Development Team,
>
>
> I hope this message finds you well. I am reaching out with a feature
> request that I believe would significantly enhance the usability of
> LilyPond for guitarists, particularly in the context of guitar education
> and accompaniment.
>
>
> *Feature Request Overview*
>
>
> Currently, tablature in LilyPond (and most other notation software like
> Guitar Pro and MuseScore) focuses on displaying fret numbers, directly
> derived from standard notation. While this approach works well for general
> purposes, there is a specific use case in guitar education—particularly for
> beginners learning accompaniment techniques—where a different approach
> would be more effective.
>
>
> *Example: A chord progression-based accompaniment, featuring variations in
> the right-hand thumb (p) plucking positions according to the changing chord
> roots, along with a fill or riff at the end of the phrase.*
> [image: image.png]
>
>
> I would like to suggest the addition of an option to *display right-hand
> fingerings (p, i, m, a)* directly on the TabStaff, *instead of fret numbers*.
> This feature would be highly beneficial for teaching guitar accompaniment,
> fingerstyle patterns, and arpeggios, especially for students focused on
> learning strumming and plucking techniques rather than complex note reading.
>
>
> *The Educational Benefits*
>
>
> 1. *Simplifying Tablature for Beginners*:
>
> When beginners are learning guitar, especially for accompaniment, they
> often only need to focus on the chord shapes for the left hand and the
> plucking patterns for the right hand. Displaying *right-hand fingerings (p,
> i , m, a)* directly on the tablature, instead of fret numbers, would allow
> students to concentrate on which fingers to use on which strings, without
> the distraction of redundant fret information.
>
> 2. *Reducing Redundant Information*:
>
> In typical guitar accompaniment, the player is usually following a set
> plucking pattern while holding down chord shapes. Showing fret numbers on
> the tablature in this context can be redundant, as it provides no
> additional value. Instead, showing the right-hand fingerings (e.g., p for
> thumb, i for index, m for middle, a for ring finger) would make the
> tablature clearer and more directly useful.
>
> 3. *Focusing on Key Learning Aspects*:
>
> By replacing fret numbers with right-hand fingerings, students can better
> understand the relationship between the root notes of the chords and which
> fingers to use. This helps them develop a more intuitive understanding of
> how to accompany songs, particularly when learning fingerstyle or arpeggio
> patterns.
>
>
> *Use Case Example*
>
>
> Currently, when teaching beginners how to accompany songs, I emphasize
> focusing on:
>
>
> • The chord shapes for the left hand.
>
> • The plucking pattern for the right hand (using P, I, M, A).
>
> • The importance of plucking the correct string for playing the root notes
> with the thumb (p).
>
>
> In most existing tablature systems, the students are presented with fret
> numbers, which are not necessary for accompaniment-focused learning. If
> instead, the tablature showed p, i, m, and a for the right-hand fingers,
> the students could more efficiently learn which fingers to use on which
> strings, while ignoring unnecessary fret number information.
>
>
> *Proposed Solution*
>
>
> Would it be possible to introduce an option, such as
> ShowRightHandFingeringsOnTab, that would:
>
>
> • Replace fret numbers on the TabStaff with right-hand fingerings (p, i, m,
> a).
>
> • Allow users to toggle this feature on or off, depending on the context
> (e.g., for teaching vs. standard tablature use).
>
>
> This suggestion is based on the fundamental principle of *fingerstyle
> guitar accompaniment*, where the right-hand fingers are typically assigned
> specific strings:
>
>
> • *i (index finger)*, *m (middle finger)*, and *a (ring finger)* are
> generally used for plucking the highest three strings (the thinner,
> higher-pitched strings).
>
> • *p (thumb)* is responsible for plucking the lower three strings (the
> thicker, lower-pitched strings).
>
> This principle is highly effective for beginners, as it establishes a
> consistent pattern for plucking that can be relied upon for a long period
> of learning. Of course, there are occasional exceptions to this rule, but
> those can be easily addressed using other existing features of the
> tablature notation.
>
>
> *Example: A riff-style accompaniment.*
> [image: image.png]
>
>
> *Excerpt from the Russian folk song ‘Troika’.*
> [image: image.png]
>
>
>
> This feature would greatly benefit guitar teachers and students, making the
> learning process more intuitive and efficient.
>
>
> Thank you very much for considering this request. I would be happy to
> provide further clarification or examples if needed. I truly appreciate the
> work you all do in continuously improving LilyPond.
>
>
> Best regards,
>
> Peter

Here a first shot.
Please report back about bugs, missing features etc

Cheers,
  Harm


\version "2.25.22"

Tst_eng =
#(lambda (ctx)
  (let ((tab-note-heads '()))
    (make-engraver
      ((start-translation-timestep this)
        (set! tab-note-heads '()))
      (acknowledgers
        ((tab-note-head-interface this grob source)
         (set! tab-note-heads (cons grob tab-note-heads)))
        ((note-column-interface this grob source)
          (for-each
            (lambda (tab-nhd strg-fret)
              (let ((details (ly:grob-property tab-nhd 'details)))
                (when (assoc-get 'fingering-right details)
                  (ly:grob-set-property! tab-nhd 'stencil
                    (centered-stencil
                      (grob-interpret-markup tab-nhd
                        (case (car strg-fret)
                          ((1) "a")
                          ((2) "m")
                          ((3) "i")
                          (else "p"))))))))
            (reverse tab-note-heads)
            (ly:context-property ctx 'stringFretFingerList)))))))

\include "predefined-guitar-fretboards.ly"

<<
  \new ChordNames
    \chordmode { c1 f2 c c1 g1:7 }
  \new FretBoards
    \chordmode { c1 <f_3 a_2 c'_1 f'_1>2 c c1 g1:7 }
  \new TabVoice
    \with { \consists #Tst_eng }
    { \tabFullNotation \music }
>>

Reply via email to