Guide, node Updating translation committishes..
@end ignore
-@c \version "2.15.16"
+@c \version "2.17.6"
@node Fretted string instruments
@section Fretted string instruments
@end itemize
-
@seealso
Notation Reference:
@ref{Fingering instructions},
@cindex fingering vs. string numbers
The string on which a note should be played may be indicated by
-appending @code{\@var{number}} to a note inside a chord construct
-@code{<>}.
-
-@warning{String numbers @strong{must} be defined inside a chord
-construct even if there is only a single note.}
+appending @code{\@var{number}} to a note.
@lilypond[verbatim,quote,relative=0]
\clef "treble_8"
-<c\5>4 <e\4> <g\3>2
+c4\5 e\4 g2\3
<c,\5 e\4 g\3>1
@end lilypond
When fingerings and string indications are used together, their
-placement is controlled by the order in which the two items appear
-in the code:
+placement can be controlled by the order in which the two items appear
+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]
\clef "treble_8"
-<g\3-0>2
+g4\3-0
+g-0\3
+<g\3-0>
<g-0\3>
@end lilypond
@lilypondfile[verbatim,quote,texidoc,doctitle]
{allowing-fingerings-to-be-printed-inside-the-staff.ly}
-
@seealso
Notation Reference:
@ref{Fingering instructions}.
@cindex fret
@funindex minimumFret
+@funindex restrainOpenStrings
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.
+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 don't want
+to have string number indications appear in traditional notation, you
+can override the respective stencil. Usually it will be more
+comfortable to define the playing position by using the value of
+@code{minimumFret}. The default value for minimumFret is 0.
+Even when @code{minimumFret} is set, open strings are used whenever
+possible. This behaviour can be changed by setting @code{restrainOpenStrings}
+to @code{#t}.
@lilypond[quote,ragged-right,verbatim]
+\layout { \override Voice.StringNumber.stencil = ##f }
\new StaffGroup <<
\new Staff \relative c {
\clef "treble_8"
c16 d e f g4
c,16\5 d\5 e\4 f\4 g4\4
\set TabStaff.minimumFret = #5
+ \set TabStaff.restrainOpenStrings = ##t
c,16 d e f g4
}
>>
@end lilypond
-@funindex \tabChordRepetition
-@cindex Chord, repetiton
-@cindex repetiton, using @code{q}
+@funindex \tabChordRepeats
+@funindex \chordRepeats
+@cindex Chord, repetition
+@cindex repetition, using @code{q}
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.
+@code{q}. In combination with tabulatures, its behavior of removing
+string and finger numbers alongside with other events is cumbersome, so
+you'll want to run
+@example
+\chordRepeats #'(string-number-event fingering-event)
+@end example
+explicitly on music expressions in tabulature using @ref{Chord
+repetition}. This particular command is so common that it is available
+as @code{\tabChordRepeats}.
@lilypond[quote,verbatim]
-\tabChordRepetition
-
guitar = \relative c' {
- r8 <gis\4 cis\3 b\2>~ q4 q8~ q q4
+ r8 <gis-2 cis-3 b-0>~ q4 q8~ q q4
}
\new StaffGroup <<
\new Staff {
\clef "treble_8"
- \override Voice.StringNumber #'transparent = ##t
\guitar
}
\new TabStaff {
- \guitar
+ \tabChordRepeats \guitar
}
>>
@end lilypond
@cindex harmonic indications in tablature notation
@cindex tablature and harmonic indications
-@cindex slides in tablature notation
-@cindex tablature and slides
-@cindex chord glissandi
@funindex \harmonic
@funindex \harmonicByFret
@funindex \harmonicByRatio
pitches:
@lilypond[verbatim,quote]
+\layout { \override Voice.StringNumber.stencil = ##f }
firstHarmonic = {
- <d'\4\harmonic>4
- <g'\3\harmonic>4
- <b'\2\harmonic>2
+ d'4\4\harmonic
+ g'4\3\harmonic
+ b'2\2\harmonic
}
\score {
<<
- \new Staff { \firstHarmonic }
+ \new Staff {
+ \clef "treble_8"
+ \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
+Note that the command @code{\harmonic} must always be attached to single
+notes (possibly inside of a chord) instead of whole chords.
+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.
}
\score {
<<
- \new Staff { \fretHarmonics }
+ \new Staff {
+ \clef "treble_8"
+ \fretHarmonics
+ }
\new TabStaff { \fretHarmonics }
>>
}
}
\score {
<<
- \new Staff { \ratioHarmonics }
+ \new Staff {
+ \clef "treble_8"
+ \ratioHarmonics
+ }
\new TabStaff { \ratioHarmonics }
>>
}
@lilypondfile[verbatim,quote,texidoc,doctitle]
{fretted-string-harmonics-in-tablature.ly}
+@cindex slides in tablature notation
+@cindex tablature and slides
+
@lilypondfile[verbatim,quote,texidoc,doctitle]
{slides-in-tablature.ly}
+@cindex chord glissandi
+
@lilypondfile[verbatim,quote,texidoc,doctitle]
{chord-glissando-in-tablature.ly}
Guitar special effects are limited to harmonics and slides.
+
@node Custom tablatures
@unnumberedsubsubsec Custom tablatures
@lilypond[quote,ragged-right,verbatim]
<<
- \new Staff {
+ \new Voice \with {
+ \override StringNumber.stencil = ##f
+ } {
\clef "bass_8"
\relative c, {
c4 d e f
}
}
- \new TabStaff {
- \set TabStaff.stringTunings = #bass-tuning
+ \new TabStaff \with {
+ stringTunings = #bass-tuning
+ } {
\relative c, {
c4 d e f
}
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 @file{ly/string-tuning-init.ly}.
+are found in @file{ly/string-tunings-init.ly}.
@funindex stringTuning
@funindex \stringTuning
\mynotes
}
\new TabStaff {
- \set stringTunings = \stringTuning <c' g' d'' a''>
+ \set Staff.stringTunings = \stringTuning <c' g' d'' a''>
\mynotes
}
>>
The previous example could also be written as follows:
@lilypond[quote,verbatim]
-"custom-tuning" = \stringTuning <c' g' d'' a''>
+custom-tuning = \stringTuning <c' g' d'' a''>
mynotes = {
c'4 e' g' c'' |
@ref{Scheme functions}.
Installed Files:
-@file{ly/string-tuning-init.ly}
+@file{ly/string-tunings-init.ly},
@file{scm/tablature.scm}.
Snippets:
cases for instruments where string pitches do not vary
monotonically with string number, such as ukuleles.
+
@node Fret diagram markups
@unnumberedsubsubsec Fret diagram markups
}
}
\context Staff {
- \override Voice.TextScript
- #'(fret-diagram-details finger-code) = #'below-string
+ \override Voice.TextScript.fret-diagram-details.finger-code = #'below-string
\clef "treble_8"
<c e g c' e'>1^\markup {
\fret-diagram-terse #"x;3-3;2-2;o;1-1;o;"
}
\context Staff {
\clef "treble_8"
- \override Voice.TextScript
- #'(fret-diagram-details finger-code) = #'below-string
+ \override Voice.TextScript.fret-diagram-details.finger-code = #'below-string
<f, c f a c' f'>1^\markup {
\fret-diagram-verbose #'(
(place-fret 6 1)
(place-fret 1 3 3)
)
}
- <c e g c' e'>1^\markup {
+ <c g c' e' g'>1^\markup {
\fret-diagram-verbose #'(
(capo 3)
(mute 6)
@node Predefined fret diagrams
@unnumberedsubsubsec Predefined fret diagrams
-
@cindex fret diagrams
@cindex fret diagrams, ukulele
@cindex fret diagrams, mandolin
by following the examples found in
@file{predefined-guitar-fretboards.ly}.
-Fret diagrams for the ukulele are contained in the file
+Fret diagrams for the ukulele are contained in the file @*
@file{predefined-ukulele-fretboards.ly}.
@lilypond[verbatim, ragged-right, quote]
}
\new FretBoards {
- \set stringTunings = #ukulele-tuning
+ \set Staff.stringTunings = #ukulele-tuning
\myChords
}
@end lilypond
-Fret diagrams for the mandolin are contained in the file
+Fret diagrams for the mandolin are contained in the file @*
@file{predefined-mandolin-fretboards.ly}.
@lilypond[verbatim, ragged-right, quote]
}
\new FretBoards {
- \set stringTunings = #mandolin-tuning
+ \set Staff.stringTunings = #mandolin-tuning
\myChords
}
@end lilypond
@lilypondfile[verbatim,quote,texidoc,doctitle]
{fretboards-alternate-tables.ly}
-
@seealso
Notation Reference:
@ref{Custom tablatures},
@ref{Predefined fretboard diagrams}.
Installed Files:
-@file{ly/predefined-guitar-fretboards.ly},
-@file{ly/predefined-guitar-ninth-fretboards.ly},
-@file{ly/predefined-ukulele-fretboards.ly},
+@file{ly/predefined-guitar-fretboards.ly}, @*
+@file{ly/predefined-guitar-ninth-fretboards.ly}, @*
+@file{ly/predefined-ukulele-fretboards.ly}, @*
@file{ly/predefined-mandolin-fretboards.ly}.
Snippets:
@code{\predefinedFretboardsOn}.
@endpredefined
-
@seealso
Notation Reference:
@ref{Custom tablatures}.
@funindex rightHandFinger
@funindex \rightHandFinger
-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.
+Right-hand fingerings @var{p-i-m-a} must be entered using
+@code{\rightHandFinger} followed by a number.
-@warning{There @strong{must} be a hyphen before
-@code{@bs{}rightHandFinger} and a space before the closing @code{>}.}
+@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]
\clef "treble_8"
-<c-\rightHandFinger #1 >4
-<e-\rightHandFinger #2 >
-<g-\rightHandFinger #3 >
-<c-\rightHandFinger #4 >
-<c,-\rightHandFinger #1 e-\rightHandFinger #2
- g-\rightHandFinger #3 c-\rightHandFinger #4 >1
+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
@end lilypond
For convenience, you can abbreviate @code{\rightHandFinger} to something
short, for example @code{RH},
@example
-#(define RH rightHandFinger)
+RH=#rightHandFinger
@end example
@lilypondfile[verbatim,quote,texidoc,doctitle]
{fingerings,-string-indications,-and-right-hand-fingerings.ly}
-
@seealso
Snippets:
@rlsr{Fretted strings}.
\clef "treble_8"
b16 d g b e
\textSpannerDown
-\override TextSpanner #'(bound-details left text) = #"XII "
+\override TextSpanner.bound-details.left.text = #"XII "
g16\startTextSpan
b16 e g e b g\stopTextSpan
e16 b g d
@end lilypond
-
@seealso
Notation Reference:
@ref{Text spanners}.
@lilypond[quote,ragged-right,verbatim]
\relative c' {
\clef "treble_8"
- \override Staff.NoteHead #'style = #'harmonic-mixed
+ \override Staff.NoteHead.style = #'harmonic-mixed
d^\markup { \italic { \fontsize #-2 { "harm. 12" }}} <g b>1
}
@end lilypond
@end example
@seealso
+Installed Files:
+@file{ly/string-tunings-init.ly}.
+
Snippets:
@rlsr{Fretted strings}.
-
-Installed Files:
-@file{ly/string-tunings-init.ly}