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