X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fuser%2Fbasic-notation.itely;h=4e31cc3f76be0fc789322ad4a475a025c326e887;hb=95890ee80ae464e70e425dbd39b9798ff27d2bb7;hp=a511c189409c9adf0d45f2db61e782866813389d;hpb=76d3f50159ef5db6468171e553d64c697620f33b;p=lilypond.git diff --git a/Documentation/user/basic-notation.itely b/Documentation/user/basic-notation.itely index a511c18940..4e31cc3f76 100644 --- a/Documentation/user/basic-notation.itely +++ b/Documentation/user/basic-notation.itely @@ -1,5 +1,12 @@ @c -*- coding: utf-8; mode: texinfo; -*- @c This file is part of lilypond.tely +@ignore + Translation of GIT committish: FILL-IN-HEAD-COMMITTISH + + When revising a translation, copy the HEAD committish of the + version that you are working on. See TRANSLATION for details. +@end ignore + @c A menu is needed before every deeper *section nesting of @node's; run @c M-x texinfo-all-menus-update @@ -13,7 +20,7 @@ This chapter explains how to use basic notation features. @menu * Pitches:: * Rhythms:: -* Multiple notes at once:: +* Polyphony:: * Staff notation:: * Connecting notes:: * Expressive marks:: @@ -32,7 +39,7 @@ This section discusses how to specify the pitch of notes. * Accidentals:: * Cautionary accidentals:: * Micro tones:: -* Notes names in other languages:: +* Note names in other languages:: * Relative octaves:: * Octave check:: * Transpose:: @@ -68,9 +75,9 @@ c1 @funindex , The optional octave specification takes the form of a series of -single quote (`@code{'}') characters or a series of comma -(`@code{,}') characters. Each @code{'} raises the pitch by one -octave; each @code{,} lowers the pitch by an octave. +single quote (@samp{'}) characters or a series of comma +(@samp{,}) characters. Each @samp{'} raises the pitch by one +octave; each @samp{,} lowers the pitch by an octave. @lilypond[quote,ragged-right,fragment,verbatim] \clef treble @@ -117,11 +124,11 @@ suffix; a natural pitch is shown as a simple note name a4 aes a2 @end lilypond -The input @code{d e f} is interpreted as ``print a D-natural, -E-natural, and an F-natural,'' regardless of the key +The input @code{d e f} is interpreted as @q{print a D-natural, +E-natural, and an F-natural,} regardless of the key signature. For more information about the distinction between musical content and the presentation of that content, see -@ref{More about pitches}. +@ref{Accidentals and key signatures}. @lilypond[fragment,quote,ragged-right,verbatim,relative] \key d \major @@ -167,7 +174,7 @@ print them manually. A reminder accidental can be forced by adding an exclamation mark @code{!} after the pitch. A cautionary accidental (i.e., an accidental within parentheses) can be obtained by adding the -question mark `@code{?}' after the pitch. These extra accidentals +question mark @samp{?} after the pitch. These extra accidentals can be used to produce natural signs, too. @lilypond[quote,ragged-right,fragment,verbatim,relative=1] @@ -205,8 +212,8 @@ three-quarter flats, so LilyPond's symbol does not conform to any standard. -@node Notes names in other languages -@subsection Notes names in other languages +@node Note names in other languages +@subsection Note names in other languages There are predefined sets of note names for various other languages. To use them, include the language specific init file. For @@ -214,23 +221,59 @@ example, add @code{\include "english.ly"} to the top of the input file. The available language files and the note names they define are -@c what about micro-tunes, double-sharps, and double-flats? add -@c more columns to the table? -@c Oh, and should this be made into a multitable? +@c Should this be made into a multitable? @cindex note names, other languages @example - Note Names sharp flat -nederlands.ly c d e f g a bes b -is -es -english.ly c d e f g a bf b -s/-sharp -f/-flat - -x (double) -deutsch.ly c d e f g a b h -is -es -norsk.ly c d e f g a b h -iss/-is -ess/-es -svenska.ly c d e f g a b h -iss -ess -italiano.ly do re mi fa sol la sib si -d -b -catalan.ly do re mi fa sol la sib si -d/-s -b -espanol.ly do re mi fa sol la sib si -s -b + Note Names sharp flat double double + sharp flat + +nederlands.ly c d e f g a bes b -is -es -isis -eses +english.ly c d e f g a bf b -s/-sharp -f/-flat -ss/-x/ -ff/ + -sharpsharp -flatflat +deutsch.ly c d e f g a b h -is -es -isis -eses +norsk.ly c d e f g a b h -iss/-is -ess/-es -ississ/-isis -essess/-eses +svenska.ly c d e f g a b h -iss -ess -ississ -essess +italiano.ly do re mi fa sol la sib si -d -b -dd -bb +catalan.ly do re mi fa sol la sib si -d/-s -b -dd/-ss -bb +espanol.ly do re mi fa sol la sib si -s -b -ss -bb @end example +@noindent +Note that in Dutch, German, Norwegian, and Swedish, the flat +alterations of @samp{a} like for example @code{aes} and @code{aeses} +are usually contracted to @code{as} and @code{ases} (or more commonly +@code{asas}). Sometimes only these contracted names are defined in the +corresponding language files (this also applies to the suffixes for +quartertones below). + +@noindent +Some music uses microtones whose alterations are fractions of a +@q{regular} sharp or flat. The note names for quartertones defined in +the various language files are listed in the following table. Here the +prefixes @q{semi-} and @q{sesqui-} mean @q{half} and @q{one and a +half}, respectively. For Norwegian, Swedish, Catalan and Spanish no +special names have been defined yet. +@c What about Turkish Maquam music and similar microtonal systems? +@c +@c Note that the term "three-quarter-sharp/-flat" used in lilypond's source code +@c is actually misleading since the alteration is in fact one and a half +@c of a regular sharp/flat. Whence the naming "sesqui-sharp/-flat" used below. + +@example + Note Names semi- semi- sesqui- sesqui- + sharp flat sharp flat + +nederlands.ly c d e f g a bes b -ih -eh -isih -eseh +english.ly c d e f g a bf b -qs -qf -tqs -tqf +deutsch.ly c d e f g a b h -ih -eh -isih -eseh +norsk.ly c d e f g a b h +svenska.ly c d e f g a b h +italiano.ly do re mi fa sol la sib si -sd -sb -dsd -bsb +catalan.ly do re mi fa sol la sib si +espanol.ly do re mi fa sol la sib si +@end example + + @node Relative octaves @subsection Relative octaves @@ -422,7 +465,7 @@ mus = { \key d \major cis d fis g } @code{\transpose} may also be used to input written notes for a transposing instrument. Pitches are normally entered into LilyPond -in C (or ``concert pitch''), but they may be entered in another +in C (or @q{concert pitch}), but they may be entered in another key. For example, when entering music for a B-flat trumpet which begins on concert D, one would write @@ -499,8 +542,8 @@ Program reference: @internalsref{Rest}. @funindex \skip @funindex s -An invisible rest (also called a `skip') can be entered like a note -with note name `@code{s}' or with @code{\skip @var{duration}} +An invisible rest (also called a @q{skip}) can be entered like a note +with note name @samp{s} or with @code{\skip @var{duration}} @lilypond[fragment,quote,ragged-right,verbatim,relative=2] a4 a4 s4 a4 \skip 1 a4 @@ -616,7 +659,7 @@ duration. The default for the first note is a quarter note. @funindex . -To obtain dotted note lengths, simply add a dot (`@code{.}') to +To obtain dotted note lengths, simply add a dot (@samp{.}) to the number. Double-dotted notes are produced in a similar way. @lilypond[quote,ragged-right,fragment,verbatim] @@ -719,25 +762,88 @@ To avoid printing tuplet numbers, use \times 2/3 { c8 c c } \times 2/3 { c8 c c } @end lilypond +Use the @code{\tweak} function to override nested tuplets beginning at the +same music moment. In this example, @code{\tweak} specifies fraction +text for the +outer @code{TupletNumber} and denominator text for the @code{TupletNumber} +of the first of the three inner tuplets. + +@lilypond[quote,ragged-right,verbatim] +\new Staff { + \tweak #'text #tuplet-number::calc-fraction-text + \times 4/3 { + \tweak #'text #tuplet-number::calc-denominator-text + \times 2/3 { c'8[ c'8 c'8] } + \times 2/3 { c'8[ c'8 c'8] } + \times 2/3 { c'8[ c'8 c'8] } + } +} +@end lilypond + +Here @code{\tweak} and @code{\override} work together to specify +@code{TupletBracket} direction. The first @code{\tweak} positions +the @code{TupletBracket} of the outer +tuplet above the staff. The second @code{\tweak} positions the +@code{TupletBracket} of the first of the three inner tuplets below the +staff. Note that this pair of @code{\tweak} functions affects only +the outer tuplet and the first of the three inner tuplets because only +those two tuplets begin at the same music moment. We use @code{\override} +in the usual way to position the @code{TupletBrackets} of +the second and third of the inner tuplets below the staff. + +@lilypond[quote,ragged-right,verbatim] +\new Staff { + \tweak #'text #tuplet-number::calc-fraction-text + \tweak #'direction #up + \times 4/3 { + \tweak #'direction #down + \times 2/3 { c'8[ c'8 c'8] } + \override TupletBracket #'direction = #down + \times 2/3 { c'8[ c'8 c'8] } + \times 2/3 { c'8[ c'8 c'8] } + } +} +@end lilypond + +Tuplet brackets can be made to run to prefatory matter or +the next note + +@lilypond[ragged-right] +\new RhythmicStaff { + \set tupletFullLength = ##t + \time 4/4 + \times 4/5 { + c4 c1 + } + \set tupletFullLengthNote = ##t + \time 2/4 + \times 2/3 { + c4 c c + } + \time 3/4 + c4 +} +@end lilypond + @seealso Program reference: @internalsref{TupletBracket}, @internalsref{TupletNumber}, and @internalsref{TimeScaledMusic}. -Examples: @inputfileref{input/@/regression,tuplet@/-nest@/.ly}. - @node Scaling durations @subsection Scaling durations You can alter the length of duration by a fraction @var{N/M} -appending `@code{*}@var{N/M}' (or `@code{*}@var{N}' if @var{M=1}). This -will not affect the appearance of the notes or rests produced. +appending @samp{*@var{N/M}} (or @samp{*@var{N}} if @var{M=1}). This +will not affect the appearance of the notes or rests produced. These +may be combined such as @samp{*M*N}. In the following example, the first three notes take up exactly two beats, but no triplet bracket is printed. + @lilypond[quote,ragged-right,fragment,relative=2,verbatim] \time 2/4 a4*2/3 gis4*2/3 a4*2/3 @@ -748,7 +854,7 @@ b16*4 c4 @seealso -This manual: @ref{Tuplets} +This manual: @ref{Tuplets}. @node Bar check @@ -759,7 +865,7 @@ This manual: @ref{Tuplets} @funindex | Bar checks help detect errors in the durations. A bar check is -entered using the bar symbol, `@code{|}'. Whenever it is encountered +entered using the bar symbol, @samp{|}. Whenever it is encountered during interpretation, it should fall on a measure boundary. If it does not, a warning is printed. In the next example, the second bar check will signal an error @@ -833,6 +939,10 @@ ties. One of its uses is to debug complex scores: if the measures are not entirely filled, then the ties exactly show how much each measure is off. +If you want to allow line breaking on the bar lines where +@internalsref{Completion_heads_engraver} splits notes, you must +also remove @internalsref{Forbid_line_breaks_engraver}. + @refbugs @@ -846,15 +956,11 @@ rests. @seealso -Examples: @inputfileref{input/@/regression,completion@/-heads@/.ly}. - -@noindent - Program reference: @internalsref{Completion_heads_engraver}. -@node Multiple notes at once -@section Multiple notes at once +@node Polyphony +@section Polyphony Polyphony in music refers to having more than one voice occurring in a piece of music. Polyphony in LilyPond refers to having more than @@ -938,7 +1044,7 @@ them simultaneously, separating the voices with @code{\\} @end lilypond The separator causes @internalsref{Voice} contexts@footnote{Polyphonic -voices are sometimes called ``layers'' in other notation packages} +voices are sometimes called @q{layers} in other notation packages} @cindex layers to be instantiated. They bear the names @code{"1"}, @code{"2"}, etc. In each of these contexts, vertical direction of slurs, stems, etc., is set @@ -988,6 +1094,7 @@ to the note immediately preceding it. @code{noteD} is relative to @code{noteC}, not @code{noteB} or @code{noteA}. + @node Explicitly instantiating voices @subsection Explicitly instantiating voices @@ -1090,13 +1197,29 @@ the music. } @end lilypond +In some instances of complex polyphonic music, you may need additional +voices to avoid collisions between notes. Additional voices are added +by defining an identifier, as shown below: + +@lilypond[quote,verbatim,ragged-right,relative=2] +voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice) + +\relative c''' << + { \voiceOne g4 ~ \stemDown g32[ f( es d c b a b64 )g] } \\ + { \voiceThree b4} \\ + { \voiceFive d,} \\ + { \voiceTwo g,} +>> +@end lilypond + @node Collision Resolution @subsection Collision Resolution Normally, note heads with a different number of dots are not merged, but when the object property @code{merge-differently-dotted} is set in -the @internalsref{NoteCollision} object, they are merged +the @internalsref{NoteCollision} object, they are merged: + @lilypond[quote,verbatim,fragment,ragged-right,relative=2] \new Voice << { g8 g8 @@ -1107,7 +1230,8 @@ the @internalsref{NoteCollision} object, they are merged @end lilypond Similarly, you can merge half note heads with eighth notes, by setting -@code{merge-differently-headed} +@code{merge-differently-headed}: + @lilypond[quote,ragged-right,fragment,relative=2,verbatim] \new Voice << { c8 c4. @@ -1116,6 +1240,10 @@ Similarly, you can merge half note heads with eighth notes, by setting c8 c4. } \\ { c2 c2 } >> @end lilypond +@noindent +@code{merge-differently-headed} and @code{merge-differently-dotted} +only apply to opposing stem directions (ie. Voice 1 & 2). + LilyPond also vertically shifts rests that are opposite of a stem, for example @@ -1123,6 +1251,30 @@ for example \new Voice << c''4 \\ r4 >> @end lilypond +If three or more notes line up in the same column, +@code{merge-differently-headed} cannot +successfully complete the merge of the two notes that should be merged. +To allow the merge to work properly, apply a @code{\shift} to the note that +should not be merged. In the first measure of following example, +@code{merge-differently-headed} does not work (the half-note head is +solid). In the second measure, @code{\shiftOn} is applied to move the +top @code{g} out of the column, and @code{merge-differently-headed} +works properly. + +@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +\override Staff.NoteCollision #'merge-differently-headed = ##t +<< + { d=''2 g2 } \\ + { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\ + { \voiceFour e,,2 e'2} +>> +<< + { d'=''2 \shiftOn g2 } \\ + { \oneVoice d=''8 c8 r4 e,8 c'8 r4 } \\ + { \voiceFour e,,2 e'2} +>> +@end lilypond + @refcommands @@ -1144,8 +1296,9 @@ for example @funindex \shiftOnnn @code{\shiftOnnn}, @funindex \shiftOff -@code{\shiftOff}: these commands specify in what chords of the current -voice should be shifted. The outer voices (normally: voice one and +@code{\shiftOff}: these commands specify the +degree to which chords of the current voice should be shifted. +The outer voices (normally: voice one and two) have @code{\shiftOff}, while the inner voices (three and four) have @code{\shiftOn}. @code{\shiftOnn} and @code{\shiftOnnn} define further shift levels. @@ -1172,13 +1325,6 @@ be used to override typesetting decisions. Program reference: the objects responsible for resolving collisions are @internalsref{NoteCollision} and @internalsref{RestCollision}. -Examples: -@inputfileref{input/@/regression,collision@/-dots@/.ly}, -@inputfileref{input/@/regression,collision@/-head-chords@/.ly}, -@inputfileref{input/@/regression,collision@/-heads@/.ly}, -@inputfileref{input/@/regression,collision@/-mesh@/.ly}, and -@inputfileref{input/@/regression,collisions@/.ly}. - @refbugs @@ -1349,7 +1495,7 @@ command Here, @var{type} should be @code{\major} or @code{\minor} to get @var{pitch}-major or @var{pitch}-minor, respectively. You may also -use the standard mode names (also called ``church modes''): @code{\ionian}, +use the standard mode names (also called @q{church modes}): @code{\ionian}, @code{\locrian}, @code{\aeolian}, @code{\mixolydian}, @code{\lydian}, @code{\phrygian}, and @code{\dorian}. @@ -1359,7 +1505,7 @@ can be specified by setting this property directly. Accidentals and key signatures often confuse new users, because unaltered notes get natural signs depending on the key signature. For -more information, see @ref{Accidentals} or @ref{More about pitches}. +more information, see @ref{Accidentals}, or @ref{Accidentals and key signatures}. @lilypond[quote,ragged-right,verbatim,relative=2,fragment] \key g \major @@ -1425,7 +1571,7 @@ property. Setting it to @code{#'()} uses fraction style for 4/4 and @end lilypond There are many more options for its layout. See @ref{Ancient time -signatures} for more examples. +signatures}, for more examples. @code{\time} sets the property @code{timeSignatureFraction}, @code{beatLength} and @code{measureLength} in the @code{Timing} @@ -1509,7 +1655,7 @@ This is internally translated into The property @code{measurePosition} contains a rational number indicating how much of the measure has passed at this point. Note that this is a negative number; @code{\partial 4} is internally -translated to mean ``there is a quarter note left in the bar''. +translated to mean @qq{there is a quarter note left in the bar.} @refbugs @@ -1525,6 +1671,10 @@ g4 a2 g2 @end lilypond +@code{\partial} is only intended to be used at the beginning of a +piece. If you use it after the beginning, some odd warnings may +occur. + @node Bar lines @subsection Bar lines @@ -1561,12 +1711,12 @@ To allow a line break where there is no visible bar line, use @noindent This will insert an invisible bar line and allow line breaks at this -point. This also increases the bar number counter. +point (without increasing the bar number counter). In scores with many staves, a @code{\bar} command in one staff is automatically applied to all staves. The resulting bar lines are connected between different staves of a @code{StaffGroup}, -@code{PianoStaff}, or @code{ChoirStaff}. +@code{PianoStaff}, or @code{GrandStaff}. @lilypond[quote,ragged-right,fragment,verbatim] << @@ -1610,8 +1760,6 @@ In this manual: @ref{Repeats}, @ref{System start delimiters}. Program reference: @internalsref{BarLine} (created at @internalsref{Staff} level), @internalsref{SpanBar} (across staves). -Examples: @inputfileref{input/@/test,bar@/-lines@/.ly}, - @node Unmetered music @subsection Unmetered music @@ -1720,13 +1868,31 @@ in every context, and that type is determined by the property @internalsref{systemStartDelimiter}. +@commonprop + +System start delimiters may be deeply nested, + +@lilypond[quote,ragged-right,verbatim] +\new StaffGroup +\relative << + \set StaffGroup.systemStartDelimiterHierarchy + = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d) + \new Staff { c1 } + \new Staff { c1 } + \new Staff { c1 } + \new Staff { c1 } + \new Staff { c1 } +>> +@end lilypond + + @node Staff symbol @subsection Staff symbol @cindex adjusting staff symbol Notes, dynamic signs, etc., are grouped -with a set of horizontal lines, called a staff (plural `staves'). In +with a set of horizontal lines, called a staff (plural @q{staves}). In LilyPond, these lines are drawn using a separate layout object called @code{staff symbol}. @@ -1749,8 +1915,7 @@ b b @end lilypond In combination with Frenched staves, this may be used to typeset ossia -sections. An example is in @inputfileref{input/@/test@/,ossia.ly}, -shown here +sections. An example is shown here @cindex ossia @@ -1768,7 +1933,7 @@ Program reference: @internalsref{StaffSymbol}. Examples: @inputfileref{input/@/test,staff@/-lines@/.ly}, @inputfileref{input/@/test@/,ossia.ly}, @inputfileref{input/@/test,staff@/-size@/.ly}, -@inputfileref{input/@/regression,staff@/-line@/-positions@/.ly}. +@lsr{staff,staff-line-positions.ly} @node Writing music in parallel @@ -1792,6 +1957,47 @@ Music for multiple parts can be interleaved >> @end lilypond +This works quite well for piano music + +@lilypond[quote,verbatim] +music = { + \key c \major + \time 4/4 + \parallelMusic #'(voiceA voiceB voiceC voiceD) { + % Bar 1 + r8 g'16[ c''] e''[ g' c'' e''] r8 g'16[ c''] e''[ g' c'' +e''] | + c'2 c'2 | + r8 a16[ d'] f'[ a d' f'] r8 a16[ d'] f'[ a d' f'] | + c2 c2 | + + % Bar 2 + a'8 b' c'' d'' e'' f'' g'' a'' | + d'4 d' d' d' | + c16 d e f d e f g e f g a f g a b | + a,4 a,4 a,4 a,4 | + + % Bar 3 ... + } +} + +\score { + \new PianoStaff << + \music + \new Staff << + \voiceA \\ + \voiceB + >> + \new Staff { + \clef bass + << + \voiceC \\ + \voiceD + >> + } + >> +} +@end lilypond @node Connecting notes @@ -1819,14 +2025,19 @@ This section deals with notation that affects groups of notes. A tie connects two adjacent note heads of the same pitch. The tie in effect extends the length of a note. Ties should not be confused with slurs, which indicate articulation, or phrasing slurs, which indicate -musical phrasing. A tie is entered using the tilde symbol `@code{~}' +musical phrasing. A tie is entered using the tilde symbol @samp{~} @lilypond[quote,ragged-right,fragment,verbatim] e' ~ e' ~ @end lilypond When a tie is applied to a chord, all note heads whose pitches match -are connected. When no note heads match, no ties will be created. +are connected. When no note heads match, no ties will be created. Chords +may be partially tied by placing the tie inside the chord, + +@lilypond[quote,ragged-right,fragment,verbatim,relative=1] + +@end lilypond A tie is just a way of extending a note duration, similar to the augmentation dot. The following example shows two ways of notating @@ -1871,10 +2082,23 @@ notes need not be consecutive. This can be achieved by setting the @code{tieWaitForNote} property to true. The same feature is also useful, for example, to tie a tremolo to a chord. For example, -@lilypond[fragment,verbatim,relative=1,ragged-right] +@lilypond[fragment,verbatim,relative=1,ragged-right,quote] \set tieWaitForNote = ##t \grace { c16[~ e~ g]~ } 2 \repeat "tremolo" 8 { c32~ c'~ } 1 +e8~ c~ a~ f~ 2 +@end lilypond + +Ties may be engraved manually by changing the @code{tie-configuration} +property. The first number indicates the distance from the center +of the staff in staff-spaces, and the second number indicates the +direction (1=up, -1=down). + +@lilypond[fragment,verbatim,relative=1,ragged-right,quote] +2~ | +\override TieColumn #'tie-configuration = + #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1)) +~ | @end lilypond @@ -1901,17 +2125,14 @@ In this manual: @ref{Automatic note splitting}. Program reference: @internalsref{Tie}. -Examples: -@inputfileref{input/@/regression,tie-arpeggio.ly} -@inputfileref{input/@/regression,tie-manual.ly} - - - @refbugs Switching staves when a tie is active will not produce a slanted tie. +Changing clefs or octavations during a tie is not really +well-defined. In these cases, a slur may be preferable. + @node Slurs @subsection Slurs @@ -2032,7 +2253,7 @@ Program reference: @internalsref{LaissezVibrerTieColumn} Example files: -@inputfileref{input/regression,laissez-vibrer-tie.ly} +@lsr{connecting,laissez-vibrer-ties.ly} @node Automatic beams @@ -2046,7 +2267,7 @@ LilyPond inserts beams automatically When these automatic decisions are not good enough, beaming can be entered explicitly. It is also possible to define beaming patterns -that differ from the defaults. See @ref{Setting automatic beam behavior} +that differ from the defaults. See @ref{Setting automatic beam behavior}, for details. Individual notes may be marked with @code{\noBeam} to prevent them @@ -2120,9 +2341,10 @@ For more information about @code{make-moment}, see @ref{Time administration}. Line breaks are normally forbidden when beams cross bar lines. This -behavior can be changed by setting @code{allowBeamBreak}. +behavior can be changed by setting @code{breakable}. + +@funindex breakable -@funindex allowBeamBreak @cindex beams and line breaks @cindex beams, kneed @cindex kneed beams @@ -2132,7 +2354,8 @@ behavior can be changed by setting @code{allowBeamBreak}. @refbugs Kneed beams are inserted automatically when a large gap is detected -between the note heads. This behavior can be tuned through the object. +between the note heads. This behavior can be tuned through the +@code{auto-knee-gap} object. Automatically kneed cross-staff beams cannot be used together with hidden staves. See @ref{Hiding staves}. @@ -2176,7 +2399,7 @@ c4 \grace c16 c4 Unlike @code{\acciaccatura} and @code{\appoggiatura}, the @code{\grace} command does not start a slur. -Internally, timing for grace notes is done using a second, `grace' +Internally, timing for grace notes is done using a second, @q{grace} timing. Every point in time consists of two rational numbers: one denotes the logical time, one denotes the grace timing. The above example is shown here with timing tuples @@ -2222,12 +2445,12 @@ following the main note. c1 \afterGrace d1 { c16[ d] } c4 @end lilypond -This will put the grace notes after a ``space'' lasting 3/4 of the +This will put the grace notes after a @q{space} lasting 3/4 of the length of the main note. The fraction 3/4 can be changed by setting @code{afterGraceFraction}, ie. @example -afterGraceFraction = #(cons 7 8) +#(define afterGraceFraction (cons 7 8)) @end example @noindent @@ -2289,6 +2512,30 @@ Another option is to change the variables @code{startGraceMusic}, The slash through the stem in acciaccaturas can be obtained in other situations by @code{\override Stem #'stroke-style = #"grace"}. + +@commonprop + +Grace notes may be forced to use floating spacing, + +@lilypond[relative=2,ragged-right] +<< + \override Score.SpacingSpanner #'strict-grace-spacing = ##t + \new Staff { + c'4 + \afterGrace + c'4 + { c'16[ c'8 c'16] } + c'4 + } + \new Staff { + c'16[ c'16 c'16 c'16] + c'16[ c'16 c'16 c'16] + c'4 + } +>> +@end lilypond + + @seealso Program reference: @internalsref{GraceMusic}. @@ -2337,6 +2584,7 @@ notes and rhythms. * Trills:: * Glissando:: * Arpeggio:: +* Falls and doits:: @end menu @@ -2495,7 +2743,7 @@ very close to note heads in monophonic music, Program reference: @internalsref{Fingering}. -Examples: @inputfileref{input/@/regression,finger@/-chords@/.ly}. +Examples: @lsr{expressive,fingering-chords.ly} @node Dynamics @@ -2549,8 +2797,16 @@ c\< c\! d\> e\! @end lilypond @noindent -A hairpin starts at the left edge of the beginning note and ends on the -right edge of the ending note. +A hairpin normally starts at the left edge of the beginning note +and ends on the right edge of the ending note. If the ending +note falls on the downbeat, the hairpin ends on the immediately +preceding barline. This may be modified by setting the +@code{hairpinToBarline} property, + +@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +\set hairpinToBarline = ##f +c4\< c2. c4\! +@end lilypond In some situations the @code{\espressivo} articulation mark may be suitable to indicate a crescendo and decrescendo on the one note, @@ -2567,6 +2823,19 @@ example \override Voice.Hairpin #'minimum-length = #5 @end example +@cindex al niente +@cindex niente, al + +Hairpins may be printed with a circled tip (al niente notation) by +setting the @code{circled-tip} property, + +@lilypond[quote,ragged-right,fragment,relative=2,verbatim] +\override Hairpin #'circled-tip = ##t +c2\< c\! +c4\> c\< c2\! +@end lilypond + + @cindex crescendo @cindex decrescendo @cindex diminuendo @@ -2594,6 +2863,9 @@ a'2\< a a a\!\mf To create new dynamic marks or text that should be aligned with dynamics, see @ref{New dynamic marks}. +Vertical positioning of dynamics is handled by +@internalsref{DynamicLineSpanner}. + @commonprop @@ -2669,7 +2941,7 @@ d4 Program reference: @internalsref{BreathingSign}. -Examples: @inputfileref{input/@/regression,breathing@/-sign@/.ly}. +Examples: @lsr{expressive,breathing-sign.ly} @node Trills @@ -2735,7 +3007,9 @@ c2\glissando c, Program reference: @internalsref{Glissando}. -Example files: @file{input/@/regression/@/glissando@/.ly}. +Example files: +@lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly} + @refbugs @@ -2819,7 +3093,17 @@ It is not possible to mix connected arpeggios and unconnected arpeggios in one @internalsref{PianoStaff} at the same point in time. +@node Falls and doits +@subsection Falls and doits +Falls and doits can be added to notes using the @code{\bendAfter} +command, + +@lilypond[fragment,ragged-right,relative=2] +\override Score.SpacingSpanner #'shortest-duration-space = #3.0 +c4-\bendAfter #+5 +c4-\bendAfter #-3 +@end lilypond @node Repeats @@ -2859,12 +3143,6 @@ printed, left to right with brackets. This is the standard notation for repeats with alternatives. These are not played in MIDI output by default. -@ignore -@item fold -Alternative endings are written stacked. This has limited use but may be -used to typeset two lines of lyrics in songs with repeats, see -@inputfileref{input,star-spangled-banner@/.ly}. -@end ignore @item tremolo Make tremolo beams. These are not played in MIDI output by default. @@ -2880,6 +3158,10 @@ declared within a @code{Voice} context. @node Repeat syntax @subsection Repeat syntax +@cindex volta +@cindex prima volta +@cindex seconda volta + LilyPond has one syntactic construct for specifying different types of repeats. The syntax is @@ -2904,6 +3186,7 @@ give enough alternatives for all of the repeats, the first alternative is assumed to be played more than once. Standard repeats are used like this + @lilypond[quote,ragged-right,fragment,verbatim,relative=2] c1 \repeat volta 2 { c4 d e f } @@ -2911,6 +3194,7 @@ c1 @end lilypond With alternative endings + @lilypond[quote,ragged-right,fragment,verbatim,relative=2] c1 \repeat volta 2 {c4 d e f} @@ -2919,8 +3203,8 @@ c1 In the following example, the first ending is not a complete bar (it only had 3 beats). The beginning of the second ending -contains the 4th beat from the first ending. This ``extra'' -beat in the second ending is due to the first time ending, +contains the 4th beat from the first ending. This @q{extra} beat +in the second ending is due to the first time ending, and has nothing to do with the @code{\partial} at the beginning of the example. @@ -2964,7 +3248,9 @@ Examples: Brackets for the repeat are normally only printed over the topmost staff. This can be adjusted by setting the @code{voltaOnThisStaff} -property; see @inputfileref{input/@/regression,volta@/-multi@/-staff@/.ly}. +property; see + +@lsr{repeats,volta@/-multi@/-staff@/.ly}. @refbugs @@ -2990,6 +3276,8 @@ so after a repeat timing information must be reset by hand; for example, by setting @code{Score.measurePosition} or entering @code{\partial}. Similarly, slurs or ties are also not repeated. +Volta brackets are not vertically aligned. + @node Repeats and MIDI @subsection Repeats and MIDI @@ -3106,9 +3394,6 @@ In this manual: @ref{Tremolo subdivisions}, @ref{Repeats}. Program reference: @internalsref{Beam}, @internalsref{StemTremolo}. -Example files: @inputfileref{input/@/regression,chord@/-tremolo@/.ly}, -@inputfileref{input/@/regression,stem@/-tremolo@/.ly}. - @node Tremolo subdivisions @subsection Tremolo subdivisions @@ -3117,7 +3402,7 @@ Example files: @inputfileref{input/@/regression,chord@/-tremolo@/.ly}, @funindex tremoloFlags Tremolo marks can be printed on a single note by adding -`@code{:}[@var{number}]' after the note. The number indicates the +@q{@code{:}[@var{number}]} after the note. The number indicates the duration of the subdivision, and it must be at least 8. A @var{length} value of 8 gives one line across the note stem. If the length is omitted, the last value (stored in @code{tremoloFlags}) is