]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/fretted-strings.itely
Doc: Couple of Typos and line break fixes
[lilypond.git] / Documentation / notation / fretted-strings.itely
index e331891507d471206e3aa1774f67581536273156..ab6f7ba54bf8efef7a46f751746da76180a9ae0b 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.12.0"
+@c \version "2.13.46"
 
 @node Fretted string instruments
 @section Fretted string instruments
@@ -55,13 +55,14 @@ tablature.  Sometimes the two types are combined, and it is
 especially common in popular music to use chord diagrams above
 a staff of traditional notation.  The guitar and the banjo are
 transposing instruments, sounding an octave lower than written.
-Scores for these instruments should use the @code{"treble_8"} clef (or
-@code{\transposition c} to get correct MIDI output).
+Scores for these instruments should use the @code{"treble_8"} clef
+(or @code{\transposition c} to get correct MIDI output).
 Some other elements pertinent to fretted string instruments
 are covered elsewhere:
 
 @itemize
-@item Fingerings are indicated as shown in @ref{Fingering instructions}.
+@item Fingerings are indicated as shown in
+@ref{Fingering instructions}.
 
 @item Instructions for @notation{Laissez vibrer} ties
 as well as ties on arpeggios and tremolos can be found in
@@ -165,7 +166,7 @@ calligraphic tablature clef is added automatically.
 @lilypond[quote,ragged-right,verbatim]
 \new TabStaff \relative c' {
   a,8 a' <c e> a
-  d, a' <d f> a
+  d,8 a' <d f> a
 }
 @end lilypond
 
