Guide, node Updating translation committishes..
@end ignore
-@c \version "2.14.0"
+@c \version "2.19.21"
@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]
+@lilypond[verbatim,quote,fragment]
\clef "treble_8"
-<c\5>4 <e\4> <g\3>2
-<c,\5 e\4 g\3>1
+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]
+@lilypond[verbatim,quote,fragment]
\clef "treble_8"
-<g\3-0>2
+g4\3-0
+g-0\3
+<g\3-0>
<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]
@lilypondfile[verbatim,quote,texidoc,doctitle]
{allowing-fingerings-to-be-printed-inside-the-staff.ly}
+@predefined
+@code{\arabicStringNumbers},
+@code{\romanStringNumbers}.
+@endpredefined
@seealso
Notation Reference:
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
}
c4-.^"Allegro" d( e)
f4-.\f g a^\fermata
\mark \default
- c8_.\<\( c16 c~ c2\!
+ c8_.\<\( c16 c~ 2\!
c'2.\prall\)
}
c4-.^"Allegro" d( e)
f4-.\f g a^\fermata
\mark \default
- c8_.\<\( c16 c~ c2\!
+ c8_.\<\( c16 c~ 2\!
c'2.\prall\)
}
@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 { \omit Voice.StringNumber }
\new StaffGroup <<
- \new Staff \relative c {
+ \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 c {
+ \new TabStaff \relative {
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
+@funindex \tabChordRepeats
+@funindex \chordRepeats
+@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}. 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
+guitar = \relative {
+ r8 <gis-2 cis-3 b-0>~ q4 q8~ 8 q4
}
\new StaffGroup <<
\new Staff {
\clef "treble_8"
- \override Voice.StringNumber #'transparent = ##t
\guitar
}
\new TabStaff {
- \guitar
+ \tabChordRepeats \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' {
+ties = \relative {
\repeat volta 2 {
- e2. f4~
- f2 g2~
+ e'2. f4~
+ 2 g2~
}
\alternative {
{ g4 f2. }
\score {
<<
\new StaffGroup <<
- \context Staff {
+ \new Staff {
\clef "treble_8"
\ties
}
- \context TabStaff {
+ \new TabStaff {
\ties
}
>>
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. }
\score {
<<
\new StaffGroup <<
- \context Staff {
+ \new Staff {
\clef "treble_8"
\ties
}
- \context TabStaff {
+ \new TabStaff {
\hideSplitTiedTabNotes
\ties
}
@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 { \omit Voice.StringNumber }
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 }
>>
}
@end lilypond
-
@snippets
-
@lilypondfile[verbatim,quote,texidoc,doctitle]
{stem-and-beam-behavior-in-tablature.ly}
@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}
+@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{Stems},
+@ref{Chord repetition},
+@ref{Glissando},
@ref{Harmonics},
-@ref{Glissando}.
+@ref{Stems},
+@ref{Written-out repeats}.
Snippets:
@rlsr{Fretted strings}.
@rinternals{TabVoice},
@rinternals{Beam}.
-
@knownissues
-
Chords are not handled in a special way, and hence the automatic
string selector may easily select the same string for two notes in
a chord.
Guitar special effects are limited to harmonics and slides.
+
@node Custom tablatures
@unnumberedsubsubsec Custom tablatures
@cindex tablature, bass
@cindex tablature, double bass
-@funindex StringTunings
+@funindex stringTunings
LilyPond tablature automatically calculates the fret for
a note based on the string to which the note is assigned.
@lilypond[quote,ragged-right,verbatim]
<<
- \new Staff {
+ \new Voice \with {
+ \omit StringNumber
+ } {
\clef "bass_8"
- \relative c, {
- c4 d e f
+ \relative {
+ c,4 d e f
}
}
- \new TabStaff {
- \set TabStaff.stringTunings = #bass-tuning
- \relative c, {
- c4 d e f
+ \new TabStaff \with {
+ stringTunings = #bass-tuning
+ } {
+ \relative {
+ c,4 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 contextStringTunings
-@funindex \contextStringTunings
+@funindex stringTuning
+@funindex \stringTuning
@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 will be stored,
-and a chord construct
-that defines the pitches of each string in the tuning.
+@code{\stringTuning} function can be
+used to define a string tuning which can be used
+to set @code{stringTunings} for the current context.
+
+Its argument is a chord construct
+defining 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
\mynotes
}
\new TabStaff {
- \contextStringTuning #'custom-tuning <c' g' d'' a''>
+ \set Staff.stringTunings = \stringTuning <c' g' d'' a''>
\mynotes
}
>>
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.
+(see @ref{Predefined fret diagrams}).
+
The previous example could also be written as follows:
@lilypond[quote,verbatim]
-\makeStringTuning #'custom-tuning <c' g' d'' a''>
+custom-tuning = \stringTuning <c' g' d'' a''>
mynotes = {
c'4 e' g' c'' |
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''4 g'' b'' c'''
-}
-
-<<
- \new Staff {
- \clef treble
- \mynotes
- }
- \new TabStaff {
- \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
+@code{\stringTuning} creates such an object from chord input.
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}.
+To let all TabStaff contexts use the same custom tuning by default,
+you can use
+
+@example
+\layout @{
+ \context @{
+ \TabStaff
+ stringTunings = \stringTuning <c' g' d'' a''>
+ @}
+@}
+@end example
+
+
@cindex moderntab clef
@cindex clef, moderntab
@cindex clef, tab
@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
@lilypond[quote, verbatim]
<<
- \context ChordNames {
+ \new ChordNames {
\chordmode {
c1 d:m
}
}
- \context Staff {
+ \new Staff {
\clef "treble_8"
<c e g c' e'>1^\markup {
\fret-diagram #"6-x;5-3;4-2;3-o;2-1;1-o;"
@lilypond[quote, verbatim]
<<
- \context ChordNames {
+ \new ChordNames {
\chordmode {
f1 g
}
}
- \context Staff {
+ \new Staff {
\clef "treble_8"
<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;"
@lilypond[quote, verbatim]
<<
- \context ChordNames {
+ \new ChordNames {
\chordmode {
f1 g
}
}
- \context Staff {
+ \new Staff {
\clef "treble_8"
<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;"
@lilypond[quote, verbatim]
<<
- \context ChordNames {
+ \new ChordNames {
\chordmode {
a1
}
}
- \context Staff {
+ \new Staff {
% An 'A' chord for ukulele
a'1^\markup {
\fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"
@lilypond[quote, verbatim]
<<
- \context ChordNames {
+ \new ChordNames {
\chordmode {
c1 d:m
}
}
- \context Staff {
+ \new Staff {
\clef "treble_8"
<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;"
@lilypond[quote, verbatim]
<<
- \context ChordNames {
+ \new ChordNames {
\chordmode {
c1 d:m
}
}
- \context Staff {
+ \new Staff {
\clef "treble_8"
<c e g c' e'>1^\markup {
\fret-diagram #"d:0.35;6-x;5-3;4-2;3-o;2-1;1-o;"
@lilypond[quote, verbatim]
<<
- \context ChordNames {
+ \new ChordNames {
\chordmode {
c1 d:m
}
}
- \context Staff {
+ \new Staff {
\clef "treble_8"
<c e g c' e'>1^\markup {
\fret-diagram-terse #"x;3;2;o;1;o;"
@lilypond[quote, verbatim]
<<
- \context ChordNames {
+ \new ChordNames {
\chordmode {
f1 g
}
}
- \context Staff {
+ \new Staff {
\clef "treble_8"
<f, c f a c' f'>1^\markup {
\fret-diagram-terse #"1-(;3;3;2;1;1-);"
@c Need to use override to enable fingerings to show this -- can we do so?
@lilypond[quote, verbatim]
<<
- \context ChordNames {
+ \new ChordNames {
\chordmode {
c1 d:m
}
}
- \context Staff {
- \override Voice.TextScript
- #'(fret-diagram-details finger-code) = #'below-string
+ \new Staff {
+ \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;"
@lilypond[quote, verbatim]
<<
- \context ChordNames {
+ \new ChordNames {
\chordmode {
c1 d:m
}
}
- \context Staff {
+ \new Staff {
\clef "treble_8"
<c e g c' e'>1^\markup {
\fret-diagram-verbose #'(
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]
<<
- \context ChordNames {
+ \new ChordNames {
\chordmode {
- f1 g c
+ f1 g c c b
}
}
- \context Staff {
+ \new 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)
(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
@node Predefined fret diagrams
@unnumberedsubsubsec Predefined fret diagrams
-
@cindex fret diagrams
@cindex fret diagrams, ukulele
@cindex fret diagrams, mandolin
@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
-\context FretBoards {
+\new FretBoards {
\chordmode {
c1 d
}
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
@lilypond[verbatim, ragged-right,quote]
\include "predefined-guitar-fretboards.ly"
-\context FretBoards {
+\new FretBoards {
\chordmode { c1 }
<c' e' g'>1
}
}
<<
- \context ChordNames {
+ \new ChordNames {
\mychords
}
- \context FretBoards {
+ \new FretBoards {
\mychords
}
>>
\transpose c e { \mychords }
}
<<
- \context ChordNames {
+ \new ChordNames {
\mychordlist
}
- \context FretBoards {
+ \new FretBoards {
\mychordlist
}
>>
}
<<
- \context ChordNames {
+ \new ChordNames {
\mychords
}
- \context FretBoards {
+ \new FretBoards {
\mychords
}
>>
}
<<
- \context ChordNames {
+ \new ChordNames {
\mychords
}
- \context FretBoards {
+ \new FretBoards {
\mychords
}
>>
}
<<
- \context ChordNames {
+ \new ChordNames {
\mychords
}
- \context FretBoards {
+ \new FretBoards {
\mychords
}
>>
}
<<
- \context ChordNames {
+ \new ChordNames {
\mychords
}
- \context FretBoards {
+ \new FretBoards {
\mychords
}
>>
@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]
{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:
@lilypond[quote,ragged-right,verbatim]
<<
- \context ChordNames {
+ \new ChordNames {
\chordmode {
f1 g
}
}
- \context FretBoards {
+ \new FretBoards {
<f, c f a c' f'>1
<g,\6 b, d g b g'>1
}
- \context Staff {
+ \new Staff {
\clef "treble_8"
<f, c f a c' f'>1
<g, b, d g b' g'>1
#guitar-tuning
#"x;3-1-(;5-2;5-3;5-4;3-1-1-);"
<<
- \context ChordNames {
+ \new ChordNames {
\chordmode {
c1 c c
}
}
- \context FretBoards {
+ \new FretBoards {
<c e g c' e'>1
\predefinedFretboardsOff
<c e g c' e'>1
\predefinedFretboardsOn
<c e g c' e'>1
}
- \context Staff {
+ \new Staff {
\clef "treble_8"
<c e g c' e'>1
<c e g c' e'>1
@lilypond[quote, verbatim]
<<
- \context ChordNames {
+ \new ChordNames {
\chordmode {
c1 d:m
}
}
- \context FretBoards {
+ \new FretBoards {
<c-3 e-2 g c'-1 e'>1
<d a-2 d'-3 f'-1>1
}
- \context Staff {
+ \new Staff {
\clef "treble_8"
<c e g c' e'>1
<d a d' f'>1
@lilypond[quote, verbatim]
<<
- \context ChordNames {
+ \new ChordNames {
\chordmode {
d1:m d:m
}
}
- \context FretBoards {
+ \new FretBoards {
<d a d' f'>1
\set FretBoards.minimumFret = #5
<d a d' f'>1
}
- \context Staff {
+ \new Staff {
\clef "treble_8"
<d a d' f'>1
<d a d' f'>1
@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]
+@lilypond[quote,verbatim,fragment]
\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}.
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
Notation Reference:
@ref{Text spanners}.
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
+ \override Staff.NoteHead.style = #'harmonic-mixed
+ d'^\markup { \italic { \fontsize #-2 { "harm. 12" }}} <g b>1
}
@end lilypond
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 >
\deadNotesOn
- \times 2/3 { g8 b e }
+ \tuplet 3/2 { g8 b e }
\deadNotesOff
< a,\3 c\2 e\1 >1
}
@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
@end example
@seealso
+Installed Files:
+@file{ly/string-tunings-init.ly}.
+
Snippets:
@rlsr{Fretted strings}.
-
-Installed Files:
-@file{ly/string-tunings-init.ly}