]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/expressive.itely
Add forgotten headword.
[lilypond.git] / Documentation / user / expressive.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
4
5     When revising a translation, copy the HEAD committish of the
6     version that you are working on.  See TRANSLATION for details.
7 @end ignore
8
9 @node Expressive marks
10 @section Expressive marks
11
12 @lilypondfile[quote,ragged-right,line-width=16\cm,staffsize=16]
13 {expressive-headword.ly}
14
15 @menu
16 * Attached to notes::           
17 * Curves::                      
18 * Lines::                       
19 @end menu
20
21
22 @node Attached to notes
23 @subsection Attached to notes
24
25
26 @menu
27 * Articulations and ornamentations::  
28 * Dynamics::                    
29 @end menu
30
31 @node Articulations and ornamentations
32 @unnumberedsubsubsec Articulations and ornamentations
33
34 @cindex Articulations
35 @cindex scripts
36 @cindex ornaments
37
38 A variety of symbols can appear above and below notes to indicate
39 different characteristics of the performance.  All these symbols
40 can be attached to a note using the syntax @var{note}@code{\}@var{name}. 
41
42 The possible values for @var{name} are listed in @ref{List of
43 articulations}.
44
45 Some of these articulations have shorthands for easier entry.  They
46 are used by adding a dash and the character signifying
47 the articulation to the note name.  The available shorthands and
48 their output are:
49
50 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
51 c4-.  c--   c-+   c-|   
52 c->   c-^   c-_         
53 @end lilypond
54
55 The marks are automatically placed, but the direction can be
56 forced as well.  Like other pieces of LilyPond code, @code{_} will
57 place them below the staff, and @code{^} will place them above.
58 This applies both to the shorthands and the fully named
59 articulations.  For the shorthands, the dash itself should be
60 omitted; the shorthand signs replace it:
61
62 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
63 c4^^ c4_^
64 c\fermata c^\fermata c_\fermata
65 @end lilypond
66
67
68 @cindex accent
69 @cindex marcato
70 @cindex staccatissimo
71 @cindex espressivo
72 @cindex fermata
73 @cindex stopped
74 @cindex staccato
75 @cindex portato
76 @cindex tenuto
77 @cindex upbow
78 @cindex downbow
79 @cindex foot marks
80 @cindex organ pedal marks
81 @cindex turn
82 @cindex open
83 @cindex stopped
84 @cindex flageolet
85 @cindex reverseturn
86 @cindex trill
87 @cindex prall
88 @cindex mordent
89 @cindex prallprall
90 @cindex prallmordent
91 @cindex prall, up
92 @cindex prall, down
93 @cindex thumb marking
94 @cindex segno
95 @cindex coda
96 @cindex varcoda
97
98
99 @commonprop
100
101 The meanings of the shorthands can be changed.  They are defined
102 in @file{ly/@/script@/-init@/.ly}, where the variables  
103 @code{DashDot}, @code{DashDash}, @code{DashPlus}, @code{DashBar},
104 @code{DashLarger}, @code{DashHat}, and @code{DashUnderscore}
105 are associated with the default articulation marks.  If you want,
106 e.g., @code{-+} to produce a trill instead of a "+", you can
107 redefine the variable in your document:
108
109 @lilypond[quote,ragged-right,verbatim]
110 \relative c'' { c-+ }       
111 dashPlus = "trill"
112 \relative c'' { c-+ }       
113 @end lilypond
114
115 The vertical ordering of scripts is controlled with the
116 @code{script-priority} property.  The lower this number, the
117 closer it will be put to the note.  In this example, the
118 @internalsref{TextScript} (the sharp symbol) first has the lowest
119 priority, so it is put lowest in the first example.  In the
120 second, the prall trill (the @internalsref{Script}) has the
121 lowest, so it is on the inside.  When two objects have the same
122 priority, the order in which they are entered decides which one
123 comes first.
124
125
126 @commonprop
127
128 The meanings of the shorthands can be changed.  They are defined
129 in @file{ly/@/script@/-init@/.ly}, where the variables  
130 @code{DashDot}, @code{DashDash}, @code{DashPlus}, @code{DashBar},
131 @code{DashLarger}, @code{DashHat}, and @code{DashUnderscore}
132 are associated with the default articulation marks.  If you want,
133 e.g., @code{-+} to produce a trill instead of a "+", you can
134 redefine the variable in your document:
135
136 @lilypond[quote,ragged-right,verbatim]
137 \relative c'' { c-+ }       
138 dashPlus = "trill"
139 \relative c'' { c-+ }       
140 @end lilypond
141
142 The vertical ordering of scripts is controlled with the
143 @code{script-priority} property.  The lower this number, the
144 closer it will be put to the note.  In this example, the
145 @internalsref{TextScript} (the sharp symbol) first has the lowest
146 priority, so it is put lowest in the first example.  In the
147 second, the prall trill (the @internalsref{Script}) has the
148 lowest, so it is on the inside.  When two objects have the same
149 priority, the order in which they are entered decides which one
150 comes first.
151
152 @lilypond[verbatim,relative=3,ragged-right,fragment,quote]
153 \once \override TextScript #'script-priority = #-100
154 a4^\prall^\markup { \sharp }
155
156 \once \override Script #'script-priority = #-100
157 a4^\prall^\markup { \sharp }
158 @end lilypond
159
160
161 @seealso
162
163 Snippets: @lsrdir{expressive}
164
165 Internals Reference: @internalsref{Script}.
166
167
168 @refbugs
169
170 These signs appear in the printed output but have no effect on the
171 MIDI rendering of the music.
172
173
174 @node Dynamics
175 @unnumberedsubsubsec Dynamics
176
177 @cindex Dynamics
178 @funindex \pppp
179 @funindex \ppp
180 @funindex \pp
181 @funindex \p
182 @funindex \mp
183 @funindex \mf
184 @funindex \f
185 @funindex \ff
186 @funindex \fff
187 @funindex \ffff
188 @funindex \fp
189 @funindex \sf
190 @funindex \sff
191 @funindex \sp
192 @funindex \spp
193 @funindex \sfz
194 @funindex \rfz
195
196 Absolute dynamic marks are specified using a command after a note
197 @code{c4\ff}.  The available dynamic marks are @code{\ppppp},
198 @code{\pppp}, @code{\ppp}, @code{\pp}, @code{\p}, @code{\mp},
199 @code{\mf}, @code{\f}, @code{\ff}, @code{\fff}, @code{\ffff},
200 @code{\fp}, @code{\sf}, @code{\sff}, @code{\sp}, @code{\spp},
201 @code{\sfz}, and @code{\rfz}.  The dynamic marks can be placed
202 above or below the staff with @code{_} and @code{^}, just like
203 articulation marks. 
204
205 @lilypond[quote,verbatim,ragged-right,fragment,relative=2]
206 c2\ppp c\mp 
207 c\rfz c^\mf
208 c_\spp c_\staccato^\ff
209 @end lilypond
210
211 @funindex \<
212 @funindex \>
213 @funindex \!
214
215 A crescendo mark is started with @code{\<} and terminated with
216 @code{\!} or an absolute dynamic.  A decrescendo is started with
217 @code{\>} and is also terminated with @code{\!} or an absolute
218 dynamic.  @code{\cr} and @code{\decr} may be used instead of
219 @code{\<} and @code{\>}.  They can be engraved either using a
220 graphical sign (a @q{hairpin}), or with textual signs.
221
222 Because these marks are bound to notes, you must use spacer notes
223 if multiple marks are needed during one note.
224
225 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
226 c\< c\! d\> e\!
227 << f1 { s4 s4\< s4\! \> s4\! } >>
228 @end lilypond
229
230 This may give rise to very short hairpins.  Use
231 @code{minimum-length} in
232 @internalsref{Voice}.@internalsref{Hairpin} to lengthen them, for
233 example:
234
235 @example
236 \override Voice.Hairpin #'minimum-length = #5
237 @end example
238
239 @noindent
240 A hairpin normally starts at the left edge of the beginning note
241 and ends on the right edge of the ending note.  If the ending note
242 falls on the downbeat, the hairpin ends on the immediately
243 preceding bar line.  This may be modified by setting the
244 @code{hairpinToBar line} property,
245 @cindex Hairpin
246
247 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
248 e4\< e2. e1\!
249 \set hairpinToBarline = ##f
250 e4\< e2. e1\!
251 @end lilypond
252
253 @cindex espressivo, articulation
254 In some situations the @code{\espressivo} articulation mark may be
255 suitable to indicate a crescendo and decrescendo on the one note:
256
257 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
258 c2 b4 a g1\espressivo
259 @end lilypond
260
261 @cindex al niente
262 @cindex niente, al
263
264 Hairpins may be printed with a circled tip (al niente notation) by
265 setting the @code{circled-tip} property:
266
267 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
268 \override Hairpin #'circled-tip = ##t
269 c2\< c\!
270 c4\> c\< c2\!
271 @end lilypond
272
273
274 @cindex crescendo
275 @cindex decrescendo
276 @cindex diminuendo
277
278 You can use text saying @emph{cresc.}, @emph{decr.}, or
279 @emph{dim.} instead of hairpins with the commands \setTextCresc,
280 \setTextDim, and \setTextDecresc.  The corresponding
281 \setHairpinCresc, \setHairpinDim, and \setHairpinDecresc will
282 revert to hairpins again: 
283
284 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
285 \setTextCresc
286 c\< d e f\!
287 \setHairpinCresc
288 e\> d c b\!
289 \setTextDecresc
290 c\> d e f\!
291 \setTextDim
292 e\> d c b\!
293 @end lilypond
294
295 You can also supply your own texts and change the style of the
296 spanner line with the properties @code{\crescendoText},
297 @code{\crescendoSpanner}, @code{\decrescendoText}, and
298 @code{\decrescendoSpanner}. Available values for the spanner
299 properties are @code{hairpin}, @code{line}, @code{dashed-line},
300 and @code{dotted-line}. If unset, a hairpin crescendo is used:
301
302 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
303 \set crescendoText = \markup { \italic "cresc. poco" }
304 \set crescendoSpanner = #'dotted-line
305 a'2\< a a a a a a a\!\mf
306 @end lilypond
307
308
309 To create new dynamic marks or text that should be aligned with
310 dynamics, see @ref{New dynamic marks}.
311
312 Vertical positioning of dynamics is handled by
313 @internalsref{DynamicLineSpanner}.
314
315
316 @commonprop
317
318 Dynamics that occur at, begin on, or end on the same note will be
319 vertically aligned.  If you want to ensure that dynamics are
320 aligned when they do not occur on the same note, you can increase
321 the @code{staff-padding} property.
322
323 @example
324 \override DynamicLineSpanner #'staff-padding = #4
325 @end example
326
327 You may also use this property if the dynamics are colliding with
328 other notation.
329
330 Crescendi and decrescendi that cross a line break will be
331 continued on the second line.  If they end on the first note of a
332 new line, nothing will be printed on that line.  To change this
333 behavior, use
334
335 @example
336 \override Score.Hairpin #'after-line-breaking = ##t
337 @end example
338
339 Text style dynamic changes (such as @emph{cresc.} and @emph{dim.})
340 are printed with a dashed line showing their extent.  To surpress
341 printing this line, use
342
343 @example
344 \override DynamicTextSpanner #'dash-period = #-1.0
345 @end example
346
347
348 @refcommands
349
350 @funindex \dynamicUp
351 @code{\dynamicUp},
352 @funindex \dynamicDown
353 @code{\dynamicDown},
354 @funindex \dynamicNeutral
355 @code{\dynamicNeutral}.
356
357
358 @seealso
359
360 Snippets: @lsrdir{expressive}
361
362 Internals Reference: @internalsref{DynamicText},
363 @internalsref{Hairpin}.  Vertical positioning of these symbols is
364 handled by @internalsref{DynamicLineSpanner}.
365 Glossary: @rglos{Hairpin}, @rglos{crescendo}, @rglos{decrescendo}
366
367 @c TODO: add link to LM directions
368
369
370 @node Curves
371 @subsection Curves
372
373 @menu
374 * Slurs::                       
375 * Phrasing slurs::              
376 * Breath marks::                
377 * Falls and doits::             
378 @end menu
379
380 @node Slurs
381 @unnumberedsubsubsec Slurs
382
383 @cindex Slurs
384
385 A slur indicates that notes are to be played bound or
386 @emph{legato}.  They are entered using parentheses:
387
388 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
389 f( g a) a8 b( a4 g2 f4)
390 <c e>2( <b d>2)
391 @end lilypond
392
393 Just as with ties, the direction of a slur can be specified with
394 @code{\slur@emph{DIR}}, where @code{@emph{DIR}} is either
395 @code{Up}, @code{Down}, or @code{Neutral} (automatically
396 selected).  The shorthands are also available: by adding
397 @code{_} or @code{^} before the opening parentheses, the direction
398 is also set.  
399
400 @lilypond[relative=2,ragged-right,quote,verbatim,fragment]
401 c4_( c) c^( c)
402 @end lilypond
403
404 Only one slur can be printed at once.  If you need to print a long
405 slur over a few small slurs, please see @ref{Phrasing slurs}.
406
407
408 @commonprop
409
410 Some composers write two slurs when they want legato chords.  This
411 can be achieved in LilyPond by setting @code{doubleSlurs},
412
413 @lilypond[verbatim,ragged-right,relative,fragment,quote]
414 \set doubleSlurs = ##t
415 <c e>4 ( <d f> <c e> <d f> )
416 @end lilypond
417
418
419 @refcommands
420
421 @funindex \slurUp
422 @code{\slurUp},
423 @funindex \slurDown
424 @code{\slurDown},
425 @funindex \slurNeutral
426 @code{\slurNeutral},
427 @funindex \slurDashed
428 @code{\slurDashed},
429 @funindex \slurDotted
430 @code{\slurDotted},
431 @funindex \slurSolid
432 @code{\slurSolid}.
433
434 @seealso
435
436 Snippets: @lsrdir{expressive}
437
438 Internals Reference: @internalsref{Slur}.
439
440
441 @node Phrasing slurs
442 @unnumberedsubsubsec Phrasing slurs
443
444 @cindex phrasing slurs
445 @cindex phrasing marks
446
447 A phrasing slur (or phrasing mark) connects notes and is used to
448 indicate a musical sentence.  It is written using @code{\(} and
449 @code{\)} respectively:
450
451 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
452 \time 6/4 c'\( d( e) f( e) d\)
453 @end lilypond
454
455 Typographically, the phrasing slur behaves almost exactly like a
456 normal slur.  However, they are treated as different objects.  A
457 @code{\slurUp} will have no effect on a phrasing slur; instead,
458 use @code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
459 @code{\phrasingSlurNeutral}, or use the shorthands @code{_} and
460 @code{^}.
461
462 You cannot have simultaneous phrasing slurs.
463
464
465 @refcommands
466
467 @funindex \phrasingSlurUp
468 @code{\phrasingSlurUp},
469 @funindex \phrasingSlurDown
470 @code{\phrasingSlurDown},
471 @funindex \phrasingSlurNeutral
472 @code{\phrasingSlurNeutral}.
473
474
475 @seealso
476
477 Snippets: @lsrdir{expressive}
478
479 Internals Reference: @internalsref{PhrasingSlur}.
480
481
482 @node Breath marks
483 @unnumberedsubsubsec Breath marks
484
485 Breath marks are entered using @code{\breathe}
486
487 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
488 c'4 \breathe d4
489 @end lilypond
490
491
492 @commonprop
493
494 The glyph of the breath mark can be tuned by overriding the
495 @code{text} property of the @code{BreathingSign} layout object
496 with any markup text.  For example,
497
498 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
499 c'4
500 \override BreathingSign #'text
501   = #(make-musicglyph-markup "scripts.rvarcomma")
502 \breathe
503 d4
504 @end lilypond
505
506 @seealso
507
508 Snippets: @lsrdir{expressive}
509
510 Internals Reference: @internalsref{BreathingSign}.
511
512 Examples: @lsr{expressive,breathing-sign.ly}
513
514
515 @node Falls and doits
516 @unnumberedsubsubsec Falls and doits
517
518 Falls and doits can be added to notes using the @code{\bendAfter}
519 command,
520
521 @lilypond[fragment,ragged-right,relative=2]
522 \override Score.SpacingSpanner #'shortest-duration-space = #3.0
523 c4-\bendAfter #+5
524 c4-\bendAfter #-3
525 @end lilypond
526
527 @node Lines
528 @subsection Lines
529
530 @menu
531 * Glissando::                   
532 * Arpeggio::                    
533 * Trills::                      
534 @end menu
535
536 @node Glissando
537 @unnumberedsubsubsec Glissando
538
539 @cindex Glissando
540 @funindex \glissando
541
542 A glissando is a smooth change in pitch.  It is denoted by a line
543 or a wavy line between two notes.  It is requested by attaching
544 @code{\glissando} to a note
545
546 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
547 c2\glissando c'
548 \override Glissando #'style = #'zigzag
549 c2\glissando c,
550 @end lilypond
551
552 @commonprop
553
554
555 @lilypond[quote,ragged-right,verbatim]
556 I = \once \override NoteColumn #'ignore-collision = ##t
557
558 \relative <<
559   { \oneVoice \stemDown f2 \glissando \stemNeutral a } \\
560   { \oneVoice \I c2 \glissando \I d, }
561 >>
562 @end lilypond
563
564
565
566 @seealso
567
568 Snippets: @lsrdir{expressive}
569
570 Internals Reference: @internalsref{Glissando}.
571
572 Glossary: @rglos{falls}, @rglos{doits}
573 Example files:
574 @lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly}
575
576
577 @refbugs
578
579 Printing text over the line (such as @emph{gliss.}) is not
580 supported.
581
582
583 @node Arpeggio
584 @unnumberedsubsubsec Arpeggio
585
586 @cindex Arpeggio
587 @cindex broken chord
588 @funindex \arpeggio
589
590 You can specify an arpeggio sign (also known as broken chord) on a
591 chord by attaching an @code{\arpeggio} to the chord:
592
593 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
594 <c e g c>\arpeggio
595 @end lilypond
596
597 A square bracket on the left is used to indicate that the chord should
598 @emph{not} be arpeggiated:
599
600 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
601 \arpeggioBracket
602 <c' e g c>\arpeggio
603 @end lilypond
604
605 The direction of the arpeggio can be denoted by adding an
606 arrowhead to the wiggly line. This is done with the commands
607 @code{arpeggioUp} and @code{arpeggioDown}. @code{arpeggioNeutral}
608 reverts to the arrow-less version:
609
610 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
611 \new Voice {
612   \arpeggioUp
613   <c e g c>\arpeggio
614   \arpeggioDown
615   <c e g c>\arpeggio
616   \arpeggioNeutral
617   <c e g c>\arpeggio
618 }
619 @end lilypond
620
621
622 @commonprop
623
624 In a @code{PianoStaff}, it is possible to let an arpeggio cross
625 between the staves by setting the property
626 @internalsref{PianoStaff}.@code{connectArpeggios}. 
627
628 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
629 \new PianoStaff <<
630   \set PianoStaff.connectArpeggios = ##t
631   \new Staff { <c' e g c>\arpeggio }
632   \new Staff { \clef bass <c,, e g>\arpeggio }
633 >>
634 @end lilypond
635
636 The same can be accomplished in contexts other than
637 @code{PianoStaff} if the @code{Span_arpeggio_engraver} is included
638 in the Score context.
639
640 @lilypond[quote,ragged-right,verbatim]
641 \score {
642   \new StaffGroup {
643     \set Score.connectArpeggios = ##t
644     <<
645       \new Voice \relative c' {
646         <e g>4\arpeggio
647       }
648       \new Voice  \relative c {
649         \clef bass
650         <c e>4\arpeggio
651       }
652     >>
653   }
654   \layout {
655     \context {
656       \Score 
657       \consists "Span_arpeggio_engraver"
658     } 
659   }
660 }
661 @end lilypond
662
663 Similarly,  an arpeggio can be drawn across notes in
664 different voices on the same staff if the Span_arpeggio_engraver
665 is moved to the Staff context:
666
667 @lilypond[quote,ragged-right,verbatim]
668 \new Staff
669 \with {
670   \consists "Span_arpeggio_engraver"
671 } \relative c' {
672   \set Staff.connectArpeggios = ##t
673     <<
674     {<e' g>4\arpeggio <d f> <d f>2 }
675   \\
676   {<d, f>2\arpeggio  <g b>2  }
677   >>
678 }
679 @end lilypond
680
681
682
683 @refcommands
684
685 @code{\arpeggio},
686 @funindex \arpeggioUp
687 @code{\arpeggioUp},
688 @funindex \arpeggioDown
689 @code{\arpeggioDown},
690 @funindex \arpeggioNeutral
691 @code{\arpeggioNeutral},
692 @funindex \arpeggioBracket
693 @code{\arpeggioBracket}.
694
695
696 @seealso
697
698 Notation manual: @ref{Ties}, for writing out arpeggios.
699
700 Snippets: @lsrdir{expressive}
701
702 Internals Reference: @internalsref{Arpeggio}.
703
704
705 @refbugs
706
707 It is not possible to mix connected arpeggios and unconnected
708 arpeggios in one @internalsref{PianoStaff} at the same point in
709 time.
710
711
712 @node Trills
713 @unnumberedsubsubsec Trills
714
715 Short trills are printed with @code{\trill} like normal
716 articulation; see @ref{Articulations and ornamentations}.
717
718 Long running trills are made with @code{\startTrillSpan} and
719 @code{\stopTrillSpan}. In the following example, it is shown in
720 the common combination with grace notes.  If a more precise
721 control of the placement of the grace notes is needed, see
722 @ref{Grace notes}.
723
724 @lilypond[verbatim,ragged-right,relative=2,quote,fragment]
725 \relative c''
726 {c1 \afterGrace 
727 d1\startTrillSpan { c16[\stopTrillSpan d] }
728 c4 }
729 @end lilypond
730
731 @cindex Pitched trills
732
733 Trills that should be executed on an explicitly specified pitch
734 can be typeset with the command @code{pitchedTrill}, and the
735 syntax @code{\pitchedTrill} @var{mainnote}@code{\startTrillSpan}
736 @var{trillnote} @var{endnote} @code{\stopTrillSpan}.
737
738 @lilypond[ragged-right,verbatim,fragment,relative=1,quote]
739 \pitchedTrill e2 \startTrillSpan fis
740 d\stopTrillSpan
741 @end lilypond
742
743
744 @noindent
745 The first argument is the main note.  The pitch of the second is
746 printed as a stemless note head in parentheses.
747
748
749 @refcommands
750
751 @code{\startTrillSpan},
752 @funindex \startTrillSpan
753 @code{\stopTrillSpan}.
754 @funindex \stopTrillSpan
755
756
757 @seealso
758
759 Snippets: @lsrdir{expressive}
760
761 Internals Reference: @internalsref{TrillSpanner}.
762
763
764
765