lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: how to add barre indications to automatic fret diagrams?


From: Carl Sorensen
Subject: Re: how to add barre indications to automatic fret diagrams?
Date: Sat, 23 May 2015 04:22:56 +0000
User-agent: Microsoft-MacOutlook/14.4.8.150116


On 5/22/15 9:30 AM, "pls" <address@hidden> wrote:

>
>Yes, I have some issues with the predefined fretboards shipped with
>LilyPond, e.g.:
>+ the resulting diagrams are not always predictable:
>  + the number of notes in the diagrams varies from 4 to 6 even when you
>enter a three-note chord modifier like \chordmode { e:m e,:m e:1.3-.5
>e,:1.3-.5 }  or <e g b> <e' g' b'> .  I know it¹s meant to make chord
>entries as easy as possible but it¹s not exactly WYGIWYM and it leads to
>a different interpretation of these examples in different contexts.  In a
>FretBoards context and (therefore) a TabStaff context all six examples
>are interpreted as the same six-note chord <e, b, e g b e¹> even though
>neither the chord structure nor the absolute octaves are in line with
>this interpretation whereas in a Staff context the chord structures, the
>number of notes, and the octaves are displayed correctly/as defined.
>This means that in this case it would be necessary to define two
>different chord variables, one for the Staff context and one for the
>FretBoards/TabStaff context which seems a bit cumbersome to me.

Yes, this is true.  The chord shapes were chosen to be the most common
shapes for those chords in U.S. pop music books.  The number of notes in
the fret diagram is unrelated to the number of notes in the chord.  It's
absolutely and definitely incorrect as an exact representation of the
notes in the chord.  For such usage, either a custom fretboard or an
automatic fretboard is the way to go.

>  + the chord shapes vary depending on the octaves (I know, they were
>chosen to be simple in form and easy to play but more often than not the
>changing shapes really surprise me.)

The reason they change depending on the octaves is to allow alternate
patterns.  This is consistent with the separation of the fretboards from
the notes in the chords.  Again, it is chosen to be consistent with common
pop music  use in the U.S.

>  + quite a lot of chords are displayed in their first inversion instead
>of their root position as suggested by their modifiers (Again, I know /
>can see the reasons: avoiding barre chords, preference for the upper four
>strings, playability/³strummability² ;) but the output is nevertheless
>unexpected.)

Agreed.

