X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Ffretted-strings.itely;h=76d8f5d37578943e75901c57308a992d709d0a8e;hb=1d765020f867995879c761f2c9351c9dc74f1df8;hp=e8deaafb8c9402363d8e4f9195a39416d2d4c82d;hpb=2d28acb86f2e7b162dbdfa94b38544e3319f5a42;p=lilypond.git diff --git a/Documentation/notation/fretted-strings.itely b/Documentation/notation/fretted-strings.itely index e8deaafb8c..76d8f5d375 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.15.16" +@c \version "2.19.2" @node Fretted string instruments @section Fretted string instruments @@ -97,25 +97,25 @@ 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 @@ -180,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\) } @@ -206,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\) } @@ -221,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" @@ -246,6 +250,7 @@ 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 } >> @@ -253,8 +258,9 @@ minimumFret is 0. @funindex \tabChordRepeats @funindex \chordRepeats -@cindex Chord, repetition +@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}. In combination with tabulatures, its behavior of removing @@ -269,7 +275,7 @@ as @code{\tabChordRepeats}. @lilypond[quote,verbatim] guitar = \relative c' { - r8 ~ q4 q8~ q q4 + r8 ~ q4 q8~ 8 q4 } \new StaffGroup << @@ -290,7 +296,7 @@ the second alternative of a repeat. ties = \relative c' { \repeat volta 2 { e2. f4~ - f2 g2~ + 2 g2~ } \alternative { { g4 f2. } @@ -305,11 +311,11 @@ ties = \relative c' { \score { << \new StaffGroup << - \context Staff { + \new Staff { \clef "treble_8" \ties } - \context TabStaff { + \new TabStaff { \ties } >> @@ -330,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. } @@ -344,11 +350,11 @@ ties = \relative c' { \score { << \new StaffGroup << - \context Staff { + \new Staff { \clef "treble_8" \ties } - \context TabStaff { + \new TabStaff { \hideSplitTiedTabNotes \ties } @@ -363,9 +369,6 @@ ties = \relative c' { @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 @@ -374,6 +377,7 @@ 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 @@ -381,7 +385,10 @@ firstHarmonic = { } \score { << - \new Staff { \firstHarmonic } + \new Staff { + \clef "treble_8" + \firstHarmonic + } \new TabStaff { \firstHarmonic } >> } @@ -403,7 +410,10 @@ fretHarmonics = { } \score { << - \new Staff { \fretHarmonics } + \new Staff { + \clef "treble_8" + \fretHarmonics + } \new TabStaff { \fretHarmonics } >> } @@ -420,7 +430,10 @@ ratioHarmonics = { } \score { << - \new Staff { \ratioHarmonics } + \new Staff { + \clef "treble_8" + \ratioHarmonics + } \new TabStaff { \ratioHarmonics } >> } @@ -439,12 +452,29 @@ 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} +@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{Chord repetition}, @@ -521,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 } @@ -574,7 +607,7 @@ mynotes = { \mynotes } \new TabStaff { - \set stringTunings = \stringTuning + \set Staff.stringTunings = \stringTuning \mynotes } >> @@ -590,7 +623,7 @@ for predefined fret diagrams The previous example could also be written as follows: @lilypond[quote,verbatim] -"custom-tuning" = \stringTuning +custom-tuning = \stringTuning mynotes = { c'4 e' g' c'' | @@ -634,7 +667,7 @@ you can use \layout @{ \context @{ \TabStaff - stringTunings = \stringTuning \notemode @{ @} + stringTunings = \stringTuning @} @} @end example @@ -706,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;" @@ -730,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;" @@ -758,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;" @@ -781,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;" @@ -800,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;" @@ -822,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;" @@ -852,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;" @@ -873,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-);" @@ -895,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;" @@ -928,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 #'( @@ -966,18 +998,20 @@ can be placed on the fret diagram. The capo indication is 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. + @c \override is necessary to make fingering visible @lilypond[quote, verbatim] << - \context ChordNames { + \new ChordNames { \chordmode { - f1 g c + f1 g c 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) @@ -999,7 +1033,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) @@ -1008,6 +1042,17 @@ capo will be the lowest fret in the fret diagram. (place-fret 2 5 3) ) } + \override Voice.TextScript.size = 1.5 + 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) + ) + } } >> @end lilypond @@ -1105,7 +1150,7 @@ are stored in a lookup table: @lilypond[verbatim, ragged-right, quote] \include "predefined-guitar-fretboards.ly" -\context FretBoards { +\new FretBoards { \chordmode { c1 d } @@ -1122,7 +1167,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] @@ -1135,12 +1180,12 @@ 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 +Fret diagrams for the mandolin are contained in the file @* @file{predefined-mandolin-fretboards.ly}. @lilypond[verbatim, ragged-right, quote] @@ -1153,7 +1198,7 @@ myChords = \chordmode { c1 c:m7.5- c:aug } } \new FretBoards { - \set stringTunings = #mandolin-tuning + \set Staff.stringTunings = #mandolin-tuning \myChords } @end lilypond @@ -1164,7 +1209,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 } @@ -1188,10 +1233,10 @@ mychords = \chordmode{ } << - \context ChordNames { + \new ChordNames { \mychords } - \context FretBoards { + \new FretBoards { \mychords } >> @@ -1215,10 +1260,10 @@ mychordlist = { \transpose c e { \mychords } } << - \context ChordNames { + \new ChordNames { \mychordlist } - \context FretBoards { + \new FretBoards { \mychordlist } >> @@ -1244,10 +1289,10 @@ mychords = \chordmode{ } << - \context ChordNames { + \new ChordNames { \mychords } - \context FretBoards { + \new FretBoards { \mychords } >> @@ -1278,10 +1323,10 @@ mychords = \chordmode { } << - \context ChordNames { + \new ChordNames { \mychords } - \context FretBoards { + \new FretBoards { \mychords } >> @@ -1305,10 +1350,10 @@ mychords = \chordmode { } << - \context ChordNames { + \new ChordNames { \mychords } - \context FretBoards { + \new FretBoards { \mychords } >> @@ -1355,10 +1400,10 @@ mychords = \chordmode{ } << - \context ChordNames { + \new ChordNames { \mychords } - \context FretBoards { + \new FretBoards { \mychords } >> @@ -1378,7 +1423,7 @@ the interface properties belong to @code{FretBoards.FretBoard}. @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] @@ -1392,9 +1437,9 @@ 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: @@ -1419,16 +1464,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 @@ -1453,19 +1498,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 @@ -1490,16 +1535,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 @@ -1515,17 +1560,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 @@ -1576,28 +1621,27 @@ 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 @@ -1648,7 +1692,7 @@ 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 @@ -1678,7 +1722,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 @@ -1692,7 +1736,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 } @@ -1841,15 +1885,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