X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Ffretted-strings.itely;h=235ab931587fe347af7392a7cec212a58f8a592c;hb=e7aa6c445f463844dbaa52d38ea4aac2882b5601;hp=f01e968b13c40a97e87acc3c6bfffaef58836f7f;hpb=cf039a0cae992c1437514440478e136c5051e653;p=lilypond.git diff --git a/Documentation/notation/fretted-strings.itely b/Documentation/notation/fretted-strings.itely index f01e968b13..235ab93158 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 @@ -76,7 +76,6 @@ in @ref{Collision resolution}. @end itemize - @seealso Notation Reference: @ref{Fingering instructions}, @@ -98,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 @@ -128,7 +127,6 @@ in the code: @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,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 } >> @@ -271,7 +274,7 @@ as @code{\tabChordRepeats}. @lilypond[quote,verbatim] guitar = \relative c' { - r8 ~ q4 q8~ q q4 + r8 ~ q4 q8~ 8 q4 } \new StaffGroup << @@ -292,7 +295,7 @@ the second alternative of a repeat. ties = \relative c' { \repeat volta 2 { e2. f4~ - f2 g2~ + 2 g2~ } \alternative { { g4 f2. } @@ -307,11 +310,11 @@ ties = \relative c' { \score { << \new StaffGroup << - \context Staff { + \new Staff { \clef "treble_8" \ties } - \context TabStaff { + \new TabStaff { \ties } >> @@ -332,7 +335,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. } @@ -346,11 +349,11 @@ ties = \relative c' { \score { << \new StaffGroup << - \context Staff { + \new Staff { \clef "treble_8" \ties } - \context TabStaff { + \new TabStaff { \hideSplitTiedTabNotes \ties } @@ -365,9 +368,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 @@ -376,6 +376,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 @@ -383,7 +384,10 @@ firstHarmonic = { } \score { << - \new Staff { \firstHarmonic } + \new Staff { + \clef "treble_8" + \firstHarmonic + } \new TabStaff { \firstHarmonic } >> } @@ -405,7 +409,10 @@ fretHarmonics = { } \score { << - \new Staff { \fretHarmonics } + \new Staff { + \clef "treble_8" + \fretHarmonics + } \new TabStaff { \fretHarmonics } >> } @@ -422,7 +429,10 @@ ratioHarmonics = { } \score { << - \new Staff { \ratioHarmonics } + \new Staff { + \clef "treble_8" + \ratioHarmonics + } \new TabStaff { \ratioHarmonics } >> } @@ -441,12 +451,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}, @@ -487,6 +514,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 @@ -522,14 +550,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 } @@ -541,7 +572,7 @@ 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 stringTuning @funindex \stringTuning @@ -575,7 +606,7 @@ mynotes = { \mynotes } \new TabStaff { - \set stringTunings = \stringTuning + \set Staff.stringTunings = \stringTuning \mynotes } >> @@ -591,7 +622,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'' | @@ -635,7 +666,7 @@ you can use \layout @{ \context @{ \TabStaff - stringTunings = \stringTuning \notemode @{ @} + stringTunings = \stringTuning @} @} @end example @@ -667,7 +698,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: @@ -681,6 +712,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 @@ -706,12 +738,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 +762,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 +790,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 +813,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 +832,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 +854,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 +884,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 +905,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 +927,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 +959,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 #'( @@ -969,15 +1000,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) @@ -999,7 +1029,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) @@ -1091,7 +1121,6 @@ Internals Reference: @node Predefined fret diagrams @unnumberedsubsubsec Predefined fret diagrams - @cindex fret diagrams @cindex fret diagrams, ukulele @cindex fret diagrams, mandolin @@ -1106,7 +1135,7 @@ are stored in a lookup table: @lilypond[verbatim, ragged-right, quote] \include "predefined-guitar-fretboards.ly" -\context FretBoards { +\new FretBoards { \chordmode { c1 d } @@ -1123,7 +1152,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] @@ -1136,12 +1165,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] @@ -1154,7 +1183,7 @@ myChords = \chordmode { c1 c:m7.5- c:aug } } \new FretBoards { - \set stringTunings = #mandolin-tuning + \set Staff.stringTunings = #mandolin-tuning \myChords } @end lilypond @@ -1165,7 +1194,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 } @@ -1189,10 +1218,10 @@ mychords = \chordmode{ } << - \context ChordNames { + \new ChordNames { \mychords } - \context FretBoards { + \new FretBoards { \mychords } >> @@ -1216,10 +1245,10 @@ mychordlist = { \transpose c e { \mychords } } << - \context ChordNames { + \new ChordNames { \mychordlist } - \context FretBoards { + \new FretBoards { \mychordlist } >> @@ -1245,10 +1274,10 @@ mychords = \chordmode{ } << - \context ChordNames { + \new ChordNames { \mychords } - \context FretBoards { + \new FretBoards { \mychords } >> @@ -1279,10 +1308,10 @@ mychords = \chordmode { } << - \context ChordNames { + \new ChordNames { \mychords } - \context FretBoards { + \new FretBoards { \mychords } >> @@ -1306,10 +1335,10 @@ mychords = \chordmode { } << - \context ChordNames { + \new ChordNames { \mychords } - \context FretBoards { + \new FretBoards { \mychords } >> @@ -1356,10 +1385,10 @@ mychords = \chordmode{ } << - \context ChordNames { + \new ChordNames { \mychords } - \context FretBoards { + \new FretBoards { \mychords } >> @@ -1379,13 +1408,12 @@ 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] {fretboards-alternate-tables.ly} - @seealso Notation Reference: @ref{Custom tablatures}, @@ -1394,9 +1422,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: @@ -1421,16 +1449,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 @@ -1455,19 +1483,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 @@ -1492,16 +1520,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 @@ -1517,17 +1545,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 @@ -1553,7 +1581,6 @@ diagram, the interface properties belong to @code{\predefinedFretboardsOn}. @endpredefined - @seealso Notation Reference: @ref{Custom tablatures}. @@ -1579,28 +1606,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 @@ -1612,7 +1638,6 @@ short, for example @code{RH}, @lilypondfile[verbatim,quote,texidoc,doctitle] {fingerings,-string-indications,-and-right-hand-fingerings.ly} - @seealso Snippets: @rlsr{Fretted strings}. @@ -1652,13 +1677,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}. @@ -1683,7 +1707,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 @@ -1697,7 +1721,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 } @@ -1846,15 +1870,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 @@ -1880,8 +1909,8 @@ These may be converted to four-string tunings using the @end example @seealso +Installed Files: +@file{ly/string-tunings-init.ly}. + Snippets: @rlsr{Fretted strings}. - -Installed Files: -@file{ly/string-tunings-init.ly}