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