@@ -178,14 +179,14 @@ symbols = {
   c4-.^"Allegro" d( e)
   f4-.\f g a^\fermata
   \mark \default
-  c8_.\<\( c16 c ~ c2\!
+  c8_.\<\( c16 c~ c2\!
   c'2.\prall\)
 }
 
 \score {
   <<
     \new Staff { \clef "G_8" \symbols }
-    \new TabStaff   { \symbols }
+    \new TabStaff { \symbols }
   >>
 }
 @end lilypond
@@ -194,7 +195,7 @@ symbols = {
 
 If all musical symbols used in traditional notation should also show up
 in tablature one has to apply the command @code{\tabFullNotation} in a
-@code{TabStaff}-context. Please bear in mind that half notes are
+@code{TabStaff}-context.  Please bear in mind that half notes are
 double-stemmed in tablature in order to distinguish them from quarter
 notes.
 
@@ -204,7 +205,7 @@ symbols = {
   c4-.^"Allegro" d( e)
   f4-.\f g a^\fermata
   \mark \default
-  c8_.\<\( c16 c ~ c2\!
+  c8_.\<\( c16 c~ c2\!
   c'2.\prall\)
 }
 
@@ -221,13 +222,13 @@ symbols = {
 @funindex minimumFret
 
 By default pitches are assigned to the lowest playing position on the
-fret-board (first position). Open strings are automatically preferred.
+fret-board (first position).  Open strings are automatically preferred.
 If you would like a certain pitch to be played on a specific string
-you can add a string number indication to the pitch name. If you
+you can add a string number indication to the pitch name.  If you
 define pitch names and string numbers without a chord construct
 (@code{<>}) the string number indications do not appear in traditional
-notation. It is much more comfortable to define the playing position
-by using the value of @code{minimumFret}. The default value for
+notation.  It is much more comfortable to define the playing position
+by using the value of @code{minimumFret}.  The default value for
 minimumFret is 0.
 
 
@@ -249,8 +250,35 @@ minimumFret is 0.
 >>
 @end lilypond
 
+@funindex \tabChordRepetition
+
+Chord constructs can be repeated by the chord repetition symbol
+@code{q}. To use this feature in combination with tablature,
+@code{\tabChordRepetition} is provided.  It preserves the string
+information explicitly given within chord constructs so repeated chords
+get identical tablature representations.
+
+@lilypond[quote,verbatim]
+\tabChordRepetition
 
-Ties over a line break are parenthesized by default. The same holds for
+guitar = \relative c' {
+  r8 <gis\4 cis\3 b\2>~ q4 q8~ q q4
+}
+
+\new StaffGroup <<
+  \new Staff {
+    \clef "treble_8"
+    \override Voice.StringNumber #'transparent = ##t
+    \guitar
+  }
+  \new TabStaff {
+    \guitar
+  }
+>>
+@end lilypond
+
+
+Ties over a line break are parenthesized by default.  The same holds for
 the second alternative of a repeat.
 
 @lilypond[quote,ragged-right,verbatim]
@@ -272,11 +300,11 @@ ties = \relative c' {
 \score {
   <<
     \new StaffGroup  <<
-    \context Staff  {
+      \context Staff {
         \clef "treble_8"
         \ties
-    }
-      \context TabStaff  {
+      }
+      \context TabStaff {
         \ties
       }
     >>
@@ -311,11 +339,11 @@ ties = \relative c' {
 \score {
   <<
     \new StaffGroup  <<
-    \context Staff  {
+      \context Staff {
         \clef "treble_8"
         \ties
-    }
-      \context TabStaff  {
+      }
+      \context TabStaff {
       \hideSplitTiedTabNotes
         \ties
       }
@@ -339,7 +367,7 @@ notation.
 @lilypond[verbatim, quote, relative=1]
 \new TabStaff {
   \new TabVoice {
-    <c g'\harmonic> d\2\glissando e\2
+    <c g'\harmonic>4 d\2\glissando e\2
   }
 }
 @end lilypond
@@ -378,7 +406,7 @@ In order to handle @code{\partcombine}, a @code{TabStaff} must use
 specially-created voices:
 
 @lilypond[quote,ragged-right,verbatim]
-melodia = \partcombine { e4 g g g }{ e4 e e e }
+melodia = \partcombine { e4 g g g } { e4 e e e }
 <<
   \new TabStaff <<
     \new TabVoice = "one" s1
@@ -398,10 +426,17 @@ Guitar special effects are limited to harmonics and slides.
 @cindex tablatures, custom
 @cindex tablature, banjo
 @cindex tablature, mandolin
+@cindex tablature, guitar
 @cindex tablature, bass guitar
+@cindex tablature, ukulele
 @cindex tablature, predefined string tunings
 @cindex fretted instruments, predefined string tunings
 @cindex predefined string tunings for fretted instruments
+@cindex tablature, violin
+@cindex tablature, viola
+@cindex tablature, cello
+@cindex tablature, bass
+@cindex tablature, double bass
 
 @funindex StringTunings
 
@@ -412,7 +447,8 @@ specified.  The tuning of the strings is given in the
 @code{stringTunings} property.
 
 LilyPond comes with predefined string tunings for banjo, mandolin,
-guitar, bass guitar and ukulele.  LilyPond automatically sets
+guitar, bass guitar, ukulele, violin, viola, cello, and double bass.
+LilyPond automatically sets
 the correct transposition for predefined tunings.  The following
 example is for bass guitar, which sounds an octave lower than
 written.
@@ -438,33 +474,101 @@ The default string tuning is @code{guitar-tuning}, which
 is the standard EADGBE tuning.  Some other predefined tunings are
 @code{guitar-open-g-tuning}, @code{mandolin-tuning} and
 @code{banjo-open-g-tuning}.  The predefined string tunings
-are found in @code{scm/tablature.scm}.
+are found in @file{ly/string-tuning-init.ly}.
+
+@funindex contextStringTunings
+@funindex \contextStringTunings
+@cindex tablature, custom string tunings
+@cindex custom string tunings
+
+Any desired string tuning can be created.  The
+@code{\contextStringTuning} function can be
+used to define a string tuning and set it as the
+@code{stringTunings} for the current context.
+@code{\contextStringTuning} takes two arguments: the
+symbol in which the string tuning, and a chord construct
+that defines the pitches of each string in the tuning.
+The chord construct must be in absolute octave mode,
+see @ref{Absolute octave entry}.  The string
+with the highest number (generally the lowest string) must
+come first in the chord.  For example, we can
+define a string tuning for a four-string instrument with pitches
+of @code{a''},  @code{d''},  @code{g'}, and @code{c'}:
+
+@lilypond[quote,verbatim]
+
+mynotes = {
+  c'4 e' g' c'' |
+  e''4 g'' b'' c'''
+}
+
+<<
+  \new Staff {
+    \clef treble
+    \mynotes
+  }
+  \new TabStaff {
+    \contextStringTuning #'custom-tuning <c' g' d'' a''>
+    \mynotes
+  }
+>>
+@end lilypond
+
+The @code{stringTunings} property is also used by
+@code{FretBoards} to calculate automatic fret diagrams.
+
+@funindex makeStringTuning
+@funindex \makeStringTuning
+
+String tunings are used as part of the hash key
+for predefined fret diagrams
+(see @ref{Predefined fret diagrams}).  The @code{\makeStringTuning}
+function is used to create a string tuning without setting the
+@code{stringTunings} property in the current context.  The
+arguments to @code{\makeStringTuning} are the symbol to be
+used for the new string tuning and a chord construct used
+to define the tuning.
+The previous example could also be written as follows:
+
+@lilypond[quote,verbatim]
+\makeStringTuning #'custom-tuning <c' g' d'' a''>
+
+mynotes = {
+  c'4 e' g' c'' |
+  e''4 g'' b'' c'''
+}
+
+<<
+  \new Staff {
+    \clef treble
+    \mynotes
+  }
+  \new TabStaff {
+    \set TabStaff.stringTunings = #custom-tuning
+    \mynotes
+  }
+>>
+@end lilypond
 
-A string tuning is a Scheme list of string pitches,
+Internally, a string tuning is a Scheme list of string pitches,
 one for each string, ordered by string number from 1 to N,
 where string 1 is at the top of the tablature staff and
 string N is at the bottom.  This ordinarily results in ordering
 from highest pitch to lowest pitch, but some instruments
 (e.g. ukulele) do not have strings ordered by pitch.
 
-A string pitch in a string tuning list is the pitch difference
-of the open string from middle C measured in semitones.  The
-string pitch must be an integer.  LilyPond calculates the actual
-pitch of the string by adding the string tuning pitch to the
-actual pitch for middle C.
-
-LilyPond automatically calculates the number of strings in the
-@code{TabStaff} as the number of elements in @code{stringTunings}.
-
-Any desired string tuning can be created.  For example, we can
-define a string tuning for a four-string instrument with pitches
-of @code{a''},  @code{d''},  @code{g'}, and @code{c'}:
+A string pitch in a string tuning list is a LilyPond pitch
+object.  Pitch objects are created with the Scheme function
+@code{ly:make-pitch} (see @ref{Scheme functions}).
 
+If desired, a string tuning can be created as a Scheme
+literal.  The example below recreates the examples above,
+but the string tuning is not saved as a separate object:
 
 @lilypond[quote,verbatim]
 mynotes = {
-    c'4 e' g' c'' |
-    e'' g'' b'' c'''
+  c'4 e' g' c'' |
+  e''4 g'' b'' c'''
 }
 
 <<
@@ -473,12 +577,20 @@ mynotes = {
     \mynotes
   }
   \new TabStaff {
-    \set TabStaff.stringTunings = #'(21 14 7 0)
+    \set TabStaff.stringTunings = #`(,(ly:make-pitch 1 5 0)
+                                    ,(ly:make-pitch 1 1 0)
+                                    ,(ly:make-pitch 0 4 0)
+                                    ,(ly:make-pitch 0 0 0))
     \mynotes
   }
 >>
 @end lilypond
 
+LilyPond automatically calculates the number of strings in the
+@code{TabStaff} and the number of strings in an automatically
+calculated @code{FretBoard} as the number of elements
+in @code{stringTunings}.
+
 @cindex moderntab clef
 @cindex clef, moderntab
 @cindex clef, tab
@@ -488,7 +600,7 @@ A modern tab clef can also be used.
 
 @lilypond[quote,ragged-right,verbatim]
 \new TabStaff {
- \clef moderntab
 \clef moderntab
   <a, e a>1
   \break
   \clef tab
@@ -499,8 +611,14 @@ A modern tab clef can also be used.
 The modern tab clef supports tablatures from 4 to 7 strings.
 
 @seealso
+Notation Reference:
+@ref{Absolute octave entry},
+@ref{Predefined fret diagrams},
+@ref{Scheme functions}.
+
 Installed Files:
-@file{scm/@/tablature@/.scm}.
+@file{ly/string-tuning-init.ly}
+@file{scm/tablature.scm}.
 
 Snippets:
 @rlsr{Fretted strings}.
@@ -528,8 +646,9 @@ note.  The markup contains information about the desired fret
 diagram.  There are three different fret-diagram markup
 interfaces: standard, terse, and verbose.  The three interfaces
 produce equivalent markups, but have varying amounts of
-information in the markup string.  Details about the markup
-interfaces are found at @ref{Text markup commands}.
+information in the markup string.  Details about the
+syntax of the different markup strings used to define
+fret diagrams are found at @ref{Instrument Specific Markup}.
 
 The standard fret diagram markup string indicates the string
 number and the fret number for each dot to be placed on the string.
@@ -538,16 +657,18 @@ In addition, open and unplayed (muted) strings can be indicated.
 @lilypond[quote, verbatim]
 <<
   \context ChordNames {
-     \chordmode {
-       c1 d:m
-     }
+    \chordmode {
+      c1 d:m
+    }
   }
   \context Staff {
     \clef "treble_8"
-    < c e g c' e' > 1 ^\markup
+    <c e g c' e'>1^\markup {
       \fret-diagram #"6-x;5-3;4-2;3-o;2-1;1-o;"
-    < d a d' f'> ^\markup
+    }
+    <d a d' f'>1^\markup {
       \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-1;"
+    }
   }
 >>
 @end lilypond
@@ -566,15 +687,18 @@ the fret-diagram markup string.
   }
   \context Staff {
     \clef "treble_8"
-    < f, c f a c' f'>1 ^\markup
+    <f, c f a c' f'>1^\markup {
       \fret-diagram #"c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"
-    < g, d g b d' g'> ^\markup
+    }
+    <g, d g b d' g'>1^\markup {
       \fret-diagram #"c:6-1-3;6-3;5-5;4-5;3-4;2-3;1-3;"
+    }
   }
 >>
 @end lilypond
 
 @cindex fret-diagram markup
+@cindex ukulele
 
 @funindex fret-diagram
 @funindex \fret-diagram
@@ -591,28 +715,32 @@ can be changed in the fret-diagram markup string.
   }
   \context Staff {
     \clef "treble_8"
-    < f, c f a c' f'>1 ^\markup
+    <f, c f a c' f'>1^\markup {
       \fret-diagram #"s:1.5;c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"
-    < g, b, d g b g'> ^\markup
+    }
+    <g, b, d g b g'>1^\markup {
       \fret-diagram #"h:6;6-3;5-2;4-o;3-o;2-o;1-3;"
+    }
   }
 >>
 @end lilypond
 
-The number of strings in a fret diagram can be changed to accomodate
+The number of strings in a fret diagram can be changed to accommodate
 different instruments such as banjos and ukuleles with the fret-diagram
 markup string.
 
 @lilypond[quote, verbatim]
 <<
   \context ChordNames {
-     \chordmode {
-       a1
-     }
+    \chordmode {
+      a1
+    }
   }
   \context Staff {
-        %% An A chord for ukulele
-    a'1 ^\markup \fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"
+    % An 'A' chord for ukulele
+    a'1^\markup {
+      \fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"
+    }
   }
 >>
 @end lilypond
@@ -623,16 +751,18 @@ can be controlled by the fret-diagram markup string.
 @lilypond[quote, verbatim]
 <<
   \context ChordNames {
-     \chordmode {
-       c1 d:m
-     }
+    \chordmode {
+      c1 d:m
+    }
   }
   \context Staff {
     \clef "treble_8"
-    < c e g c' e' > 1 ^\markup
+    <c e g c' e'>1^\markup {
       \fret-diagram #"f:1;6-x;5-3-3;4-2-2;3-o;2-1-1;1-o;"
-    < d a d' f'> ^\markup
+    }
+    <d a d' f'>1^\markup {
       \fret-diagram #"f:2;6-x;5-x;4-o;3-2-2;2-3-3;1-1-1;"
+    }
   }
 >>
 @end lilypond
@@ -643,16 +773,18 @@ markup string.
 @lilypond[quote, verbatim]
 <<
   \context ChordNames {
-     \chordmode {
-       c1 d:m
-     }
+    \chordmode {
+      c1 d:m
+    }
   }
   \context Staff {
     \clef "treble_8"
-    < c e g c' e' > 1 ^\markup
+    <c e g c' e'>1^\markup {
       \fret-diagram #"d:0.35;6-x;5-3;4-2;3-o;2-1;1-o;"
-    < d a d' f'> ^\markup
+    }
+    <d a d' f'>1^\markup {
       \fret-diagram #"p:0.2;6-x;5-x;4-o;3-2;2-3;1-1;"
+    }
   }
 >>
 @end lilypond
@@ -671,16 +803,18 @@ Mute strings, open strings, and fret numbers can be indicated.
 @lilypond[quote, verbatim]
 <<
   \context ChordNames {
-     \chordmode {
-       c1 d:m
-     }
+    \chordmode {
+      c1 d:m
+    }
   }
   \context Staff {
     \clef "treble_8"
-    < c e g c' e' > 1 ^\markup
+    <c e g c' e'>1^\markup {
       \fret-diagram-terse #"x;3;2;o;1;o;"
-    < d a d' f'> ^\markup
+    }
+    <d a d' f'>1^\markup {
       \fret-diagram-terse #"x;x;o;2;3;1;"
+    }
   }
 >>
 @end lilypond
@@ -690,16 +824,18 @@ Barre indicators can be included in the fret-diagram-terse markup string.
 @lilypond[quote, verbatim]
 <<
   \context ChordNames {
-     \chordmode {
-       f1 g
-     }
+    \chordmode {
+      f1 g
+    }
   }
   \context Staff {
     \clef "treble_8"
-    < f, c f a c' f'>1 ^\markup
+    <f, c f a c' f'>1^\markup {
       \fret-diagram-terse #"1-(;3;3;2;1;1-);"
-    < g, d g b d' g'> ^\markup
+    }
+    <g, d g b d' g'>1^\markup {
       \fret-diagram-terse #"3-(;5;5;4;3;3-);"
+    }
   }
 >>
 @end lilypond
@@ -710,26 +846,29 @@ Fingering indications can be included in the fret-diagram-terse markup string.
 @lilypond[quote, verbatim]
 <<
   \context ChordNames {
-     \chordmode {
-       c1 d:m
-     }
+    \chordmode {
+      c1 d:m
+    }
   }
   \context Staff {
     \override Voice.TextScript
       #'(fret-diagram-details finger-code) = #'below-string
     \clef "treble_8"
-    < c e g c' e' > 1 ^\markup
+    <c e g c' e'>1^\markup {
       \fret-diagram-terse #"x;3-3;2-2;o;1-1;o;"
-    < d a d' f'> ^\markup
+    }
+    <d a d' f'>1^\markup {
       \fret-diagram-terse #"x;x;o;2-2;3-3;1-1;"
+    }
   }
 >>
 @end lilypond
 
-Other fret diagram properties must be adjusted using @code{\override} when using
-the fret-diagram-terse markup.
+Other fret diagram properties must be adjusted using
+@code{\override} when using the fret-diagram-terse markup.
 
 @cindex fret-diagram-verbose markup
+@cindex capo
 
 @funindex fret-diagram-verbose
 @funindex \fret-diagram-verbose
@@ -738,14 +877,15 @@ The fret-diagram-verbose markup string is in the format of a Scheme list.  Each
 element of the list indicates an item to be placed on the fret diagram.
 
 @lilypond[quote, verbatim]
-<<  \context ChordNames {
-     \chordmode {
-       c1 d:m
-     }
-  }
+<<
+    \context ChordNames {
+      \chordmode {
+        c1 d:m
+      }
+    }
   \context Staff {
     \clef "treble_8"
-    < c e g c' e' > 1 ^\markup
+    <c e g c' e'>1^\markup {
       \fret-diagram-verbose #'(
         (mute 6)
         (place-fret 5 3)
@@ -754,7 +894,8 @@ element of the list indicates an item to be placed on the fret diagram.
         (place-fret 2 1)
         (open 1)
       )
-    < d a d' f'> ^\markup
+    }
+    <d a d' f'>1^\markup {
       \fret-diagram-verbose #'(
         (mute 6)
         (mute 5)
@@ -763,6 +904,7 @@ element of the list indicates an item to be placed on the fret diagram.
         (place-fret 2 3)
         (place-fret 1 1)
       )
+    }
   }
 >>
 @end lilypond
@@ -777,17 +919,16 @@ capo will be the lowest fret in the fret diagram.
 @c \override is necessary to make fingering visible
 @lilypond[quote, verbatim]
 <<
-  \context ChordNames {
-     \chordmode {
-       f1 g c
-     }
-  }
+    \context ChordNames {
+      \chordmode {
+        f1 g c
+      }
+    }
   \context Staff {
     \clef "treble_8"
     \override Voice.TextScript
       #'(fret-diagram-details finger-code) = #'below-string
-
-    < f, c f a c' f'>1 ^\markup
+    <f, c f a c' f'>1^\markup {
       \fret-diagram-verbose #'(
         (place-fret 6 1)
         (place-fret 5 3)
@@ -797,7 +938,8 @@ capo will be the lowest fret in the fret diagram.
         (place-fret 1 1)
         (barre 6 1 1)
       )
-    < g, b, d g b g'> ^\markup
+    }
+    <g, b, d g b g'>1^\markup {
       \fret-diagram-verbose #'(
         (place-fret 6 3 2)
         (place-fret 5 2 1)
@@ -806,7 +948,8 @@ capo will be the lowest fret in the fret diagram.
         (open 2)
         (place-fret 1 3 3)
       )
-    < c e g c' e'> ^\markup
+    }
+    <c e g c' e'>1^\markup {
       \fret-diagram-verbose #'(
         (capo 3)
         (mute 6)
@@ -814,12 +957,13 @@ capo will be the lowest fret in the fret diagram.
         (place-fret 3 5 2)
         (place-fret 2 5 3)
       )
-   }
+    }
+  }
 >>
 @end lilypond
 
