Next: , Previous: Articulations and ornamentations, Up: Attached to notes


Dynamics

Absolute dynamic marks are specified using a command after a note, such as c4\ff. The available dynamic marks are \ppppp, \pppp, \ppp, \pp, \p, \mp, \mf, \f, \ff, \fff, \ffff, \fp, \sf, \sff, \sp, \spp, \sfz, and \rfz. The dynamic marks may be manually placed above or below the staff, see Direction and placement.

     
     c2\ppp c\mp
     c2\rfz c^\mf
     c2_\spp c^\ff

[image of music]

A crescendo mark is started with \< and terminated with \!, an absolute dynamic, or an additional crescendo or decrescendo mark. A decrescendo mark is started with \> and is also terminated with \!, an absolute dynamic, or another crescendo or decrescendo mark. \cr and \decr may be used instead of \< and \>. Hairpins are engraved by default using this notation.

     
     c2\< c\!
     d2\< d\f
     e2\< e\>
     f2\> f\!
     e2\> e\mp
     d2\> d\>
     c1\!

[image of music]

Spacer rests are needed to engrave multiple marks on one note.

     
     c4\< c\! d\> e\!
     << f1 { s4 s4\< s4\> s4\! } >>

[image of music]

In some situations the \espressivo articulation mark may be the appropriate choice to indicate a crescendo and decrescendo on one note:

     
     c2 b4 a
     g1\espressivo

[image of music]

Crescendos and decrescendos can be engraved as textual markings instead of hairpins. Dashed lines are printed to indicate their extent. The built-in commands that enable these text modes are \crescTextCresc, \dimTextDecresc, \dimTextDecr, and \dimTextDim. The corresponding \crescHairpin and \dimHairpin commands will revert to hairpins again:

     
     \crescTextCresc
     c2\< d | e f\!
     \dimTextDecresc
     e2\> d | c b\!
     \crescHairpin
     c2\< d | e f\!
     \dimHairpin
     e2\> d\!

[image of music]

To create new absolute dynamic marks or text that should be aligned with dynamics, see New dynamic marks.

Vertical positioning of dynamics is handled by DynamicLineSpanner.

Predefined commands

\dynamicUp, \dynamicDown, \dynamicNeutral, \crescTextCresc, \dimTextDim, \dimTextDecr, \dimTextDecresc, \crescHairpin, \dimHairpin.

Selected Snippets

Setting hairpin behavior at bar lines

If the note which ends a hairpin falls on a downbeat, the hairpin stops at the bar line immediately preceding. This behavior can be controlled by overriding the to-barline property.

     
     \relative c'' {
       e4\< e2.
       e1\!
       \override Hairpin #'to-barline = ##f
       e4\< e2.
       e1\!
     }

[image of music]

Setting the minimum length of hairpins

If hairpins are too short, they can be lengthened by modifying the minimum-length property of the Hairpin object.

     
     \relative c'' {
       c4\< c\! d\> e\!
       \override Hairpin #'minimum-length = #5
       << f1 { s4 s\< s\> s\! } >>
     }

[image of music]

Printing hairpins using al niente notation

Hairpins may be printed with a circled tip (al niente notation) by setting the circled-tip property of the Hairpin object to #t.

     
     \relative c'' {
       \override Hairpin #'circled-tip = ##t
       c2\< c\!
       c4\> c\< c2\!
     }

[image of music]

Vertically aligned dynamics and textscripts

By setting the Y-extent property to a suitable value, all DynamicLineSpanner objects (hairpins and dynamic texts) can be aligned to a common reference point, regardless of their actual extent. This way, every element will be vertically aligned, thus producing a more pleasing output.

The same idea is used to align the text scripts along their baseline.

     
     music = \relative c'' {
       c2\p^\markup { gorgeous } c\f^\markup { fantastic }
       c4\p c\f\> c c\!\p
     }
     
     {
       \music \break
       \override DynamicLineSpanner #'staff-padding = #2.0
       \override DynamicLineSpanner #'Y-extent = #'(-1.5 . 1.5)
       \override TextScript #'Y-extent = #'(-1.5 . 1.5)
       \music
     }

[image of music]

Hiding the extender line for text dynamics

Text style dynamic changes (such as cresc. and dim.) are printed with a dashed line showing their extent. This line can be suppressed in the following way:

     
     \relative c'' {
       \override DynamicTextSpanner #'dash-period = #-1.0
       \crescTextCresc
       c1\< | d | b | c\!
     }

[image of music]

Changing text and spanner styles for text dynamics

The text used for crescendos and decrescendos can be changed by modifying the context properties crescendoText and decrescendoText. The style of the spanner line can be changed by modifying the 'style property of DynamicTextSpanner. The default value is 'hairpin, and other possible values include 'line, 'dashed-line, and 'dotted-line:

     
     \relative c'' {
       \set crescendoText = \markup { \italic { cresc. poco } }
       \set crescendoSpanner = #'text
       \override DynamicTextSpanner #'style = #'dotted-line
       a2\< a
       a2 a
       a2 a
       a2 a\mf
     }

[image of music]

See also

Music Glossary: crescendo, decrescendo.

Learning Manual: Articulation and dynamics.

Notation Reference: Direction and placement, New dynamic marks, What goes into the MIDI output?, Controlling MIDI dynamics.

Snippets: Expressive marks.

Internals Reference: DynamicText, Hairpin, DynamicLineSpanner.

This page is for LilyPond-2.11.58 (development-branch).

Report errors to http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.

Your suggestions for the documentation are welcome.

Other languages: français, español, deutsch.