]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/fretted-strings.itely
Merge branch 'master' into lilypond/translation
[lilypond.git] / Documentation / notation / fretted-strings.itely
index 1f153e3d9b18916d01406620b705602ea93dca1d..b89790fdde56c4f9b2784e681906e8c3359fc2ac 100644 (file)
@@ -3,7 +3,8 @@
     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
 
     When revising a translation, copy the HEAD committish of the
-    version that you are working on.  See TRANSLATION for details.
+    version that you are working on.  For details, see the Contributors'
+    Guide, node Updating translation committishes..
 @end ignore
 
 @c \version "2.12.0"
@@ -54,7 +55,8 @@ 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.
+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:
 
@@ -83,7 +85,8 @@ Notation Reference:
 @ref{Writing music in parallel},
 @ref{Arpeggio},
 @ref{List of articulations},
-@ref{Clef}.
+@ref{Clef},
+@ref{Instrument transpositions}.
 
 
 @node String number indications
@@ -146,50 +149,211 @@ Internals Reference:
 @funindex TabStaff
 @funindex TabVoice
 
-Tablature notation is used for notating music for plucked string
-instruments.  Pitches are not denoted with note heads, but by
-numbers indicating on which string and fret a note must be played.
-LilyPond offers limited support for tablature.
+Music for plucked string instruments is frequently notated using a
+finger/touch notation or tablature.  In contrast to traditional
+notation pitches are not denoted with note heads, but by numbers (or
+letterlike symbols in historical intavolatura).  The numbers
+indicate on which string and fret a note must be played.  The numbers
+are printed on top of each other if they are to be played
+simultaneously.
 
-The string number associated with a note is given as a backslash
-followed by a number.  By default, string 1 is the highest,
-and the tuning defaults to the standard guitar tuning (with 6 strings).
-The notes are printed as tablature, by using @code{TabStaff} and
-@code{TabVoice} contexts
+By default, string 1 is the highest, and the tuning defaults to the
+standard guitar tuning (with 6 strings).  The notes are printed as
+tablature, by using @code{TabStaff} and @code{TabVoice} contexts.  A
+calligraphic tablature clef is added automatically.
 
-@lilypond[quote,ragged-right,fragment,verbatim]
-\new TabStaff {
-  a,4\5 c'\2 a\3 e'\1
-  e\4 c'\2 a\3 e'\1
+@lilypond[quote,ragged-right,verbatim]
+\new TabStaff \relative c' {
+  a,8 a' <c e> a
+  d, a' <d f> a
 }
 @end lilypond
 
-@funindex minimumFret
+Default tablatures do not contain any symbols for tone duration nor any
+other musical symbols such as e.g. expressive marks.
+
+@lilypond[quote,ragged-right,verbatim]
+symbols = {
+  \time 3/4
+  c4-.^"Allegro" d( e)
+  f4-.\f g a^\fermata
+  \mark \default
+  c8_.\<\( c16 c ~ c2\!
+  c'2.\prall\)
+}
+
+\score {
+  <<
+    \new Staff { \clef "G_8" \symbols }
+    \new TabStaff   { \symbols }
+  >>
+}
+@end lilypond
+
+@funindex \tabFullNotation
+
+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
+double-stemmed in tablature in order to distinguish them from quarter
+notes.
+
+@lilypond[quote,ragged-right,verbatim]
+symbols = {
+  \time 3/4
+  c4-.^"Allegro" d( e)
+  f4-.\f g a^\fermata
+  \mark \default
+  c8_.\<\( c16 c ~ c2\!
+  c'2.\prall\)
+}
+
+\score {
+  \new TabStaff {
+    \tabFullNotation
+    \symbols
+  }
+}
+@end lilypond
 
 @cindex fret
 
+@funindex minimumFret
 
-When no string is specified for a note, the note is assigned to
-the highest string that can generate the note with a fret number
-greater than or equal to the value of @code{minimumFret}.
-The default value for @code{minimumFret} is 0.
+By default pitches are assigned to the lowest playing position on the
+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
+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
+minimumFret is 0.
 
 
 @lilypond[quote,ragged-right,verbatim]
 \new StaffGroup <<
    \new Staff \relative c {
      \clef "treble_8"
+     \time 2/4
      c16 d e f g4
+     c,16\5 d\5 e\4 f\4 g4\4
      c,16 d e f g4
    }
    \new TabStaff \relative c {
      c16 d e f g4
+     c,16\5 d\5 e\4 f\4 g4\4
      \set TabStaff.minimumFret = #5
      c,16 d e f g4
    }
 >>
 @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
+
+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]
+ties = \relative c' {
+  \repeat volta 2 {
+    e2. f4~
+    f2 g2~
+  }
+  \alternative {
+     { g4 f2. }
+     { g4\repeatTie c,2. }
+  }
+  b1~
+  \break
+  b1
+  \bar "|."
+}
+
+\score {
+  <<
+    \new StaffGroup  <<
+    \context Staff  {
+        \clef "treble_8"
+        \ties
+    }
+      \context TabStaff  {
+        \ties
+      }
+    >>
+  >>
+  \layout {
+  indent = #0
+  ragged-right = ##t
+  }
+}
+@end lilypond
+
+@funindex \hideSplitTiedTabNotes
+
+The command @code{\hideSplitTiedTabNotes} cancels the behavior of
+engraving fret numbers in parentheses:
+
+@lilypond[quote,ragged-right,verbatim]
+ties = \relative c' {
+  \repeat volta 2 {
+    e2. f4~
+    f2 g2~ }
+  \alternative {
+    { g4 f2. }
+    { g4\repeatTie c,2. }
+  }
+  b1~
+  \break
+  b1
+  \bar "|."
+}
+
+\score {
+  <<
+    \new StaffGroup  <<
+    \context Staff  {
+        \clef "treble_8"
+        \ties
+    }
+      \context TabStaff  {
+      \hideSplitTiedTabNotes
+        \ties
+      }
+    >>
+  >>
+  \layout {
+  indent = #0
+  ragged-right = ##t
+  }
+}
+@end lilypond
+
 @cindex harmonic indications in tablature notation
 @cindex tablature and harmonic indications
 @cindex slides in tablature notation