-All other fret diagram properties must be adjusted using @code{\override}
-when using the fret-diagram-verbose markup.
+All other fret diagram properties must be adjusted using
+@code{\override} when using the fret-diagram-verbose markup.
 
 @ignore
 The following example shows the three fret-diagram markup
@@ -832,27 +976,33 @@ and color of dots.
 @lilypond[verbatim,ragged-right,quote]
 \new Voice {
   \clef "treble_8"
-  d^\markup \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-2;"
-  d d d
-  fis^\markup \override #'(size . 0.75) {
-    \override #'(finger-code . below-string) {
-      \fret-diagram-verbose #'((place-fret 6 2 1) (barre 6 1 2)
-                               (place-fret 5 4 3)
-                               (place-fret 4 4 4)
-                               (place-fret 3 3 2)
-                               (place-fret 2 2 1)
-                               (place-fret 1 2 1))
+  d4^\markup {
+    \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-2;"
+  }
+  d4 d d
+  fis^\markup {
+    \override #'(size . 0.75) {
+      \override #'(finger-code . below-string) {
+        \fret-diagram-verbose #'((place-fret 6 2 1) (barre 6 1 2)
+                                 (place-fret 5 4 3)
+                                 (place-fret 4 4 4)
+                                 (place-fret 3 3 2)
+                                 (place-fret 2 2 1)
+                                 (place-fret 1 2 1))
+      }
     }
   }
