Guide, node Updating translation committishes..
@end ignore
-@c \version "2.14.0"
+@c \version "2.19.21"
@node Expressive marks
@section Expressive marks
The possible values for @code{@var{name}} are listed in
@ref{List of articulations}. For example:
-@lilypond[verbatim,quote,relative=2]
-c4\staccato c\mordent b2\turn
-c1\fermata
+@lilypond[verbatim,quote]
+\relative {
+ c''4\staccato c\mordent b2\turn
+ c1\fermata
+}
@end lilypond
@cindex marcato
@notation{accent}, @notation{staccato}, and @notation{portato}.
Their corresponding output appears as follows:
-@lilypond[verbatim,quote,relative=2]
-c4-^ c-+ c-- c-|
-c4-> c-. c2-_
+@lilypond[verbatim,quote]
+\relative {
+ c''4-^ c-+ c-- c-!
+ c4-> c-. c2-_
+}
@end lilypond
The rules for the default placement of articulations are defined
to a multi-measure rest (and only a multi-measure rest). This
creates a @code{MultiMeasureRestText} object.
-@lilypond[verbatim,quote,relative=2]
-\override Script #'color = #red
-\override MultiMeasureRestText #'color = #blue
-a2\fermata r\fermata
+@lilypond[verbatim,quote,fragment]
+\override Script.color = #red
+\override MultiMeasureRestText.color = #blue
+a'2\fermata r\fermata
R1\fermataMarkup
@end lilypond
marks may be manually placed above or below the staff; see
@ref{Direction and placement}.
-@lilypond[verbatim,quote,relative=2]
-c2\ppp c\mp
-c2\rfz c^\mf
-c2_\spp c^\ff
+@lilypond[verbatim,quote]
+\relative c'' {
+ c2\ppp c\mp
+ c2\rfz c^\mf
+ c2_\spp c^\ff
+}
@end lilypond
@cindex hairpin
@code{\>}. @notation{Hairpins} are engraved by default using this
notation.
-@lilypond[verbatim,quote,relative=2]
-c2\< c\!
-d2\< d\f
-e2\< e\>
-f2\> f\!
-e2\> e\mp
-d2\> d\>
-c1\!
+@lilypond[verbatim,quote]
+\relative c'' {
+ c2\< c\!
+ d2\< d\f
+ e2\< e\>
+ f2\> f\!
+ e2\> e\mp
+ d2\> d\>
+ c1\!
+}
@end lilypond
A hairpin that is terminated with @code{\!} will end at the
instead of the usual left edge had it been terminated with @code{\!}
before.
-@lilypond[verbatim,quote,relative=2]
-c1\< | c4 a c\< a | c4 a c\! a\< | c4 a c a\!
+@lilypond[verbatim,quote]
+\relative {
+ c''1\< | c4 a c\< a | c4 a c\! a\< | c4 a c a\!
+}
@end lilypond
Hairpins that are terminated with absolute dynamic marks instead of
of the absolute dynamic itself can alter where the preceding hairpin
ends.
-@lilypond[verbatim,quote,relative=2]
-c1\< | c4 a c\mf a | c1\< | c4 a c\ffff a
+@lilypond[verbatim,quote]
+\relative {
+ c''1\< | c4 a c\mf a | c1\< | c4 a c\ffff a
+}
@end lilypond
@cindex multiple dynamic marks on one note
This is particularly useful when adding a @notation{crescendo} and
@notation{decrescendo} to the same note:
-@lilypond[verbatim,quote,relative=2]
-c4\< c\! d\> e\!
-<< f1 { s4 s4\< s4\> s4\! } >>
+@lilypond[verbatim,quote]
+\relative {
+ c''4\< c\! d\> e\!
+ << f1 { s4 s4\< s4\> s4\! } >>
+}
@end lilypond
@cindex espressivo articulation
and decrescendo on the same note. However, be warned that this is
implemented as an articulation, not a dynamic.
-@lilypond[verbatim,quote,relative=2]
-c2 b4 a
-g1\espressivo
+@lilypond[verbatim,quote]
+\relative {
+ c''2 b4 a
+ g1\espressivo
+}
@end lilypond
@funindex \cresc
Textual decrescendos begin with @code{\decresc} or @code{\dim}.
Extender lines are engraved as required.
-@lilypond[verbatim,quote,relative=2]
-g8\cresc a b c b c d e\mf |
-f8\decresc e d c e\> d c b |
-a1\dim ~ |
-a2. r4\! |
+@lilypond[verbatim,quote]
+\relative {
+ g'8\cresc a b c b c d e\mf |
+ f8\decresc e d c e\> d c b |
+ a1\dim ~ |
+ a2. r4\! |
+}
@end lilypond
@funindex \crescTextCresc
@funindex dimHairpin
Textual marks for dynamic changes can also replace hairpins:
-@lilypond[verbatim,quote,relative=2]
-\crescTextCresc
-c4\< d e f\! |
-\dimTextDecresc
-g4\> e d c\! |
-\dimTextDecr
-e4\> d c b\! |
-\dimTextDim
-d4\> c b a\! |
-\crescHairpin
-\dimHairpin
-c4\< d\! e\> d\! |
+@lilypond[verbatim,quote]
+\relative c'' {
+ \crescTextCresc
+ c4\< d e f\! |
+ \dimTextDecresc
+ g4\> e d c\! |
+ \dimTextDecr
+ e4\> d c b\! |
+ \dimTextDim
+ d4\> c b a\! |
+ \crescHairpin
+ \dimHairpin
+ c4\< d\! e\> d\! |
+}
@end lilypond
@lilypond[verbatim,quote]
<<
- \new Staff \relative c' {
- c2 d4 e |
+ \new Staff \relative {
+ c'2 d4 e |
c4 e e,2 |
g'4 a g a |
c1 |
@lilypondfile[verbatim,quote,texidoc,doctitle]
{printing-hairpins-using-al-niente-notation.ly}
+@cindex Ferneyhough hairpins
+@cindex hairpins, Ferneyhough
+@cindex flared hairpins
+@cindex hairpins, flared
+@cindex constante hairpins
+@cindex hairpins, constante
+
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{printing-hairpins-in-various-styles.ly}
+
@lilypondfile[verbatim,quote,texidoc,doctitle]
{vertically-aligned-dynamics-and-textscripts.ly}
Notation Reference:
@ref{Direction and placement},
@ref{New dynamic marks},
-@ref{What goes into the MIDI output?},
+@ref{Enhancing MIDI output},
@ref{Controlling MIDI dynamics}.
Snippets:
@lilypond[verbatim,quote]
moltoF = \markup { molto \dynamic f }
-\relative c' {
- <d e>16_\moltoF <d e>
+\relative {
+ <d' e>16_\moltoF <d e>
<d e>2..
}
@end lilypond
\center-align \concat { \bold { \italic ( }
\dynamic f \bold { \italic ) } } }
boxF = \markup { \bracket { \dynamic f } }
-\relative c' {
- c1_\roundF
+\relative {
+ c'1_\roundF
c1_\boxF
}
@end lilypond
@lilypond[verbatim,quote]
sfzp = #(make-dynamic-script "sfzp")
-\relative c' {
- c4 c c\sfzp c
+\relative {
+ c'4 c c\sfzp c
}
@end lilypond
roundFdynamic = #(make-dynamic-script roundF)
boxFdynamic = #(make-dynamic-script boxF)
mfEspressDynamic = #(make-dynamic-script mfEspress)
-\relative c' {
- c4_\roundFdynamic\< d e f
+\relative {
+ c'4_\roundFdynamic\< d e f
g,1~_\boxFdynamic\>
g1
g'1~\mfEspressDynamic
moltoF = #(make-dynamic-script
(markup #:normal-text "molto"
#:dynamic "f"))
-\relative c' {
- <d e>16 <d e>
+\relative {
+ <d' e>16 <d e>
<d e>2..\moltoF
}
@end lilypond
+To left-align the dynamic text rather than centering it on a note
+use a @code{\tweak}:
+
+@lilypond[verbatim,quote]
+moltoF = \tweak DynamicText.self-alignment-X #LEFT
+ #(make-dynamic-script
+ (markup #:normal-text "molto"
+ #:dynamic "f"))
+\relative {
+ <d' e>16 <d e>
+ <d e>2..\moltoF <d e>1
+}
+@end lilypond
+
Font settings in markup mode are described in
@ref{Selecting font and font size}.
Notation Reference:
@ref{Formatting text},
@ref{Selecting font and font size},
-@ref{What goes into the MIDI output?},
+@ref{Enhancing MIDI output},
@ref{Controlling MIDI dynamics}.
Extending LilyPond:
@warning{In polyphonic music, a slur must be terminated
in the same voice it began.}
-@lilypond[verbatim,quote,relative=2]
-f4( g a) a8 b(
-a4 g2 f4)
-<c e>2( <b d>2)
+@lilypond[verbatim,quote]
+\relative {
+ f''4( g a) a8 b(
+ a4 g2 f4)
+ <c e>2( <b d>2)
+}
@end lilypond
@cindex slurs, manual placement
@cindex slur, phrasing
@cindex slurs, multiple
@cindex slurs, simultaneous
+@funindex \=
+
+Simultaneous or overlapping slurs require special attention. Most
+occurences of outer slurs actually indicate phrasing, and phrasing
+slurs may overlap a regular slur, see @ref{Phrasing slurs}. When
+multiple regular slurs are needed in a single @code{Voice},
+matching slur starts and ends need to be labelled by preceding
+them with @code{\=} followed by an identifying number or string.
-Simultaneous or overlapping slurs are not permitted, but a phrasing
-slur can overlap a slur. This permits two slurs to be printed at
-once. For details, see @ref{Phrasing slurs}.
+@lilypond[verbatim,quote]
+\fixed c' {
+ <c~ f\=1( g\=2( >2 <c e\=1) a\=2) >
+}
+@end lilypond
@cindex slur style
@cindex slur, solid
Slurs can be solid, dotted, or dashed. Solid is the default slur
style:
-@lilypond[verbatim,quote,relative=1]
-c4( e g2)
-\slurDashed
-g4( e c2)
-\slurDotted
-c4( e g2)
-\slurSolid
-g4( e c2)
+@lilypond[verbatim,quote]
+\relative {
+ c'4( e g2)
+ \slurDashed
+ g4( e c2)
+ \slurDotted
+ c4( e g2)
+ \slurSolid
+ g4( e c2)
+}
@end lilypond
@funindex \slurHalfDashed
second half solid) or half-solid (the first half solid, the second
half dashed):
-@lilypond[verbatim,quote,relative=1]
-c4( e g2)
-\slurHalfDashed
-g4( e c2)
-\slurHalfSolid
-c4( e g2)
-\slurSolid
-g4( e c2)
+@lilypond[verbatim,quote]
+\relative {
+ c'4( e g2)
+ \slurHalfDashed
+ g4( e c2)
+ \slurHalfSolid
+ c4( e g2)
+ \slurSolid
+ g4( e c2)
+}
@end lilypond
@funindex \slurDashPattern
Custom dash patterns for slurs can be defined:
-@lilypond[verbatim,quote,relative=1]
-c4( e g2)
-\slurDashPattern #0.7 #0.75
-g4( e c2)
-\slurDashPattern #0.5 #2.0
-c4( e g2)
-\slurSolid
-g4( e c2)
+@lilypond[verbatim,quote]
+\relative {
+ c'4( e g2)
+ \slurDashPattern #0.7 #0.75
+ g4( e c2)
+ \slurDashPattern #0.5 #2.0
+ c4( e g2)
+ \slurSolid
+ g4( e c2)
+}
@end lilypond
musical sentence are written using the commands @code{\(} and
@code{\)} respectively:
-@lilypond[verbatim,quote,relative=2]
-c4\( d( e) f(
-e2) d\)
+@lilypond[verbatim,quote]
+\relative {
+ c''4\( d( e) f(
+ e2) d\)
+}
@end lilypond
@funindex \phrasingSlurUp
@cindex phrasing slur, simultaneous
@cindex phrasing slur, multiple
-Simultaneous or overlapping phrasing slurs are not permitted.
+Simultaneous or overlapping phrasing slurs are entered using
+@code{\=} as with regular slurs, see @ref{Slurs}.
@funindex phrasingSlurDashed
@funindex \phrasingSlurDashed
Phrasing slurs can be solid, dotted, or dashed. Solid is the default
style for phrasing slurs:
-@lilypond[verbatim,quote,relative=1]
-c4\( e g2\)
-\phrasingSlurDashed
-g4\( e c2\)
-\phrasingSlurDotted
-c4\( e g2\)
-\phrasingSlurSolid
-g4\( e c2\)
+@lilypond[verbatim,quote]
+\relative {
+ c'4\( e g2\)
+ \phrasingSlurDashed
+ g4\( e c2\)
+ \phrasingSlurDotted
+ c4\( e g2\)
+ \phrasingSlurSolid
+ g4\( e c2\)
+}
@end lilypond
@funindex phrasingSlurHalfDashed
second half solid) or half-solid (the first half solid, the second
half dashed):
-@lilypond[verbatim,quote,relative=1]
-c4\( e g2\)
-\phrasingSlurHalfDashed
-g4\( e c2\)
-\phrasingSlurHalfSolid
-c4\( e g2\)
-\phrasingSlurSolid
-g4\( e c2\)
+@lilypond[verbatim,quote]
+\relative {
+ c'4\( e g2\)
+ \phrasingSlurHalfDashed
+ g4\( e c2\)
+ \phrasingSlurHalfSolid
+ c4\( e g2\)
+ \phrasingSlurSolid
+ g4\( e c2\)
+}
@end lilypond
@funindex \phrasingSlurDashPattern
Custom dash patterns for phrasing slurs can be defined:
-@lilypond[verbatim,quote,relative=1]
-c4\( e g2\)
-\phrasingSlurDashPattern #0.7 #0.75
-g4\( e c2\)
-\phrasingSlurDashPattern #0.5 #2.0
-c4\( e g2\)
-\phrasingSlurSolid
-g4\( e c2\)
+@lilypond[verbatim,quote]
+\relative {
+ c'4\( e g2\)
+ \phrasingSlurDashPattern #0.7 #0.75
+ g4\( e c2\)
+ \phrasingSlurDashPattern #0.5 #2.0
+ c4\( e g2\)
+ \phrasingSlurSolid
+ g4\( e c2\)
+}
@end lilypond
Dash pattern definitions for phrasing slurs have the same structure
Breath marks are entered using @code{\breathe}:
-@lilypond[verbatim,quote,relative=2]
-c2. \breathe d4
+@lilypond[verbatim,quote]
+{ c''2. \breathe d''4 }
@end lilypond
+Unlike other expressive marks, a breath mark is not associated with
+the preceding note but is a separate music event. So all the
+expressive marks which are attached to the preceding note, any square
+brackets indicating manual beams, and any brackets indicating slurs
+and phrasing slurs must be placed before @code{\breathe}.
+
A breath mark will end an automatic beam; to override this behavior, see
@ref{Manual beams}.
-@lilypond[verbatim,quote,relative=2]
-c8 \breathe d e f g2
+@lilypond[verbatim,quote]
+\relative { c''8 \breathe d e f g2 }
@end lilypond
Musical indicators for breath marks in ancient notation,
@lilypondfile[verbatim,quote,texidoc,doctitle]
{changing-the-breath-mark-symbol.ly}
+@cindex tick mark
+
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{using-a-tick-as-the-breath-mark-symbol.ly}
+
@cindex caesura
@cindex railroad tracks
indicates the pitch interval that the fall or doit will extend
@emph{beyond} the main note.
-@lilypond[verbatim,quote,relative=2]
-c2-\bendAfter #+4
-c2-\bendAfter #-4
-c2-\bendAfter #+6.5
-c2-\bendAfter #-6.5
-c2-\bendAfter #+8
-c2-\bendAfter #-8
+@lilypond[verbatim,quote]
+\relative c'' {
+ c2\bendAfter #+4
+ c2\bendAfter #-4
+ c2\bendAfter #+6.5
+ c2\bendAfter #-6.5
+ c2\bendAfter #+8
+ c2\bendAfter #-8
+}
@end lilypond
-The dash @code{-} immediately preceding the @code{\bendAfter}
-command is @emph{required} when writing falls and doits.
-
-
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
@funindex \glissando
@funindex glissando
-A @notation{glissando} is created by attaching @code{\glissando}
+A @notation{glissando} is created by appending @code{\glissando}
to a note:
-@lilypond[verbatim,quote,relative=2]
-g2\glissando g'
-c2\glissando c,
+@lilypond[verbatim,quote]
+\relative {
+ g'2\glissando g'
+ c2\glissando c,
+ \afterGrace f,1\glissando f'16
+}
+@end lilypond
+
+A glissando can connect notes across staves:
+
+@lilypond[verbatim,quote]
+\new PianoStaff <<
+ \new Staff = "right" {
+ e'''2\glissando
+ \change Staff = "left"
+ a,,4\glissando
+ \change Staff = "right"
+ b''8 r |
+ }
+ \new Staff = "left" {
+ \clef bass
+ s1
+ }
+>>
+@end lilypond
+
+A glissando can connect notes in chords. If anything other than a
+direct one-to-one pairing of the notes in the two chords is required
+the connections between the notes are defined by setting
+@code{\glissandoMap}, where the notes of a chord are assumed to be
+numbered from zero in the order in which they appear in the input
+@file{.ly} file.
+
+@lilypond[verbatim,quote]
+\relative {
+ <c' e>1\glissando g' |
+ <c, e>1\glissando |
+ <g' b> |
+ \break
+ \set glissandoMap = #'((0 . 1) (1 . 0))
+ <c, g'>1\glissando |
+ <d a'> |
+ \set glissandoMap = #'((0 . 0) (0 . 1) (0 . 2))
+ c1\glissando |
+ <d f a> |
+ \set glissandoMap = #'((2 . 0) (1 . 0) (0 . 1))
+ <f d a'>1\glissando |
+ <c c'> |
+}
@end lilypond
Different styles of glissandi can be created. For details, see
@ref{Line styles}.
+
@snippets
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{contemporary-glissando.ly}
@lilypondfile[verbatim,quote,texidoc,doctitle]
-{glissandi-can-skip-grobs.ly}
+{adding-timing-marks-to-long-glissandi.ly}
@lilypondfile[verbatim,quote,texidoc,doctitle]
-{contemporary-glissando.ly}
+{making-glissandi-breakable.ly}
+
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{extending-glissandi-across-repeats.ly}
@seealso
Music Glossary:
An @notation{arpeggio} on a chord (also known as a broken chord)
is denoted by appending @code{\arpeggio} to the chord construct:
-@lilypond[verbatim,quote,relative=1]
-<c e g c>1\arpeggio
+@lilypond[verbatim,quote]
+\relative { <c' e g c>1\arpeggio }
@end lilypond
Different types of arpeggios may be written.
@code{\arpeggioNormal} reverts to a normal arpeggio:
-@lilypond[verbatim,quote,relative=1]
-<c e g c>2\arpeggio
+@lilypond[verbatim,quote]
+\relative {
+ <c' e g c>2\arpeggio
-\arpeggioArrowUp
-<c e g c>2\arpeggio
+ \arpeggioArrowUp
+ <c e g c>2\arpeggio
-\arpeggioArrowDown
-<c e g c>2\arpeggio
+ \arpeggioArrowDown
+ <c e g c>2\arpeggio
-\arpeggioNormal
-<c e g c>2\arpeggio
+ \arpeggioNormal
+ <c e g c>2\arpeggio
+}
@end lilypond
@cindex arpeggio symbols, special
Special @emph{bracketed} arpeggio symbols can be created:
-@lilypond[verbatim,quote,relative=1]
-<c e g c>2
+@lilypond[verbatim,quote]
+\relative {
+ <c' e g c>2
-\arpeggioBracket
-<c e g c>2\arpeggio
+ \arpeggioBracket
+ <c e g c>2\arpeggio
-\arpeggioParenthesis
-<c e g c>2\arpeggio
+ \arpeggioParenthesis
+ <c e g c>2\arpeggio
-\arpeggioParenthesisDashed
-<c e g c>2\arpeggio
+ \arpeggioParenthesisDashed
+ <c e g c>2\arpeggio
-\arpeggioNormal
-<c e g c>2\arpeggio
+ \arpeggioNormal
+ <c e g c>2\arpeggio
+}
@end lilypond
The dash properties of the parenthesis arpeggio are controlled
-with the @code{'dash-details} property, which is described at @ref{Slurs}.
+with the @code{'dash-definition} property, which is described at
+@ref{Slurs}.
Arpeggios can be explicitly written out with ties. For more
information, see @ref{Ties}.
arpeggios in one @code{PianoStaff} at the same point in
time.
-The parenthesis-style arpeggio brackets do not work for
-cross-staff arpeggios.
+The simple way of setting parenthesis-style arpeggio brackets does not work for
+cross-staff arpeggios; see @ref{Cross-staff stems}.
@node Trills
Longer trills with an extender line are made with
@code{\startTrillSpan} and @code{\stopTrillSpan}:
-@lilypond[verbatim,quote,relative=2]
-d1\startTrillSpan
-d1
-c2\stopTrillSpan
-r2
+@lilypond[verbatim,quote]
+\relative {
+ d''1\startTrillSpan
+ d1
+ c2\stopTrillSpan
+ r2
+}
@end lilypond
A trill spanner crossing a line break will restart exactly above
the first note on the new line.
-@lilypond[ragged-right,verbatim,quote,relative=2]
-d1\startTrillSpan
-\break
-d1
-c2\stopTrillSpan
-r2
+@lilypond[ragged-right,verbatim,quote]
+\relative {
+ d''1\startTrillSpan
+ \break
+ d1
+ c2\stopTrillSpan
+ r2
+}
@end lilypond
Consecutive trill spans will work without explicit
@code{\stopTrillSpan} commands, since successive trill spanners will
automatically become the right bound of the previous trill.
-@lilypond[verbatim,quote,relative=2]
-d1\startTrillSpan
-d1
-b1\startTrillSpan
-d2\stopTrillSpan
-r2
+@lilypond[verbatim,quote]
+\relative {
+ d''1\startTrillSpan
+ d1
+ b1\startTrillSpan
+ d2\stopTrillSpan
+ r2
+}
@end lilypond
Trills can also be combined with grace notes. The syntax of this
construct and the method to precisely position the grace notes are
described in @ref{Grace notes}.
-@lilypond[verbatim,quote,relative=2]
-d1~\afterGrace
-d1\startTrillSpan { c32[ d]\stopTrillSpan }
-c2 r2
+@lilypond[verbatim,quote]
+\relative {
+ d''1~\afterGrace
+ d1\startTrillSpan { c32[ d]\stopTrillSpan }
+ c2 r2
+}
@end lilypond
@cindex pitched trills
argument is the main note, and the second is the @emph{trilled}
note, printed as a stemless note head in parentheses.
-@lilypond[verbatim,quote,relative=2]
-\pitchedTrill
-d2\startTrillSpan fis
-d2
-c2\stopTrillSpan
-r2
+@lilypond[verbatim,quote]
+\relative {
+ \pitchedTrill
+ d''2\startTrillSpan fis
+ d2
+ c2\stopTrillSpan
+ r2
+}
@end lilypond
@cindex pitched trill with accidental
to be added manually. Only the accidental of the first pitched trill
in a measure is printed.
-@lilypond[verbatim,quote,relative=2]
-\pitchedTrill
-eis4\startTrillSpan fis
-eis4\stopTrillSpan
-\pitchedTrill
-eis4\startTrillSpan cis
-eis4\stopTrillSpan
-\pitchedTrill
-eis4\startTrillSpan fis
-eis4\stopTrillSpan
-\pitchedTrill
-eis4\startTrillSpan fis!
-eis4\stopTrillSpan
+@lilypond[verbatim,quote]
+\relative {
+ \pitchedTrill
+ eis''4\startTrillSpan fis
+ eis4\stopTrillSpan
+ \pitchedTrill
+ eis4\startTrillSpan cis
+ eis4\stopTrillSpan
+ \pitchedTrill
+ eis4\startTrillSpan fis
+ eis4\stopTrillSpan
+ \pitchedTrill
+ eis4\startTrillSpan fis!
+ eis4\stopTrillSpan
+}
@end lilypond
@predefined