Guide, node Updating translation committishes..
@end ignore
-@c \version "2.13.46"
+@c \version "2.14.0"
@node Fretted string instruments
@section Fretted string instruments
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
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.
-
-By default, string 1 is the highest, and the tuning defaults to the
+letter-like symbols in historical intavolatura). The staff lines
+in tablature indicate the string on which the note is to be played,
+and a number placed on a staff line indicated the fret at which
+the corresponding string is to be pressed.
+Notes that are to be played simultaneously are vertically aligned.
+
+By default, string 1 is the highest string, and corresponds to the top
+line on the @code{TabStaff}. The tuning of the @code{TabStaff}
+strings 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.
@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.
+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
@cindex tablature and harmonic indications
@cindex slides in tablature notation
@cindex tablature and slides
+@cindex chord glissandi
+@funindex \harmonic
+@funindex \harmonicByFret
+@funindex \harmonicByRatio
+
+Harmonic indications can be added to tablature notation as sounding
+pitches:
+
+@lilypond[verbatim,quote]
+firstHarmonic = {
+ <d'\4\harmonic>4
+ <g'\3\harmonic>4
+ <b'\2\harmonic>2
+}
+\score {
+ <<
+ \new Staff { \firstHarmonic }
+ \new TabStaff { \firstHarmonic }
+ >>
+}
+@end lilypond
+
+Note that the command @code{\harmonic} must always be defined
+inside a chord construct. It only makes sense for open-string harmonics
+in the 12th fret. All other harmonics should be calculated by LilyPond.
+This can be achieved by indicating the fret where a finger of the
+fretting hand should touch a string.
+
+@lilypond[verbatim,quote]
+fretHarmonics = {
+ \harmonicByFret #5 d16\4
+ \harmonicByFret #4 d16\4
+ \harmonicByFret #3 d8\4
+ \harmonicByFret #5 <g\3 b\2>2.
+}
+\score {
+ <<
+ \new Staff { \fretHarmonics }
+ \new TabStaff { \fretHarmonics }
+ >>
+}
+@end lilypond
-Harmonic indications and slides can be added to tablature
-notation.
+Alternatively, harmonics can be computed by defining the ratio of
+string lengths above and below the harmonic fingering.
-@lilypond[verbatim, quote, relative=1]
-\new TabStaff {
- \new TabVoice {
- <c g'\harmonic>4 d\2\glissando e\2
- }
+@lilypond[verbatim,quote]
+ratioHarmonics = {
+ \harmonicByRatio #1/2 <g\3 b\2 e'\1>4
+ \harmonicByRatio #1/3 <g\3 b\2 e'\1>4
+ \harmonicByRatio #1/4 { g8\3 b8\2 e'4\1 }
+}
+\score {
+ <<
+ \new Staff { \ratioHarmonics }
+ \new TabStaff { \ratioHarmonics }
+ >>
}
@end lilypond
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{polyphony-in-tablature.ly}
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{open-string-harmonics-in-tablature.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{fretted-string-harmonics-in-tablature.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{slides-in-tablature.ly}
+
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{chord-glissando-in-tablature.ly}
+
@seealso
Notation Reference:
-@ref{Stems}.
+@ref{Stems},
+@ref{Harmonics},
+@ref{Glissando}.
Snippets:
@rlsr{Fretted strings}.
@funindex StringTunings
-LilyPond tabulature automatically calculates the fret for
+LilyPond tablature 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
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
+symbol in which the string tuning will be stored,
+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
>>
@end lilypond
-LilyPond automatically calculates the number of strings in the
+LilyPond automatically calculates the number of lines in the
@code{TabStaff} and the number of strings in an automatically
calculated @code{FretBoard} as the number of elements
in @code{stringTunings}.
>>
@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
>>
@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
@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
@cindex fret diagrams
@cindex fret diagrams, ukulele
+@cindex fret diagrams, mandolin
@cindex chord diagrams
@funindex FretBoards
}
@end lilypond
+Fret diagrams for the mandolin are contained in the file
+@file{predefined-mandolin-fretboards.ly}.
+
+@lilypond[verbatim, ragged-right, quote]
+\include "predefined-mandolin-fretboards.ly"
+
+myChords = \chordmode { c1 c:m7.5- c:aug }
+
+\new ChordNames {
+ \myChords
+}
+
+\new FretBoards {
+ \set stringTunings = #mandolin-tuning
+ \myChords
+}
+@end lilypond
+
Chord pitches can be entered
either as simultaneous music or using chord mode (see
@ref{Chord mode overview}).
@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
Installed Files:
@file{ly/predefined-guitar-fretboards.ly},
@file{ly/predefined-guitar-ninth-fretboards.ly},
-@file{ly/predefined-ukulele-fretboards.ly}.
+@file{ly/predefined-ukulele-fretboards.ly},
+@file{ly/predefined-mandolin-fretboards.ly}.
Snippets:
@rlsr{Fretted strings}.
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
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}.
@rlsr{Fretted strings}.
Installed Files:
-@file{scm/output-lib.scm} contains predefined banjo tunings.
+@file{scm/string-tunings-init.scm} contains predefined banjo tunings.