-  fis fis fis
-  c^\markup \override #'(dot-radius . 0.35) {
-    \override #'(finger-code . in-dot) {
-      \override #'(dot-color . white) {
-        \fret-diagram-terse #"x;3-1-(;5-2;5-3;5-4;3-1-);"
+  fis4 fis fis
+  c^\markup {
+    \override #'(dot-radius . 0.35) {
+      \override #'(finger-code . in-dot) {
+        \override #'(dot-color . white) {
+          \fret-diagram-terse #"x;3-1-(;5-2;5-3;5-4;3-1-);"
+        }
       }
     }
   }
-  c c c
+  c4 c c
 }
 @end lilypond
 @end ignore
@@ -864,19 +1014,22 @@ and color of dots.
 @funindex fret-diagram-interface
 
 The graphical layout of a fret diagram can be customized according to
-user preference through the properties of the @code{fret-diagram-interface}.
-Details are found at @rinternals{fret-diagram-interface}.  For a fret diagram
+user preference through the properties of the
+@code{fret-diagram-interface}. Details are found at
+@rinternals{fret-diagram-interface}.  For a fret diagram
 markup, the interface properties belong to @code{Voice.TextScript}.
 
 @snippets
 
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{customizing-markup-fret-diagrams.ly}
+{changing-fret-orientations.ly}
 
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{customizing-markup-fret-diagrams.ly}
 
 @seealso
 Notation Reference:
