]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/fretted-strings.itely
Doc: In NR, always write comma after `e.g.' and `i.e.'.
[lilypond.git] / Documentation / notation / fretted-strings.itely
index 2d791de85bb6ccba41c8014b87552e99397c666b..f9a587a930b4b8eeebd9793810dba43c0d651995 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.11"
+@c \version "2.19.28"
 
 @node Fretted string instruments
 @section Fretted string instruments
@@ -27,6 +27,7 @@ to fretted string instruments.
 * Common notation for fretted strings::
 * Guitar::
 * Banjo::
+* Lute::
 @end menu
 
 @node Common notation for fretted strings
@@ -99,10 +100,10 @@ Notation Reference:
 The string on which a note should be played may be indicated by
 appending @code{\@var{number}} to a note.
 
-@lilypond[verbatim,quote,relative=0]
+@lilypond[verbatim,quote,fragment]
 \clef "treble_8"
 c4\5 e\4 g2\3
-<c,\5 e\4 g\3>1
+<c\5 e\4 g\3>1
 @end lilypond
 
 When fingerings and string indications are used together, their
@@ -111,7 +112,7 @@ in the code @emph{only} if they appear inside of an explicit chord:
 applied to whole chords or single notes @emph{outside} of chords,
 fingerings are placed using a different mechanism.
 
-@lilypond[verbatim,quote,relative=1]
+@lilypond[verbatim,quote,fragment]
 \clef "treble_8"
 g4\3-0
 g-0\3
@@ -119,6 +120,22 @@ g-0\3
 <g-0\3>
 @end lilypond
 
+String numbers may also, as is customary with unfretted strings,
+be printed in Roman numerals and placed below the staff rather
+than above.
+
+@lilypond[verbatim,quote,fragment]
+\clef "treble_8"
+c'2\2
+a\3
+\romanStringNumbers
+c'\2
+\set stringNumberOrientations = #'(down)
+a\3
+\arabicStringNumbers
+g1\4
+@end lilypond
+
 @snippets
 
 @lilypondfile[verbatim,quote,texidoc,doctitle]
@@ -127,6 +144,11 @@ g-0\3
 @lilypondfile[verbatim,quote,texidoc,doctitle]
 {allowing-fingerings-to-be-printed-inside-the-staff.ly}
 
+@predefined
+@code{\arabicStringNumbers},
+@code{\romanStringNumbers}.
+@endpredefined
+
 @seealso
 Notation Reference:
 @ref{Fingering instructions}.
@@ -165,14 +187,14 @@ tablature, by using @code{TabStaff} and @code{TabVoice} contexts.  A
 calligraphic tablature clef is added automatically.
 
 @lilypond[quote,ragged-right,verbatim]
-\new TabStaff \relative c' {
+\new TabStaff \relative {
   a,8 a' <c e> a
   d,8 a' <d f> a
 }
 @end lilypond
 
 Default tablatures do not contain any symbols for tone duration nor any
