X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=Documentation%2Fnotation%2Ffretted-strings.itely;h=e8deaafb8c9402363d8e4f9195a39416d2d4c82d;hb=dd8a0b7cc3280f273e66d20c72f1d4097dc6645a;hp=ec37a8636de44d962c601651b2274678451f55f0;hpb=e49d6df0e5302762e33717571c408615d74f705d;p=lilypond.git diff --git a/Documentation/notation/fretted-strings.itely b/Documentation/notation/fretted-strings.itely index ec37a8636d..e8deaafb8c 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.15.16" @node Fretted string instruments @section Fretted string instruments @@ -76,7 +76,6 @@ in @ref{Collision resolution}. @end itemize - @seealso Notation Reference: @ref{Fingering instructions}, @@ -122,13 +121,12 @@ in the code: @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}. @@ -253,34 +251,38 @@ minimumFret is 0. >> @end lilypond -@funindex \tabChordRepetition +@funindex \tabChordRepeats +@funindex \chordRepeats +@cindex Chord, repetition +@cindex repetition, using @code{q} 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~ q 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. @@ -373,9 +375,9 @@ pitches: @lilypond[verbatim,quote] firstHarmonic = { - 4 - 4 - 2 + d'4\4\harmonic + g'4\3\harmonic + b'2\2\harmonic } \score { << @@ -385,8 +387,9 @@ firstHarmonic = { } @end lilypond -Note that the command @code{\harmonic} must always be defined -inside a chord construct. It only makes sense for open-string harmonics +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. @@ -423,33 +426,32 @@ ratioHarmonics = { } @end lilypond - @snippets - -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@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,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {open-string-harmonics-in-tablature.ly} -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {fretted-string-harmonics-in-tablature.ly} -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {slides-in-tablature.ly} -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {chord-glissando-in-tablature.ly} - @seealso Notation Reference: -@ref{Stems}, +@ref{Chord repetition}, +@ref{Glissando}, @ref{Harmonics}, -@ref{Glissando}. +@ref{Stems}, +@ref{Written-out repeats}. Snippets: @rlsr{Fretted strings}. @@ -460,9 +462,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. @@ -485,6 +485,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 @@ -503,7 +504,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. @@ -539,21 +540,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 @@ -574,7 +574,7 @@ mynotes = { \mynotes } \new TabStaff { - \contextStringTuning #'custom-tuning + \set stringTunings = \stringTuning \mynotes } >> @@ -583,21 +583,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'' | @@ -627,36 +620,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 \notemode @{ @} + @} +@} +@end example + + @cindex moderntab clef @cindex clef, moderntab @cindex clef, tab @@ -683,7 +666,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: @@ -697,6 +680,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 @@ -1087,10 +1071,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 @@ -1107,7 +1091,6 @@ Internals Reference: @node Predefined fret diagrams @unnumberedsubsubsec Predefined fret diagrams - @cindex fret diagrams @cindex fret diagrams, ukulele @cindex fret diagrams, mandolin @@ -1389,19 +1372,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] {chordchanges-for-fretboards.ly} -@lilypondfile[verbatim,lilyquote,texidoc,doctitle] +@lilypondfile[verbatim,quote,texidoc,doctitle] {fretboards-alternate-tables.ly} - @seealso Notation Reference: @ref{Custom tablatures}, @@ -1569,7 +1551,6 @@ diagram, the interface properties belong to @code{\predefinedFretboardsOn}. @endpredefined - @seealso Notation Reference: @ref{Custom tablatures}. @@ -1622,13 +1603,12 @@ short, for example @code{RH}, @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}. @@ -1674,7 +1654,6 @@ b16 e g e b g\stopTextSpan e16 b g d @end lilypond - @seealso Notation Reference: @ref{Text spanners}. @@ -1883,22 +1862,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/string-tunings-init.scm} contains predefined banjo tunings.