[ << Musical notation ] | [Top][Contents][Index] | [ Specialist notation >> ] |
[ < Dynamics ] | [ Up : Expressive marks attached to notes ] | [ Expressive marks as curves > ] |
New dynamic marks
The easiest way to create dynamic indications is to use
\markup
objects.
moltoF = \markup { molto \dynamic f } \relative { <d' e>16_\moltoF <d e> <d e>2.. }
In markup mode, editorial dynamics (within parentheses or square brackets) can be created. The syntax for markup mode is described in Formatting text.
roundF = \markup { \center-align \concat { \bold { \italic ( } \dynamic f \bold { \italic ) } } } boxF = \markup { \bracket { \dynamic f } } \relative { c'1_\roundF c1_\boxF }
Simple, centered dynamic marks are easily created with the
make-dynamic-script
function.
sfzp = #(make-dynamic-script "sfzp") \relative { c'4 c c\sfzp c }
In general, make-dynamic-script
takes any markup object as its
argument. The dynamic font only contains the characters
f
, m
, p
, r
, s
, z
, and
n
; if a dynamic mark that includes
plain text or punctuation symbols is desired, markup commands that
reverts font family and font encoding to normal text should be used,
for example \normal-text
. Using
make-dynamic-script
instead of an ordinary markup ensures
vertical alignment of markup objects and hairpins that are
attached to the same note head.
roundF = \markup { \center-align \concat { \normal-text { \bold { \italic ( } } \dynamic f \normal-text { \bold { \italic ) } } } } boxF = \markup { \bracket { \dynamic f } } mfEspress = \markup { \center-align \line { \hspace #3.7 mf \normal-text \italic espress. } } roundFdynamic = #(make-dynamic-script roundF) boxFdynamic = #(make-dynamic-script boxF) mfEspressDynamic = #(make-dynamic-script mfEspress) \relative { c'4_\roundFdynamic\< d e f g,1~_\boxFdynamic\> g1 g'1~\mfEspressDynamic g1 }
The Scheme form of markup mode may be used instead. Its syntax is explained in Markup construction in Scheme.
moltoF = #(make-dynamic-script (markup #:normal-text "molto" #:dynamic "f")) \relative { <d' e>16 <d e> <d e>2..\moltoF }
To left-align the dynamic text rather than centering it on a note
use a \tweak
:
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 }
Font settings in markup mode are described in Selecting font and font size.
See also
Notation Reference: Formatting text, Selecting font and font size, Enhancing MIDI output, Controlling MIDI dynamics.
Extending LilyPond: Markup construction in Scheme.
Snippets: Expressive marks.
[ << Musical notation ] | [Top][Contents][Index] | [ Specialist notation >> ] |
[ < Dynamics ] | [ Up : Expressive marks attached to notes ] | [ Expressive marks as curves > ] |