@@ -198,7 +362,7 @@ The default value for @code{minimumFret} is 0.
 Harmonic indications and slides can be added to tablature
 notation.
 
-@lilypond[fragment, verbatim, quote, relative=1]
+@lilypond[verbatim, quote, relative=1]
 \new TabStaff {
   \new TabVoice {
     <c g'\harmonic> d\2\glissando e\2
@@ -271,12 +435,13 @@ LilyPond tabulature automatically calculates the fret for
 a note based on the string to which the note is assigned.
 In order to do this, the tuning of the strings must be
 specified.  The tuning of the strings is given in the
-@code{StringTunings} property.
+@code{stringTunings} property.
 
 LilyPond comes with predefined string tunings for banjo, mandolin,
-guitar and bass guitar.  LilyPond automatically sets the correct
-transposition for predefined tunings.  The following example is
-for bass guitar, which sounds an octave lower than written.
+guitar, bass guitar and ukulele.  LilyPond automatically sets
+the correct transposition for predefined tunings.  The following
+example is for bass guitar, which sounds an octave lower than
+written.
 
 @lilypond[quote,ragged-right,verbatim]
 <<
@@ -299,7 +464,7 @@ 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/output-lib.scm}.
+are found in @code{scm/tablature.scm}.
 
 A string tuning is a Scheme list of string pitches,
 one for each string, ordered by string number from 1 to N,
@@ -340,10 +505,28 @@ mynotes = {
 >>
 @end lilypond
 
+@cindex moderntab clef
+@cindex clef, moderntab
+@cindex clef, tab
+@cindex tab clef
+
+A modern tab clef can also be used.
+
+@lilypond[quote,ragged-right,verbatim]
+\new TabStaff {
+ \clef moderntab
+  <a, e a>1
+  \break
+  \clef tab
+  <a, e a>1
+}
+@end lilypond
+
+The modern tab clef supports tablatures from 4 to 7 strings.
 
 @seealso
 Installed Files:
-@file{scm/output-lib.scm}.
+@file{scm/@/tablature@/.scm}.
 
 Snippets:
 @rlsr{Fretted strings}.
@@ -351,6 +534,10 @@ Snippets:
 Internals Reference:
 @rinternals{Tab_note_heads_engraver}.
 
+@knownissues
+Automatic tablature calculations do not work properly in most
+cases for instruments where string pitches do not vary
+monotonically with string number, such as ukuleles.
 
 @node Fret diagram markups
 @unnumberedsubsubsec Fret diagram markups
@@ -439,7 +626,7 @@ can be changed in the fret-diagram markup string.
 @end lilypond
 
 The number of strings in a fret diagram can be changed to accomodate
-different instruments such as banjos and ukeleles with the fret-diagram
+different instruments such as banjos and ukuleles with the fret-diagram
 markup string.
 
 @lilypond[quote, verbatim]
@@ -450,7 +637,7 @@ markup string.
      }
   }
   \context Staff {
-        %% A chord for ukelele
+        %% An A chord for ukulele
     a'1 ^\markup \fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"
   }
 >>
@@ -607,8 +794,8 @@ element of the list indicates an item to be placed on the fret diagram.
 @end lilypond
 
 Fingering indications and barres can be included in a
-fret-diagram-verbose markup string.  Unique to the 
-fret-diagram-verbose interface is a capo indication that 
+fret-diagram-verbose markup string.  Unique to the
+fret-diagram-verbose interface is a capo indication that
 can be placed on the fret diagram.  The capo indication is
 a thick bar that covers all strings.  The fret with the
 capo will be the lowest fret in the fret diagram.
@@ -757,6 +944,24 @@ diagrams can be added for other instruments or other tunings
 by following the examples found in
 @code{predefined-guitar-fretboards.ly}.
 