> 
>  + some chord shapes/structures are wrong, e.g. (I haven¹t checked all
>of them yet and I haven¹t found time to post a bug report.):
>    + dis:m (<fis ais dis¹ eis¹> instead of <fis ais dis¹ fis') and es:m
>(<es bes es¹ f'> instead of <es bes es¹ ges¹).
>    + f+ (<dis aisis dis¹ fisis¹> instead of <cisis ais cisis¹ fis¹ or
>even better (root position) <fis ais cisis¹ fis¹>)

Thank you for pointing this out.  I'm happy to fix them.  dis:m and es:m
will both be wrong, because they are both defined from the same base
shape.  I'll fix the base shape.

>+ some frequently used chords are missing, such as m7.5- and suspended
>chords. (I know of course from my own experience that predefined fret
>diagram tables unfortunately are never complete.)

m7.5- is not commonly used in  US consumer-grade pop charts, but I'd be
happy to add them.  Suspended chords are also not commonly used in US
consumer-grade pop charts.

>+ inversions are missing (Slash chords)
>+ as discussed: the lack of being able to shift the same chord shape up
>and down the fretboard.

When defining your own predefined diagrams, shifting a chord shape up and
down the fretboard is easy.


>
>LilyPond¹s automatically-generated fret diagrams solve almost all of the
>above issues. The only drawbacks I can see are:
>+ the missing barre indications (which you fixed in the meantime! Thank
>you very much!)

You're welcome.

>+ some rare ³unacceptable² diagrams which can be easily fixed by
>assigning note(s) to a string.
>+ problems arising from trying to transpose/shift diagrams potentially
>containing fingerings and or string numbers (as discussed here)

String numbers should be consistent as you transpose diagrams within a
given shape, I think.  Have you found any case where they don't work?

Fingers should be OK as well, as long as you finger for the barre chord.

>+ the need to customize the fret diagrams over and over again (for each
>new score)

Yes.  You could use an include file, though, I think.  An include file
could define every chord you wanted to use in terms of a chord with
strings and fingering that are demonstrated create good automatic
fretboards.

>
>These are basically the reasons why I started to make my own predefined
>fret diagram tables a few years ago (see
>https://github.com/Philomelos/lilypond-predefined-fretboards).  I haven¹t
>found the time to document it yet and there are only just a few test
>files currently available.  The definitions are spread over 6 files:
>+ c-shape.ly <http://c-shape.ly>
>+ a-shape.ly <http://a-shape.ly>
>+ g-shape.ly <http://g-shape.ly>
>+ e-shape.ly <http://e-shape.ly>
>+ d-shape.ly <http://d-shape.ly>
>+ alt-shape.ly <http://alt-shape.ly> (contains alternative chord shapes
>that cannot be included in the five basic shape files for technical
>reasons or due to their ambiguity)
>
>You can include these files as usual and then use 6 new commands
>(\cShape, \aShape, \gShape, \eShape, \dShape, and \altShape) to choose a
>diagram derived from one of the five basic chord shapes, so e.g.
>+ \chordmode { \aShape c,:1.5.8.10 } or \notemode { <c g c¹ e¹> }
>returns a c major barre chord across the 3rd fret
>+ \chordmode { \eShape c,:1.5.8.10 } or \notemode { <c g c¹ e¹> }
>returns a c major chord at the 8th fret (on the strings 6, 5, 4, and 3)
>+ \chordmode { \dShape c:1.5.8.10 } or \notemode { <c¹ g¹ c¹¹ e¹¹> }
>returns a c major chord at the 10th fret (on the strings 4, 3, 2, and 1)
>
>You need to enter all the pitches you want to include in your diagram.
>If there is a definition for the chord you should get the expected
>diagram including fingerings and a barre indicator (if necessary).  You
>don¹t need to manually add fingerings or string numbers.  So there are no
>problems with shape shifting and transpositions.  If you don¹t like a
>detail: don¹t use this definition or override it!
>You can use other definition files in combination. You can switch the
>definition files on and off by using \predefinedFretboardsOn and
>\predefinedFretboardsOff (as usual).  If the tables don¹t contain a
>definition for a certain chord structure (or if the chord structure or
>the octave is impossible in standard tuning) LilyPond jumps in and tries
>to automatically generate a diagram.
>
>The tables already contain a couple of hundred transposable definitions
>(even some inversions) but of course the library is far from being
>complete.  The reason why I started this thread here was to check whether
>it makes sense to continue the work on this library or maybe just use
>LilyPond¹s automatically generated diagramsŠ (But now I think my
>predefined diagrams are actually quite helpful ‹ well, at least to meŠ)

I think it makes great sense to complete your library.  And we should
certainly add the library to LilyPond, so people don't have to go
somewhere else to get it.



>Great!  The barre chords look really good!  Thank you so much!
>
>Sone minor issues:
>+ the fret labels seem to have vanished.

Hmm -- I don't think anything I did should have changed the fret labels.
Can you share an example.


> 
>+ some chords lead to unwanted barre indicators, e.g.:
>  + <d-1 a d¹ f¹> or
>  + <e, b,-3 e-3 gis-3 b e¹> (wrong fingers!)

I will look into those.  Thanks.

>
>I can offer to add fingerings to all the (automatically generated) barre
>chords in the documentation as soon as your patch gets accepted (if you
>want me to). (So far I have found only 2 automatically-generated diagrams
>without fingering. ;) )

I don't think we want to have all of the diagrams with fingering.  We want
to show the capability of making the diagrams both with and without
fingering.

>
>Thanks again
>patrick
>
>P.S.: On a related note: I think there is something wrong with the
>default vertical alignment of the fret labels in fret diagrams in
>general.  It looks to me as if it is placed one fret above the lowest
>fret it is referring to (LP 2.19.20).  I will try to post a proper bug
>report as soon as I can.

Please do post a proper bug report.  I will investigate.
> 
>P.P.S.: On a different note: some day I would like to get to know the
>reason why in \chordmode the absolute pitches are one octave higher than
>in note mode.  For chord names correct absolute pitches don¹t matter. But
>they do when also using \chordmode in a Staff context.  Mixing both modes
>is rather error prone.

I do not know the answer why, but I believe it is intentional.  There are
comments in the code that indicate the original authors knew of the one
octave shift.  I believe it was defined that way so that \chordmode c
would give <c' e' g'>, since lilypond staffs have treble clefs by default.
 I believe it should probably be fixed.  The code is probably not hard to
fix, but I think the convert-ly rule is nearly impossible (it's certainly
beyond *my* python regexp-fu).
Post a bug report, and let's get an issue created.

Thanks,

Carl





reply via email to

[Prev in Thread] Current Thread [Next in Thread]