-other musical symbols such as e.g. expressive marks.
+other musical symbols such as expressive marks, for example.
 
 @lilypond[quote,ragged-right,verbatim]
 symbols = {
@@ -180,7 +202,7 @@ symbols = {
   c4-.^"Allegro" d( e)
   f4-.\f g a^\fermata
   \mark \default
-  c8_.\<\( c16 c~ c2\!
+  c8_.\<\( c16 c~ 2\!
   c'2.\prall\)
 }
 
@@ -206,7 +228,7 @@ symbols = {
   c4-.^"Allegro" d( e)
   f4-.\f g a^\fermata
   \mark \default
-  c8_.\<\( c16 c~ c2\!
+  c8_.\<\( c16 c~ 2\!
   c'2.\prall\)
 }
 
@@ -237,16 +259,16 @@ possible.  This behaviour can be changed by setting @code{restrainOpenStrings}
 to @code{#t}.
 
 @lilypond[quote,ragged-right,verbatim]
-\layout { \override Voice.StringNumber.stencil = ##f }
+\layout { \omit Voice.StringNumber }
 \new StaffGroup <<
-   \new Staff \relative {
+   \new Staff \relative {
      \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 {
+   \new TabStaff \relative {
      c16 d e f g4
      c,16\5 d\5 e\4 f\4 g4\4
      \set TabStaff.minimumFret = #5
@@ -258,8 +280,9 @@ to @code{#t}.
 
 @funindex \tabChordRepeats
 @funindex \chordRepeats
-@cindex Chord, repetition
+@cindex chord, repetition
 @cindex repetition, using @code{q}
+@cindex @code{q}, chord repetition
 
 Chord constructs can be repeated by the chord repetition symbol
 @code{q}.  In combination with tabulatures, its behavior of removing
@@ -273,8 +296,8 @@ repetition}.  This particular command is so common that it is available
 as @code{\tabChordRepeats}.
 
 @lilypond[quote,verbatim]
-guitar = \relative c' {
-  r8 <gis-2 cis-3 b-0>~ q4 q8~ q q4
+guitar = \relative {
+  r8 <gis-2 cis-3 b-0>~ q4 q8~ 8 q4
 }
 
 \new StaffGroup <<
@@ -292,10 +315,10 @@ 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' {
+ties = \relative {
   \repeat volta 2 {
-    e2. f4~
-    f2 g2~
+    e'2. f4~
+    2 g2~
   }
   \alternative {
      { g4 f2. }
@@ -332,10 +355,10 @@ The command @code{\hideSplitTiedTabNotes} cancels the behavior of
 engraving fret numbers in parentheses:
 
 @lilypond[quote,ragged-right,verbatim]
-ties = \relative c' {
+ties = \relative {
   \repeat volta 2 {
-    e2. f4~
-    f2 g2~ }
+    e'2. f4~
+    2 g2~ }
   \alternative {
     { g4 f2. }
     { g4\repeatTie c,2. }
@@ -376,7 +399,7 @@ Harmonic indications can be added to tablature notation as sounding
 pitches:
 
 @lilypond[verbatim,quote]
-\layout { \override Voice.StringNumber.stencil = ##f }
+\layout { \omit Voice.StringNumber }
 firstHarmonic = {
   d'4\4\harmonic
   g'4\3\harmonic
@@ -462,6 +485,18 @@ ratioHarmonics = {
 @lilypondfile[verbatim,quote,texidoc,doctitle]
 {chord-glissando-in-tablature.ly}
 
+@cindex hammer on
+@cindex pull off
+
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{hammer-on-and-pull-off.ly}
+
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{hammer-on-and-pull-off-using-voices.ly}
+
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{hammer-on-and-pull-off-using-chords.ly}
+
 @seealso
 Notation Reference:
 @ref{Chord repetition},
@@ -539,18 +574,18 @@ written.
 @lilypond[quote,ragged-right,verbatim]
 <<
   \new Voice \with {
-    \override StringNumber.stencil = ##f
+    \omit StringNumber
   } {
     \clef "bass_8"
-    \relative c, {
-      c4 d e f
+    \relative {
+      c,4 d e f
     }
   }
   \new TabStaff \with {
     stringTunings = #bass-tuning
   } {
-    \relative c, {
-      c4 d e f
+    \relative {
+      c,4 d e f
     }
   }
 >>
@@ -562,7 +597,6 @@ is the standard EADGBE tuning.  Some other predefined tunings are
 @code{banjo-open-g-tuning}.  The predefined string tunings
 are found in @file{ly/string-tunings-init.ly}.
 
-@funindex stringTuning
 @funindex \stringTuning
 @cindex tablature, custom string tunings
 @cindex custom string tunings
@@ -634,7 +668,7 @@ 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.
+(e.g., ukulele) do not have strings ordered by pitch.
 
 A string pitch in a string tuning list is a LilyPond pitch
 object.  Pitch objects are created with the Scheme function
@@ -654,7 +688,7 @@ you can use
 \layout @{
   \context @{
     \TabStaff
-    stringTunings = \stringTuning \notemode @{ <c' g' d'' a''> @}
+    stringTunings = \stringTuning <c' g' d'' a''>
   @}
 @}
 @end example
@@ -679,6 +713,44 @@ A modern tab clef can also be used.
 
 The modern tab clef supports tablatures from 4 to 7 strings.
 
+@cindex micro-tones, tab
+@cindex quarter-tones, tab
+@cindex tab micro-tones
+@cindex tab quarter-tones
+
+@code{TabStaff} may support micro-tones like quarter-tones, which
+can be played using bendings.
+@code{supportNonIntegerFret = ##t} needs to be set in
+Score-context.  However, micro-tones are not supported in @code{FretBoards}.
+
+@lilypond[quote,ragged-right,verbatim]
+\layout {
+  \context {
+    \Score
+    supportNonIntegerFret = ##t
+  }
+}
+
+custom-tuning = \stringTuning <e, a, d ges beh eeh'>
+
+mus = \relative {
+  eeses'4
+  eeseh
+  ees
+  eeh
+  e
+  eih
+  eis
+  eisih
+  eisis
+}
+
+<<
+  \new Staff << \clef "G_8" \mus >>
+  \new TabStaff \with { stringTunings = \custom-tuning } \mus
+>>
+@end lilypond
+
 @seealso
 Notation Reference:
 @ref{Absolute octave entry},
@@ -770,7 +842,6 @@ the fret-diagram markup string.
 @cindex fret-diagram markup
 @cindex ukulele
 
-@funindex fret-diagram
 @funindex \fret-diagram
 
 The size of the fret diagram, and the number of frets in the diagram
@@ -861,7 +932,6 @@ markup string.
 
 @cindex fret-diagram-terse markup
 
-@funindex fret-diagram-terse
 @funindex \fret-diagram-terse
 
 The fret-diagram-terse markup string omits string numbers; the string
@@ -939,7 +1009,6 @@ Other fret diagram properties must be adjusted using
 @cindex fret-diagram-verbose markup
 @cindex capo
 
-@funindex fret-diagram-verbose
 @funindex \fret-diagram-verbose
 
 The fret-diagram-verbose markup string is in the format of a Scheme list.  Each
@@ -985,12 +1054,17 @@ 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.
 
+Fingering indication dots can be colored as well as parenthesized;
+the parenthesis's color can also be altered independently.
+
+Markups can be placed into the dots as well.
+
 @c \override is necessary to make fingering visible
 @lilypond[quote, verbatim]
 <<
     \new ChordNames {
       \chordmode {
-        f1 g c
+        f1 g c c b
       }
     }
   \new Staff {
@@ -1026,6 +1100,35 @@ capo will be the lowest fret in the fret diagram.
         (place-fret 2 5 3)
       )
     }
+    \override Voice.TextScript.size = 1.4
+    <c g c' e' g'>1^\markup {
+      \fret-diagram-verbose #'(
+        (place-fret 6 3 1 red parenthesized default-paren-color)
+        (place-fret 5 3 1 inverted)
+        (place-fret 4 5 2 blue parenthesized)
+        (place-fret 3 5 3 blue)
+        (place-fret 2 5 4 blue)
+        (place-fret 1 3 1 inverted)
+      )
+    }
+    \override Voice.TextScript.size = 1.5
+    <b, fis b dis' fis'>1^\markup {
+      \override #'(fret-diagram-details . ((finger-code . in-dot)))
+      \fret-diagram-verbose #`(
+        (place-fret 5 2 1)
+        (place-fret 4 4 "fis" red)
+        (place-fret 3 4 "b" red)
+        (place-fret
+          2 4
+          ,#{ \markup
+                \concat {
+                  \vcenter "d"
+                  \fontsize #-5
+                  \musicglyph #"accidentals.sharp"} #}
+          red)
+        (place-fret 1 2 1)
+      )
+    }
   }
 >>
 @end lilypond
@@ -1192,7 +1295,6 @@ either as simultaneous music or using chord mode (see
 @cindex fret diagrams with chord names
 
 @funindex ChordNames
-@funindex chordmode
 @funindex \chordmode
 
 It is common that both chord names and fret diagrams are displayed together.
@@ -1336,8 +1438,6 @@ mychords = \chordmode {
 @cindex chord shapes for fretted instruments
 
 @funindex \addChordShape
-@funindex addChordShape
-@funindex storePredefinedDiagram
 @funindex \storePredefinedDiagram
 
 In addition to fret diagrams, LilyPond stores an internal list of chord
@@ -1396,7 +1496,7 @@ the interface properties belong to @code{FretBoards.FretBoard}.
 @lilypondfile[verbatim,quote,texidoc,doctitle]
 {defining-predefined-fretboards-for-other-instruments.ly}
 
-@lilypondfile[verbatim,quote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle,ragged-right]
 {chordchanges-for-fretboards.ly}
 
 @lilypondfile[verbatim,quote,texidoc,doctitle]
@@ -1454,9 +1554,7 @@ calculates strings and frets that can be used to play the notes.
 >>
 @end lilypond
 
-@funindex predefinedFretboardsOff
 @funindex \predefinedFretboardsOff
-@funindex predefinedFretboardsOn
 @funindex \predefinedFretboardsOn
 
 As no predefined diagrams are loaded by default, automatic calculation
@@ -1591,7 +1689,6 @@ with non-monotonic tunings.
 @cindex fingerings, right hand for fretted instruments
 @cindex right hand fingerings for fretted instruments
 
-@funindex rightHandFinger
 @funindex \rightHandFinger
 
 Right-hand fingerings @var{p-i-m-a} must be entered using
@@ -1600,14 +1697,14 @@ Right-hand fingerings @var{p-i-m-a} must be entered using
 @warning{If the number is entered in Scheme notation, remember to append
 a space before following it with a closing @code{>} or similar.}
 
-@lilypond[quote,verbatim,relative=0]
+@lilypond[quote,verbatim,fragment]
 \clef "treble_8"
 c4\rightHandFinger #1
 e\rightHandFinger #2
 g\rightHandFinger #3
-c\rightHandFinger #4
-<c,\rightHandFinger #1 e\rightHandFinger #2
- g\rightHandFinger #3 c\rightHandFinger #4 >1
+c'\rightHandFinger #4
+<c\rightHandFinger #1 e\rightHandFinger #2
+ g\rightHandFinger #3 c'\rightHandFinger #4 >1
 @end lilypond
 
 For convenience, you can abbreviate @code{\rightHandFinger} to something
@@ -1661,14 +1758,16 @@ or, for experienced users, a typesetter like GuitarTeX.
 This example demonstrates how to include guitar position and
 barring indications.
 
-@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
-e16 b g d
+@lilypond[quote,ragged-right,verbatim,fragment]
+\relative {
+  \clef "treble_8"
+  b,16 d g b e
+  \textSpannerDown
+  \override TextSpanner.bound-details.left.text = #"XII "
+  g16\startTextSpan
+  b16 e g e b g\stopTextSpan
+  e16 b g d
+}
 @end lilypond
 
 @seealso
@@ -1693,10 +1792,10 @@ harmonics.  Harmonics are normally further explained with a
 text markup.
 
 @lilypond[quote,ragged-right,verbatim]
-\relative c' {
+\relative {
   \clef "treble_8"
   \override Staff.NoteHead.style = #'harmonic-mixed
-  d^\markup { \italic { \fontsize #-2 { "harm. 12" }}} <g b>1
+  d'^\markup { \italic { \fontsize #-2 { "harm. 12" }}} <g b>1
 }
 @end lilypond
 
@@ -1704,7 +1803,7 @@ Dampened notes (also called @notation{dead notes}) are supported
 within normal and tablature staves:
 
 @lilypond[quote,ragged-right,verbatim]
-music = \relative c' {
+music = \relative {
   < a\3 \deadNote c\2 a'\1 >4
   < b\3 \deadNote d\2 b'\1 >
   < c\3 \deadNote e\2 c'\1 >
@@ -1760,7 +1859,6 @@ Notation Reference:
 @node Indicating power chords
 @unnumberedsubsubsec Indicating power chords
 
-@funindex powerChords
 @funindex \powerChords
 
 @cindex power chords
@@ -1773,11 +1871,11 @@ constructs:
 ChordsAndSymbols = {
   \chordmode {
     \powerChords
-    e,,1:1.5
-    a,,1:1.5.8
+    e,,1:5
+    a,,1:5.8
     \set minimumFret = #8
-    c,1:1.5
-    f,1:1.5.8
+    c,1:5
+    f,1:5.8
   }
   \set minimumFret = #5
   <a, e>1
@@ -1806,8 +1904,8 @@ other common chord modifier is used:
 mixedChords = \chordmode {
   c,1
   \powerChords
-  b,,1:1.5
-  fis,,1:1.5.8
+  b,,1:5
+  fis,,1:5.8
   g,,1:m
 }
 \score {
@@ -1858,15 +1956,20 @@ correct fret numbers for the fifth string:
 @c due to crazy intervals of banjo music, absolute pitch is recommended
 
 @lilypond[quote,ragged-right,verbatim]
-\new TabStaff <<
-  \set TabStaff.tablatureFormat = #fret-number-tablature-format-banjo
-  \set TabStaff.stringTunings = #banjo-open-g-tuning
-  {
-    \stemDown
-    g8 d' g'\5 a b g e d' |
-    g4 d''8\5 b' a'\2 g'\5 e'\2 d' |
-    g4
+music = {
+  g8 d' g'\5 a b g e d' |
+  g4 d''8\5 b' a'\2 g'\5 e'\2 d' |
+  g4
+}
+
+<<
+  \new Staff \with { \omit StringNumber }
+  { \clef "treble_8"  \music }
+  \new TabStaff \with {
+    tablatureFormat = #fret-number-tablature-format-banjo
+    stringTunings = #banjo-open-g-tuning
   }
+  { \music }
 >>
 @end lilypond
 
@@ -1897,3 +2000,56 @@ Installed Files:
 
 Snippets:
 @rlsr{Fretted strings}.
+
+
+@node Lute
+@subsection Lute
+
+@menu
+* Lute tablatures::
+@end menu
+
+@node Lute tablatures
+@unnumberedsubsubsec Lute tablatures
+
+@cindex lute tablatures
+@cindex tablature, lute
+
+LilyPond supports tablature for lute.
+
+To get additional bass strings use @code{additionalBassStrings}, where the
+pitches of those strings are set. They will be printed below lowest line as:
+a, /a, //a, ///a, 4, 5 etc.
+
+@code{fret-letter-tablature-format} for @code{tablatureFormat} should be used,
+probably @code{fretLabels} for further customizing.
+
+@lilypond[quote,ragged-right,verbatim]
+m = { f'4 d' a f d a, g, fis, e, d, c,  \bar "|." }
+
+\score {
+  <<
+    \new Staff { \clef bass \cadenzaOn  \m }
+    \new TabStaff \m
+  >>
+  \layout {
+    \context {
+      \Score
+      tablatureFormat = #fret-letter-tablature-format
+    }
+    \context {
+      \TabStaff
+      stringTunings = \stringTuning <a, d f a d' f'>
+      additionalBassStrings = \stringTuning <c, d, e, fis, g,>
+      fretLabels = #'("a" "b" "r" "d" "e" "f" "g" "h" "i" "k")
+    }
+  }
+}
+@end lilypond
+
+@cindex lute tunings
+@cindex tunings, lute
+
+@knownissues
+Using @code{FretBoards} with @code{additionalBassStrings} is not supported and
+will yield unsatisfying results.