1 @c -*- coding: utf-8; mode: texinfo; -*-
3 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
5 When revising a translation, copy the HEAD committish of the
6 version that you are working on. For details, see the Contributors'
7 Guide, node Updating translation committishes..
12 @node Fretted string instruments
13 @section Fretted string instruments
15 @lilypondfile[quote]{fretted-headword.ly}
17 This section discusses several aspects of music notation that are unique
18 to fretted string instruments.
21 @cindex tablature, guitar
22 @cindex tablature, banjo
23 @cindex guitar tablature
24 @cindex banjo tablature
27 * Common notation for fretted strings::
32 @node Common notation for fretted strings
33 @subsection Common notation for fretted strings
35 This section discusses common notation that is unique
36 to fretted string instruments.
39 * References for fretted strings::
40 * String number indications::
41 * Default tablatures::
43 * Fret diagram markups::
44 * Predefined fret diagrams::
45 * Automatic fret diagrams::
46 * Right-hand fingerings::
49 @node References for fretted strings
50 @unnumberedsubsubsec References for fretted strings
52 Music for fretted string instruments is normally notated on
53 a single staff, either in traditional music notation or in
54 tablature. Sometimes the two types are combined, and it is
55 especially common in popular music to use chord diagrams above
56 a staff of traditional notation. The guitar and the banjo are
57 transposing instruments, sounding an octave lower than written.
58 Scores for these instruments should use the @code{"treble_8"} clef
59 (or @code{\transposition c} to get correct MIDI output).
60 Some other elements pertinent to fretted string instruments
61 are covered elsewhere:
64 @item Fingerings are indicated as shown in
65 @ref{Fingering instructions}.
67 @item Instructions for @notation{Laissez vibrer} ties
68 as well as ties on arpeggios and tremolos can be found in
71 @item Instructions for handling multiple voices can be found
72 in @ref{Collision resolution}.
74 @item Instructions for indicating harmonics can be found in
81 @ref{Fingering instructions},
83 @ref{Collision resolution},
84 @ref{Instrument names},
85 @ref{Writing music in parallel},
87 @ref{List of articulations},
89 @ref{Instrument transpositions}.
92 @node String number indications
93 @unnumberedsubsubsec String number indications
95 @cindex string numbers
96 @cindex string vs. fingering numbers
97 @cindex fingering vs. string numbers
99 The string on which a note should be played may be indicated by
100 appending @code{\@var{number}} to a note.
102 @lilypond[verbatim,quote,relative=0]
108 When fingerings and string indications are used together, their
109 placement can be controlled by the order in which the two items appear
110 in the code @emph{only} if they appear inside of an explicit chord:
111 applied to whole chords or single notes @emph{outside} of chords,
112 fingerings are placed using a different mechanism.
114 @lilypond[verbatim,quote,relative=1]
124 @lilypondfile[verbatim,quote,texidoc,doctitle]
125 {controlling-the-placement-of-chord-fingerings.ly}
127 @lilypondfile[verbatim,quote,texidoc,doctitle]
128 {allowing-fingerings-to-be-printed-inside-the-staff.ly}
132 @ref{Fingering instructions}.
135 @rlsr{Fretted strings}.
138 @rinternals{StringNumber},
139 @rinternals{Fingering}.
142 @node Default tablatures
143 @unnumberedsubsubsec Default tablatures
145 @cindex tablatures, basic
146 @cindex tablatures, default
151 Music for plucked string instruments is frequently notated using a
152 finger/touch notation or tablature. In contrast to traditional
153 notation pitches are not denoted with note heads, but by numbers (or
154 letter-like symbols in historical intavolatura). The staff lines
155 in tablature indicate the string on which the note is to be played,
156 and a number placed on a staff line indicated the fret at which
157 the corresponding string is to be pressed.
158 Notes that are to be played simultaneously are vertically aligned.
160 By default, string 1 is the highest string, and corresponds to the top
161 line on the @code{TabStaff}. The tuning of the @code{TabStaff}
162 strings defaults to the
163 standard guitar tuning (with 6 strings). The notes are printed as
164 tablature, by using @code{TabStaff} and @code{TabVoice} contexts. A
165 calligraphic tablature clef is added automatically.
167 @lilypond[quote,ragged-right,verbatim]
168 \new TabStaff \relative c' {
174 Default tablatures do not contain any symbols for tone duration nor any
175 other musical symbols such as e.g. expressive marks.
177 @lilypond[quote,ragged-right,verbatim]
189 \new Staff { \clef "G_8" \symbols }
190 \new TabStaff { \symbols }
195 @funindex \tabFullNotation
197 If all musical symbols used in traditional notation should also show up
198 in tablature one has to apply the command @code{\tabFullNotation} in a
199 @code{TabStaff}-context. Please bear in mind that half notes are
200 double-stemmed in tablature in order to distinguish them from quarter
203 @lilypond[quote,ragged-right,verbatim]
223 @funindex minimumFret
225 By default pitches are assigned to the lowest playing position on the
226 fret-board (first position). Open strings are automatically preferred.
227 If you would like a certain pitch to be played on a specific string you
228 can add a string number indication to the pitch name. If you don't want
229 to have string number indications appear in traditional notation, you
230 can override the respective stencil. Usually it will be more
231 comfortable to define the playing position by using the value of
232 @code{minimumFret}. The default value for minimumFret is 0.
235 @lilypond[quote,ragged-right,verbatim]
236 \layout { \override Voice.StringNumber #'stencil = ##f }
238 \new Staff \relative c {
242 c,16\5 d\5 e\4 f\4 g4\4
245 \new TabStaff \relative c {
247 c,16\5 d\5 e\4 f\4 g4\4
248 \set TabStaff.minimumFret = #5
254 @funindex \tabChordRepeats
255 @funindex \chordRepeats
256 @cindex Chord, repetition
257 @cindex repetition, using @code{q}
259 Chord constructs can be repeated by the chord repetition symbol
260 @code{q}. In combination with tabulatures, its behavior of removing
261 string and finger numbers alongside with other events is cumbersome, so
264 \chordRepeats #'(string-number-event fingering-event)
266 explicitly on music expressions in tabulature using @ref{Chord
267 repetition}. This particular command is so common that it is available
268 as @code{\tabChordRepeats}.
270 @lilypond[quote,verbatim]
271 guitar = \relative c' {
272 r8 <gis-2 cis-3 b-0>~ q4 q8~ q q4
281 \tabChordRepeats \guitar
286 Ties over a line break are parenthesized by default. The same holds for
287 the second alternative of a repeat.
289 @lilypond[quote,ragged-right,verbatim]
290 ties = \relative c' {
297 { g4\repeatTie c,2. }
324 @funindex \hideSplitTiedTabNotes
326 The command @code{\hideSplitTiedTabNotes} cancels the behavior of
327 engraving fret numbers in parentheses:
329 @lilypond[quote,ragged-right,verbatim]
330 ties = \relative c' {
336 { g4\repeatTie c,2. }
352 \hideSplitTiedTabNotes
364 @cindex harmonic indications in tablature notation
365 @cindex tablature and harmonic indications
366 @cindex slides in tablature notation
367 @cindex tablature and slides
368 @cindex chord glissandi
370 @funindex \harmonicByFret
371 @funindex \harmonicByRatio
373 Harmonic indications can be added to tablature notation as sounding
376 @lilypond[verbatim,quote]
377 \layout { \override Voice.StringNumber #'stencil = ##f }
385 \new Staff { \firstHarmonic }
386 \new TabStaff { \firstHarmonic }
391 Note that the command @code{\harmonic} must always be attached to single
392 notes (possibly inside of a chord) instead of whole chords.
393 It only makes sense for open-string harmonics
394 in the 12th fret. All other harmonics should be calculated by LilyPond.
395 This can be achieved by indicating the fret where a finger of the
396 fretting hand should touch a string.
398 @lilypond[verbatim,quote]
400 \harmonicByFret #5 d16\4
401 \harmonicByFret #4 d16\4
402 \harmonicByFret #3 d8\4
403 \harmonicByFret #5 <g\3 b\2>2.
407 \new Staff { \fretHarmonics }
408 \new TabStaff { \fretHarmonics }
413 Alternatively, harmonics can be computed by defining the ratio of
414 string lengths above and below the harmonic fingering.
416 @lilypond[verbatim,quote]
418 \harmonicByRatio #1/2 <g\3 b\2 e'\1>4
419 \harmonicByRatio #1/3 <g\3 b\2 e'\1>4
420 \harmonicByRatio #1/4 { g8\3 b8\2 e'4\1 }
424 \new Staff { \ratioHarmonics }
425 \new TabStaff { \ratioHarmonics }
431 @lilypondfile[verbatim,quote,texidoc,doctitle]
432 {stem-and-beam-behavior-in-tablature.ly}
434 @lilypondfile[verbatim,quote,texidoc,doctitle]
435 {polyphony-in-tablature.ly}
437 @lilypondfile[verbatim,quote,texidoc,doctitle]
438 {open-string-harmonics-in-tablature.ly}
440 @lilypondfile[verbatim,quote,texidoc,doctitle]
441 {fretted-string-harmonics-in-tablature.ly}
443 @lilypondfile[verbatim,quote,texidoc,doctitle]
444 {slides-in-tablature.ly}
446 @lilypondfile[verbatim,quote,texidoc,doctitle]
447 {chord-glissando-in-tablature.ly}
451 @ref{Chord repetition},
455 @ref{Written-out repeats}.
458 @rlsr{Fretted strings}.
461 @rinternals{TabNoteHead},
462 @rinternals{TabStaff},
463 @rinternals{TabVoice},
467 Chords are not handled in a special way, and hence the automatic
468 string selector may easily select the same string for two notes in
471 In order to handle @code{\partcombine}, a @code{TabStaff} must use
472 specially-created voices:
474 @lilypond[quote,ragged-right,verbatim]
475 melodia = \partcombine { e4 g g g } { e4 e e e }
478 \new TabVoice = "one" s1
479 \new TabVoice = "two" s1
480 \new TabVoice = "shared" s1
481 \new TabVoice = "solo" s1
487 Guitar special effects are limited to harmonics and slides.
490 @node Custom tablatures
491 @unnumberedsubsubsec Custom tablatures
493 @cindex tablatures, custom
494 @cindex tablature, banjo
495 @cindex tablature, mandolin
496 @cindex tablature, guitar
497 @cindex tablature, bass guitar
498 @cindex tablature, ukulele
499 @cindex tablature, predefined string tunings
500 @cindex fretted instruments, predefined string tunings
501 @cindex predefined string tunings for fretted instruments
502 @cindex tablature, violin
503 @cindex tablature, viola
504 @cindex tablature, cello
505 @cindex tablature, bass
506 @cindex tablature, double bass
508 @funindex stringTunings
510 LilyPond tablature automatically calculates the fret for
511 a note based on the string to which the note is assigned.
512 In order to do this, the tuning of the strings must be
513 specified. The tuning of the strings is given in the
514 @code{stringTunings} property.
516 LilyPond comes with predefined string tunings for banjo, mandolin,
517 guitar, bass guitar, ukulele, violin, viola, cello, and double bass.
518 LilyPond automatically sets
519 the correct transposition for predefined tunings. The following
520 example is for bass guitar, which sounds an octave lower than
523 @lilypond[quote,ragged-right,verbatim]
526 \override StringNumber #'stencil = ##f
533 \new TabStaff \with {
534 stringTunings = #bass-tuning
543 The default string tuning is @code{guitar-tuning}, which
544 is the standard EADGBE tuning. Some other predefined tunings are
545 @code{guitar-open-g-tuning}, @code{mandolin-tuning} and
546 @code{banjo-open-g-tuning}. The predefined string tunings
547 are found in @file{ly/string-tunings-init.ly}.
549 @funindex stringTuning
550 @funindex \stringTuning
551 @cindex tablature, custom string tunings
552 @cindex custom string tunings
554 Any desired string tuning can be created. The
555 @code{\stringTuning} function can be
556 used to define a string tuning which can be used
557 to set @code{stringTunings} for the current context.
559 Its argument is a chord construct
560 defining the pitches of each string in the tuning.
561 The chord construct must be in absolute octave mode,
562 see @ref{Absolute octave entry}. The string
563 with the highest number (generally the lowest string) must
564 come first in the chord. For example, we can
565 define a string tuning for a four-string instrument with pitches
566 of @code{a''}, @code{d''}, @code{g'}, and @code{c'}:
568 @lilypond[quote,verbatim]
581 \set stringTunings = \stringTuning <c' g' d'' a''>
587 The @code{stringTunings} property is also used by
588 @code{FretBoards} to calculate automatic fret diagrams.
590 String tunings are used as part of the hash key
591 for predefined fret diagrams
592 (see @ref{Predefined fret diagrams}).
594 The previous example could also be written as follows:
596 @lilypond[quote,verbatim]
597 "custom-tuning" = \stringTuning <c' g' d'' a''>
610 \set TabStaff.stringTunings = #custom-tuning
616 Internally, a string tuning is a Scheme list of string pitches,
617 one for each string, ordered by string number from 1 to N,
618 where string 1 is at the top of the tablature staff and
619 string N is at the bottom. This ordinarily results in ordering
620 from highest pitch to lowest pitch, but some instruments
621 (e.g. ukulele) do not have strings ordered by pitch.
623 A string pitch in a string tuning list is a LilyPond pitch
624 object. Pitch objects are created with the Scheme function
625 @code{ly:make-pitch} (see @ref{Scheme functions}).
627 @code{\stringTuning} creates such an object from chord input.
629 LilyPond automatically calculates the number of lines in the
630 @code{TabStaff} and the number of strings in an automatically
631 calculated @code{FretBoard} as the number of elements
632 in @code{stringTunings}.
634 To let all TabStaff contexts use the same custom tuning by default,
641 stringTunings = \stringTuning \notemode @{ <c' g' d'' a''> @}
647 @cindex moderntab clef
648 @cindex clef, moderntab
652 A modern tab clef can also be used.
654 @lilypond[quote,ragged-right,verbatim]
664 The modern tab clef supports tablatures from 4 to 7 strings.
668 @ref{Absolute octave entry},
669 @ref{Predefined fret diagrams},
670 @ref{Scheme functions}.
673 @file{ly/string-tunings-init.ly},
674 @file{scm/tablature.scm}.
677 @rlsr{Fretted strings}.
680 @rinternals{Tab_note_heads_engraver}.
683 Automatic tablature calculations do not work properly in most
684 cases for instruments where string pitches do not vary
685 monotonically with string number, such as ukuleles.
688 @node Fret diagram markups
689 @unnumberedsubsubsec Fret diagram markups
691 @cindex fret diagrams
692 @cindex chord diagrams
693 @cindex diagrams, fret
694 @cindex diagrams, chord for fretted instruments
695 @cindex fret diagrams, custom
696 @cindex custom fret diagrams
698 Fret diagrams can be added to music as a markup to the desired
699 note. The markup contains information about the desired fret
700 diagram. There are three different fret-diagram markup
701 interfaces: standard, terse, and verbose. The three interfaces
702 produce equivalent markups, but have varying amounts of
703 information in the markup string. Details about the
704 syntax of the different markup strings used to define
705 fret diagrams are found at @ref{Instrument Specific Markup}.
707 The standard fret diagram markup string indicates the string
708 number and the fret number for each dot to be placed on the string.
709 In addition, open and unplayed (muted) strings can be indicated.
711 @lilypond[quote, verbatim]
713 \context ChordNames {
720 <c e g c' e'>1^\markup {
721 \fret-diagram #"6-x;5-3;4-2;3-o;2-1;1-o;"
723 <d a d' f'>1^\markup {
724 \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-1;"
730 @cindex barre indications
732 Barre indications can be added to the diagram from
733 the fret-diagram markup string.
735 @lilypond[quote, verbatim]
737 \context ChordNames {
744 <f, c f a c' f'>1^\markup {
745 \fret-diagram #"c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"
747 <g, d g b d' g'>1^\markup {
748 \fret-diagram #"c:6-1-3;6-3;5-5;4-5;3-4;2-3;1-3;"
754 @cindex fret-diagram markup
757 @funindex fret-diagram
758 @funindex \fret-diagram
760 The size of the fret diagram, and the number of frets in the diagram
761 can be changed in the fret-diagram markup string.
763 @lilypond[quote, verbatim]
765 \context ChordNames {
772 <f, c f a c' f'>1^\markup {
773 \fret-diagram #"s:1.5;c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"
775 <g, b, d g b g'>1^\markup {
776 \fret-diagram #"h:6;6-3;5-2;4-o;3-o;2-o;1-3;"
782 The number of strings in a fret diagram can be changed to accommodate
783 different instruments such as banjos and ukuleles with the fret-diagram
786 @lilypond[quote, verbatim]
788 \context ChordNames {
794 % An 'A' chord for ukulele
796 \fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"
802 Fingering indications can be added, and the location of fingering labels
803 can be controlled by the fret-diagram markup string.
805 @lilypond[quote, verbatim]
807 \context ChordNames {
814 <c e g c' e'>1^\markup {
815 \fret-diagram #"f:1;6-x;5-3-3;4-2-2;3-o;2-1-1;1-o;"
817 <d a d' f'>1^\markup {
818 \fret-diagram #"f:2;6-x;5-x;4-o;3-2-2;2-3-3;1-1-1;"
824 Dot radius and dot position can be controlled with the fret-diagram
827 @lilypond[quote, verbatim]
829 \context ChordNames {
836 <c e g c' e'>1^\markup {
837 \fret-diagram #"d:0.35;6-x;5-3;4-2;3-o;2-1;1-o;"
839 <d a d' f'>1^\markup {
840 \fret-diagram #"p:0.2;6-x;5-x;4-o;3-2;2-3;1-1;"
846 @cindex fret-diagram-terse markup
848 @funindex fret-diagram-terse
849 @funindex \fret-diagram-terse
851 The fret-diagram-terse markup string omits string numbers; the string
852 number is implied by the presence of semicolons. There is one semicolon
853 for each string in the diagram. The first semicolon corresponds to the
854 highest string number and the last semicolon corresponds to the first string.
855 Mute strings, open strings, and fret numbers can be indicated.
857 @lilypond[quote, verbatim]
859 \context ChordNames {
866 <c e g c' e'>1^\markup {
867 \fret-diagram-terse #"x;3;2;o;1;o;"
869 <d a d' f'>1^\markup {
870 \fret-diagram-terse #"x;x;o;2;3;1;"
876 Barre indicators can be included in the fret-diagram-terse markup string.
878 @lilypond[quote, verbatim]
880 \context ChordNames {
887 <f, c f a c' f'>1^\markup {
888 \fret-diagram-terse #"1-(;3;3;2;1;1-);"
890 <g, d g b d' g'>1^\markup {
891 \fret-diagram-terse #"3-(;5;5;4;3;3-);"
897 Fingering indications can be included in the fret-diagram-terse markup string.
899 @c Need to use override to enable fingerings to show this -- can we do so?
900 @lilypond[quote, verbatim]
902 \context ChordNames {
908 \override Voice.TextScript
909 #'(fret-diagram-details finger-code) = #'below-string
911 <c e g c' e'>1^\markup {
912 \fret-diagram-terse #"x;3-3;2-2;o;1-1;o;"
914 <d a d' f'>1^\markup {
915 \fret-diagram-terse #"x;x;o;2-2;3-3;1-1;"
921 Other fret diagram properties must be adjusted using
922 @code{\override} when using the fret-diagram-terse markup.
924 @cindex fret-diagram-verbose markup
927 @funindex fret-diagram-verbose
928 @funindex \fret-diagram-verbose
930 The fret-diagram-verbose markup string is in the format of a Scheme list. Each
931 element of the list indicates an item to be placed on the fret diagram.
933 @lilypond[quote, verbatim]
935 \context ChordNames {
942 <c e g c' e'>1^\markup {
943 \fret-diagram-verbose #'(
952 <d a d' f'>1^\markup {
953 \fret-diagram-verbose #'(
966 Fingering indications and barres can be included in a
967 fret-diagram-verbose markup string. Unique to the
968 fret-diagram-verbose interface is a capo indication that
969 can be placed on the fret diagram. The capo indication is
970 a thick bar that covers all strings. The fret with the
971 capo will be the lowest fret in the fret diagram.
973 @c \override is necessary to make fingering visible
974 @lilypond[quote, verbatim]
976 \context ChordNames {
983 \override Voice.TextScript
984 #'(fret-diagram-details finger-code) = #'below-string
985 <f, c f a c' f'>1^\markup {
986 \fret-diagram-verbose #'(
996 <g, b, d g b g'>1^\markup {
997 \fret-diagram-verbose #'(
1006 <c e g c' e'>1^\markup {
1007 \fret-diagram-verbose #'(
1019 All other fret diagram properties must be adjusted using
1020 @code{\override} when using the fret-diagram-verbose markup.
1023 The following example shows the three fret-diagram markup
1024 interfaces, along with examples of common tweaks. For example,
1025 the size of the verbose fret diagram is reduced to 0.75, and the
1026 finger indications are specified to appear below the diagram. The
1027 terse diagram includes tweaks to specify placement of finger code
1030 @lilypond[verbatim,ragged-right,quote]
1034 \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-2;"
1038 \override #'(size . 0.75) {
1039 \override #'(finger-code . below-string) {
1040 \fret-diagram-verbose #'((place-fret 6 2 1) (barre 6 1 2)
1051 \override #'(dot-radius . 0.35) {
1052 \override #'(finger-code . in-dot) {
1053 \override #'(dot-color . white) {
1054 \fret-diagram-terse #"x;3-1-(;5-2;5-3;5-4;3-1-);"
1064 @cindex customized fret diagram
1065 @cindex fret diagram, customized
1066 @cindex diagram, fret, customized
1068 @funindex fret-diagram-interface
1070 The graphical layout of a fret diagram can be customized according to
1071 user preference through the properties of the
1072 @code{fret-diagram-interface}. Details are found at
1073 @rinternals{fret-diagram-interface}. For a fret diagram
1074 markup, the interface properties belong to @code{Voice.TextScript}.
1078 @lilypondfile[verbatim,quote,texidoc,doctitle]
1079 {changing-fret-orientations.ly}
1081 @lilypondfile[verbatim,quote,texidoc,doctitle]
1082 {customizing-markup-fret-diagrams.ly}
1086 @ref{Instrument Specific Markup}.
1089 @rlsr{Fretted strings}.
1091 Internals Reference:
1092 @rinternals{fret-diagram-interface}.
1095 @node Predefined fret diagrams
1096 @unnumberedsubsubsec Predefined fret diagrams
1098 @cindex fret diagrams
1099 @cindex fret diagrams, ukulele
1100 @cindex fret diagrams, mandolin
1101 @cindex chord diagrams
1103 @funindex FretBoards
1104 @funindex stringTunings
1106 Fret diagrams can be displayed using the @code{FretBoards} context. By
1107 default, the @code{FretBoards} context will display fret diagrams that
1108 are stored in a lookup table:
1110 @lilypond[verbatim, ragged-right, quote]
1111 \include "predefined-guitar-fretboards.ly"
1112 \context FretBoards {
1119 The default predefined fret diagrams are contained in the file
1120 @file{predefined-guitar-fretboards.ly}. Fret diagrams are
1121 stored based on the pitches of a chord and the value of
1122 @code{stringTunings} that is currently in use.
1123 @file{predefined-guitar-fretboards.ly} contains predefined
1124 fret diagrams only for @code{guitar-tuning}. Predefined fret
1125 diagrams can be added for other instruments or other tunings
1126 by following the examples found in
1127 @file{predefined-guitar-fretboards.ly}.
1129 Fret diagrams for the ukulele are contained in the file
1130 @file{predefined-ukulele-fretboards.ly}.
1132 @lilypond[verbatim, ragged-right, quote]
1133 \include "predefined-ukulele-fretboards.ly"
1135 myChords = \chordmode { a1 a:m a:aug }
1142 \set stringTunings = #ukulele-tuning
1147 Fret diagrams for the mandolin are contained in the file
1148 @file{predefined-mandolin-fretboards.ly}.
1150 @lilypond[verbatim, ragged-right, quote]
1151 \include "predefined-mandolin-fretboards.ly"
1153 myChords = \chordmode { c1 c:m7.5- c:aug }
1160 \set stringTunings = #mandolin-tuning
1165 Chord pitches can be entered
1166 either as simultaneous music or using chord mode (see
1167 @ref{Chord mode overview}).
1169 @lilypond[verbatim, ragged-right,quote]
1170 \include "predefined-guitar-fretboards.ly"
1171 \context FretBoards {
1177 @cindex chord names with fret diagrams
1178 @cindex fret diagrams with chord names
1180 @funindex ChordNames
1182 @funindex \chordmode
1184 It is common that both chord names and fret diagrams are displayed together.
1185 This is achieved by putting a @code{ChordNames} context in parallel with
1186 a @code{FretBoards} context and giving both contexts the same music.
1188 @lilypond[verbatim, ragged-right, quote]
1189 \include "predefined-guitar-fretboards.ly"
1190 mychords = \chordmode{
1195 \context ChordNames {
1198 \context FretBoards {
1204 @cindex transposing fret diagrams
1205 @cindex fret diagrams, transposing
1206 @cindex diagrams, fret, transposing
1208 Predefined fret diagrams are transposable, as long as a diagram for the
1209 transposed chord is stored in the fret diagram table.
1211 @lilypond[verbatim, ragged-right, quote]
1212 \include "predefined-guitar-fretboards.ly"
1213 mychords = \chordmode{
1219 \transpose c e { \mychords }
1222 \context ChordNames {
1225 \context FretBoards {
1232 The predefined fret diagram table for guitar contains eight chords (major, minor,
1233 augmented, diminished, dominant seventh, major seventh, minor seventh, dominant ninth)
1234 for each of 17 keys.
1235 The predefined fret diagram table for ukulele contains these chords
1236 plus an additional three chords (major sixth, suspended second, and
1238 A complete list of the predefined fret diagrams is
1239 shown in @ref{Predefined fretboard diagrams}. If there is no entry in
1240 the table for a chord, the FretBoards engraver will calculate a
1241 fret-diagram using the automatic fret diagram functionality described in
1242 @ref{Automatic fret diagrams}.
1244 @lilypond[verbatim, ragged-right, quote]
1245 \include "predefined-guitar-fretboards.ly"
1246 mychords = \chordmode{
1251 \context ChordNames {
1254 \context FretBoards {
1260 @cindex fret diagrams, adding custom
1261 @cindex custom fret diagrams, adding
1262 @cindex adding custom fret diagrams
1264 Fret diagrams can be added to the fret diagram table. To add a diagram,
1265 you must specify the hash table for the diagram, the chord for the
1266 diagram, the tuning to be used, and
1267 a definition for the diagram. Normally, the hash table will be
1268 @var{default-fret-table}. The diagram definition can be either a
1269 fret-diagram-terse definition string or a fret-diagram-verbose
1272 @lilypond[verbatim, ragged-right, quote]
1273 \include "predefined-guitar-fretboards.ly"
1275 \storePredefinedDiagram #default-fret-table
1276 \chordmode { c:maj9 }
1280 mychords = \chordmode {
1285 \context ChordNames {
1288 \context FretBoards {
1294 Different fret diagrams for the same chord name can be stored using different
1295 octaves of pitches. The different octave should be at least two octaves
1296 above or below the default octave, because the octaves above and below the
1297 default octave are used for transposing fretboards.
1299 @lilypond[verbatim, ragged-right, quote]
1300 \include "predefined-guitar-fretboards.ly"
1302 \storePredefinedDiagram #default-fret-table
1305 #(offset-fret 2 (chord-shape 'bes guitar-tuning))
1307 mychords = \chordmode {
1312 \context ChordNames {
1315 \context FretBoards {
1321 @cindex fretted instruments, chord shapes
1322 @cindex chord shapes for fretted instruments
1324 @funindex \addChordShape
1325 @funindex addChordShape
1326 @funindex storePredefinedDiagram
1327 @funindex \storePredefinedDiagram
1329 In addition to fret diagrams, LilyPond stores an internal list of chord
1330 shapes. The chord shapes are fret diagrams that can be shifted along
1331 the neck to different positions to provide different chords. Chord
1332 shapes can be added to the internal list and then used to define
1333 predefined fret diagrams. Because they can be moved to various
1334 positions on the neck, chord shapes will normally not contain
1335 any open strings. Like fret diagrams, chord shapes can be
1336 entered as either fret-diagram-terse strings or fret-diagram-verbose
1339 @lilypond[verbatim, ragged-right, quote]
1340 \include "predefined-guitar-fretboards.ly"
1342 % Add a new chord shape
1344 \addChordShape #'powerf #guitar-tuning #"1-1;3-3;3-4;x;x;x;"
1346 % add some new chords based on the power chord shape
1348 \storePredefinedDiagram #default-fret-table
1351 #(chord-shape 'powerf guitar-tuning)
1352 \storePredefinedDiagram #default-fret-table
1355 #(offset-fret 2 (chord-shape 'powerf guitar-tuning))
1357 mychords = \chordmode{
1362 \context ChordNames {
1365 \context FretBoards {
1371 The graphical layout of a fret diagram can be customized according to
1372 user preference through the properties of the
1373 @code{fret-diagram-interface}. Details are found at
1374 @rinternals{fret-diagram-interface}. For a predefined fret diagram,
1375 the interface properties belong to @code{FretBoards.FretBoard}.
1379 @lilypondfile[verbatim,quote,texidoc,doctitle]
1380 {customizing-fretboard-fret-diagrams.ly}
1382 @lilypondfile[verbatim,quote,texidoc,doctitle]
1383 {defining-predefined-fretboards-for-other-instruments.ly}
1385 @lilypondfile[verbatim,quote,texidoc,doctitle]
1386 {chordchanges-for-fretboards.ly}
1388 @lilypondfile[verbatim,quote,texidoc,doctitle]
1389 {fretboards-alternate-tables.ly}
1393 @ref{Custom tablatures},
1394 @ref{Automatic fret diagrams},
1395 @ref{Chord mode overview},
1396 @ref{Predefined fretboard diagrams}.
1399 @file{ly/predefined-guitar-fretboards.ly},
1400 @file{ly/predefined-guitar-ninth-fretboards.ly},
1401 @file{ly/predefined-ukulele-fretboards.ly},
1402 @file{ly/predefined-mandolin-fretboards.ly}.
1405 @rlsr{Fretted strings}.
1407 Internals Reference:
1408 @rinternals {fret-diagram-interface}.
1411 @node Automatic fret diagrams
1412 @unnumberedsubsubsec Automatic fret diagrams
1414 @cindex fret diagrams, automatic
1415 @cindex chord diagrams, automatic
1416 @cindex automatic fret diagrams
1417 @cindex automatic chord diagrams
1419 Fret diagrams can be automatically created from entered notes using the
1420 @code{FretBoards} context. If no predefined diagram is available for
1421 the entered notes in the active @code{stringTunings}, this context
1422 calculates strings and frets that can be used to play the notes.
1424 @lilypond[quote,ragged-right,verbatim]
1426 \context ChordNames {
1431 \context FretBoards {
1443 @funindex predefinedFretboardsOff
1444 @funindex \predefinedFretboardsOff
1445 @funindex predefinedFretboardsOn
1446 @funindex \predefinedFretboardsOn
1448 As no predefined diagrams are loaded by default, automatic calculation
1449 of fret diagrams is the default behavior. Once default diagrams are
1450 loaded, automatic calculation can be enabled and disabled with predefined
1453 @lilypond[quote,ragged-right,verbatim]
1455 \storePredefinedDiagram #default-fret-table
1458 #"x;3-1-(;5-2;5-3;5-4;3-1-1-);"
1460 \context ChordNames {
1465 \context FretBoards {
1467 \predefinedFretboardsOff
1469 \predefinedFretboardsOn
1483 Sometimes the fretboard calculator will be unable to find
1484 an acceptable diagram. This can often be remedied by
1485 manually assigning a note to a string. In many cases, only one
1486 note need be manually placed on a string; the rest of
1487 the notes will then be placed appropriately by the
1488 @code{FretBoards} context.
1490 @cindex fret diagrams, adding fingerings
1491 @cindex fingerings, adding to fret diagrams
1493 Fingerings can be added to FretBoard fret diagrams.
1495 @lilypond[quote, verbatim]
1497 \context ChordNames {
1502 \context FretBoards {
1503 <c-3 e-2 g c'-1 e'>1
1514 @funindex minimumFret
1516 The minimum fret to be used in calculating strings and frets for
1517 the FretBoard context can be set with the @code{minimumFret}
1520 @lilypond[quote, verbatim]
1522 \context ChordNames {
1527 \context FretBoards {
1529 \set FretBoards.minimumFret = #5
1540 The strings and frets for the @code{FretBoards} context depend
1541 on the @code{stringTunings} property, which has the same meaning
1542 as in the TabStaff context. See @ref{Custom tablatures} for
1543 information on the @code{stringTunings} property.
1545 The graphical layout of a fret diagram can be customized according to
1546 user preference through the properties of the
1547 @code{fret-diagram-interface}. Details are found at
1548 @rinternals{fret-diagram-interface}. For a @code{FretBoards} fret
1549 diagram, the interface properties belong to
1550 @code{FretBoards.FretBoard}.
1554 @code{\predefinedFretboardsOff},
1555 @code{\predefinedFretboardsOn}.
1560 @ref{Custom tablatures}.
1563 @rlsr{Fretted strings}.
1565 Internals Reference:
1566 @rinternals {fret-diagram-interface}.
1569 Automatic fretboard calculations do not work properly for instruments
1570 with non-monotonic tunings.
1573 @node Right-hand fingerings
1574 @unnumberedsubsubsec Right-hand fingerings
1576 @cindex fretted instruments, right hand fingerings
1577 @cindex fingerings, right hand for fretted instruments
1578 @cindex right hand fingerings for fretted instruments
1580 @funindex rightHandFinger
1581 @funindex \rightHandFinger
1583 Right-hand fingerings @var{p-i-m-a} must be entered using
1584 @code{\rightHandFinger} followed by a number.
1586 @warning{If the number is entered in Scheme notation, remember to append
1587 a space before following it with a closing @code{>} or similar.}
1589 @lilypond[quote,verbatim,relative=0]
1591 c4\rightHandFinger #1
1592 e\rightHandFinger #2
1593 g\rightHandFinger #3
1594 c\rightHandFinger #4
1595 <c,\rightHandFinger #1 e\rightHandFinger #2
1596 g\rightHandFinger #3 c\rightHandFinger #4 >1
1599 For convenience, you can abbreviate @code{\rightHandFinger} to something
1600 short, for example @code{RH},
1609 @lilypondfile[verbatim,quote,texidoc,doctitle]
1610 {placement-of-right-hand-fingerings.ly}
1612 @lilypondfile[verbatim,quote,texidoc,doctitle]
1613 {fingerings,-string-indications,-and-right-hand-fingerings.ly}
1617 @rlsr{Fretted strings}.
1619 Internals Reference:
1620 @rinternals{StrokeFinger}.
1626 Most of the notational issues associated with guitar music are
1627 covered sufficiently in the general fretted strings section, but there
1628 are a few more worth covering here. Occasionally users want to
1629 create songbook-type documents having only lyrics with chord
1630 indications above them. Since LilyPond is a music typesetter,
1631 it is not recommended for documents that have no music notation
1632 in them. A better alternative is a word processor, text editor,
1633 or, for experienced users, a typesetter like GuitarTeX.
1636 * Indicating position and barring::
1637 * Indicating harmonics and dampened notes::
1638 * Indicating power chords::
1641 @node Indicating position and barring
1642 @unnumberedsubsubsec Indicating position and barring
1644 @cindex indicating position and barring for fretted instruments
1645 @cindex fretted instruments, indicating position and barring
1647 This example demonstrates how to include guitar position and
1648 barring indications.
1650 @lilypond[quote,ragged-right,verbatim,relative=0]
1654 \override TextSpanner #'(bound-details left text) = #"XII "
1656 b16 e g e b g\stopTextSpan
1662 @ref{Text spanners}.
1665 @rlsr{Fretted strings},
1666 @rlsr{Expressive marks}.
1669 @node Indicating harmonics and dampened notes
1670 @unnumberedsubsubsec Indicating harmonics and dampened notes
1672 @cindex fretted instruments, dampened notes
1673 @cindex fretted instruments, harmonics
1674 @cindex dampened notes on fretted instruments
1675 @cindex harmonics on fretted instruments
1677 Special note heads can be used to indicate dampened notes or
1678 harmonics. Harmonics are normally further explained with a
1681 @lilypond[quote,ragged-right,verbatim]
1684 \override Staff.NoteHead #'style = #'harmonic-mixed
1685 d^\markup { \italic { \fontsize #-2 { "harm. 12" }}} <g b>1
1689 Dampened notes (also called @notation{dead notes}) are supported
1690 within normal and tablature staves:
1692 @lilypond[quote,ragged-right,verbatim]
1693 music = \relative c' {
1694 < a\3 \deadNote c\2 a'\1 >4
1695 < b\3 \deadNote d\2 b'\1 >
1696 < c\3 \deadNote e\2 c'\1 >
1698 \times 2/3 { g8 b e }
1713 Another playing technique (especially used on electric guitars) is
1714 called @notation{palm mute}. The string is hereby partly muted by the
1715 palm of the striking hand (hence the name). Lilypond supports
1716 the notation of palm mute-style notes by changing the note head to a
1719 @lilypond[quote,ragged-right,verbatim]
1720 \new Voice { % Warning: explicit Voice instantiation is
1721 % required to have palmMuteOff work properly
1722 % when palmMuteOn comes at the beginning of
1727 e8^\markup { \musicglyph #"noteheads.u2do" = palm mute }
1730 e e \palmMute e e e |
1731 e8 \palmMute { e e e } e e e e |
1732 < \palmMute e b' e >8 \palmMute { e e e } < \palmMute e b' e >2
1739 @rlsr{Fretted strings}.
1742 @ref{Special note heads},
1743 @ref{Note head styles}.
1746 @node Indicating power chords
1747 @unnumberedsubsubsec Indicating power chords
1749 @funindex powerChords
1750 @funindex \powerChords
1752 @cindex power chords
1753 @cindex chords, power
1755 Power chords and their symbols can be engraved in chord mode or as chord
1758 @lilypond[quote,ragged-right,verbatim]
1759 ChordsAndSymbols = {
1764 \set minimumFret = #8
1768 \set minimumFret = #5
1788 Power chord symbols are automatically switched off as soon as one of the
1789 other common chord modifier is used:
1791 @lilypond[quote,ragged-right,verbatim]
1792 mixedChords = \chordmode {
1817 @rglos{power chord}.
1820 @ref{Extended and altered chords},
1821 @ref{Printing chord names}.
1824 @rlsr{Fretted strings}.
1831 * Banjo tablatures::
1834 @node Banjo tablatures
1835 @unnumberedsubsubsec Banjo tablatures
1837 @cindex banjo tablatures
1838 @cindex tablature, banjo
1840 LilyPond has basic support for the five-string banjo. When making tablatures
1841 for five-string banjo, use the banjo tablature format function to get
1842 correct fret numbers for the fifth string:
1844 @c due to crazy intervals of banjo music, absolute pitch is recommended
1846 @lilypond[quote,ragged-right,verbatim]
1848 \set TabStaff.tablatureFormat = #fret-number-tablature-format-banjo
1849 \set TabStaff.stringTunings = #banjo-open-g-tuning
1852 g8 d' g'\5 a b g e d' |
1853 g4 d''8\5 b' a'\2 g'\5 e'\2 d' |
1859 @cindex banjo tunings
1860 @cindex tunings, banjo
1862 @funindex banjo-c-tuning
1863 @funindex banjo-modal-tuning
1864 @funindex banjo-open-d-tuning
1865 @funindex banjo-open-dm-tuning
1866 @funindex four-string-banjo
1868 A number of common tunings for the five-string banjo are predefined:
1869 @code{banjo-c-tuning} (gCGBD), @code{banjo-modal-tuning} (gDGCD),
1870 @code{banjo-open-d-tuning} (aDF#AD) and @code{banjo-open-dm-tuning}
1873 These may be converted to four-string tunings using the
1874 @code{four-string-banjo} function:
1877 \set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)
1882 @file{ly/string-tunings-init.ly}.
1885 @rlsr{Fretted strings}.