@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
@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
@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 {
@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
-\storePredefinedDiagram \chordmode {c:maj9}
+\storePredefinedDiagram \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 \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 \chordmode { f'' }
#guitar-tuning
#(chord-shape 'powerf guitar-tuning)
-\storePredefinedDiagram \chordmode {g''}
+\storePredefinedDiagram \chordmode { g'' }
#guitar-tuning
#(offset-fret 2 (chord-shape 'powerf guitar-tuning))
@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
#"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
@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
>>
@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.
\clef "G_8"
\palmMuteOn
e8^\markup { \musicglyph #"noteheads.u2do" = palm mute }
- e e
+ < e b' e > e
\palmMuteOff
e e \palmMute e e e |
e8 \palmMute { e e e } e e e e |
- \palmMuteOn
- < e b' e >8 e e e < e b' e >2
- \palmMuteOff |
< \palmMute e b' e >8 \palmMute { e e e } < \palmMute e b' e >2
}
}