-@ref{Text markup commands}.
+@ref{Instrument Specific Markup}.
 
 Snippets:
 @rlsr{Fretted strings}.
@@ -890,6 +1043,7 @@ Internals Reference:
 
 
 @cindex fret diagrams
+@cindex fret diagrams, ukulele
 @cindex chord diagrams
 
 @funindex FretBoards
@@ -909,17 +1063,17 @@ are stored in a lookup table:
 @end lilypond
 
 The default predefined fret diagrams are contained in the file
-@code{predefined-guitar-fretboards.ly}.  Fret diagrams are
+@file{predefined-guitar-fretboards.ly}.  Fret diagrams are
 stored based on the pitches of a chord and the value of
 @code{stringTunings} that is currently in use.
-@code{predefined-guitar-fretboards.ly} contains predefined
+@file{predefined-guitar-fretboards.ly} contains predefined
 fret diagrams only for @code{guitar-tuning}.  Predefined fret
 diagrams can be added for other instruments or other tunings
 by following the examples found in
-@code{predefined-guitar-fretboards.ly}.
+@file{predefined-guitar-fretboards.ly}.
 
 Fret diagrams for the ukulele are contained in the file
-@code{predefined-ukulele-fretboards.ly}.
+@file{predefined-ukulele-fretboards.ly}.
 
 @lilypond[verbatim, ragged-right, quote]
 \include "predefined-ukulele-fretboards.ly"
