Guide, node Updating translation committishes..
@end ignore
-@c \version "2.12.0"
+@c \version "2.13.36"
@node Fretted string instruments
@section Fretted string instruments
@lilypond[quote,ragged-right,verbatim]
\new TabStaff \relative c' {
a,8 a' <c e> a
- d, a' <d f> a
+ d,8 a' <d f> a
}
@end lilypond
c4-.^"Allegro" d( e)
f4-.\f g a^\fermata
\mark \default
- c8_.\<\( c16 c ~ c2\!
+ c8_.\<\( c16 c~ c2\!
c'2.\prall\)
}
\score {
<<
\new Staff { \clef "G_8" \symbols }
- \new TabStaff { \symbols }
+ \new TabStaff { \symbols }
>>
}
@end lilypond
c4-.^"Allegro" d( e)
f4-.\f g a^\fermata
\mark \default
- c8_.\<\( c16 c ~ c2\!
+ c8_.\<\( c16 c~ c2\!
c'2.\prall\)
}
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
+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.
\tabChordRepetition
guitar = \relative c' {
- r8 < gis\4 cis\3 b\2 > ~ q4 q8 ~ q q4
+ r8 <gis\4 cis\3 b\2>~ q4 q8~ q q4
}
\new StaffGroup <<
\score {
<<
\new StaffGroup <<
- \context Staff {
+ \context Staff {
\clef "treble_8"
\ties
- }
- \context TabStaff {
+ }
+ \context TabStaff {
\ties
}
>>
\score {
<<
\new StaffGroup <<
- \context Staff {
+ \context Staff {
\clef "treble_8"
\ties
- }
- \context TabStaff {
+ }
+ \context TabStaff {
\hideSplitTiedTabNotes
\ties
}
@lilypond[verbatim, quote, relative=1]
\new TabStaff {
\new TabVoice {
- <c g'\harmonic> d\2\glissando e\2
+ <c g'\harmonic>4 d\2\glissando e\2
}
}
@end lilypond
specially-created voices:
@lilypond[quote,ragged-right,verbatim]
-melodia = \partcombine { e4 g g g }{ e4 e e e }
+melodia = \partcombine { e4 g g g } { e4 e e e }
<<
\new TabStaff <<
\new TabVoice = "one" s1
@cindex tablatures, custom
@cindex tablature, banjo
@cindex tablature, mandolin
+@cindex tablature, guitar
@cindex tablature, bass guitar
+@cindex tablature, ukulele
@cindex tablature, predefined string tunings
@cindex fretted instruments, predefined string tunings
@cindex predefined string tunings for fretted instruments
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/tablature.scm}.
+are found in @file{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,
@lilypond[quote,verbatim]
mynotes = {
- c'4 e' g' c'' |
- e'' g'' b'' c'''
+ c'4 e' g' c'' |
+ e''4 g'' b'' c'''
}
<<
@lilypond[quote,ragged-right,verbatim]
\new TabStaff {
- \clef moderntab
+ \clef moderntab
<a, e a>1
\break
\clef tab
@lilypond[quote, verbatim]
<<
\context ChordNames {
- \chordmode {
- c1 d:m
- }
+ \chordmode {
+ c1 d:m
+ }
}
\context Staff {
\clef "treble_8"
- < c e g c' e' > 1 ^\markup
+ <c e g c' e'>1^\markup {
\fret-diagram #"6-x;5-3;4-2;3-o;2-1;1-o;"
- < d a d' f'> ^\markup
+ }
+ <d a d' f'>1^\markup {
\fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-1;"
+ }
}
>>
@end lilypond
}
\context Staff {
\clef "treble_8"
- < f, c f a c' f'>1 ^\markup
+ <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;"
- < g, d g b d' g'> ^\markup
+ }
+ <g, d g b d' g'>1^\markup {
\fret-diagram #"c:6-1-3;6-3;5-5;4-5;3-4;2-3;1-3;"
+ }
}
>>
@end lilypond
@cindex fret-diagram markup
+@cindex ukulele
@funindex fret-diagram
@funindex \fret-diagram
}
\context Staff {
\clef "treble_8"
- < f, c f a c' f'>1 ^\markup
+ <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;"
- < g, b, d g b g'> ^\markup
+ }
+ <g, b, d g b g'>1^\markup {
\fret-diagram #"h:6;6-3;5-2;4-o;3-o;2-o;1-3;"
+ }
}
>>
@end lilypond
-The number of strings in a fret diagram can be changed to accomodate
+The number of strings in a fret diagram can be changed to accommodate
different instruments such as banjos and ukuleles with the fret-diagram
markup string.
@lilypond[quote, verbatim]
<<
\context ChordNames {
- \chordmode {
- a1
- }
+ \chordmode {
+ a1
+ }
}
\context Staff {
- %% An A chord for ukulele
- a'1 ^\markup \fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"
+ % An 'A' chord for ukulele
+ a'1^\markup {
+ \fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"
+ }
}
>>
@end lilypond
@lilypond[quote, verbatim]
<<
\context ChordNames {
- \chordmode {
- c1 d:m
- }
+ \chordmode {
+ c1 d:m
+ }
}
\context Staff {
\clef "treble_8"
- < c e g c' e' > 1 ^\markup
+ <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;"
- < d a d' f'> ^\markup
+ }
+ <d a d' f'>1^\markup {
\fret-diagram #"f:2;6-x;5-x;4-o;3-2-2;2-3-3;1-1-1;"
+ }
}
>>
@end lilypond
@lilypond[quote, verbatim]
<<
\context ChordNames {
- \chordmode {
- c1 d:m
- }
+ \chordmode {
+ c1 d:m
+ }
}
\context Staff {
\clef "treble_8"
- < c e g c' e' > 1 ^\markup
+ <c e g c' e'>1^\markup {
\fret-diagram #"d:0.35;6-x;5-3;4-2;3-o;2-1;1-o;"
- < d a d' f'> ^\markup
+ }
+ <d a d' f'>1^\markup {
\fret-diagram #"p:0.2;6-x;5-x;4-o;3-2;2-3;1-1;"
+ }
}
>>
@end lilypond
@lilypond[quote, verbatim]
<<
\context ChordNames {
- \chordmode {
- c1 d:m
- }
+ \chordmode {
+ c1 d:m
+ }
}
\context Staff {
\clef "treble_8"
- < c e g c' e' > 1 ^\markup
+ <c e g c' e'>1^\markup {
\fret-diagram-terse #"x;3;2;o;1;o;"
- < d a d' f'> ^\markup
+ }
+ <d a d' f'>1^\markup {
\fret-diagram-terse #"x;x;o;2;3;1;"
+ }
}
>>
@end lilypond
@lilypond[quote, verbatim]
<<
\context ChordNames {
- \chordmode {
- f1 g
- }
+ \chordmode {
+ f1 g
+ }
}
\context Staff {
\clef "treble_8"
- < f, c f a c' f'>1 ^\markup
+ <f, c f a c' f'>1^\markup {
\fret-diagram-terse #"1-(;3;3;2;1;1-);"
- < g, d g b d' g'> ^\markup
+ }
+ <g, d g b d' g'>1^\markup {
\fret-diagram-terse #"3-(;5;5;4;3;3-);"
+ }
}
>>
@end lilypond
@lilypond[quote, verbatim]
<<
\context ChordNames {
- \chordmode {
- c1 d:m
- }
+ \chordmode {
+ c1 d:m
+ }
}
\context Staff {
\override Voice.TextScript
#'(fret-diagram-details finger-code) = #'below-string
\clef "treble_8"
- < c e g c' e' > 1 ^\markup
+ <c e g c' e'>1^\markup {
\fret-diagram-terse #"x;3-3;2-2;o;1-1;o;"
- < d a d' f'> ^\markup
+ }
+ <d a d' f'>1^\markup {
\fret-diagram-terse #"x;x;o;2-2;3-3;1-1;"
+ }
}
>>
@end lilypond
the fret-diagram-terse markup.
@cindex fret-diagram-verbose markup
+@cindex capo
@funindex fret-diagram-verbose
@funindex \fret-diagram-verbose
element of the list indicates an item to be placed on the fret diagram.
@lilypond[quote, verbatim]
-<< \context ChordNames {
- \chordmode {
- c1 d:m
- }
- }
+<<
+ \context ChordNames {
+ \chordmode {
+ c1 d:m
+ }
+ }
\context Staff {
\clef "treble_8"
- < c e g c' e' > 1 ^\markup
+ <c e g c' e'>1^\markup {
\fret-diagram-verbose #'(
(mute 6)
(place-fret 5 3)
(place-fret 2 1)
(open 1)
)
- < d a d' f'> ^\markup
+ }
+ <d a d' f'>1^\markup {
\fret-diagram-verbose #'(
(mute 6)
(mute 5)
(place-fret 2 3)
(place-fret 1 1)
)
+ }
}
>>
@end lilypond
@c \override is necessary to make fingering visible
@lilypond[quote, verbatim]
<<
- \context ChordNames {
- \chordmode {
- f1 g c
- }
- }
+ \context ChordNames {
+ \chordmode {
+ f1 g c
+ }
+ }
\context Staff {
\clef "treble_8"
\override Voice.TextScript
#'(fret-diagram-details finger-code) = #'below-string
-
- < f, c f a c' f'>1 ^\markup
+ <f, c f a c' f'>1^\markup {
\fret-diagram-verbose #'(
(place-fret 6 1)
(place-fret 5 3)
(place-fret 1 1)
(barre 6 1 1)
)
- < g, b, d g b g'> ^\markup
+ }
+ <g, b, d g b g'>1^\markup {
\fret-diagram-verbose #'(
(place-fret 6 3 2)
(place-fret 5 2 1)
(open 2)
(place-fret 1 3 3)
)
- < c e g c' e'> ^\markup
+ }
+ <c e g c' e'>1^\markup {
\fret-diagram-verbose #'(
(capo 3)
(mute 6)
(place-fret 3 5 2)
(place-fret 2 5 3)
)
- }
+ }
+ }
>>
@end lilypond
@lilypond[verbatim,ragged-right,quote]
\new Voice {
\clef "treble_8"
- d^\markup \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-2;"
- d d d
- fis^\markup \override #'(size . 0.75) {
- \override #'(finger-code . below-string) {
- \fret-diagram-verbose #'((place-fret 6 2 1) (barre 6 1 2)
- (place-fret 5 4 3)
- (place-fret 4 4 4)
- (place-fret 3 3 2)
- (place-fret 2 2 1)
- (place-fret 1 2 1))
+ d4^\markup {
+ \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-2;"
+ }
+ d4 d d
+ fis^\markup {
+ \override #'(size . 0.75) {
+ \override #'(finger-code . below-string) {
+ \fret-diagram-verbose #'((place-fret 6 2 1) (barre 6 1 2)
+ (place-fret 5 4 3)
+ (place-fret 4 4 4)
+ (place-fret 3 3 2)
+ (place-fret 2 2 1)
+ (place-fret 1 2 1))
+ }
}
}
- fis fis fis
- c^\markup \override #'(dot-radius . 0.35) {
- \override #'(finger-code . in-dot) {
- \override #'(dot-color . white) {
- \fret-diagram-terse #"x;3-1-(;5-2;5-3;5-4;3-1-);"
+ fis4 fis fis
+ c^\markup {
+ \override #'(dot-radius . 0.35) {
+ \override #'(finger-code . in-dot) {
+ \override #'(dot-color . white) {
+ \fret-diagram-terse #"x;3-1-(;5-2;5-3;5-4;3-1-);"
+ }
}
}
}
- c c c
+ c4 c c
}
@end lilypond
@end ignore
@snippets
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{customizing-markup-fret-diagrams.ly}
+{changing-fret-orientations.ly}
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{customizing-markup-fret-diagrams.ly}
@seealso
Notation Reference:
@cindex fret diagrams
+@cindex fret diagrams, ukulele
@cindex chord diagrams
@funindex FretBoards
@end lilypond
The default predefined fret diagrams are contained in the file
-@code{predefined-guitar-fretboards.ly}. Fret diagrams are
+@file{predefined@/-guitar@/-fretboards@/.ly}. Fret diagrams are
stored based on the pitches of a chord and the value of
@code{stringTunings} that is currently in use.
-@code{predefined-guitar-fretboards.ly} contains predefined
+@file{predefined@/-guitar@/-fretboards@/.ly} contains predefined
fret diagrams only for @code{guitar-tuning}. Predefined fret
diagrams can be added for other instruments or other tunings
by following the examples found in
-@code{predefined-guitar-fretboards.ly}.
+@file{predefined@/-guitar@/-fretboards@/.ly}.
Fret diagrams for the ukulele are contained in the file
-@code{predefined-ukulele-fretboards.ly}.
+@file{predefined@/-ukulele@/-fretboards@/.ly}.
@lilypond[verbatim, ragged-right, quote]
\include "predefined-ukulele-fretboards.ly"
@lilypond[verbatim, ragged-right,quote]
\include "predefined-guitar-fretboards.ly"
\context FretBoards {
- \chordmode {c1}
+ \chordmode { c1 }
<c' e' g'>1
}
@end lilypond
mychordlist = {
\mychords
- \transpose c e { \mychords}
+ \transpose c e { \mychords }
}
<<
\context ChordNames {
@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
-a definition for the diagram. The diagram definition can be either a
+you must specify the hash table for the diagram, the chord for the
+diagram, the tuning to be used, and
+a definition for the diagram. Normally, the hash table will be
+@var{default-fret-table}. The diagram definition can be either a
fret-diagram-terse definition string or a fret-diagram-verbose
marking list.
@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
-\storePredefinedDiagram \chordmode {c:maj9}
+\storePredefinedDiagram #default-fret-table
+ \chordmode { c:maj9 }
#guitar-tuning
#"x;3-2;o;o;o;o;"
-mychords = \chordmode{
+mychords = \chordmode {
c1 c:maj9
}
@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
-\storePredefinedDiagram \chordmode {c''}
+\storePredefinedDiagram #default-fret-table
+ \chordmode { c'' }
#guitar-tuning
#(offset-fret 2 (chord-shape 'bes guitar-tuning))
-mychords = \chordmode{
+mychords = \chordmode {
c1 c''
}
@cindex chord shapes for fretted instruments
@funindex \addChordShape
-@funindex add ChordShape
+@funindex addChordShape
@funindex storePredefinedDiagram
@funindex \storePredefinedDiagram
In addition to fret diagrams, LilyPond stores an internal list of chord
shapes. The chord shapes are fret diagrams that can be shifted along
-the neck to different posistions to provide different chords. Chord
+the neck to different positions to provide different chords. Chord
shapes can be added to the internal list and then used to define
predefined fret diagrams. Because they can be moved to various
positions on the neck, chord shapes will normally not contain
@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
-% add a new chord shape
+% Add a new chord shape
\addChordShape #'powerf #guitar-tuning #"1-1;3-3;3-4;x;x;x;"
% add some new chords based on the power chord shape
-\storePredefinedDiagram \chordmode {f''}
+\storePredefinedDiagram #default-fret-table
+ \chordmode { f'' }
#guitar-tuning
#(chord-shape 'powerf guitar-tuning)
-\storePredefinedDiagram \chordmode {g''}
+\storePredefinedDiagram #default-fret-table
+ \chordmode { g'' }
#guitar-tuning
#(offset-fret 2 (chord-shape 'powerf guitar-tuning))
@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
{chordchanges-for-fretboards.ly}
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{fretboards-alternate-tables.ly}
+
@seealso
Notation Reference:
Installed Files:
@file{ly/@/predefined@/-guitar@/-fretboards@/.ly},
-@file{ly/@/predefined@/-guitar@/-ninth@/-fretboards@/.ly}.
+@file{ly/@/predefined@/-guitar@/-ninth@/-fretboards@/.ly},
+@file{ly/@/predefined@/-ukulele@/-fretboards@/.ly}.
Snippets:
@rlsr{Fretted strings}.
@lilypond[quote,ragged-right,verbatim]
<<
\context ChordNames {
- \chordmode {
- f1 g
- }
+ \chordmode {
+ f1 g
+ }
}
\context FretBoards {
- < f, c f a c' f'>1
- < g,\6 b, d g b g'>
+ <f, c f a c' f'>1
+ <g,\6 b, d g b g'>1
}
\context Staff {
\clef "treble_8"
- < f, c f a c' f'>1
- < g, b, d g b' g'>
+ <f, c f a c' f'>1
+ <g, b, d g b' g'>1
}
>>
@end lilypond
@lilypond[quote,ragged-right,verbatim]
-\storePredefinedDiagram <c e g c' e'>
+\storePredefinedDiagram #default-fret-table
+ <c e g c' e'>
#guitar-tuning
- #"x;3-1-(;5-2;5-3;5-4;3-1-1);"
+ #"x;3-1-(;5-2;5-3;5-4;3-1-1-);"
<<
\context ChordNames {
- \chordmode {
- c1 c c
- }
+ \chordmode {
+ c1 c c
+ }
}
\context FretBoards {
<c e g c' e'>1
\predefinedFretboardsOff
- <c e g c' e'>
+ <c e g c' e'>1
\predefinedFretboardsOn
- <c e g c' e'>
+ <c e g c' e'>1
}
\context Staff {
\clef "treble_8"
<c e g c' e'>1
- <c e g c' e'>
- <c e g c' e'>
+ <c e g c' e'>1
+ <c e g c' e'>1
}
>>
@end lilypond
@lilypond[quote, verbatim]
<<
\context ChordNames {
- \chordmode {
- c1 d:m
- }
+ \chordmode {
+ c1 d:m
+ }
}
\context FretBoards {
- < c-3 e-2 g c'-1 e' > 1
- < d a-2 d'-3 f'-1>
+ <c-3 e-2 g c'-1 e'>1
+ <d a-2 d'-3 f'-1>1
}
\context Staff {
\clef "treble_8"
- < c e g c' e' > 1
- < d a d' f'>
+ <c e g c' e'>1
+ <d a d' f'>1
}
>>
@end lilypond
+@funindex minimumFret
+
The minimum fret to be used in calculating strings and frets for
the FretBoard context can be set with the @code{minimumFret}
property.
@lilypond[quote, verbatim]
<<
\context ChordNames {
- \chordmode {
- d1:m d:m
- }
+ \chordmode {
+ d1:m d:m
+ }
}
\context FretBoards {
- < d a d' f'>
+ <d a d' f'>1
\set FretBoards.minimumFret = #5
- < d a d' f'>
+ <d a d' f'>1
}
\context Staff {
\clef "treble_8"
- < d a d' f'>
- < d a d' f'>
+ <d a d' f'>1
+ <d a d' f'>1
}
>>
@end lilypond
<g-\rightHandFinger #3 >
<c-\rightHandFinger #4 >
<c,-\rightHandFinger #1 e-\rightHandFinger #2
- g-\rightHandFinger #3 c-\rightHandFinger #4 >1
+ g-\rightHandFinger #3 c-\rightHandFinger #4 >1
@end lilypond
For convenience, you can abbreviate @code{\rightHandFinger} to something
@menu
* Indicating position and barring::
* Indicating harmonics and dampened notes::
+* Indicating power chords::
@end menu
@node Indicating position and barring
This example demonstrates how to include guitar position and
barring indications.
-@lilypond[quote,ragged-right,fragment,verbatim,relative=0]
+@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
+g16\startTextSpan
+b16 e g e b g\stopTextSpan
e16 b g d
@end lilypond
>>
@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
+Another playing technique (especially used on electric 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.
@ref{Note head styles}.
+@node Indicating power chords
+@unnumberedsubsubsec Indicating power chords
+
+@funindex powerChords
+@funindex \powerChords
+
+@cindex power chords
+@cindex chords, power
+
+Power chords and their symbols can be engraved in chord mode or as chord
+constructs:
+
+@lilypond[quote,ragged-right,verbatim]
+ChordsAndSymbols = {
+ \chordmode {
+ \powerChords
+ e,,1:1.5
+ a,,1:1.5.8
+ \set minimumFret = #8
+ c,1:1.5
+ f,1:1.5.8
+ }
+ \set minimumFret = #5
+ <a, e>1
+ <g d' g'>1
+}
+\score {
+ <<
+ \new ChordNames {
+ \ChordsAndSymbols
+ }
+ \new Staff {
+ \clef "treble_8"
+ \ChordsAndSymbols
+ }
+ \new TabStaff {
+ \ChordsAndSymbols
+ }
+ >>
+}
+@end lilypond
+
+Power chord symbols are automatically switched off as soon as one of the
+other common chord modifier is used:
+
+@lilypond[quote,ragged-right,verbatim]
+mixedChords = \chordmode {
+ c,1
+ \powerChords
+ b,,1:1.5
+ fis,,1:1.5.8
+ g,,1:m
+}
+\score {
+ <<
+ \new ChordNames {
+ \mixedChords
+ }
+ \new Staff {
+ \clef "treble_8"
+ \mixedChords
+ }
+ \new TabStaff {
+ \mixedChords
+ }
+ >>
+}
+@end lilypond
+
+@seealso
+Music Glossary:
+@rglos{power chord}.
+
+Notation Reference:
+@ref{Extended and altered chords},
+@ref{Printing chord names}.
+
+Snippets:
+@rlsr{Fretted strings}.
+
+
@node Banjo
@subsection Banjo
@c due to crazy intervals of banjo music, absolute pitch is recommended
-@lilypond[quote,ragged-right,fragment,verbatim]
+@lilypond[quote,ragged-right,verbatim]
\new TabStaff <<
\set TabStaff.tablatureFormat = #fret-number-tablature-format-banjo
\set TabStaff.stringTunings = #banjo-open-g-tuning