X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Ffretted-strings.itely;h=f8461b4ada4139feb0bf57c228d123e9571e00a1;hb=f6dc5e44d6bac45c3997461208eec4e246748d9d;hp=98de6e3335d68fcd4fc66d0c8d9dd68b32d81830;hpb=55ac733b69643a6bc6a83b706c65cb56efd388ef;p=lilypond.git diff --git a/Documentation/notation/fretted-strings.itely b/Documentation/notation/fretted-strings.itely index 98de6e3335..f8461b4ada 100644 --- a/Documentation/notation/fretted-strings.itely +++ b/Documentation/notation/fretted-strings.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.13.46" +@c \version "2.19.2" @node Fretted string instruments @section Fretted string instruments @@ -76,7 +76,6 @@ in @ref{Collision resolution}. @end itemize - @seealso Notation Reference: @ref{Fingering instructions}, @@ -98,37 +97,36 @@ Notation Reference: @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" -4 2 +c4\5 e\4 g2\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" -2 +g4\3-0 +g-0\3 + @end lilypond @snippets -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {controlling-the-placement-of-chord-fingerings.ly} -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {allowing-fingerings-to-be-printed-inside-the-staff.ly} - @seealso Notation Reference: @ref{Fingering instructions}. @@ -182,7 +180,7 @@ symbols = { c4-.^"Allegro" d( e) f4-.\f g a^\fermata \mark \default - c8_.\<\( c16 c~ c2\! + c8_.\<\( c16 c~ 2\! c'2.\prall\) } @@ -208,7 +206,7 @@ symbols = { c4-.^"Allegro" d( e) f4-.\f g a^\fermata \mark \default - c8_.\<\( c16 c~ c2\! + c8_.\<\( c16 c~ 2\! c'2.\prall\) } @@ -223,19 +221,23 @@ symbols = { @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 { \clef "treble_8" @@ -248,39 +250,45 @@ minimumFret is 0. 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 ~ q4 q8~ q q4 + r8 ~ 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. @@ -288,7 +296,7 @@ the second alternative of a repeat. ties = \relative c' { \repeat volta 2 { e2. f4~ - f2 g2~ + 2 g2~ } \alternative { { g4 f2. } @@ -303,11 +311,11 @@ ties = \relative c' { \score { << \new StaffGroup << - \context Staff { + \new Staff { \clef "treble_8" \ties } - \context TabStaff { + \new TabStaff { \ties } >> @@ -328,7 +336,7 @@ engraving fret numbers in parentheses: ties = \relative c' { \repeat volta 2 { e2. f4~ - f2 g2~ } + 2 g2~ } \alternative { { g4 f2. } { g4\repeatTie c,2. } @@ -342,11 +350,11 @@ ties = \relative c' { \score { << \new StaffGroup << - \context Staff { + \new Staff { \clef "treble_8" \ties } - \context TabStaff { + \new TabStaff { \hideSplitTiedTabNotes \ties } @@ -361,33 +369,119 @@ ties = \relative c' { @cindex harmonic indications in tablature notation @cindex tablature and harmonic indications -@cindex slides in tablature notation -@cindex tablature and slides - -Harmonic indications and slides can be added to tablature -notation. +@funindex \harmonic +@funindex \harmonicByFret +@funindex \harmonicByRatio + +Harmonic indications can be added to tablature notation as sounding +pitches: + +@lilypond[verbatim,quote] +\layout { \omit Voice.StringNumber } +firstHarmonic = { + d'4\4\harmonic + g'4\3\harmonic + b'2\2\harmonic +} +\score { + << + \new Staff { + \clef "treble_8" + \firstHarmonic + } + \new TabStaff { \firstHarmonic } + >> +} +@end lilypond -@lilypond[verbatim, quote, relative=1] -\new TabStaff { - \new TabVoice { - 4 d\2\glissando e\2 - } +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. + +@lilypond[verbatim,quote] +fretHarmonics = { + \harmonicByFret #5 d16\4 + \harmonicByFret #4 d16\4 + \harmonicByFret #3 d8\4 + \harmonicByFret #5 2. +} +\score { + << + \new Staff { + \clef "treble_8" + \fretHarmonics + } + \new TabStaff { \fretHarmonics } + >> } @end lilypond +Alternatively, harmonics can be computed by defining the ratio of +string lengths above and below the harmonic fingering. -@snippets +@lilypond[verbatim,quote] +ratioHarmonics = { + \harmonicByRatio #1/2 4 + \harmonicByRatio #1/3 4 + \harmonicByRatio #1/4 { g8\3 b8\2 e'4\1 } +} +\score { + << + \new Staff { + \clef "treble_8" + \ratioHarmonics + } + \new TabStaff { \ratioHarmonics } + >> +} +@end lilypond -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@snippets +@lilypondfile[verbatim,quote,texidoc,doctitle] {stem-and-beam-behavior-in-tablature.ly} -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {polyphony-in-tablature.ly} +@lilypondfile[verbatim,quote,texidoc,doctitle] +{open-string-harmonics-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{Stems}, +@ref{Written-out repeats}. Snippets: @rlsr{Fretted strings}. @@ -398,9 +492,7 @@ Internals Reference: @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. @@ -423,6 +515,7 @@ melodia = \partcombine { e4 g g g } { e4 e e e } Guitar special effects are limited to harmonics and slides. + @node Custom tablatures @unnumberedsubsubsec Custom tablatures @@ -441,7 +534,7 @@ Guitar special effects are limited to harmonics and slides. @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. @@ -458,14 +551,17 @@ written. @lilypond[quote,ragged-right,verbatim] << - \new Staff { + \new Voice \with { + \omit StringNumber + } { \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 } @@ -477,21 +573,20 @@ The default string tuning is @code{guitar-tuning}, which 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 @@ -512,7 +607,7 @@ mynotes = { \mynotes } \new TabStaff { - \contextStringTuning #'custom-tuning + \set Staff.stringTunings = \stringTuning \mynotes } >> @@ -521,21 +616,14 @@ 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 +custom-tuning = \stringTuning mynotes = { c'4 e' g' c'' | @@ -565,36 +653,26 @@ A string pitch in a string tuning list is a LilyPond pitch 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 + @} +@} +@end example + + @cindex moderntab clef @cindex clef, moderntab @cindex clef, tab @@ -621,7 +699,7 @@ Notation Reference: @ref{Scheme functions}. Installed Files: -@file{ly/string-tuning-init.ly} +@file{ly/string-tunings-init.ly}, @file{scm/tablature.scm}. Snippets: @@ -635,6 +713,7 @@ Automatic tablature calculations do not work properly in most cases for instruments where string pitches do not vary monotonically with string number, such as ukuleles. + @node Fret diagram markups @unnumberedsubsubsec Fret diagram markups @@ -660,12 +739,12 @@ In addition, open and unplayed (muted) strings can be indicated. @lilypond[quote, verbatim] << - \context ChordNames { + \new ChordNames { \chordmode { c1 d:m } } - \context Staff { + \new Staff { \clef "treble_8" 1^\markup { \fret-diagram #"6-x;5-3;4-2;3-o;2-1;1-o;" @@ -684,12 +763,12 @@ the fret-diagram markup string. @lilypond[quote, verbatim] << - \context ChordNames { + \new ChordNames { \chordmode { f1 g } } - \context Staff { + \new Staff { \clef "treble_8" 1^\markup { \fret-diagram #"c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;" @@ -712,12 +791,12 @@ can be changed in the fret-diagram markup string. @lilypond[quote, verbatim] << - \context ChordNames { + \new ChordNames { \chordmode { f1 g } } - \context Staff { + \new Staff { \clef "treble_8" 1^\markup { \fret-diagram #"s:1.5;c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;" @@ -735,12 +814,12 @@ markup string. @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;" @@ -754,12 +833,12 @@ can be controlled by the fret-diagram markup string. @lilypond[quote, verbatim] << - \context ChordNames { + \new ChordNames { \chordmode { c1 d:m } } - \context Staff { + \new Staff { \clef "treble_8" 1^\markup { \fret-diagram #"f:1;6-x;5-3-3;4-2-2;3-o;2-1-1;1-o;" @@ -776,12 +855,12 @@ markup string. @lilypond[quote, verbatim] << - \context ChordNames { + \new ChordNames { \chordmode { c1 d:m } } - \context Staff { + \new Staff { \clef "treble_8" 1^\markup { \fret-diagram #"d:0.35;6-x;5-3;4-2;3-o;2-1;1-o;" @@ -806,12 +885,12 @@ Mute strings, open strings, and fret numbers can be indicated. @lilypond[quote, verbatim] << - \context ChordNames { + \new ChordNames { \chordmode { c1 d:m } } - \context Staff { + \new Staff { \clef "treble_8" 1^\markup { \fret-diagram-terse #"x;3;2;o;1;o;" @@ -827,12 +906,12 @@ Barre indicators can be included in the fret-diagram-terse markup string. @lilypond[quote, verbatim] << - \context ChordNames { + \new ChordNames { \chordmode { f1 g } } - \context Staff { + \new Staff { \clef "treble_8" 1^\markup { \fret-diagram-terse #"1-(;3;3;2;1;1-);" @@ -849,14 +928,13 @@ Fingering indications can be included in the fret-diagram-terse markup string. @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" 1^\markup { \fret-diagram-terse #"x;3-3;2-2;o;1-1;o;" @@ -882,12 +960,12 @@ element of the list indicates an item to be placed on the fret diagram. @lilypond[quote, verbatim] << - \context ChordNames { + \new ChordNames { \chordmode { c1 d:m } } - \context Staff { + \new Staff { \clef "treble_8" 1^\markup { \fret-diagram-verbose #'( @@ -923,15 +1001,14 @@ capo will be the lowest fret in the fret diagram. @c \override is necessary to make fingering visible @lilypond[quote, verbatim] << - \context ChordNames { + \new ChordNames { \chordmode { f1 g c } } - \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 1^\markup { \fret-diagram-verbose #'( (place-fret 6 1) @@ -953,7 +1030,7 @@ capo will be the lowest fret in the fret diagram. (place-fret 1 3 3) ) } - 1^\markup { + 1^\markup { \fret-diagram-verbose #'( (capo 3) (mute 6) @@ -1025,10 +1102,10 @@ markup, the interface properties belong to @code{Voice.TextScript}. @snippets -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {changing-fret-orientations.ly} -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {customizing-markup-fret-diagrams.ly} @seealso @@ -1045,9 +1122,9 @@ Internals Reference: @node Predefined fret diagrams @unnumberedsubsubsec Predefined fret diagrams - @cindex fret diagrams @cindex fret diagrams, ukulele +@cindex fret diagrams, mandolin @cindex chord diagrams @funindex FretBoards @@ -1059,7 +1136,7 @@ are stored in a lookup table: @lilypond[verbatim, ragged-right, quote] \include "predefined-guitar-fretboards.ly" -\context FretBoards { +\new FretBoards { \chordmode { c1 d } @@ -1076,7 +1153,7 @@ diagrams can be added for other instruments or other tunings 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] @@ -1089,7 +1166,25 @@ myChords = \chordmode { a1 a:m a:aug } } \new FretBoards { - \set stringTunings = #ukulele-tuning + \set Staff.stringTunings = #ukulele-tuning + \myChords +} +@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 Staff.stringTunings = #mandolin-tuning \myChords } @end lilypond @@ -1100,7 +1195,7 @@ either as simultaneous music or using chord mode (see @lilypond[verbatim, ragged-right,quote] \include "predefined-guitar-fretboards.ly" -\context FretBoards { +\new FretBoards { \chordmode { c1 } 1 } @@ -1124,10 +1219,10 @@ mychords = \chordmode{ } << - \context ChordNames { + \new ChordNames { \mychords } - \context FretBoards { + \new FretBoards { \mychords } >> @@ -1151,10 +1246,10 @@ mychordlist = { \transpose c e { \mychords } } << - \context ChordNames { + \new ChordNames { \mychordlist } - \context FretBoards { + \new FretBoards { \mychordlist } >> @@ -1180,10 +1275,10 @@ mychords = \chordmode{ } << - \context ChordNames { + \new ChordNames { \mychords } - \context FretBoards { + \new FretBoards { \mychords } >> @@ -1214,10 +1309,10 @@ mychords = \chordmode { } << - \context ChordNames { + \new ChordNames { \mychords } - \context FretBoards { + \new FretBoards { \mychords } >> @@ -1241,10 +1336,10 @@ mychords = \chordmode { } << - \context ChordNames { + \new ChordNames { \mychords } - \context FretBoards { + \new FretBoards { \mychords } >> @@ -1291,10 +1386,10 @@ mychords = \chordmode{ } << - \context ChordNames { + \new ChordNames { \mychords } - \context FretBoards { + \new FretBoards { \mychords } >> @@ -1308,19 +1403,18 @@ the interface properties belong to @code{FretBoards.FretBoard}. @snippets -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {customizing-fretboard-fret-diagrams.ly} -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {defining-predefined-fretboards-for-other-instruments.ly} -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle,ragged-right] {chordchanges-for-fretboards.ly} -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {fretboards-alternate-tables.ly} - @seealso Notation Reference: @ref{Custom tablatures}, @@ -1329,9 +1423,10 @@ Notation Reference: @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: @rlsr{Fretted strings}. @@ -1355,16 +1450,16 @@ calculates strings and frets that can be used to play the notes. @lilypond[quote,ragged-right,verbatim] << - \context ChordNames { + \new ChordNames { \chordmode { f1 g } } - \context FretBoards { + \new FretBoards { 1 1 } - \context Staff { + \new Staff { \clef "treble_8" 1 1 @@ -1389,19 +1484,19 @@ commands: #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 { 1 \predefinedFretboardsOff 1 \predefinedFretboardsOn 1 } - \context Staff { + \new Staff { \clef "treble_8" 1 1 @@ -1426,16 +1521,16 @@ Fingerings can be added to FretBoard fret diagrams. @lilypond[quote, verbatim] << - \context ChordNames { + \new ChordNames { \chordmode { c1 d:m } } - \context FretBoards { + \new FretBoards { 1 1 } - \context Staff { + \new Staff { \clef "treble_8" 1 1 @@ -1451,17 +1546,17 @@ property. @lilypond[quote, verbatim] << - \context ChordNames { + \new ChordNames { \chordmode { d1:m d:m } } - \context FretBoards { + \new FretBoards { 1 \set FretBoards.minimumFret = #5 1 } - \context Staff { + \new Staff { \clef "treble_8" 1 1 @@ -1487,7 +1582,6 @@ diagram, the interface properties belong to @code{\predefinedFretboardsOn}. @endpredefined - @seealso Notation Reference: @ref{Custom tablatures}. @@ -1513,40 +1607,38 @@ with non-monotonic tunings. @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" -4 - - - -1 +c4\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 @snippets -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {placement-of-right-hand-fingerings.ly} -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {fingerings,-string-indications,-and-right-hand-fingerings.ly} - @seealso Snippets: @rlsr{Fretted strings}. @@ -1586,13 +1678,12 @@ barring indications. \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}. @@ -1617,7 +1708,7 @@ text markup. @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" }}} 1 } @end lilypond @@ -1631,7 +1722,7 @@ music = \relative c' { < 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 } @@ -1780,15 +1871,20 @@ correct fret numbers for the fifth string: @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 @@ -1801,22 +1897,21 @@ correct fret numbers for the fifth string: @funindex banjo-open-dm-tuning @funindex four-string-banjo -A number of common tunings for banjo are predefined in LilyPond: +A number of common tunings for the five-string banjo are predefined: @code{banjo-c-tuning} (gCGBD), @code{banjo-modal-tuning} (gDGCD), @code{banjo-open-d-tuning} (aDF#AD) and @code{banjo-open-dm-tuning} (aDFAD). -These tunings may be converted to four-string banjo tunings using the +These may be converted to four-string tunings using the @code{four-string-banjo} function: @example \set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning) @end example - @seealso +Installed Files: +@file{ly/string-tunings-init.ly}. + Snippets: @rlsr{Fretted strings}. - -Installed Files: -@file{scm/output-lib.scm} contains predefined banjo tunings.