@@ -943,7 +1097,7 @@ either as simultaneous music or using chord mode (see
 @lilypond[verbatim, ragged-right,quote]
 \include "predefined-guitar-fretboards.ly"
 \context FretBoards {
-  \chordmode {c1}
+  \chordmode { c1 }
   <c' e' g'>1
 }
 @end lilypond
@@ -990,7 +1144,7 @@ mychords = \chordmode{
 
 mychordlist = {
   \mychords
-  \transpose c e { \mychords}
+  \transpose c e { \mychords }
 }
 <<
   \context ChordNames {
@@ -1036,19 +1190,22 @@ mychords = \chordmode{
 @cindex adding custom fret diagrams
 
 Fret diagrams can be added to the fret diagram table.  To add a diagram,
-you must specify the chord for the diagram, the tuning to be used, and
-a definition for the diagram.  The diagram definition can be either a
+you must specify the hash table for the diagram, the chord for the
+diagram, the tuning to be used, and
+a definition for the diagram.  Normally, the hash table will be
+@var{default-fret-table}.  The diagram definition can be either a
 fret-diagram-terse definition string or a fret-diagram-verbose
 marking list.
 
 @lilypond[verbatim, ragged-right, quote]
 \include "predefined-guitar-fretboards.ly"
 
-\storePredefinedDiagram \chordmode {c:maj9}
+\storePredefinedDiagram #default-fret-table
+                        \chordmode { c:maj9 }
                         #guitar-tuning
                         #"x;3-2;o;o;o;o;"
 
-mychords = \chordmode{
+mychords = \chordmode {
   c1 c:maj9
 }
 
@@ -1070,11 +1227,12 @@ default octave are used for transposing fretboards.
 @lilypond[verbatim, ragged-right, quote]
 \include "predefined-guitar-fretboards.ly"
 
-\storePredefinedDiagram \chordmode {c''}
+\storePredefinedDiagram #default-fret-table
+                        \chordmode { c'' }
                         #guitar-tuning
                         #(offset-fret 2 (chord-shape 'bes guitar-tuning))
 
-mychords = \chordmode{
+mychords = \chordmode {
   c1 c''
 }
 
@@ -1092,13 +1250,13 @@ mychords = \chordmode{
 @cindex chord shapes for fretted instruments
 
 @funindex \addChordShape
-@funindex add ChordShape
+@funindex addChordShape
 @funindex storePredefinedDiagram
 @funindex \storePredefinedDiagram
 
 In addition to fret diagrams, LilyPond stores an internal list of chord
 shapes.  The chord shapes are fret diagrams that can be shifted along
-the neck to different posistions to provide different chords.  Chord
+the neck to different positions to provide different chords.  Chord
 shapes can be added to the internal list and then used to define
 predefined fret diagrams.  Because they can be moved to various
 positions on the neck, chord shapes will normally not contain
@@ -1109,16 +1267,18 @@ marking lists.
 @lilypond[verbatim, ragged-right, quote]
 \include "predefined-guitar-fretboards.ly"
 
-% add a new chord shape
+% Add a new chord shape
 
 \addChordShape #'powerf #guitar-tuning #"1-1;3-3;3-4;x;x;x;"
 
 % add some new chords based on the power chord shape
 
-\storePredefinedDiagram \chordmode {f''}
+\storePredefinedDiagram #default-fret-table
+                        \chordmode { f'' }
                         #guitar-tuning
                         #(chord-shape 'powerf guitar-tuning)
-\storePredefinedDiagram \chordmode {g''}
+\storePredefinedDiagram #default-fret-table
+                        \chordmode { g'' }
                         #guitar-tuning
                         #(offset-fret 2 (chord-shape 'powerf guitar-tuning))
 
@@ -1137,10 +1297,10 @@ mychords = \chordmode{
 @end lilypond
 
 The graphical layout of a fret diagram can be customized according to
-user preference through the properties of the @code{fret-diagram-interface}.
-Details are found at @rinternals{fret-diagram-interface}.  For a
-predefined fret diagram, the interface properties belong to
-@code{FretBoards.FretBoard}.
+user preference through the properties of the
+@code{fret-diagram-interface}. Details are found at
+@rinternals{fret-diagram-interface}.  For a predefined fret diagram,
+the interface properties belong to @code{FretBoards.FretBoard}.
 
 @snippets
 
@@ -1153,6 +1313,9 @@ predefined fret diagram, the interface properties belong to
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {chordchanges-for-fretboards.ly}
 
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{fretboards-alternate-tables.ly}
+
 
 @seealso
 Notation Reference:
@@ -1162,8 +1325,9 @@ Notation Reference:
 @ref{Predefined fretboard diagrams}.
 
 Installed Files:
-@file{ly/@/predefined@/-guitar@/-fretboards@/.ly},
-@file{ly/@/predefined@/-guitar@/-ninth@/-fretboards@/.ly}.
+@file{ly/predefined-guitar-fretboards.ly},
+@file{ly/predefined-guitar-ninth-fretboards.ly},
+@file{ly/predefined-ukulele-fretboards.ly}.
 
 Snippets:
 @rlsr{Fretted strings}.
@@ -1188,18 +1352,18 @@ calculates strings and frets that can be used to play the notes.
 @lilypond[quote,ragged-right,verbatim]
 <<
   \context ChordNames {
-     \chordmode {
-       f1 g
-     }
+    \chordmode {
+      f1 g
+    }
   }
   \context FretBoards {
-    < f, c f a c' f'>1
-    < g,\6 b, d g b g'>
+    <f, c f a c' f'>1
+    <g,\6 b, d g b g'>1
   }
   \context Staff {
     \clef "treble_8"
-    < f, c f a c' f'>1
-    < g, b, d g b' g'>
+    <f, c f a c' f'>1
+    <g, b, d g b' g'>1
   }
 >>
 @end lilypond
@@ -1216,27 +1380,28 @@ commands:
 
 @lilypond[quote,ragged-right,verbatim]
 
-\storePredefinedDiagram <c e g c' e'>
+\storePredefinedDiagram #default-fret-table
+                        <c e g c' e'>
                         #guitar-tuning
-                        #"x;3-1-(;5-2;5-3;5-4;3-1-1);"
+                        #"x;3-1-(;5-2;5-3;5-4;3-1-1-);"
 <<
   \context ChordNames {
-     \chordmode {
-       c1 c c
-     }
+    \chordmode {
+      c1 c c
+    }
   }
   \context FretBoards {
     <c e g c' e'>1
     \predefinedFretboardsOff
-    <c e g c' e'>
+    <c e g c' e'>1
     \predefinedFretboardsOn
-    <c e g c' e'>
+    <c e g c' e'>1
   }
   \context Staff {
     \clef "treble_8"
     <c e g c' e'>1
-    <c e g c' e'>
-    <c e g c' e'>
+    <c e g c' e'>1
+    <c e g c' e'>1
   }
 >>
 @end lilypond
@@ -1247,8 +1412,8 @@ Sometimes the fretboard calculator will be unable to find
 an acceptable diagram.  This can often be remedied by
 manually assigning a note to a string.  In many cases, only one
 note need be manually placed on a string; the rest of
-the notes will then be placed appropriately by the @code{FretBoards}
-context.
+the notes will then be placed appropriately by the
+@code{FretBoards} context.
 
 @cindex fret diagrams, adding fingerings
 @cindex fingerings, adding to fret diagrams
@@ -1258,22 +1423,24 @@ Fingerings can be added to FretBoard fret diagrams.
 @lilypond[quote, verbatim]
 <<
   \context ChordNames {
-     \chordmode {
-       c1 d:m
-     }
+    \chordmode {
+      c1 d:m
+    }
   }
   \context FretBoards {
-    < c-3 e-2 g c'-1 e' > 1
-    < d a-2 d'-3 f'-1>
+    <c-3 e-2 g c'-1 e'>1
+    <d a-2 d'-3 f'-1>1
   }
   \context Staff {
     \clef "treble_8"
-    < c e g c' e' > 1
-    < d a d' f'>
+    <c e g c' e'>1
+    <d a d' f'>1
   }
 >>
 @end lilypond
 
+@funindex minimumFret
+
 The minimum fret to be used in calculating strings and frets for
 the FretBoard context can be set with the @code{minimumFret}
 property.
@@ -1281,19 +1448,19 @@ property.
 @lilypond[quote, verbatim]
 <<
   \context ChordNames {
-     \chordmode {
-       d1:m d:m
-     }
+    \chordmode {
+      d1:m d:m
+    }
   }
   \context FretBoards {
-    < d a d' f'>
+    <d a d' f'>1
     \set FretBoards.minimumFret = #5
-    < d a d' f'>
+    <d a d' f'>1
   }
   \context Staff {
     \clef "treble_8"
-    < d a d' f'>
-    < d a d' f'>
+    <d a d' f'>1
+    <d a d' f'>1
   }
 >>
 @end lilypond
@@ -1304,9 +1471,10 @@ as in the TabStaff context.  See @ref{Custom tablatures} for
 information on the @code{stringTunings} property.
 
 The graphical layout of a fret diagram can be customized according to
-user preference through the properties of the @code{fret-diagram-interface}.
-Details are found at @rinternals{fret-diagram-interface}.  For a
-@code{FretBoards} fret diagram, the interface properties belong to
+user preference through the properties of the
+@code{fret-diagram-interface}. Details are found at
+@rinternals{fret-diagram-interface}.  For a @code{FretBoards} fret
+diagram, the interface properties belong to
 @code{FretBoards.FretBoard}.
 
 
@@ -1355,7 +1523,7 @@ even when applied to a single note.
 <g-\rightHandFinger #3 >
 <c-\rightHandFinger #4 >
 <c,-\rightHandFinger #1 e-\rightHandFinger #2
 g-\rightHandFinger #3 c-\rightHandFinger #4 >1
+ g-\rightHandFinger #3 c-\rightHandFinger #4 >1
 @end lilypond
 
 For convenience, you can abbreviate @code{\rightHandFinger} to something
@@ -1398,6 +1566,7 @@ or, for experienced users, a typesetter like GuitarTeX.
 @menu
 * Indicating position and barring::
 * Indicating harmonics and dampened notes::
+* Indicating power chords::
 @end menu
 
 @node Indicating position and barring
@@ -1409,13 +1578,13 @@ or, for experienced users, a typesetter like GuitarTeX.
 This example demonstrates how to include guitar position and
 barring indications.
 
-@lilypond[quote,ragged-right,fragment,verbatim,relative=0]
+@lilypond[quote,ragged-right,verbatim,relative=0]
 \clef "treble_8"
 b16 d g b e
 \textSpannerDown
 \override TextSpanner #'(bound-details left text) = #"XII "
-  g16\startTextSpan
-  b16 e g e b g\stopTextSpan
+g16\startTextSpan
+b16 e g e b g\stopTextSpan
 e16 b g d
 @end lilypond
 
@@ -1444,13 +1613,58 @@ text markup.
 @lilypond[quote,ragged-right,verbatim]
 \relative c' {
   \clef "treble_8"
-  \override Staff.NoteHead #'style = #'cross
-  g8 a b c b4
   \override Staff.NoteHead #'style = #'harmonic-mixed
   d^\markup { \italic { \fontsize #-2 { "harm. 12" }}} <g b>1
 }
 @end lilypond
 
+Dampened notes (also called @notation{dead notes}) are supported
+within normal and tablature staves:
+
+@lilypond[quote,ragged-right,verbatim]
+music = \relative c' {
+  < a\3 \deadNote c\2 a'\1 >4
+  < b\3 \deadNote d\2 b'\1 >
+  < c\3 \deadNote e\2 c'\1 >
+  \deadNotesOn
+  \times 2/3 { g8 b e }
+  \deadNotesOff
+  < a,\3 c\2 e\1 >1
+}
+\new StaffGroup <<
+  \new Staff {
+    \clef "treble_8"
+    \music
+  }
+  \new TabStaff {
+    \music
+  }
+>>
+@end lilypond
+
+Another playing technique (especially used on electric guitars) is
+called @notation{palm mute}.  The string is hereby partly muted by the
+palm of the striking hand (hence the name).  Lilypond supports
+the notation of palm mute-style notes by changing the note head to a
+triangle shape.
+
+@lilypond[quote,ragged-right,verbatim]
+\new Voice { % Warning: explicit Voice instantiation is
+             %    required to have palmMuteOff work properly
+             %    when palmMuteOn comes at the beginning of
+             %    the piece.
+  \relative c, {
+    \clef "G_8"
+    \palmMuteOn
+    e8^\markup { \musicglyph #"noteheads.u2do"  = palm mute }
+    < e b' e > e
+    \palmMuteOff
+    e e  \palmMute e e e |
+    e8 \palmMute { e e e } e e e e |
+    < \palmMute e b' e >8 \palmMute { e e e } < \palmMute e b' e >2
+  }
+}
+@end lilypond
 
 @seealso
 Snippets:
@@ -1461,6 +1675,87 @@ Notation Reference:
 @ref{Note head styles}.
 
 
+@node Indicating power chords
+@unnumberedsubsubsec Indicating power chords
+
+@funindex powerChords
+@funindex \powerChords
+
+@cindex power chords
+@cindex chords, power
+
+Power chords and their symbols can be engraved in chord mode or as chord
+constructs:
+
+@lilypond[quote,ragged-right,verbatim]
+ChordsAndSymbols = {
+  \chordmode {
+    \powerChords
+    e,,1:1.5
+    a,,1:1.5.8
+    \set minimumFret = #8
+    c,1:1.5
+    f,1:1.5.8
+  }
+  \set minimumFret = #5
+  <a, e>1
+  <g d' g'>1
+}
+\score {
+  <<
+    \new ChordNames {
+    \ChordsAndSymbols
+    }
+    \new Staff {
+      \clef "treble_8"
+      \ChordsAndSymbols
+    }
+    \new TabStaff {
+      \ChordsAndSymbols
+    }
+  >>
+}
+@end lilypond
+
+Power chord symbols are automatically switched off as soon as one of the
+other common chord modifier is used:
+
+@lilypond[quote,ragged-right,verbatim]
+mixedChords = \chordmode {
+  c,1
+  \powerChords
+  b,,1:1.5
+  fis,,1:1.5.8
+  g,,1:m
+}
+\score {
+  <<
+    \new ChordNames {
+      \mixedChords
+    }
+    \new Staff {
+      \clef "treble_8"
+      \mixedChords
+    }
+    \new TabStaff {
+      \mixedChords
+    }
+  >>
+}
+@end lilypond
+
+@seealso
+Music Glossary:
+@rglos{power chord}.
+
+Notation Reference:
+@ref{Extended and altered chords},
+@ref{Printing chord names}.
+
+Snippets:
+@rlsr{Fretted strings}.
+
+
 @node Banjo
 @subsection Banjo
 
@@ -1480,7 +1775,7 @@ correct fret numbers for the fifth string:
 
 @c due to crazy intervals of banjo music, absolute pitch is recommended
 
-@lilypond[quote,ragged-right,fragment,verbatim]
+@lilypond[quote,ragged-right,verbatim]
 \new TabStaff <<
   \set TabStaff.tablatureFormat = #fret-number-tablature-format-banjo
   \set TabStaff.stringTunings = #banjo-open-g-tuning
@@ -1520,4 +1815,4 @@ Snippets:
 @rlsr{Fretted strings}.
 
 Installed Files:
-@file{scm/@/output@/-lib@/.scm} contains predefined banjo tunings.
+@file{scm/output-lib.scm} contains predefined banjo tunings.