+Fret diagrams for the ukulele are contained in the file
+@code{predefined-ukulele-fretboards.ly}.
+
+@lilypond[verbatim, ragged-right, quote]
+\include "predefined-ukulele-fretboards.ly"
+
+myChords = \chordmode { a1 a:m a:aug }
+
+\new ChordNames {
+  \myChords
+}
+
+\new FretBoards {
+  \set stringTunings = #ukulele-tuning
+  \myChords
+}
+@end lilypond
+
 Chord pitches can be entered
 either as simultaneous music or using chord mode (see
 @ref{Chord mode overview}).
@@ -824,9 +1029,13 @@ mychordlist = {
 @end lilypond
 
 
-The predefined fret diagram table contains seven chords (major, minor,
-augmented, diminished, dominant seventh, major seventh, minor seventh)
-for each of 17 keys.  A complete list of the predefined fret diagrams is
+The predefined fret diagram table for guitar contains eight chords (major, minor,
+augmented, diminished, dominant seventh, major seventh, minor seventh, dominant ninth)
+for each of 17 keys.
+The predefined fret diagram table for ukulele contains these chords
+plus an additional three chords (major sixth, suspended second, and
+suspended fourth).
+A complete list of the predefined fret diagrams is
 shown in @ref{Predefined fretboard diagrams}.  If there is no entry in
 the table for a chord, the FretBoards engraver will calculate a
 fret-diagram using the automatic fret diagram functionality described in
@@ -835,7 +1044,7 @@ fret-diagram using the automatic fret diagram functionality described in
 @lilypond[verbatim, ragged-right, quote]
 \include "predefined-guitar-fretboards.ly"
 mychords = \chordmode{
-  c1 c:9
+  c1 c:maj9
 }
 
 <<
@@ -853,7 +1062,7 @@ 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 
+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
 fret-diagram-terse definition string or a fret-diagram-verbose
 marking list.
@@ -861,12 +1070,12 @@ marking list.
 @lilypond[verbatim, ragged-right, quote]
 \include "predefined-guitar-fretboards.ly"
 
-\storePredefinedDiagram \chordmode {c:9}
+\storePredefinedDiagram \chordmode {c:maj9}
                         #guitar-tuning
-                        #"x;3-2;2-1;3-3;3-4;x;"
+                        #"x;3-2;o;o;o;o;"
 
 mychords = \chordmode{
-  c1 c:9
+  c1 c:maj9
 }
 
 <<
@@ -934,7 +1143,7 @@ marking lists.
 
 \storePredefinedDiagram \chordmode {f''}
                         #guitar-tuning
-                        #(chord-shape 'powerf guitar-tuning) 
+                        #(chord-shape 'powerf guitar-tuning)
 \storePredefinedDiagram \chordmode {g''}
                         #guitar-tuning
                         #(offset-fret 2 (chord-shape 'powerf guitar-tuning))
@@ -970,6 +1179,7 @@ predefined fret diagram, the interface properties belong to
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {chordchanges-for-fretboards.ly}
 
+
 @seealso
 Notation Reference:
 @ref{Custom tablatures},
@@ -978,8 +1188,8 @@ 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}.
 
 Snippets:
 @rlsr{Fretted strings}.
@@ -1060,7 +1270,7 @@ commands:
 
 
 Sometimes the fretboard calculator will be unable to find
-an accceptable diagram.  This can often be remedied by
+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}
@@ -1142,6 +1352,10 @@ Snippets:
 Internals Reference:
 @rinternals {fret-diagram-interface}.
 
+@knownissues
+Automatic fretboard calculations do not work properly for instruments
+with non-monotonic tunings.
+
 
 @node Right-hand fingerings
 @unnumberedsubsubsec Right-hand fingerings
@@ -1157,8 +1371,8 @@ Right-hand fingerings @var{p-i-m-a} must be entered within a
 chord construct @code{<>} for them to be printed in the score,
 even when applied to a single note.
 
-@warning{There @strong{must} be a hyphen after the note and a space
-before the closing @code{>}.}
+@warning{There @strong{must} be a hyphen before
+@code{@bs{}rightHandFinger} and a space before the closing @code{>}.}
 
 @lilypond[quote,verbatim,relative=0]
 \clef "treble_8"
@@ -1253,16 +1467,64 @@ Special note heads can be used to indicate dampened notes or
 harmonics.  Harmonics are normally further explained with a
 text markup.
 
-@lilypond[quote,ragged-right,fragment,verbatim]
+@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 electic 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 e
+    \palmMuteOff
+    e e  \palmMute e e e |
+    e8 \palmMute { e e e } e e e e |
+    \palmMuteOn
+    < e b' e >8 e e e < e b' e >2
+    \palmMuteOff |
+    < \palmMute e b' e >8 \palmMute { e e e } < \palmMute e b' e >2
+  }
+}
+@end lilypond
 
 @seealso
 Snippets:
@@ -1331,4 +1593,5 @@ These tunings may be converted to four-string banjo tunings using the
 Snippets:
 @rlsr{Fretted strings}.
 
-The file @file{scm/@/output@/-lib@/.scm} contains predefined banjo tunings.
+Installed Files:
+@file{scm/@/output@/-lib@/.scm} contains predefined banjo tunings.