]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/expressive.itely
Merge branch 'master' of git://git.sv.gnu.org/lilypond
[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 e\> d e f\!
291 \setTextDecr
292 c\> d e f\!
293 \setTextDim
294 e\> d c b\!
295 @end lilypond
296
297 You can also supply your own texts and change the style of the
298 spanner line with the properties @code{\crescendoText},
299 @code{\crescendoSpanner}, @code{\decrescendoText}, and
300 @code{\decrescendoSpanner}. Available values for the spanner
301 properties are @code{hairpin}, @code{line}, @code{dashed-line},
302 and @code{dotted-line}. If unset, a hairpin crescendo is used:
303
304 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
305 \set crescendoText = \markup { \italic "cresc. poco" }
306 \set crescendoSpanner = #'dotted-line
307 a'2\< a a a a a a a\!\mf
308 @end lilypond
309
310
311 To create new dynamic marks or text that should be aligned with
312 dynamics, see @ref{New dynamic marks}.
313
314 Vertical positioning of dynamics is handled by
315 @internalsref{DynamicLineSpanner}.
316
317
318 @commonprop
319
320 Dynamics that occur at, begin on, or end on the same note will be
321 vertically aligned.  If you want to ensure that dynamics are
322 aligned when they do not occur on the same note, you can increase
323 the @code{staff-padding} property.
324
325 @example
326 \override DynamicLineSpanner #'staff-padding = #4
327 @end example
328
329 You may also use this property if the dynamics are colliding with
330 other notation.
331
332 Crescendi and decrescendi that cross a line break will be
333 continued on the second line.  If they end on the first note of a
334 new line, nothing will be printed on that line.  To change this
335 behavior, use
336
337 @example
338 \override Score.Hairpin #'after-line-breaking = ##t
339 @end example
340
341 Text style dynamic changes (such as @emph{cresc.} and @emph{dim.})
342 are printed with a dashed line showing their extent.  To surpress
343 printing this line, use
344
345 @example
346 \override DynamicTextSpanner #'dash-period = #-1.0
347 @end example
348
349
350 @refcommands
351
352 @funindex \dynamicUp
353 @code{\dynamicUp},
354 @funindex \dynamicDown
355 @code{\dynamicDown},
356 @funindex \dynamicNeutral
357 @code{\dynamicNeutral}.
358
359
360 @seealso
361
362 Snippets: @lsrdir{expressive}
363
364 Internals Reference: @internalsref{DynamicText},
365 @internalsref{Hairpin}.  Vertical positioning of these symbols is
366 handled by @internalsref{DynamicLineSpanner}.
367 Glossary: @rglos{Hairpin}, @rglos{crescendo}, @rglos{decrescendo}
368
369 @c TODO: add link to LM directions
370
371
372 @node Curves
373 @subsection Curves
374
375 @menu
376 * Slurs::                       
377 * Phrasing slurs::              
378 * Breath marks::                
379 * Falls and doits::             
380 @end menu
381
382 @node Slurs
383 @unnumberedsubsubsec Slurs
384
385 @cindex Slurs
386
387 A slur indicates that notes are to be played bound or
388 @emph{legato}.  They are entered using parentheses:
389
390 @lilypond[quote,ragged-right,relative=2,fragment,verbatim]
391 f( g a) a8 b( a4 g2 f4)
392 <c e>2( <b d>2)
393 @end lilypond
394
395 Just as with ties, the direction of a slur can be specified with
396 @code{\slur@emph{DIR}}, where @code{@emph{DIR}} is either
397 @code{Up}, @code{Down}, or @code{Neutral} (automatically
398 selected).  The shorthands are also available: by adding
399 @code{_} or @code{^} before the opening parentheses, the direction
400 is also set.  
401
402 @lilypond[relative=2,ragged-right,quote,verbatim,fragment]
403 c4_( c) c^( c)
404 @end lilypond
405
406 Only one slur can be printed at once.  If you need to print a long
407 slur over a few small slurs, please see @ref{Phrasing slurs}.
408
409
410 @commonprop
411
412 Some composers write two slurs when they want legato chords.  This
413 can be achieved in LilyPond by setting @code{doubleSlurs},
414
415 @lilypond[verbatim,ragged-right,relative,fragment,quote]
416 \set doubleSlurs = ##t
417 <c e>4 ( <d f> <c e> <d f> )
418 @end lilypond
419
420
421 @refcommands
422
423 @funindex \slurUp
424 @code{\slurUp},
425 @funindex \slurDown
426 @code{\slurDown},
427 @funindex \slurNeutral
428 @code{\slurNeutral},
429 @funindex \slurDashed
430 @code{\slurDashed},
431 @funindex \slurDotted
432 @code{\slurDotted},
433 @funindex \slurSolid
434 @code{\slurSolid}.
435
436 @seealso
437
438 Snippets: @lsrdir{expressive}
439
440 Internals Reference: @internalsref{Slur}.
441
442
443 @node Phrasing slurs
444 @unnumberedsubsubsec Phrasing slurs
445
446 @cindex phrasing slurs
447 @cindex phrasing marks
448
449 A phrasing slur (or phrasing mark) connects notes and is used to
450 indicate a musical sentence.  It is written using @code{\(} and
451 @code{\)} respectively:
452
453 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
454 \time 6/4 c'\( d( e) f( e) d\)
455 @end lilypond
456
457 Typographically, the phrasing slur behaves almost exactly like a
458 normal slur.  However, they are treated as different objects.  A
459 @code{\slurUp} will have no effect on a phrasing slur; instead,
460 use @code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
461 @code{\phrasingSlurNeutral}, or use the shorthands @code{_} and
462 @code{^}.
463
464 You cannot have simultaneous phrasing slurs.
465
466
467 @refcommands
468
469 @funindex \phrasingSlurUp
470 @code{\phrasingSlurUp},
471 @funindex \phrasingSlurDown
472 @code{\phrasingSlurDown},
473 @funindex \phrasingSlurNeutral
474 @code{\phrasingSlurNeutral}.
475
476
477 @seealso
478
479 Snippets: @lsrdir{expressive}
480
481 Internals Reference: @internalsref{PhrasingSlur}.
482
483
484 @node Breath marks
485 @unnumberedsubsubsec Breath marks
486
487 Breath marks are entered using @code{\breathe}
488
489 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
490 c'4 \breathe d4
491 @end lilypond
492
493
494 @commonprop
495
496 The glyph of the breath mark can be tuned by overriding the
497 @code{text} property of the @code{BreathingSign} layout object
498 with any markup text.  For example,
499
500 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
501 c'4
502 \override BreathingSign #'text
503   = #(make-musicglyph-markup "scripts.rvarcomma")
504 \breathe
505 d4
506 @end lilypond
507
508 @seealso
509
510 Snippets: @lsrdir{expressive}
511
512 Internals Reference: @internalsref{BreathingSign}.
513
514 Examples: @lsr{expressive,breathing-sign.ly}
515
516
517 @node Falls and doits
518 @unnumberedsubsubsec Falls and doits
519
520 Falls and doits can be added to notes using the @code{\bendAfter}
521 command,
522
523 @lilypond[fragment,ragged-right,relative=2]
524 \override Score.SpacingSpanner #'shortest-duration-space = #3.0
525 c4-\bendAfter #+5
526 c4-\bendAfter #-3
527 @end lilypond
528
529 @node Lines
530 @subsection Lines
531
532 @menu
533 * Glissando::                   
534 * Arpeggio::                    
535 * Trills::                      
536 @end menu
537
538 @node Glissando
539 @unnumberedsubsubsec Glissando
540
541 @cindex Glissando
542 @funindex \glissando
543
544 A glissando is a smooth change in pitch.  It is denoted by a line
545 or a wavy line between two notes.  It is requested by attaching
546 @code{\glissando} to a note
547
548 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
549 c2\glissando c'
550 \override Glissando #'style = #'zigzag
551 c2\glissando c,
552 @end lilypond
553
554 @commonprop
555
556
557 @lilypond[quote,ragged-right,verbatim]
558 I = \once \override NoteColumn #'ignore-collision = ##t
559
560 \relative <<
561   { \oneVoice \stemDown f2 \glissando \stemNeutral a } \\
562   { \oneVoice \I c2 \glissando \I d, }
563 >>
564 @end lilypond
565
566
567
568 @seealso
569
570 Snippets: @lsrdir{expressive}
571
572 Internals Reference: @internalsref{Glissando}.
573
574 Glossary: @rglos{falls}, @rglos{doits}
575 Example files:
576 @lsr{expressive,glissando.ly}, @lsr{expressive,line-styles.ly}
577
578
579 @refbugs
580
581 Printing text over the line (such as @emph{gliss.}) is not
582 supported.
583
584
585 @node Arpeggio
586 @unnumberedsubsubsec Arpeggio
587
588 @cindex Arpeggio
589 @cindex broken chord
590 @funindex \arpeggio
591
592 You can specify an arpeggio sign (also known as broken chord) on a
593 chord by attaching an @code{\arpeggio} to the chord:
594
595 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
596 <c e g c>\arpeggio
597 @end lilypond
598
599 A square bracket on the left is used to indicate that the chord should
600 @emph{not} be arpeggiated:
601
602 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
603 \arpeggioBracket
604 <c' e g c>\arpeggio
605 @end lilypond
606
607 The direction of the arpeggio can be denoted by adding an
608 arrowhead to the wiggly line. This is done with the commands
609 @code{arpeggioUp} and @code{arpeggioDown}. @code{arpeggioNeutral}
610 reverts to the arrow-less version:
611
612 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
613 \new Voice {
614   \arpeggioUp
615   <c e g c>\arpeggio
616   \arpeggioDown
617   <c e g c>\arpeggio
618   \arpeggioNeutral
619   <c e g c>\arpeggio
620 }
621 @end lilypond
622
623
624 @commonprop
625
626 In a @code{PianoStaff}, it is possible to let an arpeggio cross
627 between the staves by setting the property
628 @internalsref{PianoStaff}.@code{connectArpeggios}. 
629
630 @lilypond[quote,ragged-right,fragment,relative=1,verbatim]
631 \new PianoStaff <<
632   \set PianoStaff.connectArpeggios = ##t
633   \new Staff { <c' e g c>\arpeggio }
634   \new Staff { \clef bass <c,, e g>\arpeggio }
635 >>
636 @end lilypond
637
638 The same can be accomplished in contexts other than
639 @code{PianoStaff} if the @code{Span_arpeggio_engraver} is included
640 in the Score context.
641
642 @lilypond[quote,ragged-right,verbatim]
643 \score {
644   \new StaffGroup {
645     \set Score.connectArpeggios = ##t
646     <<
647       \new Voice \relative c' {
648         <e g>4\arpeggio
649       }
650       \new Voice  \relative c {
651         \clef bass
652         <c e>4\arpeggio
653       }
654     >>
655   }
656   \layout {
657     \context {
658       \Score 
659       \consists "Span_arpeggio_engraver"
660     } 
661   }
662 }
663 @end lilypond
664
665 Similarly,  an arpeggio can be drawn across notes in
666 different voices on the same staff if the Span_arpeggio_engraver
667 is moved to the Staff context:
668
669 @lilypond[quote,ragged-right,verbatim]
670 \new Staff
671 \with {
672   \consists "Span_arpeggio_engraver"
673 } \relative c' {
674   \set Staff.connectArpeggios = ##t
675     <<
676     {<e' g>4\arpeggio <d f> <d f>2 }
677   \\
678   {<d, f>2\arpeggio  <g b>2  }
679   >>
680 }
681 @end lilypond
682
683
684
685 @refcommands
686
687 @code{\arpeggio},
688 @funindex \arpeggioUp
689 @code{\arpeggioUp},
690 @funindex \arpeggioDown
691 @code{\arpeggioDown},
692 @funindex \arpeggioNeutral
693 @code{\arpeggioNeutral},
694 @funindex \arpeggioBracket
695 @code{\arpeggioBracket}.
696
697
698 @seealso
699
700 Notation manual: @ref{Ties}, for writing out arpeggios.
701
702 Snippets: @lsrdir{expressive}
703
704 Internals Reference: @internalsref{Arpeggio}.
705
706
707 @refbugs
708
709 It is not possible to mix connected arpeggios and unconnected
710 arpeggios in one @internalsref{PianoStaff} at the same point in
711 time.
712
713
714 @node Trills
715 @unnumberedsubsubsec Trills
716
717 Short trills are printed with @code{\trill} like normal
718 articulation; see @ref{Articulations and ornamentations}.
719
720 Long running trills are made with @code{\startTrillSpan} and
721 @code{\stopTrillSpan}. In the following example, it is shown in
722 the common combination with grace notes.  If a more precise
723 control of the placement of the grace notes is needed, see
724 @ref{Grace notes}.
725
726 @lilypond[verbatim,ragged-right,relative=2,quote,fragment]
727 \relative c''
728 {c1 \afterGrace 
729 d1\startTrillSpan { c16[\stopTrillSpan d] }
730 c4 }
731 @end lilypond
732
733 @cindex Pitched trills
734
735 Trills that should be executed on an explicitly specified pitch
736 can be typeset with the command @code{pitchedTrill}, and the
737 syntax @code{\pitchedTrill} @var{mainnote}@code{\startTrillSpan}
738 @var{trillnote} @var{endnote} @code{\stopTrillSpan}.
739
740 @lilypond[ragged-right,verbatim,fragment,relative=1,quote]
741 \pitchedTrill e2 \startTrillSpan fis
742 d\stopTrillSpan
743 @end lilypond
744
745
746 @noindent
747 The first argument is the main note.  The pitch of the second is
748 printed as a stemless note head in parentheses.
749
750
751 @refcommands
752
753 @code{\startTrillSpan},
754 @funindex \startTrillSpan
755 @code{\stopTrillSpan}.
756 @funindex \stopTrillSpan
757
758
759 @seealso
760
761 Snippets: @lsrdir{expressive}
762
763 Internals Reference: @internalsref{TrillSpanner}.
764
765
766
767