X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fuser%2Fexpressive.itely;h=807370f24a045586840095a6e8f26549fbb5fb1d;hb=729be9e5d4b59916e2c76ebfadbbf29e31d47584;hp=0d5a2a9646937bcdff4e732d9d9eccca04ad0cd9;hpb=1a5188eef68e8823c2285098724e5494c32c69b3;p=lilypond.git diff --git a/Documentation/user/expressive.itely b/Documentation/user/expressive.itely index 0d5a2a9646..807370f24a 100644 --- a/Documentation/user/expressive.itely +++ b/Documentation/user/expressive.itely @@ -6,9 +6,13 @@ version that you are working on. See TRANSLATION for details. @end ignore +@c \version "2.11.38" + @node Expressive marks @section Expressive marks +@lilypondfile[quote]{expressive-headword.ly} + @menu * Attached to notes:: * Curves:: @@ -19,67 +23,64 @@ @node Attached to notes @subsection Attached to notes - @menu -* Articulations:: +* Articulations and ornamentations:: * Dynamics:: +* New dynamic marks:: @end menu -@node Articulations -@unnumberedsubsubsec Articulations +@node Articulations and ornamentations +@subsubsection Articulations and ornamentations -@cindex Articulations +@cindex articulations @cindex scripts @cindex ornaments -A variety of symbols can appear above and below notes to indicate -different characteristics of the performance. They are added to a -note by adding a dash and the character signifying the -articulation. - -See @ref{List of articulations}. - -@lilypond[quote,ragged-right,verbatim,fragment] -\override TextScript #'font-family = #'typewriter -\override TextScript #'font-shape = #'upright -c''4-._"c-." s4 -c''4--_"c--" s4 -c''4-+_"c-+" s4 -c''4-|_"c-|" s4 -c''4->_"c->" s4 -c''4-^_"c-^" s4 -c''4-__"c-_" s4 -@end lilypond +A variety of symbols that denote articulations, ornamentations, +and other performance indications can be attached to a note using +this syntax: -The meanings of these shorthands can be changed. See -@file{ly/@/script@/-init@/.ly} for examples. +@example +@var{note}\@var{name} +@end example -The script is automatically placed, but the direction can be -forced as well. Like other pieces of LilyPond code, @code{_} will -place them below the staff, and @code{^} will place them above. +The possible values for @var{name} are listed in @ref{List of +articulations}. For example: -@lilypond[quote,ragged-right,fragment,verbatim] -c''4^^ c''4_^ +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] +c4\staccato c\mordent b2\turn +c1\fermata @end lilypond -Other symbols can be added using the syntax -@var{note}@code{\}@var{name}. Again, they -can be forced up or down using @code{^} and @code{_}, -e.g., +@cindex marcato +@cindex stopped +@cindex tenuto +@cindex staccatissimo +@cindex accent +@cindex staccato +@cindex portato + +Some of these articulations have shorthands for easier entry. +Shorthands are appended to the note name, and their syntax +consists of a dash (@tie{}@code{-}) followed by a symbol +signifying the articulation. Predefined shorthands exist for +@notation{marcato}, @notation{stopped}, @notation{tenuto}, +@notation{staccatissimo}, @notation{accent}, @notation{staccato}, +and @notation{portato}. Their corresponding output appears as +follows: -@lilypond[quote,ragged-right,verbatim,fragment,relative=2] -c\fermata c^\fermata c_\fermata +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] +c4-^ c-+ c-- c-| +c-> c-. c-_ @end lilypond -@cindex accent -@cindex marcato -@cindex staccatissimo +The rules for the default placement of articulations are defined +in @file{scm/@/script@/.scm}. Articulations and ornamentations +may be manually placed above or below the staff, see +@ref{Controlling direction and placement}. + @cindex espressivo @cindex fermata -@cindex stopped -@cindex staccato -@cindex portato -@cindex tenuto @cindex upbow @cindex downbow @cindex foot marks @@ -102,18 +103,37 @@ c\fermata c^\fermata c_\fermata @cindex varcoda -@commonprop +@snippets + +@c Send these snippets to Valentin for the LSR. + +The shorthands are defined in @file{ly/@/script@/-init@/.ly}, +where the variables @code{dashHat}, @code{dashPlus}, +@code{dashDash}, @code{dashBar}, @code{dashLarger}, +@code{dashDot}, and @code{dashUnderscore} are assigned default +values. The default values for the shorthands can be modified. +For example, to associate the @code{-+} (@code{dashPlus}) +shorthand with the @notation{trill} symbol instead of the default +@notation{+} symbol, assign the value @code{trill} to the variable +@code{dashPlus}: + +@lilypond[verbatim,quote,ragged-right] +\relative c'' { c-+ } +dashPlus = "trill" +\relative c'' { c-+ } +@end lilypond The vertical ordering of scripts is controlled with the -@code{script-priority} property. The lower this number, the closer it -will be put to the note. In this example, the -@internalsref{TextScript} (the sharp symbol) first has the lowest -priority, so it is put lowest in the first example. In the second, the -prall trill (the @internalsref{Script}) has the lowest, so it is on the -inside. When two objects have the same priority, the order in which -they are entered decides which one comes first. - -@lilypond[verbatim,relative=3,ragged-right,fragment,quote] +@code{script-priority} property. The lower this number, the +closer it will be put to the note. In this example, the +@code{TextScript} (the sharp symbol) first has the lowest +priority, so it is put lowest in the first example. In the +second, the @notation{prall trill} (the @code{Script}) has the +lowest, so it is on the inside. When two objects have the same +priority, the order in which they are entered decides which one +comes first. + +@lilypond[verbatim,quote,ragged-right,fragment,relative=3] \once \override TextScript #'script-priority = #-100 a4^\prall^\markup { \sharp } @@ -124,19 +144,25 @@ a4^\prall^\markup { \sharp } @seealso -Program reference: @internalsref{Script}. +Music Glossary: @rglos{tenuto}, @rglos{accent}, @rglos{staccato}, +@rglos{portato}. +Snippets: @lsrdir{Expressive,Expressive-marks} -@refbugs +Internals Reference: @internalsref{Script}, +@internalsref{TextScript}. + + +@knownissues These signs appear in the printed output but have no effect on the MIDI rendering of the music. @node Dynamics -@unnumberedsubsubsec Dynamics +@subsubsection Dynamics -@cindex Dynamics +@cindex dynamics @funindex \pppp @funindex \ppp @funindex \pp @@ -155,324 +181,271 @@ MIDI rendering of the music. @funindex \sfz @funindex \rfz -Absolute dynamic marks are specified using a command after a note -@code{c4\ff}. The available dynamic marks are @code{\ppppp}, -@code{\pppp}, @code{\ppp}, -@code{\pp}, @code{\p}, @code{\mp}, @code{\mf}, @code{\f}, @code{\ff}, -@code{\fff}, @code{\ffff}, @code{\fp}, @code{\sf}, @code{\sff}, -@code{\sp}, @code{\spp}, @code{\sfz}, and @code{\rfz}. +Absolute dynamic marks are specified using a command after a note, +like @code{c4\ff}. The available dynamic marks are @code{\ppppp}, +@code{\pppp}, @code{\ppp}, @code{\pp}, @code{\p}, @code{\mp}, +@code{\mf}, @code{\f}, @code{\ff}, @code{\fff}, @code{\ffff}, +@code{\fp}, @code{\sf}, @code{\sff}, @code{\sp}, @code{\spp}, +@code{\sfz}, and @code{\rfz}. The dynamic marks may be manually +placed above or below the staff, see @ref{Controlling direction +and placement}. -@lilypond[quote,verbatim,ragged-right,fragment,relative=2] -c\ppp c\pp c \p c\mp c\mf c\f c\ff c\fff -c2\fp c\sf c\sff c\sp c\spp c\sfz c\rfz +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] +c2\ppp c\mp +c\rfz c^\mf +c_\spp c_\staccato^\ff @end lilypond +@cindex hairpin @funindex \< @funindex \> @funindex \! +@funindex \cr +@funindex \decr -A crescendo mark is started with @code{\<} and terminated with -@code{\!} or an absolute dynamic. A decrescendo is started with -@code{\>} and is also terminated with @code{\!} or an absolute -dynamic. @code{\cr} and @code{\decr} may be used instead of -@code{\<} and @code{\>}. Because these marks are bound to notes, you must -use spacer notes if multiple marks are needed during one note +A @notation{crescendo} mark is started with @code{\<} and +terminated with @code{\!} or an absolute dynamic. A +@notation{decrescendo} is started with @code{\>} and is also +terminated with @code{\!} or an absolute dynamic. @code{\cr} and +@code{\decr} may be used instead of @code{\<} and @code{\>}. They +can be engraved either using a graphical sign (a +@notation{hairpin}), or with textual signs. -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +Because these marks are bound to notes, you must use spacer notes +if multiple marks are needed during one note. + +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] c\< c\! d\> e\! << f1 { s4 s4\< s4\! \> s4\! } >> @end lilypond -@noindent -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, +This may give rise to very short hairpins. To lengthen them, the +following code can be used, for example: -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@example +\override Voice.Hairpin #'minimum-length = #5 +@end example + +@noindent +A @notation{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 @notation{hairpin} ends +on the immediately preceding bar line. The following example +illustrates this behavior: + +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] +e4\< e2. e1\! \set hairpinToBarline = ##f -c4\< c2. c4\! +e4\< e2. e1\! @end lilypond -In some situations the @code{\espressivo} articulation mark may -be suitable to indicate a crescendo and decrescendo on the one note, +@cindex espressivo, articulation + +In some situations the @code{\espressivo} articulation mark may be +suitable to indicate a crescendo and decrescendo on the one note: -@lilypond[quote,ragged-right,fragment,verbatim,relative=2] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] c2 b4 a g1\espressivo @end lilypond -This may give rise to very short hairpins. Use @code{minimum-length} -in @internalsref{Voice}.@internalsref{Hairpin} to lengthen them, for -example - -@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, +Hairpins may be printed with a circled tip (al niente notation): -@lilypond[quote,ragged-right,fragment,relative=2,verbatim] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] \override Hairpin #'circled-tip = ##t c2\< c\! c4\> c\< c2\! @end lilypond - @cindex crescendo @cindex decrescendo @cindex diminuendo - -You can also use text saying @emph{cresc.} instead of hairpins - -@lilypond[quote,ragged-right,fragment,relative=2,verbatim] +@funindex \setTextCresc +@funindex \setTextDim +@funindex \setTextDecresc +@funindex \setHairpinCresc +@funindex \setHairpinDim +@funindex \setHairpinDecresc + +You can use text saying @notation{cresc.}, @notation{decr.}, or +@notation{dim.} instead of hairpins with the commands +@code{\setTextCresc}, @code{\setTextDim}, and +@code{\setTextDecresc}. The corresponding +@code{\setHairpinCresc}, @code{\setHairpinDim}, and +@code{\setHairpinDecresc} will revert to hairpins again: + +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] \setTextCresc c\< d e f\! \setHairpinCresc e\> d c b\! \setTextDecresc +e\> d e f\! +\setTextDecr c\> d e f\! \setTextDim e\> d c b\! @end lilypond -You can also supply your own texts -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] +You can also supply your own texts and change the style of the +spanner line with the properties @code{\crescendoText}, +@code{\crescendoSpanner}, @code{\decrescendoText}, and +@code{\decrescendoSpanner}. Available values for the spanner +properties are @code{hairpin}, @code{line}, @code{dashed-line}, +and @code{dotted-line}. If unset, a hairpin crescendo is used: + +@lilypond[verbatim,quote,ragged-right,fragment,relative=1] \set crescendoText = \markup { \italic "cresc. poco" } -\set crescendoSpanner = #'dashed-line -a'2\< a a a\!\mf +\set crescendoSpanner = #'dotted-line +a'2\< a a a a a a a\!\mf @end lilypond -To create new dynamic marks or text that should be aligned -with dynamics, see @ref{New dynamic marks}. +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 +@predefined + +@funindex \dynamicUp +@code{\dynamicUp}, +@funindex \dynamicDown +@code{\dynamicDown}, +@funindex \dynamicNeutral +@code{\dynamicNeutral}. -Dynamics that occur at, begin on, or end on, the same note -will be vertically aligned. If you want to ensure that dynamics -are aligned when they do not occur on the same note, you can -increase the @code{staff-padding} property. + +@snippets + +Dynamics that occur at, begin on, or end on the same note will be +vertically aligned. If you want to ensure that dynamics are +aligned when they do not occur on the same note, you can increase +the @code{staff-padding} property. @example \override DynamicLineSpanner #'staff-padding = #4 @end example -You may also use this property if the dynamics are colliding -with other notation. +@noindent +You may also use this property if the dynamics are colliding with +other notation. -Crescendi and decrescendi that end on the first note of a -new line are not printed. To change this behavior, use +@notation{Crescendi} and @notation{decrescendi} that cross a line +break will be continued on the second line. If they end on the +first note of a new line, nothing will be printed on that line. +To change this behavior, use @example \override Score.Hairpin #'after-line-breaking = ##t @end example -Text style dynamic changes (such as @emph{cresc.} and @emph{dim.}) -are printed with a -dashed line showing their extent. To surpress printing this line, use +Text style dynamic changes (such as @notation{cresc.} and +@notation{dim.}) are printed with a dashed line showing their +extent. To suppress printing this line, use @example \override DynamicTextSpanner #'dash-period = #-1.0 @end example -@refcommands - -@funindex \dynamicUp -@code{\dynamicUp}, -@funindex \dynamicDown -@code{\dynamicDown}, -@funindex \dynamicNeutral -@code{\dynamicNeutral}. - - @seealso -Program reference: @internalsref{DynamicText}, @internalsref{Hairpin}. -Vertical positioning of these symbols is handled by -@internalsref{DynamicLineSpanner}. - +@c TODO: Add hairpin to glossary. -@node Curves -@subsection Curves +Music Glossary: @rglos{crescendo}, @rglos{decrescendo}. -@menu -* Ties:: -* Slurs:: -* Phrasing slurs:: -* Laissez vibrer ties:: -* Breath marks:: -* Falls and doits:: -@end menu - -@node Ties -@unnumberedsubsubsec Ties +Learning Manual: @rlearning{Articulation and dynamics}. -@cindex tie -@funindex ~ +Snippets: @lsrdir{Expressive,Expressive-marks} -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 @samp{~} +Internals Reference: @internalsref{DynamicText}, +@internalsref{Hairpin}. Vertical positioning of these symbols is +handled by @internalsref{DynamicLineSpanner}. -@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. Chords -may be partially tied by placing the tie inside the chord, +@node New dynamic marks +@subsubsection New dynamic marks -@lilypond[quote,ragged-right,fragment,verbatim,relative=1] - -@end lilypond +It is possible to print new dynamic marks or text that should be +aligned with dynamics. Use @code{make-dynamic-script} to create +these marks. Note that the dynamic font only contains the +characters @code{f,m,p,r,s} and @code{z}. -A tie is just a way of extending a note duration, similar to the -augmentation dot. The following example shows two ways of notating -exactly the same concept +Some situations (such as dynamic marks) have preset font-related +properties. If you are creating text in such situations, it is +advisable to cancel those properties with @code{normal-text}. See +@ref{Text markup commands}, for more details. -@lilypond[quote,fragment,ragged-right] -\time 3/4 c'2. c'2 ~ c'4 -@end lilypond +@cindex make-dynamic-script -@noindent -Ties are used either when the note crosses a bar line, or when dots -cannot be used to denote the rhythm. When using ties, larger note -values should be aligned to subdivisions of the measure, such as - -@lilypond[fragment,quote,ragged-right] -\relative { - r8 c8 ~ c2 r4 | r8^"not" c2 ~ c8 r4 +@lilypond[quote,verbatim,ragged-right] +sfzp = #(make-dynamic-script "sfzp") +\relative c' { + c4 c c\sfzp c } @end lilypond -If you need to tie a lot of notes over bars, it may be easier to use -automatic note splitting (see @ref{Automatic note splitting}). This -mechanism automatically splits long notes, and ties them across bar -lines. +@cindex Dynamics, editorial +@cindex Dynamics, parenthesis -@funindex \repeatTie +It is also possible to print dynamics in round parenthesis or +square brackets. These are often used for adding editorial +dynamics. -When a second alternative of a repeat starts with a tied note, you -have to repeat the tie. This can be achieved with @code{\repeatTie}, - -@lilypond[fragment,quote,ragged-right,relative=2] -r \repeatTie +@lilypond[quote,verbatim,ragged-right] +rndf = \markup{ \center-align {\line { \bold{\italic (} + \dynamic f \bold{\italic )} }} } +boxf = \markup{ \bracket { \dynamic f } } +{ c'1_\rndf c'1_\boxf } @end lilypond -@cindex repeating ties -@cindex volta brackets and ties - -@commonprop - -Ties are sometimes used to write out arpeggios. In this case, two tied -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,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 - - -@refcommands - - -@funindex \tieUp -@code{\tieUp}, -@funindex \tieDown -@code{\tieDown}, -@funindex \tieNeutral -@code{\tieNeutral}, -@funindex \tieDotted -@code{\tieDotted}, -@funindex \tieDashed -@code{\tieDashed}, -@funindex \tieSolid -@code{\tieSolid}. - - @seealso -In this manual: @ref{Automatic note splitting}. - -Program reference: @internalsref{Tie}. - - -@refbugs +Snippets: @lsrdir{Expressive,Expressive-marks} -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 Curves +@subsection Curves +@menu +* Slurs:: +* Phrasing slurs:: +* Breath marks:: +* Falls and doits:: +@end menu @node Slurs -@unnumberedsubsubsec Slurs +@subsubsection Slurs -@cindex Slurs +@cindex slurs -A slur indicates that notes are to be played bound or -@emph{legato}. They are entered using parentheses +A @notation{slur} indicates that notes are to be played bound or +@emph{legato}. They are entered using parentheses: -@lilypond[quote,ragged-right,relative=2,fragment,verbatim] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] f( g a) a8 b( a4 g2 f4) 2( 2) @end lilypond -The direction of a slur can be specified with -@code{\slur@emph{DIR}}, where @code{@emph{DIR}} is -either @code{Up}, @code{Down}, or @code{Neutral} (automatically -selected). +Just as with ties, the direction of a slur can be specified with +@code{\slur@emph{DIR}}, where @code{@emph{DIR}} is either +@code{Up}, @code{Down}, or @code{Neutral} (@code{Neutral} is the +default). Slurs may be manually placed above or below the staff, +see @ref{Controlling direction and placement}. -However, there is a convenient shorthand for forcing slur -directions. By adding @code{_} or @code{^} before the opening -parentheses, the direction is also set. For example, - -@lilypond[relative=2,ragged-right,quote,verbatim,fragment] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] c4_( c) c^( c) @end lilypond -Only one slur can be printed at once. If you need to print a long -slur over a few small slurs, please see @ref{Phrasing slurs}. - +Using this method, only one slur can be printed at once. To print +a long slur over a few small slurs, see @ref{Phrasing slurs}. -@commonprop -Some composers write two slurs when they want legato chords. This can -be achieved in LilyPond by setting @code{doubleSlurs}, - -@lilypond[verbatim,ragged-right,relative,fragment,quote] -\set doubleSlurs = ##t -4 ( ) -@end lilypond - - -@refcommands +@predefined @funindex \slurUp @code{\slurUp}, @@ -487,35 +460,55 @@ be achieved in LilyPond by setting @code{doubleSlurs}, @funindex \slurSolid @code{\slurSolid}. + +@snippets + +Some composers write two slurs when they want legato chords. This +can be achieved in LilyPond by setting @code{doubleSlurs}, + +@lilypond[verbatim,quote,ragged-right,fragment,relative=1] +\set doubleSlurs = ##t +4 ( ) +@end lilypond + + @seealso -Program reference: @internalsref{Slur}. +Music Glossary: @rglos{slur} + +Snippets: @lsrdir{Expressive,Expressive-marks} + +Internals Reference: @internalsref{Slur}. @node Phrasing slurs -@unnumberedsubsubsec Phrasing slurs +@subsubsection Phrasing slurs @cindex phrasing slurs @cindex phrasing marks +@funindex \( +@funindex \) A phrasing slur (or phrasing mark) connects notes and is used to -indicate a musical sentence. It is written using @code{\(} and @code{\)} -respectively +indicate a musical sentence. It is written using @code{\(} and +@code{\)} respectively: -@lilypond[quote,ragged-right,fragment,verbatim,relative=1] +@lilypond[verbatim,quote,ragged-right,fragment,relative=1] \time 6/4 c'\( d( e) f( e) d\) @end lilypond Typographically, the phrasing slur behaves almost exactly like a normal slur. However, they are treated as different objects. A -@code{\slurUp} will have no effect on a phrasing slur; instead, use -@code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and -@code{\phrasingSlurNeutral}. +@code{\slurUp} will have no effect on a phrasing slur; instead, +use @code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and +@code{\phrasingSlurNeutral}. Phrasing slurs may be manually +placed above or below the staff, see @ref{Controlling direction +and placement}. You cannot have simultaneous phrasing slurs. -@refcommands +@predefined @funindex \phrasingSlurUp @code{\phrasingSlurUp}, @@ -527,48 +520,31 @@ You cannot have simultaneous phrasing slurs. @seealso -Program reference: @internalsref{PhrasingSlur}. - - -@node Laissez vibrer ties -@unnumberedsubsubsec Laissez vibrer ties -@cindex Laissez vibrer -@cindex Ties, laissez vibrer - -L.v. ties (laissez vibrer) indicate that notes must not be damped at the -end. It is used in notation for piano, harp and other string and -percussion instruments. They can be entered using @code{\laissezVibrer}, - -@lilypond[fragment,ragged-right,verbatim,relative=1] -\laissezVibrer -@end lilypond - -@seealso - -Program reference: -@internalsref{LaissezVibrerTie} -@internalsref{LaissezVibrerTieColumn} +Snippets: @lsrdir{Expressive,Expressive-marks} -Example files: -@lsr{connecting,laissez-vibrer-ties.ly} +Internals Reference: @internalsref{PhrasingSlur} @node Breath marks -@unnumberedsubsubsec Breath marks +@subsubsection Breath marks + +@cindex breath marks +@funindex \breathe -Breath marks are entered using @code{\breathe} +Breath marks are entered using @code{\breathe}: -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] +@lilypond[verbatim,quote,ragged-right,fragment,relative=1] c'4 \breathe d4 @end lilypond -@commonprop +@snippets The glyph of the breath mark can be tuned by overriding the -@code{text} property of the @code{BreathingSign} layout object with -any markup text. For example, -@lilypond[quote,ragged-right,fragment,verbatim,relative=1] +@code{text} property of the @code{BreathingSign} layout object +with any markup text. For example, + +@lilypond[verbatim,quote,ragged-right,fragment,relative=1] c'4 \override BreathingSign #'text = #(make-musicglyph-markup "scripts.rvarcomma") @@ -576,26 +552,58 @@ c'4 d4 @end lilypond + @seealso -Program reference: @internalsref{BreathingSign}. +Snippets: @lsrdir{Expressive,Expressive-marks} +@c @lsr{expressive,breathing-sign.ly}. -Examples: @lsr{expressive,breathing-sign.ly} +Internals Reference: @internalsref{BreathingSign} @node Falls and doits -@unnumberedsubsubsec Falls and doits +@subsubsection Falls and doits + +@cindex falls +@cindex doits +@funindex \bendAfter + +@notation{Falls} and @notation{doits} can be added to notes using +the @code{\bendAfter} command: + +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] +c2-\bendAfter #+4 +c-\bendAfter #-4 +c-\bendAfter #+8 +c-\bendAfter #-8 +@end lilypond + +The dash (@tie{-}) following the note name is @emph{required} when +writing @notation{falls} and @notation{doits}. + + +@snippets -Falls and doits can be added to notes using the @code{\bendAfter} -command, +The @code{shortest-duration-space} property may have to be tweaked +to adjust the shape of @notation{falls} and @notation{doits}. -@lilypond[fragment,ragged-right,relative=2] +@c Fix this snippet. The tweak does not work. -pm + +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] \override Score.SpacingSpanner #'shortest-duration-space = #3.0 c4-\bendAfter #+5 c4-\bendAfter #-3 @end lilypond +@seealso + +@c TODO: add falls and doits to glossary. +@c Music Glossary: @rglos{falls}, @rglos{doits}. + +Snippets: @lsrdir{Expressive,Expressive-marks} + + @node Lines @subsection Lines @@ -603,94 +611,118 @@ c4-\bendAfter #-3 * Glissando:: * Arpeggio:: * Trills:: -* Analysis brackets:: @end menu @node Glissando -@unnumberedsubsubsec Glissando +@subsubsection Glissando -@cindex Glissando +@cindex glissando @funindex \glissando -A glissando is a smooth change in pitch. It is denoted by a line or a -wavy line between two notes. It is requested by attaching -@code{\glissando} to a note +A @notation{glissando} is a smooth change in pitch. It is denoted +by a line or a wavy line between two notes. A +@notation{glissando} is created by attaching @code{\glissando} to +a note: -@lilypond[quote,ragged-right,fragment,relative=2,verbatim] +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] c2\glissando c' \override Glissando #'style = #'zigzag c2\glissando c, @end lilypond -@commonprop +@snippets -@lilypond[quote,ragged-right,verbatim] +@lilypond[verbatim,quote,ragged-right] I = \once \override NoteColumn #'ignore-collision = ##t -\relative << +\relative c' << { \oneVoice \stemDown f2 \glissando \stemNeutral a } \\ { \oneVoice \I c2 \glissando \I d, } >> @end lilypond - @seealso -Program reference: @internalsref{Glissando}. +Music Glossary: @rglos{glissando} -Example files: -@lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly} +Snippets: @lsrdir{Expressive,Expressive-marks} +@c FIXME: I need to figure out what's up with these. -gp +@c @lsr{expressive,glissando.ly}, +@c @lsr{expressive,line-styles.ly} -@refbugs +Internals Reference: @internalsref{Glissando} -Printing text over the line (such as @emph{gliss.}) is not supported. + +@knownissues + +Printing text over the line (such as @emph{gliss.}) is not +supported. @node Arpeggio -@unnumberedsubsubsec Arpeggio +@subsubsection Arpeggio -@cindex Arpeggio +@cindex arpeggio @cindex broken chord -@funindex \arpeggio -You can specify an arpeggio sign (also known as broken chord) on a -chord by attaching an @code{\arpeggio} to a chord +You can specify an @notation{arpeggio} (also known as a +@notation{broken chord}) on a chord by attaching an +@code{\arpeggio} to the chord: -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] +@lilypond[verbatim,quote,ragged-right,fragment,relative=1] \arpeggio @end lilypond -A square bracket on the left indicates that the player should not -arpeggiate the chord +A square bracket on the left, denoted by @code{\arpeggioBracket}, +is used to indicate that the chord should @emph{not} be +arpeggiated: -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] +@lilypond[verbatim,quote,ragged-right,fragment,relative=1] \arpeggioBracket -\arpeggio +\arpeggio @end lilypond -The direction of the arpeggio is sometimes denoted by adding an -arrowhead to the wiggly line +The direction of the arpeggio can be denoted by adding an +arrowhead to the wiggly line. This is done with the commands +@code{arpeggioUp} and @code{arpeggioDown}. @code{arpeggioNeutral} +reverts to the arrow-less version: -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] +@lilypond[verbatim,quote,ragged-right,fragment,relative=1] \new Voice { \arpeggioUp \arpeggio \arpeggioDown \arpeggio + \arpeggioNeutral + \arpeggio } @end lilypond -@commonprop +@predefined + +@funindex \arpeggio +@code{\arpeggio}, +@funindex \arpeggioUp +@code{\arpeggioUp}, +@funindex \arpeggioDown +@code{\arpeggioDown}, +@funindex \arpeggioNeutral +@code{\arpeggioNeutral}, +@funindex \arpeggioBracket +@code{\arpeggioBracket}. -When an arpeggio crosses staves, you may attach an arpeggio to the chords -in both staves and set -@internalsref{PianoStaff}.@code{connectArpeggios} -@lilypond[quote,ragged-right,fragment,relative=1,verbatim] +@snippets + +In a @code{PianoStaff}, it is possible to let an arpeggio cross +between the staves by setting the property +@code{PianoStaff}.@code{connectArpeggios}. + +@lilypond[verbatim,quote,ragged-right,fragment,relative=1] \new PianoStaff << \set PianoStaff.connectArpeggios = ##t \new Staff { \arpeggio } @@ -698,66 +730,116 @@ in both staves and set >> @end lilypond -@c TODO: cross-voice arpeggio example? -@c such an example is already in LSR -J.Mandereau +The same can be accomplished in contexts other than +@code{PianoStaff} if the @code{Span_arpeggio_engraver} is included +in the Score context. -@refcommands +@lilypond[verbatim,quote,ragged-right] +\score { + \new StaffGroup { + \set Score.connectArpeggios = ##t + << + \new Voice \relative c' { + 4\arpeggio + } + \new Voice \relative c { + \clef bass + 4\arpeggio + } + >> + } + \layout { + \context { + \Score + \consists "Span_arpeggio_engraver" + } + } +} +@end lilypond -@code{\arpeggio}, -@funindex \arpeggioUp -@code{\arpeggioUp}, -@funindex \arpeggioDown -@code{\arpeggioDown}, -@funindex \arpeggioNeutral -@code{\arpeggioNeutral}, -@funindex \arpeggioBracket -@code{\arpeggioBracket}. +Similarly, an arpeggio can be drawn across notes in different +voices on the same staff if the @code{Span_arpeggio_engraver} is +moved to the Staff context: + +@lilypond[verbatim,quote,ragged-right] +\new Staff +\with { + \consists "Span_arpeggio_engraver" +} \relative c' { + \set Staff.connectArpeggios = ##t + << + {4\arpeggio 2 } + \\ + {2\arpeggio 2 } + >> +} +@end lilypond @seealso -Notation manual: @ref{Ties}, for writing out arpeggios. +@c TODO: Add 'broken chord' to glossary. + +Music Glossary: @rglos{arpeggio} + +Notation Reference: @ref{Ties}, for writing out arpeggios. + +Snippets: @lsrdir{Expressive,Expressive-marks} -Program reference: @internalsref{Arpeggio}. +Internals Reference: @internalsref{Arpeggio}, +@internalsref{PianoStaff}. -@refbugs +@knownissues It is not possible to mix connected arpeggios and unconnected -arpeggios in one @internalsref{PianoStaff} at the same point in time. +arpeggios in one @code{PianoStaff} at the same point in +time. @node Trills -@unnumberedsubsubsec Trills +@subsubsection Trills -Short trills are printed like normal articulation; see @ref{Articulations}. +@cindex trills +@funindex \trill -Long running trills are made with @code{\startTrillSpan} and -@code{\stopTrillSpan}, +Short @notation{trills} are printed with @code{\trill} like normal +articulation; see @ref{Articulations and ornamentations}. -@lilypond[verbatim,ragged-right,relative=2,quote,fragment] -\new Voice { - << { c1 \startTrillSpan } - { s2. \grace { d16[\stopTrillSpan e] } } >> - c4 } +Long running @notation{trills} are made with +@code{\startTrillSpan} and @code{\stopTrillSpan}. In the +following example, a long running @notation{trill} is shown +combined with grace notes. To achieve precise control of the +placement of the grace notes, see @ref{Grace notes}. + +@lilypond[verbatim,quote,ragged-right,fragment,relative=2] +c1 \afterGrace +d1\startTrillSpan { c16[\stopTrillSpan d] } +c4 @end lilypond -@cindex Pitched trills +@cindex pitched trills + +@notation{Trills} that should be executed on an explicitly +specified pitch can be typeset with the command +@code{\pitchedTrill} using the following syntax: -Trills that should be executed on an explicitly specified pitch can be -typeset with the command @code{pitchedTrill}, +@example +@code{\pitchedTrill} @var{mainnote} @code{\startTrillSpan} +@var{trillnote} @var{endnote} @code{\stopTrillSpan} +@end example -@lilypond[ragged-right,verbatim,fragment,relative=1,quote] -\pitchedTrill c4\startTrillSpan fis -f\stopTrillSpan +@lilypond[verbatim,quote,ragged-right,fragment,relative=1] +\pitchedTrill e2 \startTrillSpan fis +d\stopTrillSpan @end lilypond @noindent -The first argument is the main note. The pitch of the second -is printed as a stemless note head in parentheses. +The first argument is the main note. The pitch of the second is +printed as a stemless note head in parentheses. -@refcommands +@predefined @code{\startTrillSpan}, @funindex \startTrillSpan @@ -767,39 +849,8 @@ is printed as a stemless note head in parentheses. @seealso -Program reference: @internalsref{TrillSpanner}. - - -@node Analysis brackets -@unnumberedsubsubsec Analysis brackets -@cindex brackets -@cindex phrasing brackets -@cindex musicological analysis -@cindex note grouping bracket - -Brackets are used in musical analysis to indicate structure in musical -pieces. LilyPond supports a simple form of nested horizontal -brackets. To use this, add the @internalsref{Horizontal_bracket_engraver} -to @internalsref{Staff} context. A bracket is started with -@code{\startGroup} and closed with @code{\stopGroup} - -@lilypond[quote,ragged-right,verbatim] -\score { - \relative c'' { - c4\startGroup\startGroup - c4\stopGroup - c4\startGroup - c4\stopGroup\stopGroup - } - \layout { - \context { - \Staff \consists "Horizontal_bracket_engraver" -}}} -@end lilypond - -@seealso - -Program reference: @internalsref{HorizontalBracket}. - +Music Glossary: @rglos{trill} +Snippets: @lsrdir{Expressive,Expressive-marks} +Internals Reference: @internalsref{TrillSpanner}