]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/notation.itely
cb15cd64b322b7f845fb9f4c77dedf15ed9c906c
[lilypond.git] / Documentation / user / notation.itely
1 @c Note: -*-texinfo-*-
2 @c This file is part of lilypond.tely
3
4 @c A menu is needed before every deeper *section nesting of @node's; run
5 @c     M-x texinfo-all-menus-update
6 @c to automatically fill in these menus before saving changes
7
8 @node Notation manual
9 @chapter Notation manual
10
11 This chapter describes all the different types of notation supported
12 by LilyPond. It is intended as a reference for users that are already
13 somewhat familiar with LilyPond.
14
15 @menu
16 * Note entry::                  
17 * Easier music entry::          
18 * Staff notation::              
19 * Polyphony::                   
20 * Beaming::                     
21 * Accidentals::                 
22 * Expressive marks::            
23 * Repeats::                     
24 * Rhythmic music::              
25 * Piano music::                 
26 * Vocal music::                 
27 * Tablatures::                  
28 * Chord names::                 
29 * Orchestral music::            
30 * Ancient notation::            
31 * Contemporary notation::       
32 * Special notation::            
33 * Sound::                       
34 @end menu
35
36 @c FIXME: Note entry vs Music entry at top level menu is confusing.
37
38 @node Note entry
39 @section Note entry
40 @cindex Note entry
41
42 This section is about basic notation elements notes, rests and
43 related constructs, such as stems, tuplets and ties.
44
45 @menu
46 * Notes::                       
47 * Pitches::                     
48 * Chromatic alterations::       
49 * Chords::                      
50 * Rests::                       
51 * Skips::                       
52 * Durations::                   
53 * Stems::                       
54 * Ties::                        
55 * Tuplets::                     
56 @end menu
57
58
59 @node Notes
60 @subsection Notes
61
62
63 A note is printed by specifying its pitch and then its duration:
64 @footnote{Notes constitute the most basic elements of LilyPond input,
65 but they do not form valid input on their own without a @code{\score}
66 block.  However, for the sake of brevity and simplicity we will
67 generally omit @code{\score} blocks and @code{\paper} declarations in
68 this manual.}
69
70 @lilypond[fragment,verbatim]
71   cis'4 d'8 e'16 c'16
72 @end lilypond
73
74
75 @node Pitches
76 @subsection Pitches
77
78 @cindex Pitch names
79 @cindex Note specification
80 @cindex pitches
81 @cindex entering notes
82
83 The most common syntax for pitch entry is used in @code{\chords} and
84 @code{\notes} mode.  In these modes, pitches may be designated by
85 names.  The notes are specified by the letters @code{a} through
86 @code{g}, while the octave is formed with notes ranging from @code{c}
87 to @code{b}.  The pitch @code{c} is an octave below middle C and the
88 letters span the octave above that C:
89
90 @lilypond[fragment,verbatim]
91 \clef bass
92   a,4 b, c d e f g a b c' d' e' \clef treble f' g' a' b' c''
93 @end lilypond
94
95 @cindex note names, Dutch
96
97 A sharp is formed by adding @code{-is} to the end of a pitch name and
98 a flat is formed by adding @code{-es}.  Double sharps and double flats
99 are obtained by adding @code{-isis} or @code{-eses}.  These
100 names are the Dutch note names.  In Dutch, @code{aes} is contracted to
101 @code{as}, but both forms are accepted. Similarly, both
102 @code{es} and @code{ees} are accepted.
103
104 Half-flats and half-sharps are formed by adding @code{-eh} and
105 @code{-ih}; the following is a series of Cs with increasing pitches:
106
107 @cindex quarter tones
108 @cindex semi-flats, semi-sharps
109
110 @lilypond[verbatim,relative=2]
111   ceses4
112   ceseh
113   ces
114   ceh
115   c
116   cih
117   cis 
118   cisih
119   cisis
120 @end lilypond  
121
122 There are predefined sets of note names for various other languages.
123 To use them,  include the language specific init file.  For
124 example: @code{\include "english.ly"}.  The available language files
125 and the note names they define are:
126
127 @anchor{note name}
128 @anchor{note names}
129 @example 
130                         Note Names               sharp       flat
131 nederlands.ly  c   d   e   f   g   a   bes b   -is         -es
132 english.ly     c   d   e   f   g   a   bf  b   -s/-sharp   -f/-flat
133                                                -x (double)
134 deutsch.ly     c   d   e   f   g   a   b   h   -is         -es
135 norsk.ly       c   d   e   f   g   a   b   h   -iss/-is    -ess/-es
136 svenska.ly     c   d   e   f   g   a   b   h   -iss        -ess
137 italiano.ly    do  re  mi  fa  sol la  sib si  -d          -b
138 catalan.ly     do  re  mi  fa  sol la  sib si  -d/-s       -b 
139 espanol.ly     do  re  mi  fa  sol la  sib si  -s          -b 
140
141 @end example 
142
143 @cindex @code{'}
144 @cindex @code{,}
145
146
147
148 The optional octave specification takes the form of a series of
149 single quote (`@code{'}') characters or a series of comma
150 (`@code{,}') characters.  Each @code{'} raises the pitch by one
151 octave; each @code{,} lowers the pitch by an octave:
152
153 @lilypond[fragment,verbatim]
154   c' c'' es' g' as' gisis' ais'  
155 @end lilypond
156
157
158 @refcommands
159
160 Notes can be hidden and unhidden with the following commands:
161
162 @cindex @code{\hideNotes}
163 @code{\hideNotes}, 
164 @cindex @code{\unHideNotes}
165 @code{\unHideNotes}.
166
167
168 @seealso
169
170 Program reference: @internalsref{NoteEvent}, and @internalsref{NoteHead}.
171
172 @node Chromatic alterations
173 @subsection Chromatic alterations
174
175 Normally accidentals are printed automatically, but you may also
176 print them manually.  A reminder accidental
177 @cindex reminder accidental
178 @cindex @code{?}
179 can be forced by adding an exclamation mark @code{!}
180 after the pitch.  A cautionary accidental
181 @cindex cautionary accidental
182 @cindex parenthesized accidental
183 (i.e. an accidental within parentheses) can be obtained by adding the
184 question mark `@code{?}' after the pitch:
185
186 @lilypond[fragment,verbatim]
187   cis' cis' cis'! cis'?
188 @end lilypond
189
190
191 @seealso
192
193 The automatic production of accidentals can be tuned in many
194 ways. For more information, refer to @ref{Accidentals}.
195
196
197 @refbugs
198
199 There are no generally accepted standards for denoting three quarter
200 flats, so LilyPond's symbol does not conform to any standard.
201
202 @node Chords
203 @subsection Chords
204
205 A chord is formed by a enclosing a set of pitches in @code{<} and
206 @code{>}. A chord may be followed by  a duration, and a set of
207 articulations, just like simple notes.
208
209 @lilypond[relative]
210  <c e g>4 <c>8 <>8 
211 @end lilypond
212
213 @node Rests
214 @subsection Rests
215 @cindex Rests
216
217
218
219
220 Rests are entered like notes, with the note name @code{r}:
221
222 @lilypond[raggedright,verbatim]
223 r1 r2 r4 r8
224 @end lilypond
225
226 Whole bar rests, centered in middle of the bar,
227 must be done  with multi-measure rests. They are discussed in
228 @ref{Multi measure rests}.
229
230
231 A rest's vertical position may be explicitly specified by entering a
232 note with the @code{\rest} keyword appended. This makes manual
233 formatting in polyphonic music easier.  Rest collision testing will
234 leave these rests alone:
235
236 @lilypond[raggedright,verbatim]
237 a'4\rest d'4\rest
238 @end lilypond
239
240 @seealso
241
242 Program reference: @internalsref{RestEvent}, and @internalsref{Rest}.
243
244
245 @c FIXME: naming.
246 @node Skips
247 @subsection Skips
248 @cindex Skip
249 @cindex Invisible rest
250 @cindex Space note
251
252 An invisible rest (also called a `skip') can be entered like a note
253 with note name `@code{s}' or with @code{\skip @var{duration}}:
254
255 @lilypond[raggedright,verbatim]
256 a2 s4 a4 \skip 1 a4 
257 @end lilypond
258
259 The @code{s} syntax is only available in note mode and chord mode.  In
260 other situations, you should use the @code{\skip} command:
261
262 @lilypond[raggedright,verbatim]
263 \score {
264   \new Staff <<
265     { \time 4/8 \skip 2 \time 4/4 } 
266     \notes\relative c'' { a2 a1 }
267   >>
268 }
269 @end lilypond
270
271 The skip command is merely an empty musical placeholder.  It does not
272 produce any output, not even transparent output.
273
274 The @code{s} skip command does create @internalsref{Staff} and
275 @internalsref{Voice} when necessary, similar to note and rest
276 commands. For example, the following results in an empty staff.
277
278 @lilypond[raggedright,verbatim]
279 \score { \notes { s4 } } 
280 @end lilypond
281
282 The same fragment using @code{\skip} results in an empty page.
283
284 @seealso
285
286 Program reference: @internalsref{SkipEvent}, @internalsref{SkipMusic}.
287
288
289
290 @node Durations
291 @subsection Durations
292
293
294 @cindex duration
295
296
297 In Note, Chord, and Lyrics mode, durations are designated by numbers
298 and dots: durations are entered as their reciprocal values.  For example,
299 a quarter note is entered using a @code{4} (since it is a 1/4 note), while
300 a half note is entered using a @code{2} (since it is a 1/2 note).  For notes
301 longer than a whole you must use variables:
302
303 @example 
304 c'\breve  
305 c'1 c'2 c'4 c'8 c'16 c'32 c'64 c'64 
306 r\longa r\breve  
307 r1 r2 r4 r8 r16 r32 r64 r64 
308 @end example 
309
310 @lilypond[noindent]
311 \score {
312   \notes \relative c'' {
313     a\breve*1/2  \autoBeamOff
314     a1 a2 a4 a8 a16 a32 a64 a64 
315     r\longa*1/4 r\breve  *1/2
316     r1 r2 r4 r8 r16 r32 r64 r64 
317   }
318   \paper {
319     raggedright = ##t
320     \context {
321       \StaffContext
322         \remove "Clef_engraver"
323         \override StaffSymbol #'transparent = ##t 
324         \override TimeSignature #'transparent = ##t
325         \override BarLine #'transparent = ##t
326         \consists "Pitch_squash_engraver"
327     }
328   }
329 }
330 @end lilypond
331
332
333 If the duration is omitted then it is set to the previously entered
334 duration. The default for the first note is a quarter note.  The duration
335 can be followed by dots (`@code{.}') in order to obtain dotted note
336 lengths:
337 @cindex @code{.}
338
339 @lilypond[fragment,verbatim]
340   a' b' c''8 b' a'4 a'4. b'4.. c'8.
341 @end lilypond
342 @cindex @code{r}
343 @cindex @code{s}
344
345 You can alter the length of duration by a fraction @var{N/M}
346 appending `@code{*}@var{N/M}' (or `@code{*}@var{N}' if @var{M=1}). This
347 will not affect the appearance of the notes or rests produced.
348 In the following example, the first three notes take up exactly two
349 beats:
350 @lilypond[fragment,relative=2,verbatim]
351   \time 2/4
352    a4*2/3 gis4*2/3 a4*2/3
353    a4
354 @end lilypond
355
356
357 @refcommands
358
359 Dots are normally moved up to avoid staff lines, except in polyphonic
360 situations. The following commands may be used to force a particular
361 direction manually:
362
363 @cindex @code{\dotsUp}
364 @code{\dotsUp}, 
365 @cindex @code{\dotsDown}
366 @code{\dotsDown}, 
367 @cindex @code{\dotsBoth}
368 @code{\dotsBoth}.
369
370 @seealso
371
372 Program reference: @internalsref{Dots}, and @internalsref{DotColumn}. 
373
374 @node Stems
375 @subsection Stems
376
377 Whenever a note is found, a @internalsref{Stem} object is created
378 automatically. For whole notes and rests, they are also created but
379 made invisible.
380
381 @refcommands
382
383 @cindex @code{\stemUp}
384 @code{\stemUp}, 
385 @cindex @code{\stemDown}
386 @code{\stemDown}, 
387 @cindex @code{\stemBoth}
388 @code{\stemBoth}. 
389
390
391 @node Ties
392 @subsection Ties
393
394 @cindex Tie
395 @cindex ties
396 @cindex @code{~}
397
398 A tie connects two adjacent note heads of the same pitch.  The tie in
399 effect extends the length of a note.  Ties should not be confused with
400 slurs, which indicate articulation, or phrasing slurs, which indicate
401 musical phrasing.  A tie is entered using the tilde symbol `@code{~}':
402
403 @lilypond[fragment,verbatim]
404   e' ~ e' <c' e' g'> ~ <c' e' g'>
405 @end lilypond
406
407 When a tie is applied to a chord, all note heads whose pitches match
408 are connected.  When no note heads match, no ties will be created.
409
410 In its meaning a tie is just a way of extending a note duration, similar
411 to the augmentation dot; in the following example there are two ways of 
412 notating exactly the same concept:
413 @c
414 @lilypond[fragment,raggedright]
415 \time 3/4 c'2. c'2 ~ c'4
416 @end lilypond
417 If you need to tie a lot of  notes over bars, it may be easier to use automatic
418 note splitting (see @ref{Automatic note splitting}).
419
420 @refcommands
421
422
423 @cindex @code{\tieUp}
424 @code{\tieUp}, 
425 @cindex @code{\tieDown}
426 @code{\tieDown}, 
427 @cindex @code{\tieBoth}
428 @code{\tieBoth}, 
429 @cindex @code{\tieDotted}
430 @code{\tieDotted}, 
431 @cindex @code{\tieSolid}
432 @code{\tieSolid}.
433
434 @seealso 
435
436 In this manual: @ref{Automatic note splitting}.
437
438 Program reference: @internalsref{TieEvent}, @internalsref{Tie}.
439
440 For tying only a subset of the note heads of a pair of chords, see
441 @inputfileref{input/regression,tie-chord-partial.ly}.
442
443 @refbugs
444
445
446 Switching staves when a tie is active will not produce a slanted tie.
447
448 Formatting of ties is a difficult subject. The results are often not
449 optimal.
450
451
452
453 @node Tuplets
454 @subsection Tuplets
455
456 @cindex tuplets
457 @cindex triplets
458 @cindex @code{\times}
459
460 Tuplets are made out of a music expression by multiplying all durations
461 with a fraction:
462
463 @cindex @code{\times}
464 @example
465   \times @var{fraction} @var{musicexpr}
466 @end example
467
468 @noindent
469 The duration of @var{musicexpr} will be multiplied by the fraction.
470 The fraction's denominator will be printed over the notes, optionally
471 with a bracket.  The most common tuplet is the triplet in which 3
472 notes have the length of 2, so the notes are 2/3 of their written
473 length:
474
475 @lilypond[fragment,verbatim]
476   g'4 \times 2/3 {c'4 c' c'} d'4 d'4
477 @end lilypond
478
479 The property @code{tupletSpannerDuration} specifies how long each
480 bracket should last.  With this, you can make lots of tuplets while
481 typing @code{\times} only once, saving lots of typing. In the next
482 example, there are two triplets shown, while @code{\times} was only
483 used once:
484
485 @lilypond[fragment,relative,raggedright,verbatim]
486 \set tupletSpannerDuration = #(ly:make-moment 1 4)
487 \times 2/3 { c'8 c c c c c }
488 @end lilypond
489
490 The format of the number is determined by the property
491 @code{tupletNumberFormatFunction}.  The default prints only the
492 denominator, but if it is set to the Scheme function
493 @code{fraction-tuplet-formatter}, @var{num}:@var{den} will be printed
494 instead.
495
496
497 @cindex @code{tupletNumberFormatFunction}
498 @cindex tuplet formatting 
499
500
501 @refcommands
502
503 @cindex @code{\tupletUp}
504 @code{\tupletUp}, 
505 @cindex @code{\tupletDown}
506 @code{\tupletDown}, 
507 @cindex @code{\tupletBoth}
508 @code{\tupletBoth}.
509
510 @seealso
511
512 Program reference: @internalsref{TupletBracket}, and @internalsref{TimeScaledMusic}.
513
514 Examples: @inputfileref{input/regression,tuplet-nest.ly}.
515
516 @refbugs
517
518 Nested tuplets are not formatted automatically.  In this case, outer
519 tuplet brackets should be moved manually, which is demonstrated in
520 @inputfileref{input/regression,tuplet-nest.ly}.
521
522
523
524 @node Easier music entry
525 @section Easier music entry
526 @cindex Music entry
527
528 This section deals with tricks and features of the input language that
529 were added solely to help entering music, finding and correcting
530 mistakes.  There are also external tools that make debugging easier.
531 See @ref{Point and click} for more information.
532
533 It is also possible to enter and edit music using other programs.  For
534 example, GUI interfaces, or MIDI sequencers. Refer to the LilyPond
535 website for more information.
536
537
538 @menu
539 * Relative octaves::            
540 * Octave check::                
541 * Bar check::                   
542 * Skipping corrected music::    
543 * Automatic note splitting::    
544 @end menu
545
546
547
548
549 @node Relative octaves
550 @subsection Relative octaves
551 @cindex Relative
552 @cindex relative octave specification
553
554 Octaves are specified by adding @code{'} and @code{,} to pitch names.
555 When you copy existing music, it is easy to accidentally put a pitch
556 in the wrong octave and hard to find such an error. The relative
557 octave mode prevents these errors: a single error puts the rest of the
558 piece off by one octave:
559
560 @cindex @code{\relative}
561 @example
562   \relative @var{startpitch} @var{musicexpr}
563 @end example
564
565 The octave of notes that appear in @var{musicexpr} are calculated as
566 follows: If no octave changing marks are used, the basic interval
567 between this and the last note is always taken to be a fourth or
568 less. This distance is determined without regarding alterations; a
569 @code{fisis} following a @code{ceses} will be put above the
570 @code{ceses}.
571
572 The octave changing marks @code{'} and @code{,} can be added to raise
573 or lower the pitch by an extra octave.  Upon entering relative mode,
574 an absolute starting pitch must be specified that will act as the
575 predecessor of the first note of @var{musicexpr}.
576
577 Here is the relative mode shown in action:
578 @lilypond[fragment,raggedright,verbatim]
579   \relative c'' {
580     b c d c b c bes a 
581   }
582 @end lilypond
583
584 Octave changing marks are used for intervals greater than a fourth:
585 @lilypond[fragment,verbatim]
586   \relative c'' {
587     c g c f, c' a, e'' }
588 @end lilypond
589
590 If the preceding item is a chord, the first note of the chord is used
591 to determine the first note of the next chord:
592
593 @lilypond[fragment,verbatim]
594   \relative c' {
595     c <c e g> 
596     <c' e g>
597     <c, e' g>
598   }
599 @end lilypond 
600 @cindex @code{\notes}
601
602 The pitch after the @code{\relative} contains a note name.  To parse
603 the note name as a pitch, it must surrounded by @code{\notes}
604
605 The relative conversion will not affect @code{\transpose},
606 @code{\chords} or @code{\relative} sections in its argument.  If you
607 want to use relative within transposed music, you must place an
608 additional @code{\relative} inside the @code{\transpose}.
609
610 @node Octave check
611 @subsection Octave check
612
613
614 Octave checks make octave errors easier to correct:  a note may be
615 followed by @code{=}@var{quotes} which indicates what its absolute
616 octave should be.  In the following example,
617 @example
618   \relative c'' @{ c='' b=' d,='' @}        
619 @end example
620
621 @noindent
622 @c take care with @code, adds confusing quotes.
623 the d will generate a warning, because a d'' is expected, but a d' is
624 found.  In the output, the octave is corrected for this and the
625 following notes.
626
627
628
629 There is also a syntax that is separate from the notes.
630 @example
631   \octave @var{pitch}
632 @end example
633
634 This checks that @var{pitch} (without octave) yields @var{pitch} (with
635 octave) in \relative mode. If not, a warning is printed, and the
636 octave is corrected, for example, the first check is passed
637 successfully.  The second check fails with an error message.  The
638 octave is adjusted so the following notes are in the correct octave
639 once again.
640 @example
641    \relative c' @{
642      e
643      \octave a'
644      \octave b'
645    @}
646 @end example
647
648
649 The octave of a note following an octave check is determined with
650 respect to the note preceding it. In the next fragment, the last note
651 is a @code{a'}, above middle C. Hence, the @code{\octave} check may
652 be deleted without changing the meaning of the piece.
653
654 @lilypond[verbatim,fragment] 
655    \relative c' {
656      e
657      \octave b
658      a        
659    }
660 @end lilypond
661
662 @node Bar check
663 @subsection Bar check
664 @cindex Bar check
665
666 @cindex bar check
667 @cindex @code{barCheckSynchronize}
668 @cindex @code{|}
669
670 Bar checks help detect errors in the durations.  A bar check is
671 entered using the bar symbol, `@code{|}'.  Whenever it is encountered
672 during interpretation, it should fall on a measure boundary.  If it
673 does not, a warning is printed.  In the next example, the second bar
674 check will signal an error:
675 @example
676   \time 3/4 c2 e4 | g2 | 
677 @end example
678
679 Bar checks can also be used in lyrics, for example 
680
681 @example
682   \lyrics @{
683     \time 2/4
684     Twin -- kle | Twin -- kle
685   @} 
686 @end example
687
688
689 @cindex skipTypesetting
690
691 Failed bar checks are caused by entering incorrect
692 durations. Incorrect durations often completely garble up the score,
693 especially if it is polyphonic, so you should start correcting the
694 score by scanning for failed bar checks and incorrect durations.  To
695 speed up this process, you can use @code{skipTypesetting}, described
696 in the next section.
697
698 @node Skipping corrected music
699 @subsection Skipping corrected music
700
701 The property @code{Score.skipTypesetting} can be used to switch on and
702 off typesetting completely during the interpretation phase. When
703 typesetting is switched off, the music is processed much more quickly.
704 This can be used to skip over the parts of a score that have already
705 been checked for errors:
706
707 @lilypond[fragment,raggedright,verbatim]
708 \relative c'' { c8 d
709 \set Score.skipTypesetting = ##t
710   e f g a g c, f e d
711 \set Score.skipTypesetting = ##f
712 c d b bes a g c2 } 
713 @end lilypond
714
715 @node Automatic note splitting
716 @subsection Automatic note splitting
717
718 Long notes can be converted automatically to tied notes.  This is done
719 by replacing the @internalsref{Note_heads_engraver} by the
720 @internalsref{Completion_heads_engraver}.
721 In the following examples, notes crossing the bar line are split and tied.
722
723
724 @lilypond[noindent,verbatim,relative=1]
725 \new Voice \with {
726       \remove "Note_heads_engraver"
727       \consists "Completion_heads_engraver"
728 } {
729   c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 
730 }
731 @end lilypond
732
733 This engraver splits all running notes at the bar line, and inserts
734 ties.  One of its uses is to debug complex scores: if the measures are
735 not entirely filled, then the ties exactly show how much each measure
736 is off.
737
738 @refbugs
739
740 Not all durations (especially those containing tuplets) can be
741 represented exactly; the engraver will not insert tuplets. 
742
743 @seealso
744
745 Examples: @inputfileref{input/regression,completion-heads.ly}.
746
747 Program reference: @internalsref{Completion_heads_engraver}.
748
749
750 @node Staff notation
751 @section Staff notation
752
753 This section describes music notation that occurs on staff level,
754 such as keys, clefs and time signatures.
755
756 @cindex Staff notation
757
758 @menu
759 * Staff symbol::                
760 * Key signature::               
761 * Clef::                        
762 * Ottava brackets::             
763 * Time signature::              
764 * Partial measures::            
765 * Unmetered music::             
766 * Bar lines::                   
767 @end menu
768
769 @node Staff symbol
770 @subsection Staff symbol
771
772 @cindex adjusting staff symbol
773
774 Notes, dynamic signs, etc. are grouped
775 with a set of horizontal lines, into a staff (plural `staves'). In our
776 system, these lines are drawn using a separate layout object called
777 staff symbol.  
778
779
780 @cindex staff lines, setting number of
781 @cindex staff lines, setting thickness of
782 @cindex thickness of staff lines, setting 
783 @cindex number of staff lines, setting 
784
785 @seealso
786
787 Program reference: @internalsref{StaffSymbol}.
788
789 Examples: @inputfileref{input/test,staff-lines.ly},
790 @inputfileref{input/test,staff-size.ly}.
791
792 @refbugs
793
794 If a staff is ended halfway a piece, the staff symbol may not end
795 exactly on the bar line.
796
797
798 @node Key signature
799 @subsection Key signature
800 @cindex Key signature
801
802 @cindex @code{\key}
803
804 The key signature indicates the scale in which a piece is played. It
805 is denoted by a set of alterations (flats or sharps) at the start of
806 the staff.
807
808
809 Setting or changing the key signature is done with the @code{\key}
810 command:
811 @example
812   @code{\key} @var{pitch} @var{type}
813 @end example
814
815 @cindex @code{\minor}
816 @cindex @code{\major}
817 @cindex @code{\minor}
818 @cindex @code{\ionian}
819 @cindex @code{\locrian}
820 @cindex @code{\aeolian}
821 @cindex @code{\mixolydian}
822 @cindex @code{\lydian}
823 @cindex @code{\phrygian}
824 @cindex @code{\dorian}
825
826 Here, @var{type} should be @code{\major} or @code{\minor} to get
827 @var{pitch}-major or @var{pitch}-minor, respectively.
828 The standard mode names @code{\ionian},
829 @code{\locrian}, @code{\aeolian}, @code{\mixolydian}, @code{\lydian},
830 @code{\phrygian}, and @code{\dorian} are also defined.
831
832 This command sets the context property
833 @internalsref{Staff}.@code{keySignature}.  Non-standard key signatures
834 can be specified by setting this property directly.
835
836 Accidentals and key signatures often confuse new users, because
837 unaltered notes get natural signs depending on the key signature. For
838 more information,   see  @ref{More about pitches}.
839
840 @refbugs
841
842 The ordering of a key cancellation is wrong when it is combined with
843 repeat bar lines. The cancellation is also printed after a line break.
844
845 @seealso
846
847 Program reference: @internalsref{KeyChangeEvent}, and @internalsref{KeySignature}.
848
849 @cindex @code{keySignature}
850
851
852 @node Clef
853 @subsection Clef
854 @cindex @code{\clef}
855
856 The clef indicates which lines of the staff correspond to which
857 pitches.
858
859
860 The clef can be set or changed with the @code{\clef} command:
861 @lilypond[fragment,verbatim]
862   \key f\major  c''2 \clef alto g'2
863 @end lilypond
864
865 Supported clef-names include:
866 @c Moved standard clefs to the top /MB
867 @table @code
868 @cindex treble clef
869 @cindex violin clef
870 @item treble, violin, G, G2
871 G clef on 2nd line
872 @item alto, C
873 @cindex alto clef 
874  C clef on 3rd line
875 @item tenor
876 @cindex tenor clef 
877  C clef on 4th line. 
878 @item bass, F
879 @cindex bass clef
880  F clef on 4th line
881 @item french
882 @cindex french clef
883  G clef on 1st line, so-called French violin clef
884 @item soprano
885 @cindex soprano clef
886  C clef on 1st line
887 @item mezzosoprano
888 @cindex mezzosoprano clef
889  C clef on 2nd line
890 @item baritone
891 @cindex baritone clef
892  C clef on 5th line
893 @item varbaritone
894 @cindex varbaritone clef
895  F clef on 3rd line
896 @item subbass
897 @cindex subbass clef
898  F clef on 5th line
899 @item percussion
900  percussion clef
901 @item tab
902  tablature clef
903 @end table
904
905 By adding @code{_8} or @code{^8} to the clef name, the clef is
906 transposed one octave down or up, respectively, and @code{_15} and
907 @code{^15} transposes by two octaves.  The argument @var{clefname}
908 must be enclosed in quotes when it contains underscores or digits. For
909 example,
910
911
912 @cindex choral tenor clef  
913 @lilypond[verbatim,fragment,relative]
914         \clef "G_8" c4
915 @end lilypond
916
917 This command is equivalent to setting @code{clefGlyph},
918 @code{clefPosition} (which controls the Y position of the clef),
919 @code{centralCPosition} and @code{clefOctavation}. A clef is printed
920 when any of these properties are changed.
921
922 @seealso
923
924 Program reference: the object for this symbol is @internalsref{Clef}.
925
926
927
928 @node Ottava brackets
929 @subsection Ottava brackets
930
931 ``Ottava'' brackets introduce an extra transposition of an octave for
932 the staff. They are created by invoking the function
933 @code{set-octavation}:
934
935 @cindex ottava
936 @cindex 15ma
937 @cindex octavation
938
939 @lilypond[verbatim,fragment]
940 \relative c''' {
941   a2 b
942   #(set-octavation 1)
943   a b 
944   #(set-octavation 0)
945   a b }
946 @end lilypond
947
948 The @code{set-octavation} function also takes -1 (for 8va bassa) and 2
949 (for 15ma) as arguments.  Internally the function sets the properties
950 @code{ottavation} (e.g. to @code{"8va"}) and
951 @code{centralCPosition}. For overriding the text of the bracket, set
952 @code{ottavation} after invoking @code{set-octavation}, i.e.,
953
954 @example
955   #(set-octavation 1)
956   \set Staff.ottavation = #"8"
957 @end example
958
959 @seealso
960
961 Program reference: @internalsref{OttavaBracket}.
962
963 Examples: @inputfileref{input/regression,ottava.ly},
964 @inputfileref{input/regression,ottava-broken.ly}.
965
966 @refbugs
967
968 @code{set-octavation} will get confused when clef changes happen
969 during an octavation bracket.
970
971 @node Time signature
972 @subsection Time signature
973 @cindex Time signature
974 @cindex meter
975 @cindex @code{\time}
976
977 Time signature indicates the metrum of a piece: a regular pattern of
978 strong and weak beats. It is denoted by a fraction at the start of the
979 staff.
980
981
982 The time signature is set or changed by the @code{\time}
983 command:
984 @lilypond[fragment,verbatim]
985  \time 2/4 c'2 \time 3/4 c'2. 
986 @end lilypond
987
988 The symbol that is printed can be customized with the @code{style}
989 property. Setting it to @code{#'()} uses fraction style for 4/4 and
990 2/2 time.  There are many more options for its layout.  See
991 @inputfileref{input/test,time.ly} for more examples.
992
993
994 This command sets the property @code{timeSignatureFraction},
995 @code{beatLength} and @code{measureLength} in the @code{Timing}
996 context, which is normally aliased to @internalsref{Score}.  The
997 property @code{measureLength} determines where bar lines should be
998 inserted, and how automatic beams should be generated.  Changing the
999 value of @code{timeSignatureFraction} also causes the symbol to be
1000 printed.
1001
1002 More options are available through the Scheme function
1003 @code{set-time-signature}. In combination with the
1004 @internalsref{Measure_grouping_engraver}, it will create
1005 @internalsref{MeasureGrouping} signs. Such signs ease reading
1006 rhythmically complex modern music.  In the following example, the 9/8
1007 measure is subdivided in 2, 2, 2 and 3. This is passed to
1008 @code{set-time-signature} as the third argument @code{(2 2 2 3)}:
1009
1010 @lilypond[verbatim]
1011 \score { \notes \relative c'' {
1012    #(set-time-signature 9 8 '(2 2 2 3))
1013    g8[ g] d[ d] g[ g] a8[( bes g]) | 
1014    #(set-time-signature 5 8 '(3 2))
1015    a4. g4
1016    }
1017    \paper {
1018        raggedright = ##t
1019        \context { \StaffContext
1020          \consists "Measure_grouping_engraver"
1021    }}}
1022 @end lilypond 
1023
1024 @seealso
1025
1026 Program reference: @internalsref{TimeSignature}, and @internalsref{Timing_engraver}.
1027
1028
1029 @refbugs
1030
1031 Automatic beaming does not use the measure grouping specified with
1032 @code{set-time-signature}.
1033
1034 @node Partial measures
1035 @subsection Partial measures
1036 @cindex Partial
1037 @cindex anacrusis
1038 @cindex partial measure
1039 @cindex measure, partial
1040 @cindex shorten measures
1041 @cindex @code{\partial}
1042
1043 Partial measures, for example in upsteps, are entered using the
1044 @code{\partial} command:
1045 @lilypond[fragment,verbatim,relative=1]
1046 \partial 16*5  c16 cis d dis e |   a2. c,4 | b2
1047 @end lilypond
1048
1049 The syntax for this command is 
1050 @example
1051   \partial @var{duration} 
1052 @end example
1053 This is  internally translated into
1054 @example
1055   \set Timing.measurePosition = -@var{length of duration}
1056 @end example
1057 @cindex @code{|}
1058 The property @code{measurePosition} contains a rational number
1059 indicating how much of the measure has passed at this point.
1060
1061 @node Unmetered music
1062 @subsection Unmetered music
1063
1064 Bar lines and bar numbers are calculated automatically. For unmetered
1065 music (e.g. cadenzas), this is not desirable.  By setting
1066 @code{Score.timing} to false, this automatic timing can be switched
1067 off. Empty bar lines,
1068
1069 @example
1070   \bar ""
1071 @end example
1072
1073 @noindent
1074 indicate where line breaks can occur.
1075
1076
1077
1078 @refcommands
1079
1080 @cindex @code{\cadenzaOn}
1081 @code{\cadenzaOn}, 
1082 @cindex @code{\cadenzaOff}
1083 @code{\cadenzaOff}.
1084
1085 @node Bar lines
1086 @subsection Bar lines
1087 @cindex Bar lines
1088
1089 @cindex @code{\bar}
1090 @cindex measure lines
1091 @cindex repeat bars
1092
1093
1094 Bar lines delimit measures, but are also used to indicate repeats.
1095 Normally, they are inserted automatically.  Line breaks may only
1096 happen on bar lines.
1097
1098
1099  Special types
1100 of bar lines can be forced with the @code{\bar} command:
1101 @c
1102 @lilypond[relative=1,fragment,verbatim]
1103    c4 \bar "|:" c4
1104 @end lilypond
1105
1106 The following bar types are available:
1107 @lilypond[fragment,relative,raggedright,verbatim]
1108 c4
1109 \bar "|" c
1110 \bar "" c
1111 \bar "|:" c
1112 \bar "||" c
1113 \bar ":|" c
1114 \bar ".|" c
1115 \bar ".|." c
1116 \bar ":|:" c
1117 \bar "|." c
1118 \bar ":" c
1119 @end lilypond
1120 For allowing line breaks, there is a special command,
1121 @example
1122   \bar "empty"
1123 @end example 
1124 This will insert an invisible bar line, and allow line breaks at this
1125 point.
1126
1127 In scores with many staves, a @code{\bar} command in one staff is
1128 automatically applied to all staves. The resulting bar lines are
1129 connected between different staves of a @internalsref{StaffGroup}:
1130 @c
1131 @lilypond[fragment,verbatim]
1132 << \context StaffGroup <<
1133   \new Staff { e'4 d'
1134      \bar "||"
1135      f' e' }
1136   \new Staff { \clef bass c4 g e g } >>
1137 \new Staff { \clef bass c2 c2 } >>
1138 @end lilypond
1139
1140 A bar line is created whenever the @code{whichBar} property is set.
1141 At the start of a measure it is set to the contents of
1142 @code{defaultBarType}. The contents of @code{repeatCommands} are used
1143 to override default measure bars.
1144
1145 The command @code{\bar }@var{bartype} is a short cut for doing
1146 @code{\set Timing.whichBar = }@var{bartype}.  Whenever @code{whichBar}
1147 is set to a string, a bar line of that type is created.
1148
1149 @cindex whichBar
1150 @cindex repeatCommands
1151 @cindex defaultBarType
1152
1153 You are encouraged to use @code{\repeat} for repetitions.  See
1154 @ref{Repeats}.
1155
1156
1157
1158 @seealso
1159
1160 In this manual: @ref{Repeats}.
1161
1162
1163 Program reference: the bar line objects that are created at
1164 @internalsref{Staff} level are called @internalsref{BarLine}, the bar
1165 lines that span staves are @internalsref{SpanBar} objects.
1166
1167 @cindex bar lines at start of system
1168 @cindex start of system
1169
1170 The bar lines at the start of each system are
1171 @internalsref{SystemStartBar}, @internalsref{SystemStartBrace}, and
1172 @internalsref{SystemStartBracket}.  Only one of these types is created
1173 in every context, and that type is determined by the property
1174 @code{systemStartDelimiter}.
1175
1176 Examples: @inputfileref{input/test,bar-lines.ly},
1177
1178 @node Polyphony
1179 @section Polyphony
1180 @cindex polyphony
1181
1182 The easiest way to enter fragments with more than one voice on a staff
1183 is to split chords using the separator @code{\\}.  You can use it for
1184 small, short-lived voices or for single chords:
1185
1186 @lilypond[verbatim,fragment]
1187 \context Staff \relative c'' {
1188   c4 << { f d e  } \\ { b c2 } >>
1189   c4 << g' \\ b, \\  f' \\ d >>
1190 }
1191 @end lilypond
1192
1193 The separator causes @internalsref{Voice} contexts@footnote{Polyphonic
1194 voices are sometimes called "layers" other notation packages}
1195 @cindex layers
1196 to be instantiated. They bear the names @code{"1"}, @code{"2"}, etc. In
1197 each of these contexts, vertical direction of slurs, stems, etc. is set
1198 appropriately.
1199
1200 @cindex @code{\voiceOne}
1201 @cindex @code{\voiceFour}
1202
1203 This can also be done by instantiating @internalsref{Voice} contexts
1204 by hand, and using @code{\voiceOne}, up to @code{\voiceFour} to assign
1205 a stem directions and horizontal shift for each part:
1206 @c
1207
1208 @lilypond[raggedright,verbatim]
1209 \relative c''
1210 \context Staff << \new Voice { \voiceOne cis2 b  }
1211   \new Voice { \voiceThree b4 ais ~ ais4 gis4 } 
1212   \new Voice { \voiceTwo fis4~  fis4 f ~ f  } >>
1213 @end lilypond
1214
1215 @noindent
1216 The command @code{\oneVoice} will revert back to the normal setting.
1217 @cindex @code{\oneVoice}
1218
1219
1220 Normally, note heads with a different number of dots are not merged, but
1221 when  the object property @code{merge-differently-dotted} is set in
1222 the @internalsref{NoteCollision} object, they are merged:
1223 @lilypond[verbatim,fragment,raggedright]
1224 \relative c'' \context Voice << {
1225      g8 g8 
1226      \override Staff.NoteCollision  
1227         #'merge-differently-dotted = ##t
1228      g8 g8
1229   } \\ { g8.[ f16] g8.[ f16] } 
1230   >>
1231 @end lilypond
1232
1233 Similarly, you can merge half note heads with eighth notes, by setting
1234 @code{merge-differently-headed}:
1235 @lilypond[fragment,relative=2,verbatim]
1236 \context Voice << {
1237     c8 c4.
1238     \override Staff.NoteCollision
1239         #'merge-differently-headed = ##t
1240     c8 c4. } \\ { c2 c2 } >>
1241 @end lilypond
1242
1243 LilyPond also vertically shifts rests that are opposite of a stem:
1244
1245
1246 @lilypond[raggedright,fragment,verbatim]
1247 \context Voice << c''4 \\  r4 >>
1248 @end lilypond
1249
1250
1251 @refcommands
1252
1253
1254
1255 @cindex @code{\oneVoice}
1256 @code{\oneVoice}, 
1257 @cindex @code{\voiceOne}
1258 @code{\voiceOne}, 
1259 @cindex @code{\voiceTwo}
1260 @code{\voiceTwo}, 
1261 @cindex @code{\voiceThree}
1262 @code{\voiceThree}, 
1263 @cindex @code{\voiceFour}
1264 @code{\voiceFour}.
1265
1266
1267 The following commands specify in what chords of the current voice
1268 should be shifted: the outer voice has @code{\shiftOff}, and the inner
1269 voices have @code{\shiftOn}, @code{\shiftOnn}, etc.
1270
1271
1272 @cindex @code{\shiftOn}
1273 @code{\shiftOn}, 
1274 @cindex @code{\shiftOnn}
1275 @code{\shiftOnn}, 
1276 @cindex @code{\shiftOnnn}
1277 @code{\shiftOnnn}, 
1278 @cindex @code{\shiftOff}
1279 @code{\shiftOff}.
1280
1281
1282
1283 @seealso
1284
1285 Program reference: the objects responsible for resolving collisions are
1286 @internalsref{NoteCollision} and @internalsref{RestCollision}.
1287
1288 Examples: See also example files
1289 @inputfileref{input/regression,collision-dots.ly},
1290 @inputfileref{input/regression,collision-head-chords.ly},
1291 @inputfileref{input/regression,collision-heads.ly},
1292 @inputfileref{input/regression,collision-mesh.ly}, and
1293 @inputfileref{input/regression,collisions.ly}.
1294
1295
1296 @refbugs
1297
1298 Resolving collisions is a intricate subject, and only a few situations
1299 are handled. When LilyPond cannot cope, the @code{force-hshift}
1300 property of the @internalsref{NoteColumn} object and pitched rests can
1301 be used to override typesetting decisions.
1302
1303 When using @code{merge-differently-headed} with an upstem eighth or a
1304 shorter note, and a downstem half note, the eighth note gets the wrong
1305 offset.
1306
1307 There is no support for clusters where the same note occurs with
1308 different accidentals in the same chord. In this case, it is
1309 recommended to use enharmonic transcription, or to use special cluster
1310 notation (see @ref{Clusters}).
1311
1312 @node Beaming
1313 @section Beaming
1314
1315 Beams are used to group short notes into chunks that are aligned with
1316 the metrum. They are inserted automatically
1317
1318 @lilypond[fragment,verbatim,relative=2]
1319 \time 2/4 c8 c c c \time 6/8 c c c c8. c16  c8
1320 @end lilypond
1321
1322 When these automatic decisions are not good enough, beaming can be
1323 entered explicitly. It is also possible to define beaming patterns
1324 that differ from the defaults.
1325
1326 Individual notes may be marked with @code{\noBeam}, to prevent them
1327 from being beamed:
1328
1329 @lilypond[fragment,verbatim,relative=2]
1330   \time 2/4 c8 c\noBeam c c
1331 @end lilypond
1332
1333
1334 @seealso
1335
1336 Program reference: @internalsref{Beam}. 
1337
1338
1339 @cindex Automatic beams
1340 @menu
1341 * Manual beams::                
1342 * Setting automatic beam behavior::  
1343 @end menu
1344
1345 @node Manual beams
1346 @subsection Manual beams
1347 @cindex beams, manual
1348 @cindex @code{]}
1349 @cindex @code{[}
1350
1351 In some cases it may be necessary to override the automatic beaming
1352 algorithm.  For example, the autobeamer will not put beams over rests
1353 or bar lines. Such beams are specified by manually: the begin and end
1354 point are marked with @code{[} and @code{]}:
1355
1356 @lilypond[fragment,relative,verbatim]
1357   \context Staff {
1358     r4 r8[ g' a r8] r8 g[ | a] r8
1359   }
1360 @end lilypond
1361
1362 @cindex @code{stemLeftBeamCount}
1363
1364 Normally, beaming patterns within a beam are determined automatically.
1365 If necessary, the properties @code{stemLeftBeamCount} and
1366 @code{stemRightBeamCount} can be used to override the defaults.  If
1367 either property is set, its value will be used only once, and then it
1368 is erased:
1369
1370 @lilypond[fragment,relative,verbatim]
1371   \context Staff {
1372     f8[ r16 f g a]
1373     f8[ r16 \set stemLeftBeamCount = #1 f g a]
1374   }
1375 @end lilypond
1376 @cindex @code{stemRightBeamCount}
1377
1378
1379 The property @code{subdivideBeams} can be set in order to subdivide
1380 all 16th or shorter beams at beat positions, as defined by the
1381 @code{beatLength} property.
1382
1383
1384 @lilypond[relative=1,verbatim,noindent]
1385         c16[ c c c c c c c]
1386         \set subdivideBeams = ##t
1387         c16[ c c c c c c c]
1388         \set Score.beatLength = #(ly:make-moment 1 8)
1389         c16[ c c c c c c c]
1390 @end lilypond
1391 @cindex subdivideBeams
1392
1393 Kneed beams are inserted automatically, when a large gap is detected
1394 between the note heads.  This behavior can be tuned through the object
1395 property @code{auto-knee-gap}.
1396
1397 Normally, line breaks are forbidden when beams cross bar lines.  This
1398 behavior can be changed by setting @code{allowBeamBreak}.
1399
1400 @cindex @code{allowBeamBreak}
1401 @cindex beams and line breaks
1402
1403 @cindex beams, kneed
1404 @cindex kneed beams
1405 @cindex auto-knee-gap
1406
1407
1408
1409 @refbugs
1410
1411 @cindex Frenched staves
1412
1413 Automatically kneed cross-staff beams cannot be used together with
1414 hidden staves.
1415
1416
1417
1418
1419 @node Setting automatic beam behavior
1420 @subsection Setting automatic beam behavior 
1421
1422 @cindex @code{autoBeamSettings}
1423 @cindex @code{(end * * * *)}
1424 @cindex @code{(begin * * * *)}
1425 @cindex automatic beams, tuning
1426 @cindex tuning automatic beaming
1427
1428 @c [TODO: use \applycontext]
1429
1430 In normal time signatures, automatic beams can start on any note but can
1431 only end in a few positions within the measure: beams can end on a beat,
1432 or at durations specified by the properties in
1433 @code{autoBeamSettings}. The defaults for @code{autoBeamSettings}
1434 are defined in @file{scm/auto-beam.scm}.
1435
1436 The value of @code{autoBeamSettings} is changed with two functions,
1437 @example
1438   #(override-auto-beam-setting
1439      '(@var{be} @var{p} @var{q} @var{n} @var{m}) @var{a} @var{b}
1440      [@var{context}])
1441   #(revert-auto-beam-setting '(@var{be} @var{p} @var{q} @var{n} @var{m}))
1442 @end example
1443 Here, @var{be} is the symbol @code{begin} or @code{end}, and
1444 @var{context} is an optional context (default: @code{'Voice}). It
1445 determines whether the rule applies to begin or end-points.  The
1446 quantity @var{p}/@var{q} refers to the length of the beamed notes (and
1447 `@code{* *}' designates notes of any length), @var{n}/@var{M} refers
1448 to a time signature (wildcards `@code{* *}' may be entered to
1449 designate all time signatures), @var{a}/@var{b} is a duration.  By
1450 default, this command changes settings for the current voice. It is
1451 also possible to adjust settings at higher contexts, by adding a
1452 @var{context} argument.
1453
1454 For example, if automatic beams should end on every quarter note, use
1455 the following:
1456 @example
1457    #(override-auto-beam-setting '(end * * * *) 1 4 'Staff)
1458 @end example
1459 Since the duration of a quarter note is 1/4 of a whole note, it is
1460 entered as @code{(ly:make-moment 1 4)}.
1461
1462 The same syntax can be used to specify beam starting points. In this
1463 example, automatic beams can only end on a dotted quarter note:
1464 @example
1465    #(override-auto-beam-setting '(end * * * *) 3 8)
1466 @end example
1467 In 4/4 time signature, this means that automatic beams could end only on
1468 3/8 and on the fourth beat of the measure (after 3/4, that is 2 times
1469 3/8, has passed within the measure).
1470
1471 Rules can also be restricted to specific time signatures. A rule that
1472 should only be applied in @var{N}/@var{M} time signature is formed by
1473 replacing the second asterisks by @var{N} and @var{M}. For example, a
1474 rule for 6/8 time exclusively looks like
1475 @example
1476  #(override-auto-beam-setting '(begin * * 6 8) @dots{})
1477 @end example
1478
1479 If a rule should be to applied only to certain types of beams, use the
1480 first pair of asterisks. Beams are classified according to the
1481 shortest note they contain. For a beam ending rule that only applies
1482 to beams with 32nd notes (and no shorter notes), use @code{(end 1 32 *
1483 *)}.
1484
1485 @cindex automatic beam generation
1486 @cindex autobeam
1487 @cindex @code{autoBeaming}
1488 @cindex lyrics
1489
1490 If beams are used to indicate melismata in songs, then automatic
1491 beaming should be switched off. This is done by setting
1492 @code{autoBeaming} to @code{#f}.
1493
1494 @refcommands
1495
1496 @cindex @code{\autoBeamOff}
1497 @code{\autoBeamOff}, 
1498 @cindex @code{\autoBeamOn}
1499 @code{\autoBeamOn}.
1500
1501
1502 @refbugs
1503
1504 If a score ends while an automatic beam has not been ended and is
1505 still accepting notes, this last beam will not be typeset at all. The
1506 same holds polyphonic voices, entered with @code{<< @dots{} \\ @dots{}
1507 >>}. If a polyphonic voice ends while an automatic beam is still
1508 accepting notes, it is not typeset.
1509
1510 The rules for ending a beam depend on the shortest note in a beam.
1511 So, while it is possible to have different ending rules for eight
1512 beams and sixteenth beams, a beam that contains both eight and
1513 sixteenth notes will use the rules for the sixteenth beam.
1514
1515 In the example below, the autobeamer makes eight beams and sixteenth
1516 end at 3 eights; the third beam can only be corrected by specifying
1517 manual beaming.
1518
1519 @lilypond[raggedright,fragment,relative]
1520   #(override-auto-beam-setting '(end * * * *) 3 8)
1521   % rather show case where it goes wrong
1522   %\time 12/8 c'8 c c c16 c c c c c c[ c c c] c8[ c] c4
1523   \time 12/8 c'8 c c c16 c c c c c c c c c c8 c c4
1524 @end lilypond
1525 It is not possible to specify beaming parameters that act differently in
1526 different parts of a measure. This means that it is not possible to use
1527 automatic beaming in irregular meters such as @code{5/8}.
1528
1529 @node Accidentals
1530 @section Accidentals
1531 @cindex Accidentals
1532
1533 This section describes how to change the way that accidentals are
1534 inserted automatically before the running notes.
1535
1536 Common rules for typesetting accidentals have been canned in a
1537 function. This function is called as follows:
1538
1539 @cindex @code{set-accidental-style}
1540 @example
1541   #(set-accidental-style 'modern 'Voice)
1542 @end example
1543
1544 The function takes two arguments: a symbol that denotes the style (in
1545 the example, @code{modern}), and another symbol that denotes the
1546 context name (in this example, @code{Voice}). If no context name is
1547 supplied, @code{Staff} is the default.
1548
1549 The following styles are supported:
1550 @table @code
1551 @item default
1552       This is the default typesetting behavior. It should correspond
1553       to 18th century common practice: Accidentals are
1554       remembered to the end of the measure in which they occur and
1555       only on their own octave.
1556
1557 @item voice
1558 @c
1559       The normal behavior is to remember the accidentals on
1560 Staff-level.  This variable, however, typesets accidentals
1561 individually for each voice.  Apart from that, the rule is similar to
1562 @code{code}.
1563
1564       This leads to some weird and often unwanted results
1565       because accidentals from one voice do not get canceled in other
1566       voices:
1567 @lilypond[raggedright,relative,fragment,verbatim]
1568     \context Staff <<
1569         #(set-accidental-style 'voice)
1570         <<
1571          { es g } \\
1572          { c, e }
1573      >> >>
1574 @end lilypond
1575       Hence you should only use @code{voice} if the voices
1576 are to be read solely by individual musicians. If the staff is to be
1577 used by one musician (e.g. a conductor) then you use
1578 @code{modern} or @code{modern-cautionary}
1579 instead.
1580
1581 @item modern
1582 @cindex @code{modern} style accidentals
1583       This rule  corresponds to the common practice in the 20th
1584       century.
1585       This rule prints the same accidentals as @code{default},  but temporary
1586       accidentals also are canceled in other octaves. Furthermore,
1587       in the same octave, they also get canceled in the following
1588       measure:
1589
1590 @lilypond[raggedright,fragment,verbatim]
1591       #(set-accidental-style 'modern)
1592       cis' c'' cis'2 | c'' c'
1593 @end lilypond
1594
1595 @item @code{modern-cautionary}
1596       @cindex @code{modern-cautionary}
1597      This rule is similar to @code{modern}, but the
1598      ``extra'' accidentals (the ones not typeset by
1599      @code{default}) are typeset as cautionary accidentals.
1600      They are printed in reduced size or with parentheses:
1601 @lilypond[raggedright,fragment,verbatim]
1602       #(set-accidental-style 'modern-cautionary)
1603       cis' c'' cis'2 | c'' c'
1604 @end lilypond
1605
1606       @cindex @code{modern-voice}
1607 @item modern-voice
1608 This rule is used for multivoice accidentals to be read both by musicians
1609 playing one voice and musicians playing all voices.  Accidentals are
1610 typeset for each voice, but they @emph{are} canceled across voices in
1611 the same @internalsref{Staff}.
1612
1613       @cindex @code{modern-voice-cautionary}
1614 @item modern-voice-cautionary
1615 This rule is the same as @code{modern-voice}, but with the extra
1616 accidentals (the ones not typeset by @code{voice}) typeset
1617 as cautionaries.  Even though all accidentals typeset by
1618 @code{default} @emph{are} typeset by this variable then
1619 some of them are typeset as cautionaries.
1620
1621 @item piano
1622       @cindex @code{piano} accidentals
1623 This rule reflects      20th century practice for piano notation. Very similar to
1624       @code{modern} but accidentals also get canceled
1625       across the staves in the same @internalsref{GrandStaff} or
1626       @internalsref{PianoStaff}.
1627
1628 @item piano-cautionary
1629       @cindex @code{#(set-accidental-style 'piano-cautionary)}
1630       As @code{#(set-accidental-style 'piano)' , str)} but with the extra accidentals
1631       typeset as cautionaries.
1632
1633 @item no-reset
1634       @cindex @code{no-reset} accidental style
1635       @c
1636       This is the same as @code{default} but with accidentals lasting
1637       ``forever'' and not only until the next measure:
1638 @lilypond[raggedright,fragment,verbatim,relative]
1639       #(set-accidental-style 'no-reset)
1640       c1 cis cis c
1641 @end lilypond
1642
1643 @item forget
1644       This is sort of the opposite of @code{no-reset}: Accidentals
1645       are not remembered at all---and hence all accidentals are
1646       typeset relative to the key signature, regardless of what was
1647       before in the music:
1648       
1649 @lilypond[raggedright,fragment,verbatim,relative]
1650       #(set-accidental-style 'forget)
1651       \key d\major c4 c cis cis d d dis dis
1652 @end lilypond
1653 @end table
1654
1655
1656 @seealso
1657
1658 Program reference: @internalsref{Accidental_engraver},
1659 @internalsref{Accidental}, and @internalsref{AccidentalPlacement}.
1660
1661
1662 @refbugs
1663
1664 Simultaneous notes are considered to be entered in sequential
1665 mode. This means that in a chord the accidentals are typeset as if the
1666 notes in the chord happened once at a time - in the order in which
1667 they appear in the input file.
1668
1669 This is only a problem when accidentals in a chord depend on each
1670 other.  This problem can be solved by manually inserting @code{!} and
1671 @code{?}  for the problematic notes.
1672
1673 In the default scheme, accidentals only depend on other
1674 accidentals with the same pitch on the same staff, so no conflicts are
1675 possible.
1676
1677 @node Expressive marks
1678 @section Expressive marks
1679
1680
1681 @c todo: should change ordering
1682 @c where to put text spanners, metronome marks,
1683 @c fingering?
1684  
1685 @menu
1686 * Slurs::                       
1687 * Phrasing slurs::              
1688 * Breath marks::                
1689 * Metronome marks::             
1690 * Text spanners::               
1691 * Analysis brackets::           
1692 * Articulations::               
1693 * Fingering instructions::      
1694 * Text scripts::                
1695 * Grace notes::                 
1696 * Glissando::                   
1697 * Dynamics::                    
1698 @end menu
1699
1700 @node Slurs
1701 @subsection Slurs
1702 @cindex Slurs
1703
1704 A slur indicates that notes are to be played bound or @emph{legato}.
1705
1706
1707 They are entered using parentheses:
1708 @lilypond[relative=1,fragment,verbatim]
1709   f( g)( a) a8 b( a4 g2 f4)
1710   <c e>2( <b d>2)
1711 @end lilypond
1712
1713
1714 @c TODO: should explain that ^( and _( set directions
1715 @c should set attachments with ^ and _ ?  
1716
1717 Slurs avoid crossing stems, and are generally attached to note heads.
1718 However, in some situations with beams, slurs may be attached to stem
1719 ends.  If you want to override this layout you can do this through the
1720 object property @code{attachment} of @internalsref{Slur}.  Its value
1721 is a pair of symbols, specifying the attachment type of the left and
1722 right end points:
1723
1724 @lilypond[fragment,relative,verbatim]
1725   \slurUp
1726   \override Stem #'length = #5.5
1727   g'8(g g4)
1728   \override Slur #'attachment = #'(stem . stem)
1729   g8( g g4)
1730 @end lilypond
1731
1732 If a slur would strike through a stem or beam, the slur will be moved
1733 away upward or downward. If this happens, attaching the slur to the
1734 stems might look better:
1735
1736 @lilypond[fragment,relative,verbatim]
1737   \stemUp \slurUp
1738   d32( d'4 d8..)
1739   \override Slur #'attachment = #'(stem . stem)
1740   d,32( d'4 d8..)
1741 @end lilypond
1742
1743 @refcommands
1744
1745
1746 @cindex @code{\slurUp}
1747 @code{\slurUp}, 
1748 @cindex @code{\slurDown}
1749 @code{\slurDown}, 
1750 @cindex @code{\slurBoth}
1751 @code{\slurBoth}, 
1752 @cindex @code{\slurDotted}
1753 @code{\slurDotted}, 
1754 @cindex @code{\slurSolid}
1755 @code{\slurSolid}.
1756
1757 @seealso
1758
1759 Program reference: @seeinternals{Slur}, and @internalsref{SlurEvent}.
1760
1761
1762 @refbugs
1763
1764 Producing nice slurs is a difficult problem, and LilyPond 
1765 uses a simple, empiric method to produce slurs. In some cases, its
1766 results are ugly.
1767
1768
1769 @cindex Adjusting slurs
1770
1771 @node Phrasing slurs
1772 @subsection Phrasing slurs
1773
1774 @cindex phrasing slurs
1775 @cindex phrasing marks
1776
1777 A phrasing slur (or phrasing mark) connects chords and is used to
1778 indicate a musical sentence. It is started using @code{\(} and @code{\)}
1779 respectively:
1780
1781 @lilypond[fragment,verbatim,relative]
1782   \time 6/4 c'\(  d( e) f( e)  d\) 
1783 @end lilypond
1784
1785 Typographically, the phrasing slur behaves almost exactly like a
1786 normal slur.  However, they are treated as different objects.  A
1787 @code{\slurUp} will have no effect on a phrasing slur; instead, you
1788 should use @code{\phrasingSlurUp}, @code{\phrasingSlurDown}, and
1789 @code{\phrasingSlurBoth}.
1790
1791 The commands @code{\slurUp}, @code{\slurDown}, and @code{\slurBoth}
1792 will only affect normal slurs and not phrasing slurs.
1793
1794 @refcommands
1795
1796 @cindex @code{\phrasingSlurUp}
1797 @code{\phrasingSlurUp}, 
1798 @cindex @code{\phrasingSlurDown}
1799 @code{\phrasingSlurDown}, 
1800 @cindex @code{\phrasingSlurBoth}
1801 @code{\phrasingSlurBoth}.
1802
1803 @seealso
1804
1805 Program reference: see also @internalsref{PhrasingSlur}, and
1806 @internalsref{PhrasingSlurEvent}.
1807
1808 @refbugs
1809
1810 Phrasing slurs have the same limitations in their formatting as normal
1811 slurs. Putting phrasing slurs over rests leads to spurious warnings.
1812
1813 @node Breath marks
1814 @subsection Breath marks
1815
1816 Breath marks are entered using @code{\breathe}:
1817
1818
1819 @lilypond[fragment,relative,verbatim]
1820 c'4 \breathe d4
1821 @end lilypond
1822
1823 The glyph of the breath mark can be tuned by overriding the
1824 @code{text} property of the @code{BreathingSign} layout object with
1825 any markup text.   For example,
1826 @lilypond[fragment,verbatim,relative]
1827 c'4
1828 \override BreathingSign #'text
1829  = #(make-musicglyph-markup "scripts-rvarcomma")
1830 \breathe
1831 d4
1832 @end lilypond
1833
1834 @seealso 
1835
1836 Program reference: @internalsref{BreathingSign},
1837 @internalsref{BreathingSignEvent}.
1838
1839 Examples: @inputfileref{input/regression,breathing-sign.ly}.
1840
1841
1842 @node Metronome marks
1843 @subsection Metronome marks
1844
1845 @cindex Tempo
1846 @cindex beats per minute
1847 @cindex metronome marking
1848
1849 Metronome settings can be entered as follows:
1850 @example 
1851   \tempo @var{duration} = @var{per-minute} 
1852 @end example
1853
1854 In the MIDI output, they are interpreted as a tempo change, and in the
1855 paper output, a metronome marking is printed:
1856 @cindex @code{\tempo}
1857 @lilypond[fragment,verbatim]
1858   \tempo 8.=120 c''1
1859 @end lilypond
1860
1861 @seealso
1862
1863 Program reference: @internalsref{MetronomeChangeEvent}.
1864   
1865
1866
1867 @node Text spanners
1868 @subsection Text spanners
1869 @cindex Text spanners
1870
1871 Some performance indications, e.g. @i{rallentando} or @i{accelerando},
1872 are written as texts, and extended over many measures with dotted
1873 lines.  You can create such texts using text spanners: attach
1874 @code{\startTextSpan} and @code{\stopTextSpan} to the
1875 start and ending note of the spanner. 
1876
1877 The string to be printed, as well as the style, is set through object
1878 properties:
1879
1880 @lilypond[fragment,relative,verbatim]
1881  \relative c' {  c1 
1882   \override TextSpanner #'direction = #-1
1883   \override TextSpanner #'edge-text = #'("rall " . "")
1884   c2\startTextSpan b c\stopTextSpan a }
1885 @end lilypond
1886
1887
1888 @seealso
1889
1890 Internals @internalsref{TextSpanEvent},
1891 @internalsref{TextSpanner}.
1892
1893 Examples: @inputfileref{input/regression,text-spanner.ly}.
1894
1895
1896 @node Analysis brackets
1897 @subsection Analysis brackets
1898 @cindex brackets
1899 @cindex phrasing brackets
1900 @cindex musicological analysis
1901 @cindex note grouping bracket
1902
1903 Brackets are used in musical analysis to indicate structure in musical
1904 pieces. LilyPond supports a simple form of nested horizontal brackets.
1905 To use this, add the @internalsref{Horizontal_bracket_engraver} to
1906 @internalsref{Staff} context.  A bracket is started with
1907 @code{\startGroup} and closed with @code{\stopGroup}:
1908
1909 @lilypond[raggedright,verbatim]
1910 \score { \notes \relative c'' {  
1911         c4\startGroup\startGroup
1912         c4\stopGroup
1913         c4\startGroup
1914         c4\stopGroup\stopGroup
1915   }
1916   \paper { \context {
1917             \StaffContext \consists "Horizontal_bracket_engraver"
1918         }}}
1919 @end lilypond
1920
1921 @seealso
1922
1923 Program reference: @internalsref{HorizontalBracket},
1924 @internalsref{NoteGroupingEvent}.
1925
1926 Examples: @inputfileref{input/regression,note-group-bracket.ly}. 
1927
1928
1929 @node Articulations
1930 @subsection Articulations
1931 @cindex Articulations
1932
1933 @cindex articulations
1934 @cindex scripts
1935 @cindex ornaments
1936
1937 A variety of symbols can appear above and below notes to indicate
1938 different characteristics of the performance. They are added to a note
1939 by adding a dash and  the character signifying the
1940 articulation. They are demonstrated here:
1941
1942 @lilypondfile[]{script-abbreviations.ly}
1943
1944 The meanings of these shorthands can be changed. See
1945 @file{ly/script-init.ly} for examples.
1946
1947
1948 The script is automatically placed, but if you need to force
1949 directions, you can use @code{_} to force them down, or @code{^} to
1950 put them up:
1951 @lilypond[fragment,verbatim]
1952   c''4^^ c''4_^
1953 @end lilypond
1954
1955 Other symbols can be added using the syntax
1956 @var{note}@code{\}@var{name}, e.g. @code{c4\fermata}. Again, they
1957 can be forced up or down using @code{^} and @code{_},
1958 e.g.
1959
1960 @lilypond[verbatim,fragment,relative=2]
1961   c\fermata c^\fermata c_\fermata
1962 @end lilypond
1963
1964
1965
1966 @cindex accent
1967 @cindex marcato
1968 @cindex staccatissimo
1969 @cindex fermata
1970 @cindex stopped
1971 @cindex staccato
1972 @cindex portato
1973 @cindex tenuto
1974 @cindex upbow
1975 @cindex downbow
1976 @cindex foot marks
1977 @cindex organ pedal marks
1978 @cindex turn
1979 @cindex open
1980 @cindex flageolet
1981 @cindex reverseturn
1982 @cindex trill
1983 @cindex prall
1984 @cindex mordent
1985 @cindex prallprall
1986 @cindex prallmordent
1987 @cindex prall, up
1988 @cindex prall, down
1989 @cindex mordent
1990 @cindex thumb marking
1991 @cindex segno
1992 @cindex coda
1993 @cindex varcoda
1994
1995 @lilypondfile[]{script-chart.ly}
1996
1997
1998 @refcommands
1999
2000 @cindex @code{\scriptUp}
2001 @code{\scriptUp}, 
2002 @cindex @code{\scriptDown}
2003 @code{\scriptDown}, 
2004 @cindex @code{\scriptBoth}
2005 @code{\scriptBoth}.
2006
2007 @seealso
2008
2009 Program reference: @internalsref{ScriptEvent}, and @internalsref{Script}.
2010
2011 @refbugs
2012
2013 These note ornaments appear in the printed output but have no
2014 effect on the MIDI rendering of the music.
2015
2016
2017 @node Fingering instructions
2018 @subsection Fingering instructions
2019
2020 @cindex fingering
2021
2022 Fingering instructions can be entered using
2023 @example
2024   @var{note}-@var{digit}
2025 @end example
2026 For finger changes, use markup texts:
2027 @c
2028 @lilypond[verbatim,raggedright,fragment]
2029       c'4-1 c'4-2 c'4-3 c'4-4
2030       c'^\markup { \finger "2-3" }
2031 @end lilypond
2032
2033 @cindex finger change
2034 @cindex scripts
2035 @cindex superscript
2036 @cindex subscript
2037
2038 You can use the thumb-script to indicate that a note should be
2039 played with the thumb (e.g. in cello music):
2040
2041 @lilypond[verbatim,raggedright,fragment]
2042       <a' a''-3>8_\thumb <b' b''-3>_\thumb
2043 @end lilypond
2044
2045 Fingerings for chords can also be added to individual notes
2046 of the chord by adding them after the pitches:
2047 @lilypond[verbatim,raggedright,fragment,relative=1]
2048         < c-1  e-2 g-3 b-5 > 4
2049 @end lilypond
2050
2051 @noindent
2052 In this case, setting @code{fingeringOrientations} will put  fingerings next
2053 to note heads:
2054
2055 @lilypond[verbatim,raggedright,fragment,relative=1]
2056         \set fingeringOrientations = #'(left down)
2057         <c-1 es-2 g-4 bes-5 > 4
2058         \set fingeringOrientations = #'(up right down)
2059         <c-1 es-2 g-4 bes-5 > 4
2060         \set fingeringOrientations = #'(right)
2061         <es-2>4
2062 @end lilypond
2063
2064 The last note demonstrates how fingering instructions can be put close
2065 to note heads in monophonic music, using this feature.
2066         
2067 @seealso
2068
2069 Program reference: @internalsref{FingerEvent}, and @internalsref{Fingering}.
2070
2071 Examples: @inputfileref{input/regression,finger-chords.ly}.
2072
2073 @node Text scripts
2074 @subsection Text scripts
2075 @cindex Text scripts
2076
2077 @cindex text items, non-empty
2078 @cindex non-empty texts
2079
2080 It is possible to place arbitrary strings of text or markup text (see
2081 @ref{Text markup}) above or below notes by using a string:
2082 @code{c^"text"}.  By default, these indications do not influence the
2083 note spacing, but by using the command @code{\fatText}, the widths
2084 will be taken into account:
2085 @c
2086 @lilypond[fragment,raggedright,verbatim] \relative c' {
2087 c4^"longtext" \fatText c4_"longlongtext" c4 }
2088 @end lilypond
2089
2090 It is possible to use @TeX{} commands in the strings, but this should
2091 be avoided because the exact dimensions of the string can then no
2092 longer be computed.
2093
2094 @refcommands
2095
2096 @cindex @code{\fatText}
2097 @code{\fatText}, 
2098 @cindex @code{\emptyText}
2099 @code{\emptyText}.
2100
2101 @seealso
2102
2103 In this manual: @ref{Text markup}.
2104
2105 Program reference: @internalsref{TextScriptEvent}, @internalsref{TextScript}.
2106
2107
2108
2109
2110 @node Grace notes
2111 @subsection Grace notes
2112
2113
2114 @c should have blurb about accaciatura / appogiatura
2115
2116 @cindex @code{\grace}
2117 @cindex ornaments
2118 @cindex grace notes
2119
2120 Grace notes are ornaments that are written out.  The most common ones
2121 are acciaccatura, which should be played as very short.  It is denoted
2122 by a slurred small note with a slashed stem.  The appoggiatura is a
2123 grace note that takes a fixed fraction of the main note, is and
2124 denoted as a slurred note in small print without a slash.
2125 They are entered with the commands @code{\acciaccatura} and
2126 @code{\appoggiatura}, as demonstrated in the following example:
2127
2128
2129 @cindex appoggiatura
2130 @cindex acciaccatura
2131
2132 @lilypond[relative=2,verbatim,fragment]
2133 b4 \acciaccatura d8 c4 \appoggiatura e8 d4
2134 \acciaccatura { g16[ f] } e4
2135 @end lilypond
2136
2137 Both are special forms of the @code{\grace} command. By prefixing this
2138 keyword to a music expression, a new one is formed, which will be
2139 printed in a smaller font and takes up no logical time in a measure.
2140 @lilypond[relative=2,verbatim,fragment]
2141   c4 \grace c16 c4
2142   \grace { c16[ d16] } c2 c4
2143 @end lilypond
2144
2145 @noindent
2146 Unlike @code{\acciaccatura} and @code{\appoggiatura}, the
2147 @code{\grace} command does not start a slur.
2148
2149 Internally, timing for grace notes is done using a second, `grace'
2150 time. Every point in time consists of two rational numbers: one
2151 denotes the logical time, one denotes the grace timing. The above
2152 example is shown here with timing tuples:
2153
2154 @lilypond[raggedright]
2155 <<
2156   \relative c''{ 
2157   c4  \grace c16  c4  \grace {
2158   c16[  d16] } c2 c4
2159   }
2160   \new Lyrics \lyrics {
2161       \markup { (0,0)  } 4
2162       \grace { \markup {
2163           ( \fraction 1 4 ,  \fraction -1 16 ) } 16 }
2164       \markup { (\fraction 1 4 , 0 ) } 4
2165       \grace {
2166           \markup { (\fraction 2 4 , \fraction "-1" 8 ) } 16
2167           \markup { (\fraction 2 4 , \fraction "-1" 16 ) } 16
2168           } 
2169       \markup { ( \fraction 2 4 , 0 ) }
2170   } >>
2171 @end lilypond
2172
2173
2174 The placement of grace notes is synchronized between different staves.
2175 In the following example, there are two sixteenth graces notes for
2176 every eighth grace note:
2177
2178 @lilypond[relative=2,verbatim,fragment] 
2179 << \new Staff { e4 \grace { c16[ d e f] } e4 }
2180   \new Staff { c'4 \grace { g8[ b] } c4 } >>
2181 @end lilypond
2182
2183
2184
2185 If you want to end a note with a grace, then the standard trick
2186 is to put the grace notes after a ``space note'', e.g.
2187 @lilypond[fragment,verbatim,relative=2]
2188 \context Voice {
2189     << { d1^\trill ( }
2190      { s2 \grace { c16[ d] } } >>
2191    c4)
2192 }
2193 @end lilypond
2194
2195 @noindent
2196 By adjusting the duration of the skip note (here it is a half-note),
2197 the space between the main-note and the grace is adjusted.
2198
2199
2200 A @code{\grace} section will introduce special typesetting settings,
2201 for example, to produce smaller type, and set directions. Hence, when
2202 introducing layout tweaks, they should be inside the grace section,
2203 for example,
2204 @lilypond[fragment,verbatim,relative=1]
2205 \new Voice {
2206     \acciaccatura {
2207       \override Stem #'direction = #-1
2208       f16->
2209       \revert Stem #'direction
2210     }
2211     g4
2212 }
2213 @end lilypond
2214
2215 @noindent
2216 The overrides should also be reverted inside the grace section.
2217
2218 If the layout of grace sections must be changed throughout the music,
2219 then this can be accomplished through the function
2220 @code{add-grace-property}. The following example undefines the Stem
2221 direction for this grace, so stems do not always point up.
2222
2223 @example
2224   \new Staff @{
2225      #(add-grace-property "Voice" Stem direction '())
2226      @dots{}
2227   @}
2228 @end example
2229
2230 @noindent
2231 Another option is to change the variables @code{startGraceMusic},
2232 @code{stopGraceMusic}, @code{startAccacciaturaMusic},
2233 @code{stopAccacciaturaMusic}, @code{startAppoggiaturaMusic},
2234 @code{stopAppoggiaturaMusic}.  More information is in the file
2235 @file{ly/grace-init.ly}.
2236
2237
2238 @seealso
2239
2240 Program reference: @internalsref{GraceMusic}.
2241
2242 @refbugs
2243
2244 A score that starts with an @code{\grace} section needs an explicit
2245 @code{\context Voice} declaration, otherwise the main note and grace
2246 note end up on different staves.
2247
2248 Grace note synchronization can also lead to surprises. Staff notation,
2249 such as key signatures, bar lines, etc. are also synchronized. Take
2250 care when you mix staves with grace notes and staves without, for example,
2251
2252 @lilypond[relative=2,verbatim,fragment]
2253 << \new Staff { e4 \bar "|:" \grace c16 d4 }
2254    \new Staff { c4  \bar "|:"  d4 } >>
2255 @end lilypond
2256
2257 @noindent
2258 This can be remedied by inserting grace skips, for the above example
2259
2260 @verbatim
2261    \new Staff { c4  \bar "|:"  \grace s16 d4 } >>
2262 @end verbatim
2263
2264 Grace sections should only be used within sequential music
2265 expressions.  Nesting or juxtaposing grace sections is not supported,
2266 and might produce crashes or other errors.
2267
2268
2269 @node Glissando
2270 @subsection Glissando
2271 @cindex Glissando 
2272
2273 @cindex @code{\glissando}
2274
2275 A glissando is a smooth change in pitch. It is denoted by a line or a
2276 wavy line between two notes.
2277
2278
2279 A glissando line can be requested by attaching a @code{\glissando} to
2280 a note:
2281
2282 @lilypond[fragment,relative,verbatim]
2283   c'\glissando c'
2284 @end lilypond
2285
2286 @seealso
2287
2288 Program reference: @internalsref{Glissando}, and @internalsref{GlissandoEvent}.
2289
2290 Example files: @file{input/regression,glissando.ly}
2291
2292  
2293
2294 @refbugs
2295
2296 Printing text over the line (such as @emph{gliss.}) is not supported.
2297
2298
2299 @node Dynamics
2300 @subsection Dynamics
2301 @cindex Dynamics
2302
2303
2304
2305 @cindex @code{\ppp}
2306 @cindex @code{\pp}
2307 @cindex @code{\p}
2308 @cindex @code{\mp}
2309 @cindex @code{\mf}
2310 @cindex @code{\f}
2311 @cindex @code{\ff}
2312 @cindex @code{\fff}
2313 @cindex @code{\ffff}
2314 @cindex @code{\fp}
2315 @cindex @code{\sf}
2316 @cindex @code{\sff}
2317 @cindex @code{\sp}
2318 @cindex @code{\spp}
2319 @cindex @code{\sfz}
2320 @cindex @code{\rfz}
2321
2322
2323 Absolute dynamic marks are specified using a command after a note:
2324 @code{c4\ff}.  The available dynamic marks are @code{\ppp},
2325 @code{\pp}, @code{\p}, @code{\mp}, @code{\mf}, @code{\f}, @code{\ff},
2326 @code{\fff}, @code{\fff}, @code{\fp}, @code{\sf}, @code{\sff},
2327 @code{\sp}, @code{\spp}, @code{\sfz}, and @code{\rfz}:
2328
2329 @lilypond[verbatim,raggedright,fragment,relative]
2330   c'\ppp c\pp c \p c\mp c\mf c\f c\ff c\fff
2331   c2\sf c\rfz
2332 @end lilypond
2333
2334 @cindex @code{\<}
2335 @cindex @code{\>}
2336 @cindex @code{\"!}
2337
2338
2339
2340 A crescendo mark is started with @code{\<} and terminated with
2341 @code{\!}. A decrescendo is started with @code{\>} and also terminated
2342 with @code{\!}.  Because these marks are bound to notes, if you must
2343 use spacer notes if multiple marks during one note are needed:
2344
2345 @lilypond[fragment,verbatim]
2346   c''\< c''\!   d''\> e''\! 
2347   << f''1 { s4 s4\< s4\! \>  s4\! } >>
2348 @end lilypond
2349 This may give rise to very short hairpins. Use @code{minimum-length}
2350 in @internalsref{Voice}.@internalsref{Hairpin} to lengthen them, for
2351 example:
2352
2353 @example
2354  \override Staff.Hairpin #'minimum-length = #5
2355 @end example
2356
2357 You can also use a text saying @emph{cresc.} instead of hairpins. Here
2358 is an example how to do it:
2359
2360 @lilypond[fragment,relative=2,verbatim]
2361   \setTextCresc
2362   c \< d e f\!
2363   \setHairpinCresc
2364   e\> d c b\!
2365 @end lilypond
2366
2367 @cindex crescendo
2368 @cindex decrescendo
2369
2370 You can also supply your own texts:
2371 @lilypond[fragment,relative,verbatim]
2372   \context Voice {
2373     \set crescendoText = \markup { \italic "cresc. poco" }
2374     \set crescendoSpanner = #'dashed-line
2375     a'2\< a a a\!\mf
2376   }
2377 @end lilypond
2378
2379 @cindex diminuendo
2380
2381
2382 @refcommands
2383
2384 @cindex @code{\dynamicUp}
2385 @code{\dynamicUp}, 
2386 @cindex @code{\dynamicDown}
2387 @code{\dynamicDown}, 
2388 @cindex @code{\dynamicBoth}
2389 @code{\dynamicBoth}.
2390
2391 @cindex direction, of dynamics
2392
2393 @seealso
2394
2395 Program reference: @internalsref{CrescendoEvent},
2396 @internalsref{DecrescendoEvent}, and
2397 @internalsref{AbsoluteDynamicEvent}.
2398
2399 Dynamics @internalsref{DynamicText} and @internalsref{Hairpin}
2400 objects. Vertical positioning of these symbols is handled by the
2401 @internalsref{DynamicLineSpanner} object.
2402
2403
2404 @node Repeats
2405 @section Repeats
2406
2407
2408 @cindex repeats
2409 @cindex @code{\repeat}
2410
2411
2412 Repetition is a central concept in music, and multiple notations exist
2413 for repetitions. In LilyPond, most of these notations can be captured
2414 in a uniform syntax. One of the advantages is that they can be
2415 rendered in MIDI accurately.
2416
2417 The following types of repetition are supported:
2418
2419 @table @code
2420 @item unfold
2421 Repeated music is fully written (played) out.  Useful for MIDI
2422 output, and entering repetitive music.
2423
2424 @item volta
2425 This is the normal notation: Repeats are not written out, but
2426 alternative endings (volte) are printed, left to right.
2427
2428 @ignore
2429 @item fold
2430 Alternative endings are written stacked. This has limited use but may be
2431 used to typeset two lines of lyrics in songs with repeats, see
2432 @inputfileref{input,star-spangled-banner.ly}.
2433 @end ignore
2434
2435 @c tremolo, beamed
2436 @item tremolo
2437 Make tremolo beams.
2438
2439 @item percent
2440 Make beat or measure repeats. These look like percent signs.
2441
2442 @end table  
2443
2444 @menu
2445 * Repeat syntax::               
2446 * Repeats and MIDI::            
2447 * Manual repeat commands::      
2448 * Tremolo repeats::             
2449 * Tremolo subdivisions::        
2450 * Measure repeats::             
2451 @end menu
2452
2453 @node Repeat syntax
2454 @subsection Repeat syntax
2455
2456
2457 LilyPond has one syntactic construct for specifying different types of
2458 repeats.  The syntax is
2459
2460 @example
2461   \repeat @var{variant} @var{repeatcount} @var{repeatbody}
2462 @end example
2463
2464 If you have alternative endings, you may add
2465 @cindex @code{\alternative}
2466 @example
2467  \alternative @code{@{} @var{alternative1}
2468             @var{alternative2}
2469             @var{alternative3} @dots{} @code{@}}
2470 @end example
2471 where each @var{alternative} is a music expression.  If you do not
2472 give enough alternatives for all of the repeats, then the first
2473 alternative is assumed to be played more than once.
2474
2475 Normal notation repeats are used like this:
2476 @lilypond[fragment,verbatim,relative=1]
2477   c1
2478   \repeat volta 2 { c4 d e f }
2479   \repeat volta 2 { f e d c }
2480 @end lilypond
2481
2482 With alternative endings:
2483 @lilypond[fragment,verbatim,relative=1]
2484   c1
2485   \repeat volta 2 {c4 d e f} 
2486   \alternative { {d2 d} {f f,} }
2487 @end lilypond
2488
2489
2490 @lilypond[fragment,verbatim,relative=1]
2491 \context Staff {
2492     \partial 4
2493     \repeat volta 4 { e | c2 d2 | e2 f2 | }
2494     \alternative { { g4 g g } { a | a a a a | b2. } }
2495 }
2496 @end lilypond
2497
2498 @refbugs
2499
2500 A nested repeat like
2501
2502 @example 
2503 \repeat @dots{}
2504 \repeat @dots{}
2505 \alternative 
2506 @end example 
2507
2508 @noindent
2509 is ambiguous, since it is is not clear to which @code{\repeat} the
2510 @code{\alternative} belongs. This ambiguity is resolved by always
2511 having the @code{\alternative} belong to the inner @code{\repeat}.
2512 For clarity, it is advisable to use braces in such situations.
2513 @cindex ambiguity
2514
2515 @node Repeats and MIDI
2516 @subsection Repeats and MIDI
2517
2518 @cindex expanding repeats
2519
2520 For instructions on how to expand repeats for MIDI output, see the
2521 example file @inputfileref{input/test,unfold-all-repeats.ly}.
2522
2523
2524 @refbugs
2525
2526 Timing information is not remembered at the start of an alternative,
2527 so after a repeat timing information must be reset by hand, for
2528 example by setting @code{Score.measurePosition} or entering
2529 @code{\partial}.  Similarly, slurs or ties are also not repeated.
2530
2531
2532 @node Manual repeat commands
2533 @subsection Manual repeat commands
2534
2535 @cindex @code{repeatCommands}
2536
2537 The property @code{repeatCommands} can be used to control the layout of
2538 repeats. Its value is a Scheme list of repeat commands, where each repeat
2539 command can be
2540
2541 @table @asis
2542 @item the symbol @code{start-repeat},
2543   which prints a @code{|:} bar line,
2544 @item the symbol @code{end-repeat},
2545   which prints a @code{:|} bar line,
2546 @item the list @code{(volta @var{text})},
2547   which prints a volta bracket saying @var{text}: The text can be specified as
2548 a text string or as a markup text, see @ref{Text markup}. Do not
2549 forget to change the font, as the default number font does not contain
2550 alphabetic characters. Or,
2551 @item the list @code{(volta #f)}, which 
2552   stops a running volta bracket:
2553 @end table
2554
2555 @lilypond[verbatim,fragment,relative=2]
2556  c4
2557     \set Score.repeatCommands = #'((volta "93") end-repeat)
2558  c4 c4
2559     \set Score.repeatCommands = #'((volta #f))
2560  c4 c4
2561 @end lilypond
2562
2563
2564 @seealso
2565
2566 Program reference: @internalsref{VoltaBracket}, @internalsref{RepeatedMusic},
2567 @internalsref{VoltaRepeatedMusic},
2568 @internalsref{UnfoldedRepeatedMusic}, and
2569 @internalsref{FoldedRepeatedMusic}.
2570
2571 @node Tremolo repeats
2572 @subsection Tremolo repeats
2573 @cindex tremolo beams
2574
2575 To place tremolo marks between notes, use @code{\repeat} with tremolo
2576 style:
2577 @lilypond[verbatim,raggedright]
2578 \score { 
2579   \context Voice \notes\relative c' {
2580     \repeat "tremolo" 8 { c16 d16 }
2581     \repeat "tremolo" 4 { c16 d16 }    
2582     \repeat "tremolo" 2 { c16 d16 }
2583   }
2584 }
2585 @end lilypond
2586
2587 Tremolo marks can also be put on a single note.  In this case, the
2588 note should not be surrounded by braces.
2589 @lilypond[verbatim,raggedright]
2590     \repeat "tremolo" 4 c'16
2591 @end lilypond
2592
2593 A similar mechanism  is the tremolo subdivision, described in
2594 @ref{Tremolo subdivisions}.
2595
2596 @seealso
2597
2598 In this manual: @ref{Tremolo subdivisions}, @ref{Repeats}.
2599
2600 Program reference: tremolo beams are @internalsref{Beam} objects. Single stem
2601 tremolos are @internalsref{StemTremolo} objects.  The music expression is
2602 @internalsref{TremoloEvent}.
2603
2604 Example files: @inputfileref{input/regression,chord-tremolo.ly},
2605 @inputfileref{input/regression,stem-tremolo.ly}.
2606
2607 @node Tremolo subdivisions
2608 @subsection Tremolo subdivisions
2609 @cindex tremolo marks
2610 @cindex @code{tremoloFlags}
2611
2612 Tremolo marks can be printed on a single note by adding
2613 `@code{:}[@var{length}]' after the note.  The length must be at least 8.
2614 A @var{length} value of 8 gives one line across the note stem.  If the
2615 length is omitted, then then the last value (stored in
2616 @code{tremoloFlags}) is used:
2617
2618 @lilypond[verbatim,fragment]
2619   c'2:8 c':32 | c': c': |
2620 @end lilypond
2621
2622 @c [TODO : stok is te kort bij 32en]
2623
2624 @refbugs
2625
2626 Tremolos entered in this way do not carry over into the MIDI output.
2627
2628 @seealso
2629
2630 In this manual: @ref{Tremolo repeats}.
2631
2632 Elsewhere: @internalsref{StemTremolo}, @internalsref{TremoloEvent}.
2633
2634 @node Measure repeats
2635 @subsection Measure repeats
2636
2637 @cindex percent repeats
2638 @cindex measure repeats
2639
2640 In the @code{percent} style, a note pattern can be repeated. It is
2641 printed once, and then the pattern is replaced with a special sign.
2642 Patterns of a one and two measures are replaced by percent-like signs,
2643 patterns that divide the measure length are replaced by slashes:
2644
2645 @lilypond[verbatim,raggedright]
2646  \context Voice { \repeat  "percent" 4  { c'4 }
2647     \repeat "percent" 2 { c'2 es'2 f'4 fis'4 g'4 c''4 }
2648 }
2649 @end lilypond   
2650
2651 @seealso
2652
2653 Program reference: @internalsref{RepeatSlash}, @internalsref{PercentRepeat},
2654 @internalsref{PercentRepeatedMusic}, and
2655 @internalsref{DoublePercentRepeat}.
2656
2657
2658
2659 @node Rhythmic music
2660 @section Rhythmic music
2661
2662
2663 @menu
2664 * Showing melody rhythms::      
2665 * Entering percussion::         
2666 * Percussion staves::           
2667 @end menu
2668
2669
2670 @node Showing melody rhythms
2671 @subsection Showing melody rhythms
2672
2673 Sometimes you might want to show only the rhythm of a melody.  This
2674 can be done with the rhythmic staff. All pitches of notes on such a
2675 staff are squashed, and the staff itself has a single line:
2676
2677 @lilypond[fragment,relative,verbatim]
2678   \context RhythmicStaff {
2679       \time 4/4
2680       c4 e8 f  g2 | r4 g r2 | g1:32 | r1 |
2681   }
2682 @end lilypond
2683
2684 @seealso
2685
2686 Program reference: @internalsref{RhythmicStaff}.
2687
2688 Examples: @inputfileref{input/regression,rhythmic-staff.ly}.
2689
2690
2691 @node Entering percussion
2692 @subsection Entering percussion
2693
2694 @cindex percussion
2695 @cindex drums
2696
2697
2698 Percussion notes may be entered in @code{\drums} mode, which is
2699 similar to @code{notes}.  Each piece of percussion has a full name and
2700 an abbreviated name, and both be used in input files:
2701
2702 @example
2703   hihat hh bassdrum bd
2704 @end example
2705 @lilypond[raggedright]
2706         \new DrumStaff \drums {   hihat hh bassdrum bd
2707  }
2708 @end lilypond
2709
2710 The complete list of drum names is in the init file
2711 @file{ly/drumpitch-init.ly}.
2712 @c TODO: properly document this.
2713
2714 @seealso
2715
2716 Program reference: @internalsref{DrumNoteEvent}.
2717
2718 @node Percussion staves
2719 @subsection Percussion staves
2720 @cindex percussion
2721 @cindex drums
2722
2723 A percussion part for more than one instrument typically uses a
2724 multiline staff where each position in the staff refers to one piece
2725 of percussion.
2726
2727
2728 To typeset the music, the notes must be interpreted in a
2729 @internalsref{DrumStaff} and @internalsref{DrumVoice} contexts:
2730
2731 @c
2732 @lilypond[raggedright,verbatim]
2733 up = \drums { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat }
2734 down = \drums { bassdrum4 snare8 bd r bd sn4 }
2735 \score {
2736     \new DrumStaff
2737         << \new DrumVoice { \voiceOne \up } 
2738            \new DrumVoice { \voiceTwo \down } 
2739 >> }
2740 @end lilypond
2741
2742 The above example shows verbose polyphonic notation. The short
2743 polyphonic notation, described in @ref{Polyphony}, can also be used if
2744 the @internalsref{DrumVoices} are instantiated by hand first. For example, 
2745
2746 @lilypond[fragment,verbatim] 
2747 \drums \new DrumStaff <<
2748   \context DrumVoice = "1" {  s1 *2 }
2749   \context DrumVoice = "2" {  s1 *2 }
2750   {
2751     bd4 sn4 bd4 sn4
2752     <<
2753       { \repeat unfold 16 hh16 }
2754       \\
2755       { bd4 sn4 bd4 sn4 }
2756     >>
2757   }   
2758 >>
2759 @end lilypond
2760
2761
2762 There are also other layout possibilities. To use these, set the
2763 property @code{drumStyleTable} in context @internalsref{DrumVoice}.
2764 The following variables have been predefined:
2765
2766 @table @code
2767 @item drums-style
2768 is the default. It typesets a typical drum kit on a five-line staff
2769
2770 @lilypond[noindent]
2771 nam = \lyrics { cymc cyms cymr hh hhc hho hhho hhp cb hc
2772     bd sn ss tomh tommh tomml toml tomfh tomfl }
2773 mus = \drums  { cymc cyms cymr hh | hhc hho hhho hhp | \break cb hc
2774     bd sn ss tomh tommh tomml toml tomfh tomfl s16 }
2775 \score {
2776     << \new DrumStaff\with {
2777             \remove Bar_engraver
2778             \remove Time_signature_engraver
2779             \override Stem #'transparent = ##t
2780             \override Stem #'Y-extent-callback = ##f
2781             minimumVerticalExtent = #'(-4.0 . 5.0)
2782     } \mus
2783         \context Lyrics \nam 
2784     >>
2785     \paper {
2786     %% need to do this, because of indented @itemize
2787     linewidth= 9 \cm 
2788     \context { \ScoreContext
2789     \override LyricText #'font-family = #'typewriter
2790     \override BarNumber #'transparent =##T
2791 }}}
2792 @end lilypond
2793
2794 The drum scheme supports six different toms.  When there fewer toms, simply
2795 select the toms that produce the desired result, i.e. to get toms on
2796 the three middle lines you use @code{tommh}, @code{tomml} and
2797 @code{tomfh}.
2798
2799 @item timbales-style
2800 to typeset timbales on a two line staff:
2801
2802 @lilypond[raggedright]
2803 nam = \lyrics { timh ssh timl ssl cb }
2804 mus = \drums  { timh ssh timl ssl cb s16 }
2805 \score {
2806     <<
2807         \context DrumStaff \with {
2808             \remove Bar_engraver
2809             \remove Time_signature_engraver
2810             \override Stem #'transparent = ##t
2811             \override Stem #'Y-extent-callback = ##f
2812             \override StaffSymbol #'line-count = #2
2813             \override StaffSymbol #'staff-space = #2
2814             minimumVerticalExtent = #'(-3.0 . 4.0)
2815             drumStyleTable = #timbales-style
2816         } \mus
2817         \context Lyrics {
2818             \override LyricText #'font-family = #'typewriter
2819
2820         \nam  }
2821     >>
2822 }
2823 @end lilypond
2824 @item congas-style
2825 to typeset congas on a two line staff:
2826
2827 @lilypond[raggedright]
2828 nam = \lyrics { cgh cgho cghm ssh cgl cglo cglm ssl }
2829 mus = \drums  { cgh cgho cghm ssh cgl cglo cglm ssl s16 }
2830 \score {
2831     <<
2832         \context DrumStaff\with {
2833             \remove Bar_engraver
2834             \remove Time_signature_engraver
2835             drumStyleTable = #congas-style
2836             \override StaffSymbol #'line-count = #2
2837             
2838             %% this sucks; it will lengthen stems.
2839             \override StaffSymbol #'staff-space = #2
2840             \override Stem #'transparent = ##t
2841             \override Stem #'Y-extent-callback = ##f
2842         } \mus
2843         \context Lyrics {
2844                     \override LyricText #'font-family = #'typewriter
2845 \nam  }
2846     >>
2847 }
2848 @end lilypond
2849 @item bongos-style
2850 to typeset bongos on a two line staff:
2851
2852 @lilypond[raggedright]
2853 nam = \lyrics { boh boho bohm ssh bol bolo bolm ssl }
2854 mus = \drums  { boh boho bohm ssh bol bolo bolm ssl s16 }
2855 \score {
2856     <<
2857         \context DrumStaff\with {
2858             \remove Bar_engraver
2859             \remove Time_signature_engraver
2860             \override StaffSymbol #'line-count = #2
2861             drumStyleTable = #bongos-style
2862            
2863             %% this sucks; it will lengthen stems.
2864             \override StaffSymbol #'staff-space = #2
2865             \override Stem #'transparent = ##t
2866             \override Stem #'Y-extent-callback = ##f
2867         } \mus
2868         \context Lyrics {
2869                     \override LyricText #'font-family = #'typewriter
2870 \nam  }
2871     >>
2872 }
2873 @end lilypond
2874
2875 @item percussion-style
2876 to typeset all kinds of simple percussion on one line staves:
2877 @lilypond[raggedright]
2878 nam = \lyrics { tri trio trim gui guis guil cb cl tamb cab mar hc }
2879 mus = \drums  { tri trio trim gui guis guil cb cl tamb cab mar hc s16 }
2880 \score {
2881     <<
2882         \context DrumStaff\with{
2883             \remove Bar_engraver
2884             drumStyleTable = #percussion-style
2885             \override StaffSymbol #'line-count = #1
2886             \remove Time_signature_engraver
2887             \override Stem #'transparent = ##t
2888             \override Stem #'Y-extent-callback = ##f
2889         } \mus
2890         \context Lyrics {
2891         \nam
2892                     \override LyricText #'font-family = #'typewriter
2893 }
2894     >>
2895 }
2896 @end lilypond
2897 @end table
2898
2899 If you do not like any of the predefined lists you can define your own
2900 list at the top of your file:
2901
2902 @lilypond[raggedright,verbatim]
2903 #(define mydrums '(
2904         (bassdrum     default   #f        -1)
2905         (snare        default   #f        0)
2906         (hihat        cross     #f        1)
2907         (pedalhihat   xcircle   "stopped" 2)
2908         (lowtom       diamond   #f       3)
2909 ))
2910 up = \drums { hh8 hh hh hh hhp4 hhp }
2911 down = \drums { bd4 sn bd toml8 toml }
2912 \score {
2913     \new DrumStaff <<
2914         \set DrumStaff.drumStyleTable
2915  = #(alist->hash-table mydrums)
2916         \new DrumVoice { \voiceOne \up }
2917         \new DrumVoice { \voiceTwo \down }
2918     >>
2919 }
2920 @end lilypond
2921
2922
2923 @seealso
2924
2925 Init files: @file{ly/drumpitch-init.ly}.
2926
2927 Program reference: @internalsref{DrumStaff}, @internalsref{DrumVoice}.
2928
2929 @refbugs
2930
2931 Because general MIDI does not contain rim shots, the sidestick is used
2932 for this purpose instead.
2933
2934 @node Piano music
2935 @section Piano music
2936
2937 Piano staves are two normal staves coupled with a brace.  The staves
2938 are largely independent, but sometimes voices can cross between the
2939 two staves.  The same notation is also used for harps and other key
2940 instruments.  The @internalsref{PianoStaff} is especially built to
2941 handle this cross-staffing behavior.  In this section we discuss the
2942 @internalsref{PianoStaff} and some other pianistic peculiarities.
2943
2944
2945 @menu
2946 * Automatic staff changes::     
2947 * Manual staff switches::       
2948 * Pedals::                      
2949 * Arpeggio::                    
2950 * Staff switch lines::          
2951 @end menu 
2952
2953 @refbugs
2954
2955 There is no support for putting chords across staves.  You can get
2956 this result by increasing the length of the stem in the lower stave so
2957 it reaches the stem in the upper stave, or vice versa. An example is
2958 included with the distribution as
2959 @inputfileref{input/test,stem-cross-staff.ly}.
2960
2961 Dynamics are not centered, but kludges do exist. See
2962 @inputfileref{input/template,piano-dynamics.ly}.
2963
2964 @cindex cross staff stem
2965 @cindex stem, cross staff
2966
2967 The distance between the two staves is normally fixed across the
2968 entire score. It is possible to tune this per system, but it does
2969 require arcane command incantations. See
2970 @inputfileref{input/test,piano-staff-distance.ly}.
2971  
2972
2973
2974
2975
2976
2977 @node Automatic staff changes
2978 @subsection Automatic staff changes
2979 @cindex Automatic staff changes
2980
2981 Voices can switch automatically between the top and the bottom
2982 staff. The syntax for this is
2983 @example
2984   \autochange \context Voice @{ @dots{}@var{music}@dots{} @}
2985 @end example
2986 The two staves of the piano staff must be named @code{up} and
2987 @code{down}.
2988
2989 The autochanger switches on basis of pitch (middle C is the turning
2990 point), and it looks ahead skipping over rests to switch in
2991 advance. Here is a practical example:
2992         
2993 @lilypond[verbatim,raggedright]
2994 \score { \notes \context PianoStaff <<
2995   \context Staff = "up" {
2996     \autochange \new Voice \relative c' {
2997        g4 a  b c d r4 a g } }
2998   \context Staff = "down" {
2999        \clef bass
3000        s1*2
3001 } >> }
3002 @end lilypond
3003
3004 @noindent
3005 In this example, spacer rests are used to prevent the bottom staff from
3006 terminating too soon.
3007
3008
3009 @seealso
3010
3011 In this manual: @ref{Manual staff switches}.
3012
3013 Program reference: @internalsref{AutoChangeMusic}.
3014
3015
3016
3017 @refbugs
3018
3019 The staff switches often do not end up in optimal places. For high
3020 quality output, staff switches should be specified manually.
3021
3022
3023
3024 @node Manual staff switches
3025 @subsection Manual staff switches
3026
3027 @cindex manual staff switches
3028 @cindex staff switch, manual
3029
3030 Voices can be switched between staves manually, using the following command:
3031 @example
3032   \change Staff = @var{staffname} @var{music}
3033 @end example
3034
3035 @noindent
3036 The string @var{staffname} is the name of the staff. It switches the
3037 current voice from its current staff to the Staff called
3038 @var{staffname}. Typically @var{staffname} is @code{"up"} or
3039 @code{"down"}.
3040
3041
3042
3043 @node Pedals
3044 @subsection Pedals
3045 @cindex Pedals
3046
3047 Pianos have pedals that alter the way sound are produced. Generally, a
3048 piano has three pedals, sustain, una corda, and sostenuto.
3049
3050
3051 Piano pedal instruction can be expressed by attaching
3052 @code{\sustainDown}, @code{\sustainUp}, @code{\unaCorda},
3053 @code{\treCorde}, @code{\sostenutoDown} and @code{\sostenutoUp} to a
3054 note or chord:
3055
3056 @lilypond[fragment,verbatim]
3057   c'4\sustainDown c'4\sustainUp
3058 @end lilypond
3059
3060 What is printed can be modified by setting @code{pedal@var{X}Strings},
3061 where @var{X} is one of the pedal types: @code{Sustain},
3062 @code{Sostenuto} or @code{UnaCorda}.  Refer to
3063 @internalsref{SustainPedal} in the program reference for more
3064 information.
3065
3066 Pedals can also be indicated by a sequence of brackets, by setting the 
3067 @code{pedalSustainStyle} property to @code{bracket} objects: 
3068
3069 @lilypond[fragment,verbatim,relative=2]
3070  \set Staff.pedalSustainStyle = #'bracket
3071  c\sustainDown d e
3072  b\sustainUp\sustainDown
3073  b g \sustainUp a \sustainDown \bar "|."
3074 @end lilypond
3075
3076 A third style of pedal notation is a mixture of text and brackets,
3077 obtained by setting the @code{pedalSustainStyle} style property to
3078 @code{mixed}:
3079
3080 @lilypond[fragment,verbatim,relative=2]
3081  \set Staff.pedalSustainStyle = #'mixed
3082  c\sustainDown d e
3083  b\sustainUp\sustainDown
3084  b g \sustainUp a \sustainDown \bar "|."
3085 @end lilypond
3086
3087 The default `*Ped.' style for sustain and damper pedals corresponds to
3088 style @code{#'text}. The sostenuto pedal uses @code{mixed} style by
3089 default.
3090
3091 @lilypond[fragment,verbatim,relative=2]
3092   c\sostenutoDown d e c, f g a\sostenutoUp
3093 @end lilypond
3094
3095 For fine-tuning of the appearance of a pedal bracket, the properties
3096 @code{edge-width}, @code{edge-height}, and @code{shorten-pair} of
3097 @code{PianoPedalBracket} objects (see
3098 @internalsref{PianoPedalBracket} in the Program reference)  can be modified.  For example, the
3099 bracket may be extended to the end of the note head:
3100
3101 @lilypond[fragment,verbatim]
3102 \override Staff.PianoPedalBracket  
3103    #'shorten-pair = #'(0 . -1.0)
3104   c\sostenutoDown d e c, f g a\sostenutoUp
3105 @end lilypond
3106
3107 @node Arpeggio
3108 @subsection Arpeggio
3109 @cindex Arpeggio
3110
3111 @cindex broken arpeggio
3112 @cindex @code{\arpeggio}
3113
3114 You can specify an arpeggio sign on a chord by attaching an
3115 @code{\arpeggio} to a chord:
3116
3117
3118 @lilypond[fragment,relative,verbatim]
3119   <c e g c>\arpeggio
3120 @end lilypond
3121
3122 When an arpeggio crosses staves, you attach an arpeggio to the chords
3123 in both staves, and set
3124 @internalsref{PianoStaff}.@code{connectArpeggios}:
3125
3126 @lilypond[fragment,relative,verbatim]
3127   \context PianoStaff <<
3128     \set PianoStaff.connectArpeggios = ##t
3129     \new Staff  { <c' e g c>\arpeggio }
3130     \new Staff { \clef bass  <c,, e g>\arpeggio }
3131   >>
3132 @end lilypond
3133
3134 The direction of the arpeggio is sometimes denoted by adding an
3135 arrowhead to the wiggly line:
3136
3137 @lilypond[fragment,relative,verbatim]
3138   \context Voice {
3139      \arpeggioUp
3140      <c e g c>\arpeggio
3141      \arpeggioDown
3142      <c e g c>\arpeggio
3143   }
3144 @end lilypond
3145
3146 A square bracket on the left indicates that the player should not
3147 arpeggiate the chord:
3148
3149 @lilypond[fragment,relative,verbatim]
3150      \arpeggioBracket
3151     <c' e g c>\arpeggio
3152 @end lilypond
3153
3154 @refcommands
3155
3156 @cindex @code{\arpeggio}
3157 @code{\arpeggio},
3158 @cindex @code{\arpeggioUp}
3159 @code{\arpeggioUp},
3160 @cindex @code{\arpeggioDown}
3161 @code{\arpeggioUp},
3162 @cindex @code{\arpeggioBoth}
3163 @code{\arpeggioBoth},
3164 @cindex @code{\arpeggioBracket}
3165 @code{\arpeggioBracket}.
3166
3167 @seealso
3168
3169 Program reference: @internalsref{ArpeggioEvent} music expressions lead to
3170 @internalsref{Arpeggio} objects.  Cross staff arpeggios are
3171 @internalsref{PianoStaff}.@internalsref{Arpeggio}.
3172
3173 @refbugs
3174
3175 It is not possible to mix connected arpeggios and unconnected
3176 arpeggios in one @internalsref{PianoStaff} at the same time.
3177
3178 @node Staff switch lines
3179 @subsection Staff switch lines
3180
3181
3182 @cindex follow voice
3183 @cindex staff switching
3184 @cindex cross staff
3185
3186 @cindex @code{followVoice}
3187
3188 Whenever a voice switches to another staff a line connecting the notes
3189 can be printed automatically. This is enabled if the property
3190 @code{PianoStaff.followVoice} is set to true:
3191
3192 @lilypond[fragment,relative,verbatim]
3193   \context PianoStaff <<
3194     \set PianoStaff.followVoice = ##t
3195     \context Staff \context Voice {
3196       c1
3197       \change Staff=two
3198       b2 a
3199     }
3200     \context Staff=two { \clef bass \skip 1*2 }
3201   >>  
3202 @end lilypond
3203
3204 @seealso
3205
3206 The associated object is @internalsref{VoiceFollower}.
3207
3208 @refcommands
3209
3210 @cindex @code{\showStaffSwitch}
3211 @code{\showStaffSwitch}, 
3212 @cindex @code{\hideStaffSwitch}
3213 @code{\hideStaffSwitch}.
3214
3215
3216 @node Vocal music
3217 @section Vocal music
3218
3219 This section discusses how to enter and print lyrics.
3220
3221 @menu
3222 * Entering lyrics::             
3223 * The Lyrics context::          
3224 * More stanzas::                
3225 * Ambitus::                     
3226 @end menu
3227
3228 @node Entering lyrics
3229 @subsection Entering lyrics
3230
3231
3232 @cindex lyrics
3233 @cindex @code{\lyrics}
3234 @cindex punctuation
3235
3236 Lyrics are entered in a special input mode. This mode is is introduced
3237 by the keyword @code{\lyrics}.  In this mode you can enter lyrics, with
3238 punctuation and accents without any hassle.  Syllables are entered like
3239 notes, but with pitches replaced by text.  For example,
3240 @example
3241   \lyrics @{ Twin-4 kle4 twin- kle litt- le star2 @}
3242 @end example
3243
3244 A word in Lyrics mode begins with: an alphabetic character, @code{_},
3245 @code{?}, @code{!}, @code{:}, @code{'}, the control characters @code{^A}
3246 through @code{^F}, @code{^Q} through @code{^W}, @code{^Y}, @code{^^},
3247 any 8-bit character with ASCII code over 127, or a two-character
3248 combination of a backslash followed by one of @code{`}, @code{'},
3249 @code{"}, or @code{^}.
3250
3251 Subsequent characters of a word can be any character that is not a digit
3252 and not white space.  One important consequence of this is that a word
3253 can end with @code{@}}. The following example is usually a bug. The
3254 syllable includes a @code{@}}, and hence the opening brace is not balanced:
3255 @example
3256   \lyrics @{ twinkle@}
3257 @end example
3258
3259 @cindex @code{\property}, in @code{\lyrics}
3260 Similarly, a period following a alphabetic sequence, is included in
3261 the resulting string. As a consequence, spaces must be inserted around
3262 property commands:
3263 @example
3264   \override Score . LyricText #'font-shape = #'italic
3265 @end example
3266
3267 @cindex @code{_}
3268 @cindex spaces, in lyrics
3269 @cindex quotes, in lyrics
3270
3271 Any @code{_} character which appears in an unquoted word is converted
3272 to a space.  This provides a mechanism for introducing spaces into words
3273 without using quotes.  Quoted words can also be used in Lyrics mode to
3274 specify words that cannot be written with the above rules:
3275
3276 @example
3277   \lyrics @{ He said: "\"Let" my peo ple "go\"" @}
3278 @end example
3279
3280 @cindex hyphens
3281
3282 Centered hyphens are entered as `@code{-}@code{-}' between syllables.
3283 The hyphen will have variable length depending on the space between
3284 the syllables and it will be centered between the syllables.
3285
3286 @cindex melisma
3287 @cindex extender
3288
3289 When a lyric is sung over many notes (this is called a melisma), this is
3290 indicated with a horizontal line centered between a syllable and the
3291 next one. Such a line is called an extender line, and it is entered as
3292 @code{__}.
3293
3294 @seealso
3295
3296 Program reference: events @internalsref{LyricEvent},
3297 @internalsref{HyphenEvent}, and @internalsref{ExtenderEvent}. Objects:
3298 @internalsref{LyricHyphen}, @internalsref{LyricExtender} and
3299 @internalsref{LyricText}.
3300
3301 Examples: @inputfileref{input/test,lyric-hyphen-retain.ly}.
3302
3303 @refbugs
3304
3305 The definition of lyrics mode is too complex.
3306
3307
3308
3309 @node The Lyrics context
3310 @subsection  The Lyrics context
3311
3312 Lyrics are printed by interpreting them in a @internalsref{Lyrics} context:
3313 @example
3314  \context Lyrics \lyrics @dots{}
3315 @end example
3316
3317 @cindex automatic syllable durations
3318 @cindex @code{\lyricsto}
3319 @cindex lyrics and melodies
3320
3321 This will place the lyrics according to the durations that were
3322 entered. The lyrics can also be aligned under a given melody
3323 automatically.  In this case, it is no longer necessary to enter the
3324 correct duration for each syllable.  This is achieved by combining the
3325 melody and the lyrics with the @code{\lyricsto} expression:
3326 @example
3327 \lyricsto @var{name} \new Lyrics @dots{} 
3328 @end example
3329
3330 This aligns the lyrics to the
3331 @c
3332 notes of the @internalsref{Voice} context called @var{name}, which has
3333 to exist. Therefore, normally the @code{Voice} is specified first, and
3334 then the lyrics are specified with @code{\lyricsto}.
3335
3336 For different or more complex orderings, the best way is to setup the
3337 hierarchy of staves and lyrics first, e.g.
3338 @example
3339 \context ChoirStaff \notes <<
3340   \context Lyrics = sopranoLyrics @{ s1 @}
3341   \context Voice = soprano @{ @emph{music} @}
3342   \context Lyrics = tenorLyrics @{ s1 @}
3343   \context Voice = tenor @{ @emph{music} @}
3344 >>
3345 @end example
3346 and then combine the appropriate melodies and lyric lines:
3347 @example
3348   \lyricsto "soprano" \context Lyrics = sopranoLyrics
3349      @emph{the lyrics}
3350 @end example
3351
3352 @noindent
3353 The final input would resemble
3354
3355 @example
3356   << \context ChoirStaff \notes << @emph{setup the music}  >>
3357      \lyricsto "soprano" @emph{etc}
3358      \lyricsto "alto" @emph{etc}
3359      @emph{etc}
3360   >>
3361 @end example 
3362
3363
3364 The @code{\lyricsto} command detects melismata: it only puts one
3365 syllable under a tied or slurred group of notes. If you want to force
3366 an unslurred group of notes to be a melisma, then insert
3367 @code{\melisma} after the first note of the group, and
3368 @code{\melismaEnd} after the last one, e.g.
3369
3370 @lilypond[relative=1,raggedright,fragment,verbatim]
3371 <<  \context Voice = "lala" { \time 3/4
3372     f4 g8
3373     \melisma 
3374     f e f
3375     \melismaEnd
3376      e2 }
3377   \lyricsto "lala" \new Lyrics \lyrics {
3378     la di __ daah 
3379   } >>
3380 @end lilypond
3381
3382 In addition, notes are considered a melisma if they are manually
3383 beamed, and automatic beaming (see @ref{Setting automatic beam
3384 behavior}) is switched off.  The criteria for deciding melismata can
3385 be tuned with the property @code{melismaBusyProperties}. See
3386 @internalsref{Melisma_translator} in the program reference for more
3387 information.
3388
3389 When multiple stanzas are put on the same melody, it can happen that
3390 two stanzas have melismata in different locations. This can be
3391 remedied by switching off melismata for one
3392 @internalsref{Lyrics}. This is achieved by setting
3393 the @code{ignoreMelismata} property to @code{#t}. An example is shown
3394 in @inputfileref{input/regression,lyric-combine-new.ly}.
3395
3396 @cindex SATB
3397 @cindex choral score
3398
3399 A complete example of a SATB score setup is in the file
3400 @inputfileref{input/template,satb.ly}.
3401
3402
3403 @refcommands
3404
3405 @code{\melisma}, @code{\melismaEnd}
3406 @cindex @code{\melismaEnd}
3407 @cindex @code{\melisma}
3408
3409 @seealso
3410
3411 Program reference: Music expressions: @internalsref{LyricCombineMusic},
3412 Contexts: @internalsref{Lyrics}, @internalsref{Melisma_translator}.
3413
3414 Examples: @inputfileref{input/template,satb.ly},
3415 @inputfileref{input/regression,lyric-combine-new.ly}.
3416  
3417 @refbugs
3418
3419 Melismata are not detected automatically, and extender lines must be
3420 inserted by hand.
3421
3422
3423 For proper processing of extender lines, the
3424 @internalsref{Lyrics} and @internalsref{Voice} should be
3425 linked. This can be achieved either by using @code{\lyricsto} or by
3426 setting corresponding names for both contexts. The latter is explained
3427 in @ref{More stanzas}.
3428
3429 @node More stanzas
3430 @subsection More stanzas
3431
3432 @cindex phrasing, in lyrics
3433
3434
3435 The lyrics should be aligned with the note heads of the melody. To
3436 achieve this, each line of lyrics should be marked to correspond with
3437 the melodic line. This is done automatically when @code{\lyricsto},
3438 but it can also be done manually. 
3439
3440 To this end, give the @internalsref{Voice} context an identity:
3441 @example
3442 \context Voice = duet @{
3443      \time 3/4
3444      g2 e4 a2 f4 g2.  @}
3445 @end example
3446
3447 Then set the @internalsref{Lyrics} contexts to names starting with
3448 that identity followed by a dash.  In the preceding example, the
3449 @internalsref{Voice} identity is @code{duet}, so the identities of the
3450 @internalsref{Lyrics}s are marked @code{duet-1} and @code{duet-2}:
3451 @example
3452   \context Lyrics = "duet-1" @{
3453     Hi, my name is Bert. @}
3454   \context Lyrics = "duet-2" @{
3455     Ooooo, ch\'e -- ri, je t'aime. @}
3456 @end example
3457
3458 The complete example is shown here:
3459 @lilypond[raggedright,verbatim]
3460 \score {
3461   << \notes \relative c'' \context Voice = duet { \time 3/4
3462      g2 e4 a2 f4 g2.  }
3463   \lyrics << \lyricsto "duet" \new Lyrics {
3464     \set vocalName = "Bert"
3465     Hi, my name is Bert. }
3466   \lyricsto "duet" \new Lyrics {
3467     \set vocalName = "Ernie"
3468     Ooooo, ch\'e -- ri, je t'aime.
3469     }
3470   >> >>
3471 }
3472 @end lilypond
3473
3474 @cindex stanza number
3475 @cindex singer's names
3476 @cindex name of singer 
3477
3478 Stanza numbers can be added by setting @code{stanza}, e.g.
3479
3480 @lilypond[verbatim,relative=2]
3481 << \context Voice = duet { \time 3/4
3482      g2 e4 a2 f4 g2.  }
3483    \lyrics \lyricsto "duet" \new Lyrics {
3484        \set stanza = "1. "
3485        Hi, my name is Bert.
3486    }
3487 >>
3488 @end lilypond
3489
3490 This example also demonstrates how names of the singers can be added
3491 using @code{vocalName} analogous to instrument annotations for staves.
3492 A short version may be entered as @code{vocNam}.
3493
3494 To make empty spaces in lyrics, use @code{\skip}.
3495
3496
3497 @seealso
3498
3499 Program reference: Layout objects @internalsref{LyricText} and
3500 @internalsref{VocalName}.  Music expressions:
3501 @internalsref{LyricEvent}.
3502
3503 @refbugs
3504
3505 @cindex ambiguity
3506
3507 Input for lyrics introduces a syntactical ambiguity:
3508  
3509 @example 
3510 foo = bar 
3511 @end example 
3512
3513 @noindent
3514 is interpreted as assigning a string identifier @code{\foo} such that
3515 it contains @code{"bar"}.  However, it could also be interpreted as
3516 making or a music identifier @code{\foo} containing the syllable
3517 `bar'.  The force the latter interpretation, use
3518 @example
3519   foo = \lyrics bar4
3520 @end example
3521
3522
3523 @node Ambitus
3524 @subsection Ambitus
3525 @cindex ambitus
3526
3527 The term @emph{ambitus} denotes a range of pitches for a given voice
3528 in a part of music.  It also may denote the pitch range that a musical
3529 instrument is capable of playing.  Ambituses are printed on vocal
3530 parts, so singers can easily determine if it meets his or her
3531 capabilities.
3532
3533 It denoted at the beginning of a piece near the initial clef.  The
3534 range is graphically specified by two note heads, that represent the
3535 minimum and maximum pitch.  To print such ambituses, add the
3536 @internalsref{Ambitus_engraver} to the @internalsref{Voice} context,
3537 for example,
3538
3539 @example
3540   \paper @{
3541     \context @{
3542       \VoiceContext
3543       \consists Ambitus_engraver
3544     @}
3545   @}
3546 @end example
3547
3548 This results in the following output:
3549
3550 @lilypond[raggedright]
3551 \score {
3552   \context ChoirStaff 
3553   \notes \relative c'' <<
3554     \new staff {
3555       as'' c e2 cis,2
3556     }
3557     \new Staff  {
3558       es4 b c f as g
3559     }
3560   >>
3561   \paper {
3562     \context {
3563       \StaffContext
3564       \consists Ambitus_engraver
3565     }
3566   }
3567 }
3568 @end lilypond
3569
3570 If you have multiple voices in a single staff, and you want a single
3571 ambitus per staff rather than per each voice, then add the
3572 @internalsref{Ambitus_engraver} to the @internalsref{Staff} context
3573 rather than to the @internalsref{Voice} context.
3574
3575 It is possible to tune individual ambituses for multiple voices on a
3576 single staff, for example by erasing or shifting them horizontally. An
3577 example is in @inputfileref{input/test,ambitus-mixed.ly}.
3578
3579 @seealso
3580
3581 Program reference: @internalsref{Ambitus}.
3582
3583 Examples:  @inputfileref{input/regression,ambitus.ly},
3584 @inputfileref{input/test,ambitus-mixed.ly}.
3585
3586 @refbugs
3587
3588 There is no collision handling in the case of multiple per-voice
3589 ambitus.
3590
3591 @node Tablatures
3592 @section Tablatures
3593
3594 Tablature notation is used for notating music for plucked string
3595 instruments.  It notates pitches not by using note heads, but by
3596 indicating on which string and fret a note must be played.  LilyPond
3597 offers limited support for tablature.
3598
3599 @menu
3600 * Tablatures basic::            
3601 * Non-guitar tablatures::       
3602 @end menu
3603
3604 @node Tablatures basic
3605 @subsection Tablatures basic
3606 @cindex Tablatures basic
3607
3608 The string number associated to a note is given as a backslash
3609 followed by a number, e.g. @code{c4\3} for a C quarter on the third
3610 string. By default, string 1 is the highest one, and the tuning
3611 defaults to the standard guitar tuning (with 6 strings).  The notes
3612 are printed as tablature, by using @internalsref{TabStaff} and
3613 @internalsref{TabVoice} contexts:
3614
3615 @lilypond[fragment,verbatim]
3616 \notes \context TabStaff  {
3617  a,4\5 c'\2 a\3 e'\1
3618  e\4 c'\2 a\3 e'\1
3619 }
3620 @end lilypond
3621
3622 @cindex minimumFret
3623
3624 When no string is specified, the first string that does not give a
3625 fret number less than @code{minimumFret} is selected. The default
3626 value for @code{minimumFret} is 0:
3627
3628
3629 @example
3630 e16 fis gis a b4
3631 \set TabStaff.minimumFret = #8
3632 e16 fis gis a b4
3633 @end example
3634 @lilypond[noindent,raggedright]
3635 frag = \notes {
3636     \key e \major
3637     e16 fis gis a b4
3638     \set TabStaff.minimumFret = #8
3639     e16 fis gis a b4
3640 }
3641 \score {
3642   \context StaffGroup <<
3643     \context Staff { \clef "G_8" \frag }
3644     \context TabStaff { \frag }
3645   >>
3646 }
3647 @end lilypond
3648
3649 @seealso
3650
3651 Program reference: @internalsref{TabStaff}, @internalsref{TabVoice}, and
3652 @internalsref{StringNumberEvent}.
3653
3654 @refbugs
3655
3656 Chords are not handled in a special way, and hence the automatic
3657 string selector may easily select the same string to two notes in a
3658 chord.
3659
3660
3661 @node Non-guitar tablatures
3662 @subsection Non-guitar tablatures
3663 @cindex Non-guitar tablatures
3664
3665 You can change the number of strings, by setting the number of lines
3666 in the @internalsref{TabStaff}. 
3667
3668 You can change the tuning of the strings. A string tuning is given as
3669 a Scheme list with one integer number for each string, the number
3670 being the pitch (measured in semitones relative to middle C) of an
3671 open string.  The numbers specified for @code{stringTuning} are the
3672 numbers of semitones to subtract or add, starting the specified pitch
3673 by default middle C, in string order. Thus, the notes are e, a, d, and
3674 g:
3675
3676 @lilypond[fragment,verbatim]
3677   \context TabStaff <<
3678     \set TabStaff.stringTunings = #'(-5 -10 -15 -20)
3679     
3680     \notes {
3681       a,4 c' a e' e c' a e'
3682     }
3683   >> 
3684 @end lilypond
3685
3686 @refbugs
3687
3688 No guitar special effects have been implemented.
3689
3690 @seealso
3691
3692 Program reference: @internalsref{Tab_note_heads_engraver}.
3693
3694
3695 @node Chord names
3696 @section Chord names
3697 @cindex Chords
3698
3699 LilyPond has support for both printing chord names.  Chords may be
3700 entered in musical chord notation, i.e. @code{< .. >}, but they can
3701 also be entered by name. Internally, the chords are represented as a
3702 set of pitches, so they can be transposed:
3703
3704
3705 @lilypond[verbatim,raggedright]
3706 twoWays = \notes \transpose c c' {
3707   \chords {
3708     c1 f:sus4 bes/f
3709   }
3710   <c e g>
3711   <f bes c'>
3712   <f bes d'>
3713   }
3714
3715 \score {
3716    << \context ChordNames \twoWays
3717      \context Voice \twoWays >> }
3718 @end lilypond
3719
3720 This example also shows that the chord printing routines do not try to
3721 be intelligent. The last chord (@code{f bes d}) is not interpreted as
3722 an inversion.
3723
3724
3725 @menu
3726 * Chords mode::                 
3727 * Printing chord names::        
3728 @end menu
3729
3730
3731 @node Chords mode
3732 @subsection Chords mode
3733 @cindex Chords mode
3734
3735 Chord mode is a mode where you can input sets of pitches using common
3736 names.  It is introduced by the keyword @code{\chords}.
3737 In chords mode,  a  chord is entered by the root, which is entered
3738 like a common pitch:
3739 @lilypond[fragment,verbatim,relative=1]
3740 \chords { es4.  d8 c2 }
3741 @end lilypond
3742 @cindex chord entry
3743 @cindex chord mode
3744
3745 Other chords may be entered by suffixing a colon, and introducing a
3746 modifier, and optionally, a number:
3747 @c
3748 @lilypond[fragment,verbatim]
3749 \chords { e1:m e1:7 e1:m7  }
3750 @end lilypond
3751 The first number following the root is taken to be the `type' of the
3752 chord, thirds are added to the root until it reaches the specified
3753 number:
3754 @lilypond[fragment,verbatim]
3755  \chords { c:3 c:5 c:6 c:7 c:8 c:9 c:10 c:11 }
3756 @end lilypond
3757
3758 @cindex root of chord
3759 @cindex additions, in chords
3760 @cindex removals, in  chords
3761
3762 More complex chords may also be constructed  adding separate steps
3763 to a chord. Additions are added after the  number following
3764 the colon, and are separated by dots:
3765 @c
3766 @lilypond[verbatim,fragment]
3767   \chords { c:5.6 c:3.7.8 c:3.6.13 }
3768 @end lilypond
3769 Chord steps can be  altered by suffixing a @code{-} or @code{+} sign
3770 to the number:
3771 @lilypond[verbatim,fragment]
3772   \chords { c:7+ c:5+.3-  c:3-.5-.7- }
3773 @end lilypond
3774 Removals are specified similarly, and are introduced by a caret.  They
3775 must come after the additions:
3776 @lilypond[verbatim,fragment]
3777   \chords { c^3 c:7^5 c:9^3.5 }
3778 @end lilypond
3779
3780 Modifiers can be used to change pitches. The following modifiers are
3781 supported:
3782 @table @code
3783 @item m
3784   is the minor chord. This modifier lowers the 3rd and (if present) the 7th step.
3785 @item dim
3786   is the   diminished chord. This modifier lowers the 3rd, 5th and (if present)
3787   the 7th step.
3788 @item aug
3789   is the augmented chord. This modifier raises the 5th step.
3790 @item maj
3791   is the major 7th chord. This modifier raises the 7th step if present.  
3792 @item sus
3793   is the suspended 4th or 2nd. This modifier removes the 3rd
3794 step. Append either @code{2} or @code{4} to add the 2nd or 4th step to
3795 the chord.
3796 @end table
3797 Modifiers can be mixed with additions:
3798 @lilypond[verbatim,fragment]
3799   \chords { c:sus4 c:7sus4 c:dim7 c:m6 } 
3800 @end lilypond
3801
3802 @cindex modifiers, in chords. 
3803 @cindex @code{aug}
3804 @cindex @code{dim}
3805 @cindex @code{maj}
3806 @cindex @code{sus}
3807 @cindex @code{m}
3808
3809 Since an unaltered 11 does not sound good when combined with an
3810 unaltered 13, the 11 is removed in this case (unless it is added
3811 explicitly):
3812 @c
3813 @lilypond[fragment,verbatim]
3814   \chords { c:13 c:13.11 c:m13 }
3815 @end lilypond 
3816
3817 @cindex @code{/}
3818
3819 An inversion (putting one pitch of the chord on the bottom), as well
3820 as bass notes, can be specified by appending
3821 @code{/}@var{pitch} to the chord:
3822 @lilypond[fragment,verbatim]
3823    \chords { c1 c/g c/f }
3824 @end lilypond 
3825 @cindex @code{/+}
3826
3827 A bass note can be added instead of transposed out of the chord,
3828 by using  @code{/+}@var{pitch}.
3829
3830 @lilypond[fragment,verbatim]
3831    \chords { c1 c/+g c/+f }
3832 @end lilypond 
3833
3834 Chords is a mode similar to @code{\lyrics}, @code{\notes} etc.  Most
3835 of the commands continue to work, for example, @code{r} and
3836 @code{\skip} can be used to insert rests and spaces, and property
3837 commands may be used to change various settings.
3838
3839
3840
3841 @refbugs
3842
3843 Each step can only be present in a chord once.  The following
3844 simply produces the augmented chord, since @code{5+} is interpreted
3845 last:
3846 @cindex clusters
3847 @lilypond[verbatim,fragment]
3848   \chords { c:5.5-.5+ }
3849 @end lilypond
3850
3851
3852 @node Printing chord names
3853 @subsection Printing chord names
3854
3855 @cindex printing chord names
3856 @cindex chord names
3857 @cindex chords
3858
3859 For displaying printed chord names, use the @internalsref{ChordNames} context.
3860 The chords may be entered either using the notation
3861 described above, or directly using @code{<} and @code{>}:
3862
3863 @lilypond[verbatim,raggedright]
3864 scheme = \notes {
3865   \chords {a1 b c} <d' f' a'>  <e' g' b'>
3866 }
3867 \score {
3868   \notes<<
3869     \context ChordNames \scheme
3870     \context Staff \scheme
3871   >>
3872 }
3873 @end lilypond
3874
3875 You can make the chord changes stand out by setting
3876 @internalsref{ChordNames}.@code{chordChanges} to true.  This will only
3877 display chord names when there is a change in the chords scheme and at
3878 the start of a new line:
3879
3880 @lilypond[verbatim,linewidth=9\cm]
3881 scheme = \chords {
3882   c1:m c:m \break c:m c:m d
3883 }
3884 \score {
3885   \notes <<
3886     \context ChordNames {
3887         \set chordChanges = ##t
3888         \scheme }
3889     \context Staff \transpose c c' \scheme
3890   >>
3891 }
3892 @end lilypond
3893
3894 The default chord name layout is a system for Jazz music, proposed by
3895 Klaus Ignatzek (see @ref{Literature list}).  It can be tuned through the
3896 following properties:
3897
3898 @table @code
3899 @cindex chordNameExceptions
3900 @item chordNameExceptions
3901 This is a list that contains the chords that have special formatting.
3902 For an example, see
3903 @inputfileref{input/regression,chord-name-exceptions.ly}.
3904 @cindex exceptions, chord names.
3905
3906
3907 @cindex majorSevenSymbol
3908 @item majorSevenSymbol
3909 This property contains the markup object used for the 7th step, when
3910 it is major. Predefined options are @code{whiteTriangleMarkup} and
3911 @code{blackTriangleMarkup}.  See
3912 @inputfileref{input/regression,chord-name-major7.ly} for an example.
3913
3914 @cindex chordNameSeparator
3915 @item chordNameSeparator
3916 Different parts of a chord name are normally separated by a
3917 slash. By setting @code{chordNameSeparator}, you can specify other
3918 separators, e.g.
3919 @lilypond[fragment,verbatim]
3920 \context ChordNames \chords {
3921       c:7sus4
3922       \set chordNameSeparator
3923  = \markup { \typewriter "|" }
3924       c:7sus4 }
3925 @end lilypond
3926
3927 @cindex chordRootNamer
3928 @item chordRootNamer
3929 The root of a chord is usually printed as a letter with an optional
3930 alteration. The transformation from pitch to letter is done by this
3931 function.  Special note names (for example, the German ``H'' for a
3932 B-chord) can be produced by storing a new function in this property.
3933
3934 The predefined variables @code{\germanChords},
3935 @code{\semiGermanChords} set these variables.
3936
3937
3938 @cindex chordNoteNamer
3939 @item chordNoteNamer
3940 The default is to print single pitch, e.g. the bass note, using the
3941 @code{chordRootNamer}.  The @code{chordNoteNamer} property can be set
3942 to a specialized function to change this behavior.  For example, the
3943 base can be printed in lower case.
3944
3945 @end table
3946
3947
3948 There are also two other chord name schemes implemented: an alternate
3949 Jazz chord notation, and a systematic scheme called Banter chords. The
3950 alternate jazz notation is also shown on the chart in @ref{Chord name
3951 chart}.  Turning on these styles is described in the input file
3952 @inputfileref{input/test,chord-names-jazz.ly}.
3953
3954 @cindex Banter
3955 @cindex jazz chords
3956 @cindex chords, jazz  
3957
3958
3959 @refcommands
3960
3961 @cindex @code{\germanChords}
3962 @code{\germanChords}, 
3963 @cindex @code{\semiGermanChords}
3964 @code{\semiGermanChords}.
3965
3966
3967
3968
3969 @seealso
3970
3971 Examples: @inputfileref{input/regression,chord-name-major7.ly},
3972 @inputfileref{input/regression,chord-name-exceptions.ly},
3973 @inputfileref{input/test,chord-names-jazz.ly},
3974 @inputfileref{input/test,chord-names-german.ly}.
3975
3976 Init files: @file{scm/chords-ignatzek.scm}, and @file{scm/chord-entry.scm}.
3977
3978
3979 @refbugs
3980
3981 Chord names are determined solely from the list of pitches. Chord
3982 inversions are not identified, and neither are added bass notes. This
3983 may result in strange chord names when chords are entered with the
3984 @code{< .. >} syntax.
3985
3986
3987
3988
3989 @node Orchestral music
3990 @section Orchestral music
3991
3992 @cindex  Writing parts
3993
3994 Orchestral music involves some special notation, both in the full
3995 score and the individual parts. This section explains how to tackle
3996 some common problems in orchestral music.
3997
3998
3999
4000 @menu
4001 * Multiple staff contexts::     
4002 * Rehearsal marks::             
4003 * Bar numbers::                 
4004 * Instrument names::            
4005 * Transpose::                   
4006 * Instrument transpositions::   
4007 * Multi measure rests::         
4008 * Automatic part combining::    
4009 * Hiding staves::               
4010 * Different editions from one source::  
4011 * Quoting other voices::        
4012 @end menu
4013
4014 @node Multiple staff contexts
4015 @subsection Multiple staff contexts
4016
4017 Polyphonic scores consist of many staves. These staves can be
4018 constructed in three different ways:
4019 @itemize @bullet
4020 @item The group is started with a brace at the left, and bar lines are
4021 connected. This is done with the @internalsref{GrandStaff} context.
4022
4023 @item The group is started with a bracket, and bar lines are connected. This is done with the
4024 @internalsref{StaffGroup} context
4025
4026
4027 @item The group is  started with a vertical line. Bar lines are not
4028 connected.  This is the default for the score.
4029
4030 @end itemize
4031
4032 @cindex Staff, multiple
4033 @cindex bracket, vertical
4034 @cindex brace, vertical
4035 @cindex grand staff
4036 @cindex staff group
4037
4038
4039
4040
4041 @node Rehearsal marks
4042 @subsection Rehearsal marks
4043 @cindex Rehearsal marks
4044 @cindex mark
4045 @cindex @code{\mark}
4046
4047 To print a  rehearsal mark, use the @code{\mark} command:
4048 @lilypond[fragment,verbatim]
4049 \relative c'' {
4050   c1 \mark \default
4051   c1 \mark \default
4052   c1 \mark #8 
4053   c1 \mark \default
4054   c1 \mark \default
4055 }
4056 @end lilypond
4057
4058 @noindent
4059 (The letter I is skipped in accordance with engraving traditions.)
4060
4061 The mark is incremented automatically if you use @code{\mark
4062 \default}, but you can also use an integer argument to set the mark
4063 manually.  The value to use is stored in the property
4064 @code{rehearsalMark}.
4065
4066 The style is defined by the property @code{markFormatter}. It is a
4067 function taking the current mark (an integer) and the current context
4068 as argument. It should return a markup object. In the following
4069 example, @code{markFormatter} is set to a canned procedure. After a
4070 few measures, it is set to function that produces a boxed number. 
4071
4072 @lilypond[verbatim,fragment,relative=1]
4073   \set Score.markFormatter = #format-mark-numbers 
4074   c1 \mark \default
4075   c1 \mark \default
4076   \set Score.markFormatter
4077  = #(lambda (mark  context)
4078         (make-bold-markup (make-box-markup (number->string mark))))
4079   c1 \mark \default
4080   c1 \mark \default
4081 @end lilypond
4082
4083 The file @file{scm/translation-functions.scm} contains the definitions
4084 of @code{format-mark-numbers} (the default format) and
4085 @code{format-mark-letters}. They can be used as inspiration for other
4086 formatting functions.
4087
4088
4089 @cindex coda on bar line
4090 @cindex segno on bar line
4091 @cindex fermata on bar line
4092 @cindex bar lines, symbols on
4093
4094 The @code{\mark} command can also be used to put signs like coda,
4095 segno and fermatas on a bar line. Use @code{\markup} to
4096 to access the appropriate symbol:
4097
4098 @lilypond[fragment,verbatim,relative=1]
4099   c1 \mark \markup { \musicglyph #"scripts-ufermata" }
4100   c1
4101 @end lilypond
4102
4103 In the case of a line break, marks must also be printed at the end of
4104 the line, and not at the beginning. Use the following to force that
4105 behavior:
4106 @example
4107 \override Score.RehearsalMark  
4108   #'break-visibility = #begin-of-line-invisible
4109 @end example
4110
4111 @cindex fermatas
4112 @cindex coda
4113 @cindex segno
4114 @cindex bar lines, putting symbols on 
4115
4116 @seealso
4117
4118 Program reference: @internalsref{MarkEvent}, @internalsref{RehearsalMark}.
4119
4120 Init files: @file{scm/translation-functions.scm} contains the
4121 definition of @code{format-mark-numbers} and
4122 @code{format-mark-letters}. They can be used as inspiration for other
4123 formatting functions.
4124
4125 Examples: @inputfileref{input/regression,rehearsal-mark-letter.ly},
4126 @inputfileref{input/regression,rehearsal-mark-number.ly}.
4127
4128
4129 @node Bar numbers
4130 @subsection Bar numbers
4131
4132
4133 @cindex bar numbers
4134 @cindex measure numbers
4135 @cindex currentBarNumber
4136
4137 Bar numbers are printed by default at the start of the line.  The
4138 number itself is stored in the 
4139 @code{currentBarNumber} property,
4140 which is normally updated automatically for every measure.
4141
4142 Bar numbers can be typeset at regular intervals instead of at the
4143 beginning of each line. This is illustrated in the following example,
4144 whose source is available as
4145 @inputfileref{input/test,bar-number-regular-interval.ly}:
4146
4147 @lilypondfile[]{bar-number-regular-interval.ly}
4148
4149
4150 @seealso
4151
4152 Program reference: @internalsref{BarNumber}.
4153
4154 Examples: @inputfileref{input/test,bar-number-every-five-reset.ly},
4155 and @inputfileref{input/test,bar-number-regular-interval.ly}.
4156
4157 @refbugs
4158
4159 Bar numbers can collide with the @internalsref{StaffGroup} bracket, if
4160 there is one at the top. To solve this, the
4161 @code{padding} property of @internalsref{BarNumber} can be
4162 used to position the number correctly.
4163
4164 @node Instrument names
4165 @subsection Instrument names
4166
4167 In an orchestral score, instrument names are printed left side of the
4168 staves.
4169
4170 This can be achieved by setting @internalsref{Staff}.@code{instrument}
4171 and @internalsref{Staff}.@code{instr}. This will print a string before
4172 the start of the staff. For the first start, @code{instrument} is
4173 used, for the next ones @code{instr} is used.
4174
4175 @quotation
4176 @lilypond[verbatim,raggedright,relative=2]
4177   \set Staff.instrument = "Ploink "
4178   \set Staff.instr = "Plk "
4179   c1
4180   \break
4181   c''
4182 @end lilypond
4183 @end quotation
4184
4185 You can also use markup texts to construct more complicated instrument
4186 names, for example
4187
4188 @quotation
4189 @lilypond[fragment,verbatim,raggedright]
4190   \notes {
4191     \set Staff.instrument = \markup {
4192         \column < "Clarinetti"
4193           { "in B"
4194             \smaller \flat
4195           }
4196           >
4197      }
4198      { c''1 }
4199   }
4200 @end lilypond
4201 @end quotation
4202
4203 @seealso
4204
4205 Program reference: @internalsref{InstrumentName}.
4206
4207 @refbugs
4208
4209 When you put a name on a grand staff or piano staff the width of the
4210 brace is not taken into account. You must add extra spaces to the end of
4211 the name to avoid a collision.
4212
4213 @node Transpose
4214 @subsection Transpose
4215 @cindex Transpose
4216 @cindex transposition of pitches
4217 @cindex @code{\transpose}
4218
4219 A music expression can be transposed with @code{\transpose}.  The syntax
4220 is
4221 @example
4222   \transpose @var{from} @var{to} @var{musicexpr}
4223 @end example
4224
4225 This means that @var{musicexpr} is transposed by the interval between
4226 the pitches @var{from} and @var{to}: any note with pitch @code{from}
4227 is changed to @code{to}.
4228
4229
4230 For example, consider  a piece written in the key of  D major.  If
4231 this piece is a  little too low for its performer, it can be
4232 transposed up to E major with
4233 @example
4234  \transpose d e @dots{}
4235 @end example
4236
4237 Consider a part  written for violin (a C instrument). If
4238 this part is to be played on the A clarinet, the following
4239 transposition will produce the appropriate part
4240
4241 @example
4242   \transpose a c @dots{}
4243 @end example   
4244
4245 Since @var{from} and @var{to} are pitches, so @code{\transpose} must be
4246 inside a @code{\notes} section.  @code{\transpose} distinguishes
4247 between enharmonic pitches: both @code{\transpose c cis} or
4248 @code{\transpose c des} will transpose up half a tone.  The first
4249 version will print sharps and the second version will print flats:
4250
4251 @lilypond[raggedright,verbatim]
4252 mus =\notes { \key d \major cis d fis g }
4253 \score { \notes \context Staff {
4254   \clef "F" \mus
4255   \clef "G"
4256   \transpose c g' \mus
4257   \transpose c f' \mus
4258 }}
4259 @end lilypond
4260
4261
4262 @seealso
4263
4264 Program reference: @internalsref{TransposedMusic}, and
4265 @internalsref{UntransposableMusic}.
4266
4267 @refbugs
4268
4269 If you want to use both @code{\transpose} and @code{\relative}, then
4270 you must put @code{\transpose} outside of @code{\relative}, since
4271 @code{\relative} will have no effect music that appears inside a
4272 @code{\transpose}.
4273
4274 @node Instrument transpositions
4275 @subsection Instrument transpositions
4276
4277 The key of a transposing instrument can also be specified.  This
4278 applies to many wind instruments, for example, clarinets (B-flat, A and
4279 E-flat), horn (F) and trumpet (B-flat, C, D and E-flat).
4280
4281
4282 The transposition is entered after the keyword @code{\transposition}:
4283
4284 @example
4285   \transposition bes   %%  B-flat clarinet
4286 @end example
4287
4288 This command sets the property @code{instrumentTuning}. The value of
4289 this property is used for MIDI output and quotations.  It does not
4290 affect how notes are printed in the current staff.
4291
4292 @cindex transposition, MIDI
4293 @cindex transposition, instrument
4294
4295
4296 @node Multi measure rests
4297 @subsection Multi measure rests
4298 @cindex multi measure rests
4299 @cindex Rests, multi measure
4300
4301 @cindex @code{R}
4302
4303 Multi measure rests are entered using `@code{R}'. It is specifically
4304 meant for full bar rests and for entering parts: the rest can expand
4305 to fill a score with rests, or it can be printed as a single
4306 multimeasure rest. This expansion is controlled by the property
4307 @code{Score.skipBars}. If this is set to true, empty measures will not
4308 be expanded, and the appropriate number is added automatically:
4309
4310 @lilypond[fragment,verbatim]
4311  \time 4/4 r1 | R1 | R1*2
4312  \set Score.skipBars = ##t R1*17  R1*4
4313 @end lilypond
4314
4315 The @code{1} in @code{R1} is similar to the duration notation used for
4316 notes. Hence, for time signatures other than 4/4, you must enter other
4317 durations.  This can be done with augmentation dots or fractions:
4318
4319 @lilypond[fragment,verbatim]
4320  \set Score.skipBars = ##t
4321  \time 3/4
4322   R2. | R2.*2
4323  \time 13/8
4324  R1*13/8
4325  R1*13/8*12
4326 @end lilypond
4327
4328 An @code{R} spanning a single measure is printed as either a whole rest
4329 or a breve, centered in the measure regardless of the time signature.
4330
4331 @cindex text on multi-measure rest
4332 @cindex script on multi-measure rest
4333 @cindex fermata on multi-measure rest
4334
4335 Texts can be added to multi-measure rests by using the
4336 @var{note}-@code{markup} syntax (see @ref{Text markup}).  In this case, the number is
4337 replaced. If you need both texts and the number, you must add the
4338 number by hand. A variable (@code{\fermataMarkup}) is provided for
4339 adding fermatas:
4340
4341
4342 @lilypond[verbatim,fragment]
4343   \time 3/4
4344   R2._\markup { "Ad lib" }
4345   R2.^\fermataMarkup
4346 @end lilypond
4347
4348 If you want to have a text on the left end of a multi-measure rest,
4349 attach the text to a zero-length skip note, i.e.
4350
4351 @example
4352   s1*0^"Allegro"
4353   R1*4 
4354 @end example
4355
4356
4357 @cindex whole rests for a full measure 
4358
4359 @seealso
4360
4361 Program reference: @internalsref{MultiMeasureRestEvent},
4362 @internalsref{MultiMeasureTextEvent},
4363 @internalsref{MultiMeasureRestMusicGroup}, and
4364 @internalsref{MultiMeasureRest}.
4365
4366 The layout object @internalsref{MultiMeasureRestNumber} is for the
4367 default number, and @internalsref{MultiMeasureRestText} for user
4368 specified texts.
4369
4370 @refbugs
4371
4372 It is not possible to use fingerings (e.g. @code{R1-4}) to put numbers
4373 over multi-measure rests.
4374
4375 @cindex condensing rests
4376
4377 There is no way to automatically condense multiple rests into a single
4378 multimeasure rest. Multi measure rests do not take part in rest
4379 collisions.
4380
4381 Be careful when entering multimeasure rests followed by whole
4382 notes. The following will enter two notes lasting four measures each:
4383 @example
4384  R1*4 cis cis 
4385 @end example
4386 When @code{skipBars} is set, then the result will look OK, but the
4387 bar numbering will be off.
4388
4389 @node Automatic part combining
4390 @subsection Automatic part combining
4391 @cindex automatic part combining
4392 @cindex part combiner
4393
4394
4395 Automatic part combining is used to merge two parts of music onto a
4396 staff.  It is aimed at typesetting orchestral scores.  When the two
4397 parts are identical for a period of time, only one is shown.  In
4398 places where the two parts differ, they are typeset as separate
4399 voices, and stem directions are set automatically.  Also, solo and
4400 @emph{a due} parts are identified and can be marked.
4401
4402
4403 The syntax for part combining is
4404
4405 @example
4406   \partcombine @var{musicexpr1} @var{musicexpr2}
4407 @end example
4408
4409 The music expressions will be interpreted as @internalsref{Voice} contexts.
4410
4411 The following example demonstrates the basic functionality of the part
4412 combiner: putting parts on one staff, and setting stem directions and
4413 polyphony:
4414
4415 @lilypond[verbatim,raggedright,fragment,relative=1]
4416   \new Staff \partcombine 
4417       {
4418         g g a( b) c c r r
4419       }
4420       {
4421         g g r4 r  e e g g 
4422       }
4423 @end lilypond
4424
4425 The first @code{g} appears only once, although it was
4426 specified twice (once in each part).  Stem, slur and tie directions are
4427 set automatically, depending whether there is a solo or unisono. The
4428 first part (with context called @code{one}) always gets up stems, and
4429 `solo', while the second (called @code{two}) always gets down stems and
4430 `Solo II'.
4431
4432 If you just want the merging parts, and not the textual markings, you
4433 may set the property @var{soloADue} to false:
4434
4435 @lilypond[verbatim,raggedright,fragment,relative=1]
4436    \new Staff <<
4437     \set Staff.soloADue = ##f
4438     \partcombine 
4439       {
4440         g a( b) r
4441       }
4442       {
4443         g r4 r f
4444       } >>
4445 @end lilypond
4446
4447 @seealso
4448
4449 Program reference: @internalsref{PartCombineMusic},
4450 @internalsref{SoloOneEvent}, and
4451 @internalsref{SoloTwoEvent}, and
4452 @internalsref{UnisonoEvent}.
4453
4454 @refbugs
4455
4456 In @code{soloADue} mode, when the two voices play the same notes on and
4457 off, the part combiner may typeset @code{a2} more than once in a
4458 measure.
4459
4460 @code{\partcombine} can not be inside @code{\times}. 
4461
4462 Internally, the @code{\partcombine} interprets both arguments as
4463 @code{Voice}s named @code{one} and @code{two}, and then decides when
4464 the parts can be combined. Consequently, if the arguments switch to
4465 differently named @internalsref{Voice} contexts, then the events in
4466 those will be ignored.
4467
4468 @node Hiding staves
4469 @subsection Hiding staves
4470
4471 @cindex Frenched scores
4472 @cindex Hiding staves
4473
4474 In orchestral scores, staff lines that only have rests are usually
4475 removed.  This saves some space. This style is called `French Score'.
4476 For @internalsref{Lyrics}, 
4477 @internalsref{ChordNames} and @internalsref{FiguredBass}, this is
4478 switched on by default.  When these line of these contexts turn out
4479 empty after the line-breaking process, they are removed.
4480
4481 For normal staves, a specialized @internalsref{Staff} context is
4482 available, which does the same: staves containing nothing (or only
4483 multi measure rests) are removed. The context definition is stored in
4484 @code{\RemoveEmptyStaffContext} variable. Observe how the second staff
4485 in this example disappears in the second line:
4486
4487
4488 @lilypond[verbatim]
4489 \score  {
4490   \notes \relative c' <<
4491     \new Staff { e4 f g a \break c1 }
4492     \new Staff { c4 d e f \break R1 }
4493   >>
4494   \paper {
4495     linewidth = 6.\cm 
4496     \context { \RemoveEmptyStaffContext }
4497   }
4498 }
4499 @end lilypond
4500
4501 The first page shows all staves in full. If empty staves should be
4502 removed from the first page too, set @code{remove-first} to false in
4503 @internalsref{RemoveEmptyVerticalGroup}.
4504
4505 Another application is making ossia sections, i.e. alternative
4506 melodies on a separate piece of staff, with help of a Frenched
4507 staff. See @inputfileref{input/test,ossia.ly} for an example.
4508
4509
4510 @node Different editions from one source
4511 @subsection Different editions from one source
4512
4513 The @code{\tag} command marks music expressions with a name. These
4514 tagged expressions can be filtered out later.  With this mechanism it
4515 is possible to make different versions of the same music source.
4516
4517 In the following example, we see two versions of a piece of music, one
4518 for the full score, and one with cue notes for the instrumental part:
4519
4520 @example
4521     c1
4522     \relative c' <<
4523         \tag #'part <<
4524           R1 \\
4525           @{
4526               \set fontSize = #-1
4527               c4_"cue" f2 g4 @} 
4528         >>
4529         \tag #'score R1
4530      >>
4531      c1
4532 @end example
4533
4534 The same can be applied to articulations, texts, etc.: they are
4535 made by prepending
4536 @example
4537         -\tag #@var{your-tag} 
4538 @end example
4539 to an articulation, for example, 
4540 @example
4541     c1-\tag #'part ^4
4542 @end example
4543
4544 This defines a note with a conditional fingering indication.
4545
4546 By applying the @code{remove-tag} function, tagged expressions can be
4547 filtered. For example,
4548 @example
4549 \simultaneous @{
4550         @var{the music}
4551         \apply #(remove-tag 'score) @var{the music}
4552         \apply #(remove-tag 'part) @var{the music}
4553 @}
4554 @end example
4555 would yield
4556
4557 @lilypondfile[]{tag-filter.ly}
4558
4559 The argument of the @code{\tag} command should be a symbol, or a list
4560 of symbols, for example,
4561 @example
4562   \tag #'(original-part transposed-part) @dots{}
4563 @end example
4564
4565 @seealso
4566
4567 Examples: @inputfileref{input/regression,tag-filter.ly}.
4568
4569
4570 @node Quoting other voices
4571 @subsection Quoting other voices
4572
4573 With quotations, fragments of other parts can be inserted into a part
4574 directly. Before a part can be quoted, it must be marked especially as
4575 quotable. This is done with code @code{\addquote} command. The
4576 quotation may then be done with @code{\quote}
4577
4578 @example
4579   \addquote @var{name} @var{music}
4580   \quote @var{name} @var{duration}  
4581 @end example
4582
4583 @noindent
4584
4585 Here, @var{name} is an identifying string. The @var{music} is any kind
4586 of music.  This is an example of @code{\addquote}:
4587
4588 @verbatim
4589 \addquote clarinet \notes\relative c' {
4590   f4 fis g gis
4591 }
4592 @end verbatim
4593
4594 During a part, a piece of music can be quoted with the @code{\quote}
4595 command. 
4596   
4597 @verbatim
4598   \quote clarinet 2.
4599 @end verbatim
4600
4601 This would cite 3 quarter notes (a dotted half note) of the previously
4602 added clarinet voice.
4603
4604 Quotations take into account the transposition both source and target
4605 instruments, if they are specified using the @code{\transposition} command.
4606
4607 @lilypond[verbatim,fragment] 
4608 \addquote clarinet \notes\relative c' {
4609   \transposition bes
4610   f4 fis g gis
4611 }
4612 \score {
4613   \notes {
4614   e'8 f'8 \quote clarinet 2
4615 } }
4616 @end lilypond
4617
4618 @refbugs
4619
4620 Only the contents of the first @internalsref{Voice} occurring in an
4621 @code{\addquote} command will be considered for quotation, so
4622 @var{music} can not contain @code{\new} and @code{\context Voice}
4623 statements that would switch to a different Voice.
4624
4625
4626 @seealso
4627
4628 In this manual: @ref{Instrument transpositions}.
4629
4630 Examples: @inputfileref{input/regression,quote.ly}
4631 @inputfileref{input/regression,quote-transposition.ly}
4632
4633 Program reference: @internalsref{QuoteMusic}.
4634
4635 @node Ancient notation
4636 @section Ancient notation
4637
4638 @cindex Vaticana, Editio
4639 @cindex Medicaea, Editio
4640 @cindex hufnagel
4641 @cindex Petrucci
4642 @cindex mensural
4643
4644 Support for ancient notation includes features for mensural notation
4645 and Gregorian Chant notation.  There is also limited support for
4646 figured bass notation.
4647
4648 Many graphical objects provide a @code{style} property, see
4649 @ref{Ancient note heads}, @ref{Ancient accidentals}, @ref{Ancient
4650 rests}, @ref{Ancient clefs}, @ref{Ancient flags} and @ref{Ancient time
4651 signatures}.  By manipulating such a grob property, the typographical
4652 appearance of the affected graphical objects can be accommodated for a
4653 specific notation flavor without need for introducing any new
4654 notational concept.
4655
4656 Other aspects of ancient notation can not that easily be expressed as
4657 in terms of just changing a style property of a graphical object.
4658 Therefore, some notational concepts are introduced specifically for
4659 ancient notation, see @ref{Custodes}, @ref{Divisiones},
4660 @ref{Ligatures}, and @ref{Figured bass}.
4661
4662
4663 @menu
4664 * Ancient note heads::          
4665 * Ancient accidentals::         
4666 * Ancient rests::               
4667 * Ancient clefs::               
4668 * Ancient flags::               
4669 * Ancient time signatures::     
4670 * Custodes::                    
4671 * Divisiones::                  
4672 * Ligatures::                   
4673 * Figured bass::                
4674 * Vaticana style contexts::     
4675 @end menu
4676
4677 If this all is way too much of documentation for you, and you just
4678 want to dive into typesetting without worrying too much about the
4679 details on how to customize a context, then you may have a look at the
4680 predefined contexts (see @ref{Vaticana style contexts}).  Use them to
4681 set up predefined style-specific voice and staff contexts, and
4682 directly go ahead with the note entry.
4683
4684 @refbugs
4685
4686 Ligatures need special spacing that has not yet been implemented.  As
4687 a result, there is too much space between ligatures most of the time,
4688 and line breaking often is unsatisfactory.  Also, lyrics do not
4689 correctly align with ligatures.
4690
4691 Accidentals must not be printed within a ligature, but instead need to
4692 be collected and printed in front of it.
4693
4694 Augmentum dots within ligatures are  not handled correctly.
4695
4696
4697 @node Ancient note heads
4698 @subsection Ancient note heads
4699
4700 @cindex note heads
4701
4702
4703 For ancient notation, a note head style other than the @code{default}
4704 style may be chosen.  This is accomplished by setting the @code{style}
4705 property of the NoteHead object to the desired value (@code{baroque},
4706 @code{neo_mensural} or @code{mensural}).  The @code{baroque} style
4707 differs from the @code{default} style only in using a square shape for
4708 @code{\breve} note heads.  The @code{neo_mensural} style differs from
4709 the @code{baroque} style in that it uses rhomboidal heads for whole
4710 notes and all smaller durations.  Stems are centered on the note
4711 heads.  This style is in particular useful when transcribing mensural
4712 music, e.g. for the incipit.  The @code{mensural} style finally
4713 produces note heads that mimic the look of note heads in historic
4714 printings of the 16th century.
4715
4716 The following example demonstrates the @code{neo_mensural} style:
4717
4718 @lilypond[fragment,raggedright,verbatim]
4719   \override NoteHead #'style = #'neo_mensural
4720   a'\longa a'\breve a'1 a'2 a'4 a'8 a'16
4721 @end lilypond
4722
4723 When typesetting a piece in Gregorian Chant notation, a Gregorian
4724 ligature engraver will automatically select the proper note heads,
4725 such there is no need to explicitly set the note head style.  Still,
4726 the note head style can be set e.g. to @code{vaticana_punctum} to
4727 produce punctum neumes.  Similarly, a mensural ligature engraver is
4728 used to automatically assemble mensural ligatures.  See
4729 @ref{Ligatures} for how ligature engravers work.
4730
4731 @seealso
4732
4733 In this manual:
4734 @ref{Percussion staves} use note head styles of their own that are
4735 frequently used in contemporary music notation.
4736
4737 Examples: @inputfileref{input/regression,note-head-style.ly} gives an
4738 overview over all available note head styles.
4739
4740
4741 @node Ancient accidentals
4742 @subsection Ancient accidentals
4743
4744 @cindex accidentals
4745
4746
4747 Use the @code{style} property of grob @internalsref{Accidental} to
4748 select ancient accidentals.   Supported styles are
4749 @code{mensural}, @code{vaticana}, @code{hufnagel} and @code{medicaea}.
4750
4751 @lilypond[raggedright,staffsize=26]
4752 \score {
4753     \notes {
4754         \fatText
4755         s
4756         ^\markup {
4757             \column <
4758                 "vaticana" 
4759                 { " " \musicglyph #"accidentals-vaticana-1"
4760                   " " \musicglyph #"accidentals-vaticana0" }
4761             >
4762             \column <
4763                 "medicaea"
4764                 { " " \musicglyph #"accidentals-medicaea-1" }
4765             >
4766             \column <
4767                 "hufnagel"
4768                 { " " \musicglyph #"accidentals-hufnagel-1" }
4769             >
4770             \column <
4771                 "mensural"
4772                 { " " \musicglyph #"accidentals-mensural-1"
4773                   " " \musicglyph #"accidentals-mensural1" }
4774             >
4775         }
4776     }
4777     \paper {
4778         raggedright = ##t 
4779         interscoreline = 1
4780         \context {
4781             \ScoreContext
4782             \remove "Bar_number_engraver"
4783         }
4784         \context{
4785             \StaffContext
4786             \remove "Clef_engraver"
4787             \remove "Key_engraver"
4788             \remove "Time_signature_engraver"
4789             \remove "Staff_symbol_engraver"
4790             minimumVerticalExtent = ##f
4791         }
4792     }
4793 }
4794 @end lilypond
4795
4796 As shown, not all accidentals are supported by each style.  When
4797 trying to access an unsupported accidental, LilyPond will switch to a
4798 different style, as demonstrated in
4799 @inputfileref{input/test,ancient-accidentals.ly}.
4800
4801 Similarly to local accidentals, the style of the key signature can be
4802 controlled by the @code{style} property of the
4803 @internalsref{KeySignature} grob.
4804
4805 @seealso
4806
4807 In this manual: @ref{Pitches}, @ref{Chromatic alterations} and
4808 @ref{Accidentals} give a general introduction into the use of
4809 accidentals.  @ref{Key signature} gives a general introduction into
4810 the use of key signatures.
4811
4812 Program reference: @internalsref{KeySignature}.
4813
4814 Examples: @inputfileref{input/test,ancient-accidentals.ly}.
4815
4816 @node Ancient rests
4817 @subsection Ancient rests
4818
4819 @cindex rests
4820
4821
4822 Use the @code{style} property of grob @internalsref{Rest} to select
4823 ancient accidentals.   Supported styles are @code{classical},
4824 @code{neo_mensural} and @code{mensural}.  @code{classical} differs
4825 from the @code{default} style only in that the quarter rest looks like
4826 a horizontally mirrored 8th rest.  The @code{neo_mensural} style suits
4827 well for e.g. the incipit of a transcribed mensural piece of music.
4828 The @code{mensural} style finally mimics the appearance of rests as
4829 in historic prints of the 16th century.
4830
4831 The following example demonstrates the @code{neo_mensural} style:
4832
4833 @lilypond[fragment,raggedright,verbatim]
4834   \override Rest #'style = #'neo_mensural
4835   r\longa r\breve r1 r2 r4 r8 r16
4836 @end lilypond
4837
4838 There are no 32th and 64th rests specifically for the mensural or
4839 neo-mensural style.  Instead, the rests from the default style will be
4840 taken.  See @inputfileref{input/test,rests.ly} for a chart of all
4841 rests.
4842
4843 There are no rests in Gregorian Chant notation; instead, it uses
4844 @ref{Divisiones}.
4845
4846 @seealso
4847
4848 In this manual: @ref{Rests} gives a general introduction into the use of rests.
4849
4850
4851 @node Ancient clefs
4852 @subsection Ancient clefs
4853
4854 @cindex clefs
4855
4856
4857 LilyPond supports a variety of clefs, many of them ancient.
4858
4859 The following table shows all ancient clefs that are supported via the
4860 @code{\clef} command.  Some of the clefs use the same glyph, but
4861 differ only with respect to the line they are printed on.  In such
4862 cases, a trailing number in the name is used to enumerate these clefs.
4863 Still, you can manually force a clef glyph to be typeset on an
4864 arbitrary line, as described in @ref{Clef}.  The note printed to the
4865 right side of each clef in the example column denotes the @code{c'}
4866 with respect to that clef.
4867
4868 @multitable @columnfractions  .3 .3 .3 .1
4869
4870 @item
4871 @b{Glyph Name} @tab
4872 @b{Description} @tab
4873 @b{Supported Clefs} @tab
4874 @b{Example}
4875
4876 @item
4877 @code{clefs-neo_mensural_c} @tab
4878 modern style mensural C clef @tab
4879 @code{neo_mensural_c1}, @code{neo_mensural_c2},
4880 @code{neo_mensural_c3}, @code{neo_mensural_c4} @tab
4881 @lilypond[relative,notime]
4882 \override Staff.TimeSignature   #'transparent = ##t
4883 \clef "neo_mensural_c2" c
4884 @end lilypond
4885
4886 @item
4887 @code{clefs-petrucci_c1}
4888 @code{clefs-petrucci_c2}
4889 @code{clefs-petrucci_c3}
4890 @code{clefs-petrucci_c4}
4891 @code{clefs-petrucci_c5}
4892
4893 @tab
4894 petrucci style mensural C clefs, for use  on different  staff lines
4895 (the examples shows the 2nd staff line C clef).
4896
4897 @tab
4898 @code{petrucci_c1}
4899 @code{petrucci_c2}
4900 @code{petrucci_c3}
4901 @code{petrucci_c4}
4902 @code{petrucci_c5}
4903
4904 @tab
4905 @lilypond[relative,notime]
4906 \override Staff.TimeSignature   #'transparent = ##t
4907 \clef "petrucci_c2" c
4908 @end lilypond
4909
4910 @item
4911 @code{clefs-petrucci_f} @tab
4912 petrucci style mensural F clef @tab
4913 @code{petrucci_f} @tab
4914 @lilypond[relative,notime]
4915 \override Staff.TimeSignature   #'transparent = ##t
4916 \clef "petrucci_f" c
4917 @end lilypond
4918
4919 @item
4920 @code{clefs-petrucci_g} @tab
4921 petrucci style mensural G clef @tab
4922 @code{petrucci_g} @tab
4923 @lilypond[relative,notime]
4924 \override Staff.TimeSignature   #'transparent = ##t
4925 \clef "petrucci_g" c
4926 @end lilypond
4927
4928 @item
4929 @code{clefs-mensural_c} @tab
4930 historic style mensural C clef @tab
4931 @code{mensural_c1}, @code{mensural_c2}, @code{mensural_c3},
4932 @code{mensural_c4} @tab
4933 @lilypond[relative,notime]
4934 \override Staff.TimeSignature   #'transparent = ##t
4935 \clef "mensural_c2" c
4936 @end lilypond
4937
4938 @item
4939 @code{clefs-mensural_f} @tab
4940 historic style mensural F clef @tab
4941 @code{mensural_f} @tab
4942 @lilypond[relative,notime]
4943 \override Staff.TimeSignature   #'transparent = ##t
4944 \clef "mensural_f" c
4945 @end lilypond
4946
4947 @item
4948 @code{clefs-mensural_g} @tab
4949 historic style mensural G clef @tab
4950 @code{mensural_g} @tab
4951 @lilypond[relative,notime]
4952 \override Staff.TimeSignature   #'transparent = ##t
4953 \clef "mensural_g" c
4954 @end lilypond
4955
4956 @item
4957 @code{clefs-vaticana_do} @tab
4958 Editio Vaticana style do clef @tab
4959 @code{vaticana_do1}, @code{vaticana_do2}, @code{vaticana_do3} @tab
4960 @lilypond[relative,notime]
4961     \override Staff.StaffSymbol   #'line-count = #4
4962 \override Staff.TimeSignature   #'transparent = ##t
4963 \clef "vaticana_do2" c
4964 @end lilypond
4965
4966 @item
4967 @code{clefs-vaticana_fa} @tab
4968 Editio Vaticana style fa clef @tab
4969 @code{vaticana_fa1}, @code{vaticana_fa2} @tab
4970 @lilypond[relative,notime]
4971     \override Staff.StaffSymbol   #'line-count = #4
4972 \override Staff.TimeSignature   #'transparent = ##t
4973 \clef "vaticana_fa2" c
4974 @end lilypond
4975
4976 @item
4977 @code{clefs-medicaea_do} @tab
4978 Editio Medicaea style do clef @tab
4979 @code{medicaea_do1}, @code{medicaea_do2}, @code{medicaea_do3} @tab
4980 @lilypond[relative,notime]
4981     \override Staff.StaffSymbol   #'line-count = #4
4982 \override Staff.TimeSignature   #'transparent = ##t
4983 \clef "medicaea_do2" c
4984 @end lilypond
4985
4986 @item
4987 @code{clefs-medicaea_fa} @tab
4988 Editio Medicaea style fa clef @tab
4989 @code{medicaea_fa1}, @code{medicaea_fa2} @tab
4990 @lilypond[relative,notime]
4991     \override Staff.StaffSymbol   #'line-count = #4
4992 \override Staff.TimeSignature   #'transparent = ##t
4993 \clef "medicaea_fa2" c
4994 @end lilypond
4995
4996 @item
4997 @code{clefs-hufnagel_do} @tab
4998 historic style hufnagel do clef @tab
4999 @code{hufnagel_do1}, @code{hufnagel_do2}, @code{hufnagel_do3} @tab
5000 @lilypond[relative,notime]
5001     \override Staff.StaffSymbol   #'line-count = #4
5002 \override Staff.TimeSignature   #'transparent = ##t
5003 \clef "hufnagel_do2" c
5004 @end lilypond
5005
5006 @item
5007 @code{clefs-hufnagel_fa} @tab
5008 historic style hufnagel fa clef @tab
5009 @code{hufnagel_fa1}, @code{hufnagel_fa2} @tab
5010 @lilypond[relative,notime]
5011     \override Staff.StaffSymbol   #'line-count = #4
5012 \override Staff.TimeSignature   #'transparent = ##t
5013 \clef "hufnagel_fa2" c
5014 @end lilypond
5015
5016 @item
5017 @code{clefs-hufnagel_do_fa} @tab
5018 historic style hufnagel combined do/fa clef @tab
5019 @code{hufnagel_do_fa} @tab
5020 @lilypond[relative,notime]
5021 \override Staff.TimeSignature   #'transparent = ##t
5022 \clef "hufnagel_do_fa" c
5023 @end lilypond
5024
5025 @end multitable
5026
5027
5028
5029 @emph{Modern style} means ``as is typeset in contemporary editions of
5030 transcribed mensural music''.
5031
5032 @emph{Petrucci style} means ``inspired by printings published by the
5033 famous engraver Petrucci (1466-1539)''.
5034
5035 @emph{Historic style} means ``as was typeset or written in historic
5036 editions (other than those of Petrucci)''.
5037
5038 @emph{Editio XXX style} means ``as is/was printed in Editio XXX''.
5039
5040 Petrucci used C clefs with differently balanced left-side vertical
5041 beams, depending on which staff line it is printed.
5042
5043 @seealso
5044
5045 In this manual: see @ref{Clef}.
5046
5047 @refbugs
5048
5049 The mensural g clef is mapped to the Petrucci g clef, until a new
5050 mensural g clef is implemented.
5051
5052
5053
5054 @node Ancient flags
5055 @subsection Ancient flags
5056
5057 @cindex flags
5058
5059
5060 Use the @code{flag-style} property of grob @internalsref{Stem} to
5061 select ancient flags.  Besides the @code{default} flag style,
5062  only @code{mensural} style is supported:
5063
5064 @lilypond[fragment,raggedright,verbatim]
5065   \override Stem #'flag-style = #'mensural
5066   \override Stem #'thickness = #1.0
5067   \override NoteHead #'style = #'mensural
5068   \autoBeamOff
5069   c'8 d'8 e'8 f'8 c'16 d'16 e'16 f'16 c'32 d'32 e'32 f'32 s8
5070   c''8 d''8 e''8 f''8 c''16 d''16 e''16 f''16 c''32 d''32 e''32 f''32
5071 @end lilypond
5072
5073 Note that the innermost flare of each mensural flag always is
5074 vertically aligned with a staff line.  If you do not like this
5075 behavior, you can set the @code{adjust-if-on-staffline} property of
5076 grob @internalsref{Stem} to @code{##f}.  Then, the vertical position
5077 of the end of each flare is different between notes on staff lines and
5078 notes between staff lines:
5079
5080 @lilypond[fragment,raggedright]
5081   \override Stem #'flag-style = #'mensural
5082   \override Stem #'thickness = #1.0
5083   \override Stem #'adjust-if-on-staffline = ##f
5084   \override NoteHead #'style = #'mensural
5085   \autoBeamOff
5086   c'8 d'8 e'8 f'8 c'16 d'16 e'16 f'16 c'32 d'32 e'32 f'32 s8
5087   c''8 d''8 e''8 f''8 c''16 d''16 e''16 f''16 c''32 d''32 e''32 f''32
5088 @end lilypond
5089
5090 There is no particular flag style for neo-mensural notation.  Hence,
5091 when typesetting e.g. the incipit of a transcribed piece of mensural
5092 music, the default flag style should be used.  There are no flags in
5093 Gregorian Chant notation.
5094
5095
5096 @node Ancient time signatures
5097 @subsection Ancient time signatures
5098
5099 @cindex time signatures
5100
5101
5102 There is limited support for mensural time signatures.   The
5103 glyphs are hard-wired to particular time fractions.  In other words,
5104 to get a particular mensural signature glyph with the @code{\time n/m}
5105 command, @code{n} and @code{m} have to be chosen according to the
5106 following table:
5107
5108 @lilypond
5109 \score {
5110     \notes {
5111         \set Score.timing = ##f
5112         \set Score.barAlways = ##t
5113         s_\markup { "$\\backslash$time 4/4" }
5114          ^\markup { "       " \musicglyph #"timesig-neo_mensural4/4" }
5115         s
5116         s_\markup { "$\\backslash$time 2/2" }
5117          ^\markup { "       " \musicglyph #"timesig-neo_mensural2/2" }
5118         s
5119         s_\markup { "$\\backslash$time 6/4" }
5120          ^\markup { "       " \musicglyph #"timesig-neo_mensural6/4" }
5121         s
5122         s_\markup { "$\\backslash$time 6/8" }
5123          ^\markup { "       " \musicglyph #"timesig-neo_mensural6/8" }
5124         \break
5125         s_\markup { "$\\backslash$time 3/2" }
5126          ^\markup { "       " \musicglyph #"timesig-neo_mensural3/2" }
5127         s
5128         s_\markup { "$\\backslash$time 3/4" }
5129          ^\markup { "       " \musicglyph #"timesig-neo_mensural3/4" }
5130         s
5131         s_\markup { "$\\backslash$time 9/4" }
5132          ^\markup { "       " \musicglyph #"timesig-neo_mensural9/4" }
5133         s
5134         s_\markup { "$\\backslash$time 9/8" }
5135          ^\markup { "       " \musicglyph #"timesig-neo_mensural9/8" }
5136         \break
5137         s_\markup { "$\\backslash$time 4/8" }
5138          ^\markup { "       " \musicglyph #"timesig-neo_mensural4/8" }
5139         s
5140         s_\markup { "$\\backslash$time 2/4" }
5141          ^\markup { "       " \musicglyph #"timesig-neo_mensural2/4" }
5142         \break
5143     }
5144     \paper {
5145         indent = 0.0
5146         raggedright = ##t
5147         \context {
5148             \StaffContext
5149             \remove Staff_symbol_engraver
5150             \remove Clef_engraver
5151             \remove Time_signature_engraver
5152         }
5153     }
5154 }
5155 @end lilypond
5156
5157 Use the @code{style} property of grob @internalsref{TimeSignature} to
5158 select ancient time signatures.  Supported styles are
5159 @code{neo_mensural} and @code{mensural}.  The above table uses the
5160 @code{neo_mensural} style.  This style is appropriate e.g. for the
5161 incipit of transcriptions of mensural pieces.  The @code{mensural}
5162 style mimics the look of historical printings of the 16th century.
5163
5164 @inputfileref{input/test,time.ly} gives an overview over all available
5165 ancient and modern styles.
5166
5167 @seealso
5168
5169 Program reference: @ref{Time signature} gives a general introduction into the use of time
5170 signatures.
5171
5172 @refbugs
5173
5174 Mensural signature glyphs are mapped to time fractions in a hard-wired
5175 way.  This mapping is sensible, but still arbitrary: given a mensural
5176 time signature, the time fraction represents a modern meter that
5177 usually will be a good choice when transcribing a mensural piece of
5178 music.  For a particular piece of mensural music, however, the mapping
5179 may be unsatisfactory.  In particular, the mapping assumes a fixed
5180 transcription of durations (e.g. brevis = half note in 2/2, i.e. 4:1).
5181 Some glyphs (such as the alternate glyph for 6/8 meter) are not at all
5182 accessible through the @code{\time} command.
5183
5184 Mensural time signatures are supported typographically, but not yet
5185 musically.  The internal representation of durations is 
5186 based on a purely binary system; a ternary division such as 1 brevis =
5187 3 semibrevis (tempus perfectum) or 1 semibrevis = 3 minima (cum
5188 prolatione maiori) is not correctly handled: event times in ternary
5189 modes will be badly computed, resulting e.g. in horizontally
5190 misaligned note heads, and bar checks are likely to erroneously fail.
5191
5192 The syntax and semantics of the @code{\time} command for mensural
5193 music is subject to change.
5194
5195 @node Custodes
5196 @subsection Custodes
5197
5198 @cindex custos
5199 @cindex custodes
5200
5201 A @emph{custos} (plural: @emph{custodes}; Latin word for `guard') is a
5202 symbol that appears at the end of a staff.  It anticipates the pitch
5203 of the first note(s) of the following line and thus helps the player
5204 or singer to manage line breaks during performance, thus enhancing
5205 readability of a score.
5206
5207 Custodes were frequently used in music notation until the 17th
5208 century.  Nowadays, they have survived only in a few particular forms
5209 of musical notation such as contemporary editions of Gregorian chant
5210 like the @emph{editio vaticana}.  There are different custos glyphs
5211 used in different flavors of notational style.
5212
5213 For typesetting custodes, just put a @internalsref{Custos_engraver} into the
5214 @internalsref{Staff} context when declaring the @code{\paper} block,
5215 as shown in the following example:
5216
5217 @example
5218 \paper @{
5219   \context @{
5220      \StaffContext
5221      \consists Custos_engraver
5222      Custos \override #'style = #'mensural
5223   @}
5224 @}
5225 @end example
5226
5227 The result looks like this:
5228
5229 @lilypond[raggedright]
5230 \score {
5231     \notes {
5232         a'1
5233         \override Staff.Custos #'style = #'mensural
5234         \break
5235         g'
5236     }
5237     \paper {
5238         \context {
5239             \StaffContext
5240             \consists Custos_engraver
5241         }
5242     }
5243 }
5244 @end lilypond
5245
5246 The custos glyph is selected by the @code{style} property. The styles
5247 supported are @code{vaticana}, @code{medicaea}, @code{hufnagel} and
5248 @code{mensural}.  They are demonstrated in the following fragment:
5249
5250 @lilypond
5251 \score {
5252        \new Lyrics    \lyrics {
5253         \markup {
5254             \column <
5255                 "vaticana" 
5256                 { " " \musicglyph #"custodes-vaticana-u0" }
5257             > }
5258         \markup {    \column <
5259                 "medicaea"
5260                 { " " \musicglyph #"custodes-medicaea-u0" }
5261             >}
5262             \markup {
5263             \column <
5264                 "hufnagel"
5265                 { " " \musicglyph #"custodes-hufnagel-u0" }
5266             >}
5267             \markup {
5268             \column <
5269                 "mensural"
5270                 { " " \musicglyph #"custodes-mensural-u0" }
5271             >}
5272         }
5273     
5274     \paper {
5275         raggedright = ##t 
5276         }      
5277 }
5278 @end lilypond
5279
5280 @seealso
5281
5282 Program reference: @internalsref{Custos}.
5283
5284 Examples: @inputfileref{input/regression,custos.ly}.
5285
5286
5287 @node Divisiones
5288 @subsection Divisiones
5289
5290 @cindex divisio
5291 @cindex divisiones
5292 @cindex finalis
5293
5294 A @emph{divisio} (plural: @emph{divisiones}; Latin word for
5295 `division') is a staff context symbol that is used to structure
5296 Gregorian music into phrases and sections.  The musical meaning of
5297 @emph{divisio minima}, @emph{divisio maior} and @emph{divisio maxima}
5298 can be characterized as short, medium and long pause, somewhat like
5299 @ref{Breath marks}.  The @emph{finalis} sign not only marks the end of
5300 a chant, but is also frequently used within a single
5301 antiphonal/responsorial chant to mark the end of each section.
5302
5303
5304 To use divisiones, include the file @code{gregorian-init.ly}.  It
5305 contains definitions that you can apply by just inserting
5306 @code{\divisioMinima}, @code{\divisioMaior}, @code{\divisioMaxima},
5307 and @code{\finalis} at proper places in the input.  Some editions use
5308 @emph{virgula} or @emph{caesura} instead of divisio minima.
5309 Therefore, @code{gregorian-init.ly} also defines @code{\virgula} and
5310 @code{\caesura}:
5311
5312 @lilypondfile[]{divisiones.ly}
5313
5314 @refcommands
5315
5316 @cindex @code{\virgula}
5317 @code{\virgula},
5318 @cindex @code{\caesura}
5319 @code{\caesura},
5320 @cindex @code{\divisioMinima}
5321 @code{\divisioMinima},
5322 @cindex @code{\divisioMaior}
5323 @code{\divisioMaior},
5324 @cindex @code{\divisioMaxima}
5325 @code{\divisioMaxima},
5326 @cindex @code{\finalis}
5327 @code{\finalis}.
5328
5329 @seealso
5330
5331 In this manual: @ref{Breath marks}.
5332
5333 Program reference: @internalsref{BreathingSign}, @internalsref{BreathingSignEvent}.
5334
5335 Examples: @inputfileref{input/test,divisiones.ly}.
5336
5337 @node Ligatures
5338 @subsection Ligatures
5339
5340 @cindex Ligatures
5341
5342 @c TODO: Should double check if I recalled things correctly when I wrote
5343 @c down the following paragraph by heart.
5344
5345 A ligature is a coherent graphical symbol that represents at least two
5346 distinct notes.  Ligatures originally appeared in the manuscripts of
5347 Gregorian chant notation roughly since the 9th century to denote
5348 ascending or descending sequences of notes.  
5349
5350 Ligatures are entered by enclosing them in @code{\[} and @code{\]}.
5351 Some ligature styles may need additional input syntax specific for
5352 this particular type of ligature.  By default, the
5353 @internalsref{LigatureBracket} engraver just puts a square bracket
5354 above the ligature:
5355
5356 @lilypond[raggedright,verbatim]
5357 \score {
5358     \notes \transpose c c' {
5359         \[ g c a f d' \]
5360         a g f
5361         \[ e f a g \]
5362     }
5363 }
5364 @end lilypond
5365
5366 To select a specific style of ligatures, a proper ligature engraver
5367 has to be added to the @internalsref{Voice} context, as explained in
5368 the following subsections.   Only white mensural ligatures
5369 are supported with certain limitations.
5370
5371 @menu
5372 * White mensural ligatures::    
5373 * Gregorian square neumes ligatures::  
5374 @end menu
5375
5376 @node White mensural ligatures
5377 @subsubsection White mensural ligatures
5378
5379 @cindex Mensural ligatures
5380 @cindex White mensural ligatures
5381
5382 There is limited support for white mensural ligatures.  
5383
5384 To engrave white mensural ligatures, in the paper block the
5385 @internalsref{Mensural_ligature_engraver} has to be put into the
5386 @internalsref{Voice} context, and remove the
5387 @internalsref{Ligature_bracket_engraver}:
5388
5389 @example
5390     \paper @{
5391         \context @{
5392             \VoiceContext
5393             \remove Ligature_bracket_engraver
5394             \consists Mensural_ligature_engraver
5395         @}
5396     @}
5397 @end example
5398
5399 There is no additional input language to describe the shape of a
5400 white mensural ligature.  The shape is rather determined solely from
5401 the pitch and duration of the enclosed notes.  While this approach may
5402 take a new user a while to get accustomed, it has the great advantage
5403 that the full musical information of the ligature is known internally.
5404 This is not only required for correct MIDI output, but also allows for
5405 automatic transcription of the ligatures.
5406
5407 For example,
5408
5409 @example
5410         \set Score.timing = ##f
5411         \set Score.defaultBarType = "empty"
5412         \override NoteHead #'style = #'neo_mensural
5413         \override Staff.TimeSignature   #'style = #'neo_mensural
5414         \clef "petrucci_g"
5415         \[ g\longa c\breve a\breve f\breve d'\longa \]
5416         s4
5417         \[ e1 f1 a\breve g\longa \]
5418 @end example
5419 @lilypond[raggedright]
5420 \score {
5421     \notes \transpose c c' {
5422         \set Score.timing = ##f
5423         \set Score.defaultBarType = "empty"
5424         \override NoteHead #'style = #'neo_mensural
5425         \override Staff.TimeSignature   #'style = #'neo_mensural
5426         \clef "petrucci_g"
5427         \[ g\longa c\breve a\breve f\breve d'\longa \]
5428         s4
5429         \[ e1 f1 a\breve g\longa \]
5430     }
5431     \paper {
5432         \context {
5433             \VoiceContext
5434             \remove Ligature_bracket_engraver
5435             \consists Mensural_ligature_engraver
5436         }
5437     }
5438 }
5439 @end lilypond
5440
5441 Without replacing @internalsref{Ligature_bracket_engraver} with
5442 @internalsref{Mensural_ligature_engraver}, the same music transcribes
5443 to the following:
5444
5445 @lilypond[raggedright]
5446 \score {
5447     \notes \transpose c c' {
5448         \set Score.timing = ##f
5449         \set Score.defaultBarType = "empty"
5450         \override NoteHead #'style = #'neo_mensural
5451         \override Staff.TimeSignature   #'style = #'neo_mensural
5452         \clef "petrucci_g"
5453         \[ g\longa c\breve a\breve f\breve d'\longa \]
5454         s4
5455         \[ e1 f1 a\breve g\longa \]
5456     }
5457 }
5458 @end lilypond
5459
5460 @refbugs
5461
5462 The implementation is experimental; it may output strange warnings or
5463 even crash in some cases or produce weird results on more complex
5464 ligatures.
5465
5466 @node Gregorian square neumes ligatures
5467 @subsubsection Gregorian square neumes ligatures
5468
5469 @cindex Square neumes ligatures
5470 @cindex Gregorian square neumes ligatures
5471
5472 Gregorian square neumes notation (following the style of the Editio
5473 Vaticana) is under heavy development, but not yet really usable for
5474 production purposes.  Core ligatures can already be typeset, but
5475 essential issues for serious typesetting are still under development,
5476 such as (among others) horizontal alignment of multiple ligatures,
5477 lyrics alignment and proper accidentals handling.  Still, this section
5478 gives a sneak preview of what Gregorian chant may look like once it
5479 will work.
5480
5481 The following table contains the extended neumes table of the 2nd
5482 volume of the Antiphonale Romanum (@emph{Liber Hymnarius}), published
5483 1983 by the monks of Solesmes.
5484
5485 @multitable @columnfractions .4 .2 .2 .2
5486
5487 @item
5488 @b{Neuma aut@*Neumarum Elementa} @tab
5489 @b{Figurae@*Rectae} @tab
5490 @b{Figurae@*Liquescentes Auctae} @tab
5491 @b{Figurae@*Liquescentes Deminutae}
5492
5493 @c TODO: \paper block is identical in all of the below examples.
5494 @c Therefore, it should somehow be included rather than duplicated all
5495 @c the time. --jr
5496
5497 @c why not make identifiers in ly/engraver-init.ly? --hwn
5498
5499 @c Because it's just used to typeset plain notes without
5500 @c a staff for demonstration purposes rather than something
5501 @c special of Gregorian chant notation. --jr
5502
5503 @item
5504 @code{1. Punctum}
5505 @tab
5506 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.5\cm]
5507 \include "gregorian-init.ly"
5508 \score {
5509     \notes \transpose c c' {
5510         % Punctum
5511         \[ b \]
5512         \noBreak s^\markup {"a"} \noBreak
5513
5514         % Punctum Inclinatum
5515         \[ \inclinatum b \]
5516         \noBreak s^\markup {"b"}
5517     }
5518     \paper {
5519         interscoreline = 1
5520         \context {
5521             \ScoreContext
5522             \remove "Bar_number_engraver"
5523         }
5524         \context {
5525             \StaffContext
5526             \remove "Clef_engraver"
5527             \remove "Key_engraver"
5528             \override StaffSymbol #'transparent = ##t
5529             \remove "Time_signature_engraver"
5530             \remove "Bar_engraver"
5531             minimumVerticalExtent = ##f
5532         }
5533         \context {
5534             \VoiceContext
5535             \remove Ligature_bracket_engraver
5536             \consists Vaticana_ligature_engraver
5537             \override NoteHead #'style = #'vaticana_punctum
5538             \override Stem #'transparent = ##t
5539         }
5540     }
5541 }
5542 @end lilypond
5543 @tab
5544 @lilypond[noindent,staffsize=26,nofragment,linewidth=2.5\cm]
5545 \include "gregorian-init.ly"
5546 \score {
5547     \notes \transpose c c' {
5548         % Punctum Auctum Ascendens
5549         \[ \auctum \ascendens b \]
5550         \noBreak s^\markup {"c"} \noBreak
5551
5552         % Punctum Auctum Descendens
5553         \[ \auctum \descendens b \]
5554         \noBreak s^\markup {"d"} \noBreak
5555
5556         % Punctum Inclinatum Auctum
5557         \[ \inclinatum \auctum b \]
5558         \noBreak s^\markup {"e"}
5559     }
5560     \paper {
5561         interscoreline = 1
5562         \context {
5563             \ScoreContext
5564             \remove "Bar_number_engraver"
5565         }
5566         \context {
5567             \StaffContext
5568             \remove "Clef_engraver"
5569             \remove "Key_engraver"
5570             \override StaffSymbol #'transparent = ##t
5571             \remove "Time_signature_engraver"
5572             \remove "Bar_engraver"
5573             minimumVerticalExtent = ##f
5574         }
5575         \context {
5576             \VoiceContext
5577             \remove Ligature_bracket_engraver
5578             \consists Vaticana_ligature_engraver
5579             \override NoteHead #'style = #'vaticana_punctum
5580             \override Stem #'transparent = ##t
5581         }
5582     }
5583 }
5584 @end lilypond
5585 @tab
5586 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
5587 \include "gregorian-init.ly"
5588 \score {
5589     \notes \transpose c c' {
5590         % Punctum Inclinatum Parvum
5591         \[ \inclinatum \deminutum b \]
5592         \noBreak s^\markup {"f"}
5593     }
5594     \paper {
5595         interscoreline = 1
5596         \context {
5597             \ScoreContext
5598             \remove "Bar_number_engraver"
5599         }
5600         \context {
5601             \StaffContext
5602             \remove "Clef_engraver"
5603             \remove "Key_engraver"
5604             \override StaffSymbol #'transparent = ##t
5605             \remove "Time_signature_engraver"
5606             \remove "Bar_engraver"
5607             minimumVerticalExtent = ##f
5608         }
5609         \context {
5610             \VoiceContext
5611             \remove Ligature_bracket_engraver
5612             \consists Vaticana_ligature_engraver
5613             \override NoteHead #'style = #'vaticana_punctum
5614             \override Stem #'transparent = ##t
5615         }
5616     }
5617 }
5618 @end lilypond
5619
5620 @item
5621 @code{2. Virga}
5622 @tab
5623 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
5624 \include "gregorian-init.ly"
5625 \score {
5626     \notes \transpose c c' {
5627         % Virga
5628         \[ \virga b \]
5629         \noBreak s^\markup {"g"}
5630     }
5631     \paper {
5632         interscoreline = 1
5633         \context {
5634             \ScoreContext
5635             \remove "Bar_number_engraver"
5636         }
5637         \context {
5638             \StaffContext
5639             \remove "Clef_engraver"
5640             \remove "Key_engraver"
5641             \override StaffSymbol #'transparent = ##t
5642             \remove "Time_signature_engraver"
5643             \remove "Bar_engraver"
5644             minimumVerticalExtent = ##f
5645         }
5646         \context {
5647             \VoiceContext
5648             \remove Ligature_bracket_engraver
5649             \consists Vaticana_ligature_engraver
5650             \override NoteHead #'style = #'vaticana_punctum
5651             \override Stem #'transparent = ##t
5652         }
5653     }
5654 }
5655 @end lilypond
5656 @tab
5657 @tab
5658
5659 @item
5660 @code{3. Apostropha vel Stropha}
5661 @tab
5662 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
5663 \include "gregorian-init.ly"
5664 \score {
5665     \notes \transpose c c' {
5666         % Stropha
5667         \[ \stropha b \]
5668         \noBreak s^\markup {"h"}
5669     }
5670     \paper {
5671         interscoreline = 1
5672         \context {
5673             \ScoreContext
5674             \remove "Bar_number_engraver"
5675         }
5676         \context {
5677             \StaffContext
5678             \remove "Clef_engraver"
5679             \remove "Key_engraver"
5680             \override StaffSymbol #'transparent = ##t
5681             \remove "Time_signature_engraver"
5682             \remove "Bar_engraver"
5683             minimumVerticalExtent = ##f
5684         }
5685         \context {
5686             \VoiceContext
5687             \remove Ligature_bracket_engraver
5688             \consists Vaticana_ligature_engraver
5689             \override NoteHead #'style = #'vaticana_punctum
5690             \override Stem #'transparent = ##t
5691         }
5692     }
5693 }
5694 @end lilypond
5695 @tab
5696 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
5697 \include "gregorian-init.ly"
5698 \score {
5699     \notes \transpose c c' {
5700         % Stropha Aucta
5701         \[ \stropha \auctum b \]
5702         \noBreak s^\markup {"i"}
5703     }
5704     \paper {
5705         interscoreline = 1
5706         \context {
5707             \ScoreContext
5708             \remove "Bar_number_engraver"
5709         }
5710         \context {
5711             \StaffContext
5712             \remove "Clef_engraver"
5713             \remove "Key_engraver"
5714             \override StaffSymbol #'transparent = ##t
5715             \remove "Time_signature_engraver"
5716             \remove "Bar_engraver"
5717             minimumVerticalExtent = ##f
5718         }
5719         \context {
5720             \VoiceContext
5721             \remove Ligature_bracket_engraver
5722             \consists Vaticana_ligature_engraver
5723             \override NoteHead #'style = #'vaticana_punctum
5724             \override Stem #'transparent = ##t
5725         }
5726     }
5727 }
5728 @end lilypond
5729 @tab
5730
5731 @item
5732 @code{4. Oriscus}
5733 @tab
5734 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
5735 \include "gregorian-init.ly"
5736 \score {
5737     \notes \transpose c c' {
5738         % Oriscus
5739         \[ \oriscus b \]
5740         \noBreak s^\markup {"j"}
5741     }
5742     \paper {
5743         interscoreline = 1
5744         \context {
5745             \ScoreContext
5746             \remove "Bar_number_engraver"
5747         }
5748         \context {
5749             \StaffContext
5750             \remove "Clef_engraver"
5751             \remove "Key_engraver"
5752             \override StaffSymbol #'transparent = ##t
5753             \remove "Time_signature_engraver"
5754             \remove "Bar_engraver"
5755             minimumVerticalExtent = ##f
5756         }
5757         \context {
5758             \VoiceContext
5759             \remove Ligature_bracket_engraver
5760             \consists Vaticana_ligature_engraver
5761             \override NoteHead #'style = #'vaticana_punctum
5762             \override Stem #'transparent = ##t
5763         }
5764     }
5765 }
5766 @end lilypond
5767 @tab
5768 @tab
5769
5770 @item
5771 @code{5. Clivis vel Flexa}
5772 @tab
5773 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
5774 \include "gregorian-init.ly"
5775 \score {
5776     \notes \transpose c c' {
5777         % Clivis vel Flexa
5778         \[ b \flexa g \]
5779         s^\markup {"k"}
5780     }
5781     \paper {
5782         interscoreline = 1
5783         \context {
5784             \ScoreContext
5785             \remove "Bar_number_engraver"
5786         }
5787         \context {
5788             \StaffContext
5789             \remove "Clef_engraver"
5790             \remove "Key_engraver"
5791             \override StaffSymbol #'transparent = ##t
5792             \remove "Time_signature_engraver"
5793             \remove "Bar_engraver"
5794             minimumVerticalExtent = ##f
5795         }
5796         \context {
5797             \VoiceContext
5798             \remove Ligature_bracket_engraver
5799             \consists Vaticana_ligature_engraver
5800             \override NoteHead #'style = #'vaticana_punctum
5801             \override Stem #'transparent = ##t
5802         }
5803     }
5804 }
5805 @end lilypond
5806 @tab
5807 @lilypond[noindent,staffsize=26,nofragment,linewidth=2.0\cm]
5808 \include "gregorian-init.ly"
5809 \score {
5810     \notes \transpose c c' {
5811         % Clivis Aucta Descendens
5812         \[ b \flexa \auctum \descendens g \]
5813         \noBreak s^\markup {"l"} \noBreak
5814
5815         % Clivis Aucta Ascendens
5816         \[ b \flexa \auctum \ascendens g \]
5817         \noBreak s^\markup {"m"}
5818     }
5819     \paper {
5820         interscoreline = 1
5821         \context {
5822             \ScoreContext
5823             \remove "Bar_number_engraver"
5824         }
5825         \context {
5826             \StaffContext
5827             \remove "Clef_engraver"
5828             \remove "Key_engraver"
5829             \override StaffSymbol #'transparent = ##t
5830             \remove "Time_signature_engraver"
5831             \remove "Bar_engraver"
5832             minimumVerticalExtent = ##f
5833         }
5834         \context {
5835             \VoiceContext
5836             \remove Ligature_bracket_engraver
5837             \consists Vaticana_ligature_engraver
5838             \override NoteHead #'style = #'vaticana_punctum
5839             \override Stem #'transparent = ##t
5840         }
5841     }
5842 }
5843 @end lilypond
5844 @tab
5845 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
5846 \include "gregorian-init.ly"
5847 \score {
5848     \notes \transpose c c' {
5849         % Cephalicus
5850         \[ b \flexa \deminutum g \]
5851         s^\markup {"n"}
5852     }
5853     \paper {
5854         interscoreline = 1
5855         \context {
5856             \ScoreContext
5857             \remove "Bar_number_engraver"
5858         }
5859         \context {
5860             \StaffContext
5861             \remove "Clef_engraver"
5862             \remove "Key_engraver"
5863             \override StaffSymbol #'transparent = ##t
5864             \remove "Time_signature_engraver"
5865             \remove "Bar_engraver"
5866             minimumVerticalExtent = ##f
5867         }
5868         \context {
5869             \VoiceContext
5870             \remove Ligature_bracket_engraver
5871             \consists Vaticana_ligature_engraver
5872             \override NoteHead #'style = #'vaticana_punctum
5873             \override Stem #'transparent = ##t
5874         }
5875     }
5876 }
5877 @end lilypond
5878
5879 @item
5880 @code{6. Podatus vel Pes}
5881 @tab
5882 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
5883 \include "gregorian-init.ly"
5884 \score {
5885     \notes \transpose c c' {
5886         % Podatus vel Pes
5887         \[ g \pes b \]
5888         s^\markup {"o"}
5889     }
5890     \paper {
5891         interscoreline = 1
5892         \context {
5893             \ScoreContext
5894             \remove "Bar_number_engraver"
5895         }
5896         \context {
5897             \StaffContext
5898             \remove "Clef_engraver"
5899             \remove "Key_engraver"
5900             \override StaffSymbol #'transparent = ##t
5901             \remove "Time_signature_engraver"
5902             \remove "Bar_engraver"
5903             minimumVerticalExtent = ##f
5904         }
5905         \context {
5906             \VoiceContext
5907             \remove Ligature_bracket_engraver
5908             \consists Vaticana_ligature_engraver
5909             \override NoteHead #'style = #'vaticana_punctum
5910             \override Stem #'transparent = ##t
5911         }
5912     }
5913 }
5914 @end lilypond
5915 @tab
5916 @lilypond[noindent,staffsize=26,nofragment,linewidth=2.0\cm]
5917 \include "gregorian-init.ly"
5918 \score {
5919     \notes \transpose c c' {
5920         % Pes Auctus Descendens
5921         \[ g \pes \auctum \descendens b \]
5922         \noBreak s^\markup {"p"} \noBreak
5923
5924         % Pes Auctus Ascendens
5925         \[ g \pes \auctum \ascendens b \]
5926         \noBreak s^\markup {"q"}
5927     }
5928     \paper {
5929         interscoreline = 1
5930         \context {
5931             \ScoreContext
5932             \remove "Bar_number_engraver"
5933         }
5934         \context {
5935             \StaffContext
5936             \remove "Clef_engraver"
5937             \remove "Key_engraver"
5938             \override StaffSymbol #'transparent = ##t
5939             \remove "Time_signature_engraver"
5940             \remove "Bar_engraver"
5941             minimumVerticalExtent = ##f
5942         }
5943         \context {
5944             \VoiceContext
5945             \remove Ligature_bracket_engraver
5946             \consists Vaticana_ligature_engraver
5947             \override NoteHead #'style = #'vaticana_punctum
5948             \override Stem #'transparent = ##t
5949         }
5950     }
5951 }
5952 @end lilypond
5953 @tab
5954 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
5955 \include "gregorian-init.ly"
5956 \score {
5957     \notes \transpose c c' {
5958         % Epiphonus
5959         \[ g \pes \deminutum b \]
5960         s^\markup {"r"}
5961     }
5962     \paper {
5963         interscoreline = 1
5964         \context {
5965             \ScoreContext
5966             \remove "Bar_number_engraver"
5967         }
5968         \context {
5969             \StaffContext
5970             \remove "Clef_engraver"
5971             \remove "Key_engraver"
5972             \override StaffSymbol #'transparent = ##t
5973             \remove "Time_signature_engraver"
5974             \remove "Bar_engraver"
5975             minimumVerticalExtent = ##f
5976         }
5977         \context {
5978             \VoiceContext
5979             \remove Ligature_bracket_engraver
5980             \consists Vaticana_ligature_engraver
5981             \override NoteHead #'style = #'vaticana_punctum
5982             \override Stem #'transparent = ##t
5983         }
5984     }
5985 }
5986 @end lilypond
5987
5988 @item
5989 @code{7. Pes Quassus}
5990 @tab
5991 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
5992 \include "gregorian-init.ly"
5993 \score {
5994     \notes \transpose c c' {
5995         % Pes Quassus
5996         \[ \oriscus g \pes \virga b \]
5997         s^\markup {"s"}
5998     }
5999     \paper {
6000         interscoreline = 1
6001         \context {
6002             \ScoreContext
6003             \remove "Bar_number_engraver"
6004         }
6005         \context {
6006             \StaffContext
6007             \remove "Clef_engraver"
6008             \remove "Key_engraver"
6009             \override StaffSymbol #'transparent = ##t
6010             \remove "Time_signature_engraver"
6011             \remove "Bar_engraver"
6012             minimumVerticalExtent = ##f
6013         }
6014         \context {
6015             \VoiceContext
6016             \remove Ligature_bracket_engraver
6017             \consists Vaticana_ligature_engraver
6018             \override NoteHead #'style = #'vaticana_punctum
6019             \override Stem #'transparent = ##t
6020         }
6021     }
6022 }
6023 @end lilypond
6024 @tab
6025 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6026 \include "gregorian-init.ly"
6027 \score {
6028     \notes \transpose c c' {
6029         % Pes Quassus Auctus Descendens
6030         \[ \oriscus g \pes \auctum \descendens b \]
6031         s^\markup {"t"}
6032     }
6033     \paper {
6034         interscoreline = 1
6035         \context {
6036             \ScoreContext
6037             \remove "Bar_number_engraver"
6038         }
6039         \context {
6040             \StaffContext
6041             \remove "Clef_engraver"
6042             \remove "Key_engraver"
6043             \override StaffSymbol #'transparent = ##t
6044             \remove "Time_signature_engraver"
6045             \remove "Bar_engraver"
6046             minimumVerticalExtent = ##f
6047         }
6048         \context {
6049             \VoiceContext
6050             \remove Ligature_bracket_engraver
6051             \consists Vaticana_ligature_engraver
6052             \override NoteHead #'style = #'vaticana_punctum
6053             \override Stem #'transparent = ##t
6054         }
6055     }
6056 }
6057 @end lilypond
6058 @tab
6059
6060 @item
6061 @code{8. Quilisma Pes}
6062 @tab
6063 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6064 \include "gregorian-init.ly"
6065 \score {
6066     \notes \transpose c c' {
6067         % Quilisma Pes
6068         \[ \quilisma g \pes b \]
6069         s^\markup {"u"}
6070     }
6071     \paper {
6072         interscoreline = 1
6073         \context {
6074             \ScoreContext
6075             \remove "Bar_number_engraver"
6076         }
6077         \context {
6078             \StaffContext
6079             \remove "Clef_engraver"
6080             \remove "Key_engraver"
6081             \override StaffSymbol #'transparent = ##t
6082             \remove "Time_signature_engraver"
6083             \remove "Bar_engraver"
6084             minimumVerticalExtent = ##f
6085         }
6086         \context {
6087             \VoiceContext
6088             \remove Ligature_bracket_engraver
6089             \consists Vaticana_ligature_engraver
6090             \override NoteHead #'style = #'vaticana_punctum
6091             \override Stem #'transparent = ##t
6092         }
6093     }
6094 }
6095 @end lilypond
6096 @tab
6097 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6098 \include "gregorian-init.ly"
6099 \score {
6100     \notes \transpose c c' {
6101         % Quilisma Pes Auctus Descendens
6102         \[ \quilisma g \pes \auctum \descendens b \]
6103         s^\markup {"v"}
6104     }
6105     \paper {
6106         interscoreline = 1
6107         \context {
6108             \ScoreContext
6109             \remove "Bar_number_engraver"
6110         }
6111         \context {
6112             \StaffContext
6113             \remove "Clef_engraver"
6114             \remove "Key_engraver"
6115             \override StaffSymbol #'transparent = ##t
6116             \remove "Time_signature_engraver"
6117             \remove "Bar_engraver"
6118             minimumVerticalExtent = ##f
6119         }
6120         \context {
6121             \VoiceContext
6122             \remove Ligature_bracket_engraver
6123             \consists Vaticana_ligature_engraver
6124             \override NoteHead #'style = #'vaticana_punctum
6125             \override Stem #'transparent = ##t
6126         }
6127     }
6128 }
6129 @end lilypond
6130 @tab
6131
6132 @item
6133 @code{9. Podatus Initio Debilis}
6134 @tab
6135 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6136 \include "gregorian-init.ly"
6137 \score {
6138     \notes \transpose c c' {
6139         % Pes Initio Debilis
6140         \[ \deminutum g \pes b \]
6141         s^\markup {"w"}
6142     }
6143     \paper {
6144         interscoreline = 1
6145         \context {
6146             \ScoreContext
6147             \remove "Bar_number_engraver"
6148         }
6149         \context {
6150             \StaffContext
6151             \remove "Clef_engraver"
6152             \remove "Key_engraver"
6153             \override StaffSymbol #'transparent = ##t
6154             \remove "Time_signature_engraver"
6155             \remove "Bar_engraver"
6156             minimumVerticalExtent = ##f
6157         }
6158         \context {
6159             \VoiceContext
6160             \remove Ligature_bracket_engraver
6161             \consists Vaticana_ligature_engraver
6162             \override NoteHead #'style = #'vaticana_punctum
6163             \override Stem #'transparent = ##t
6164         }
6165     }
6166 }
6167 @end lilypond
6168 @tab
6169 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6170 \include "gregorian-init.ly"
6171 \score {
6172     \notes \transpose c c' {
6173         % Pes Auctus Descendens Initio Debilis
6174         \[ \deminutum g \pes \auctum \descendens b \]
6175         s^\markup {"x"}
6176     }
6177     \paper {
6178         interscoreline = 1
6179         \context {
6180             \ScoreContext
6181             \remove "Bar_number_engraver"
6182         }
6183         \context {
6184             \StaffContext
6185             \remove "Clef_engraver"
6186             \remove "Key_engraver"
6187             \override StaffSymbol #'transparent = ##t
6188             \remove "Time_signature_engraver"
6189             \remove "Bar_engraver"
6190             minimumVerticalExtent = ##f
6191         }
6192         \context {
6193             \VoiceContext
6194             \remove Ligature_bracket_engraver
6195             \consists Vaticana_ligature_engraver
6196             \override NoteHead #'style = #'vaticana_punctum
6197             \override Stem #'transparent = ##t
6198         }
6199     }
6200 }
6201 @end lilypond
6202 @tab
6203
6204 @item
6205 @code{10. Torculus}
6206 @tab
6207 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6208 \include "gregorian-init.ly"
6209 \score {
6210     \notes \transpose c c' {
6211         % Torculus
6212         \[ a \pes b \flexa g \]
6213         s^\markup {"y"}
6214     }
6215     \paper {
6216         interscoreline = 1
6217         \context {
6218             \ScoreContext
6219             \remove "Bar_number_engraver"
6220         }
6221         \context {
6222             \StaffContext
6223             \remove "Clef_engraver"
6224             \remove "Key_engraver"
6225             \override StaffSymbol #'transparent = ##t
6226             \remove "Time_signature_engraver"
6227             \remove "Bar_engraver"
6228             minimumVerticalExtent = ##f
6229         }
6230         \context {
6231             \VoiceContext
6232             \remove Ligature_bracket_engraver
6233             \consists Vaticana_ligature_engraver
6234             \override NoteHead #'style = #'vaticana_punctum
6235             \override Stem #'transparent = ##t
6236         }
6237     }
6238 }
6239 @end lilypond
6240 @tab
6241 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6242 \include "gregorian-init.ly"
6243 \score {
6244     \notes \transpose c c' {
6245         % Torculus Auctus Descendens
6246         \[ a \pes b \flexa \auctum \descendens g \]
6247         s^\markup {"z"}
6248     }
6249     \paper {
6250         interscoreline = 1
6251         \context {
6252             \ScoreContext
6253             \remove "Bar_number_engraver"
6254         }
6255         \context {
6256             \StaffContext
6257             \remove "Clef_engraver"
6258             \remove "Key_engraver"
6259             \override StaffSymbol #'transparent = ##t
6260             \remove "Time_signature_engraver"
6261             \remove "Bar_engraver"
6262             minimumVerticalExtent = ##f
6263         }
6264         \context {
6265             \VoiceContext
6266             \remove Ligature_bracket_engraver
6267             \consists Vaticana_ligature_engraver
6268             \override NoteHead #'style = #'vaticana_punctum
6269             \override Stem #'transparent = ##t
6270         }
6271     }
6272 }
6273 @end lilypond
6274 @tab
6275 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6276 \include "gregorian-init.ly"
6277 \score {
6278     \notes \transpose c c' {
6279         % Torculus Deminutus
6280         \[ a \pes b \flexa \deminutum g \]
6281         s^\markup {"A"}
6282     }
6283     \paper {
6284         interscoreline = 1
6285         \context {
6286             \ScoreContext
6287             \remove "Bar_number_engraver"
6288         }
6289         \context {
6290             \StaffContext
6291             \remove "Clef_engraver"
6292             \remove "Key_engraver"
6293             \override StaffSymbol #'transparent = ##t
6294             \remove "Time_signature_engraver"
6295             \remove "Bar_engraver"
6296             minimumVerticalExtent = ##f
6297         }
6298         \context {
6299             \VoiceContext
6300             \remove Ligature_bracket_engraver
6301             \consists Vaticana_ligature_engraver
6302             \override NoteHead #'style = #'vaticana_punctum
6303             \override Stem #'transparent = ##t
6304         }
6305     }
6306 }
6307 @end lilypond
6308
6309 @item
6310 @code{11. Torculus Initio Debilis}
6311 @tab
6312 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6313 \include "gregorian-init.ly"
6314 \score {
6315     \notes \transpose c c' {
6316         % Torculus Initio Debilis
6317         \[ \deminutum a \pes b \flexa g \]
6318         s^\markup {"B"}
6319     }
6320     \paper {
6321         interscoreline = 1
6322         \context {
6323             \ScoreContext
6324             \remove "Bar_number_engraver"
6325         }
6326         \context {
6327             \StaffContext
6328             \remove "Clef_engraver"
6329             \remove "Key_engraver"
6330             \override StaffSymbol #'transparent = ##t
6331             \remove "Time_signature_engraver"
6332             \remove "Bar_engraver"
6333             minimumVerticalExtent = ##f
6334         }
6335         \context {
6336             \VoiceContext
6337             \remove Ligature_bracket_engraver
6338             \consists Vaticana_ligature_engraver
6339             \override NoteHead #'style = #'vaticana_punctum
6340             \override Stem #'transparent = ##t
6341         }
6342     }
6343 }
6344 @end lilypond
6345 @tab
6346 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6347 \include "gregorian-init.ly"
6348 \score {
6349     \notes \transpose c c' {
6350         % Torculus Auctus Descendens Initio Debilis
6351         \[ \deminutum a \pes b \flexa \auctum \descendens g \]
6352         s^\markup {"C"}
6353     }
6354     \paper {
6355         interscoreline = 1
6356         \context {
6357             \ScoreContext
6358             \remove "Bar_number_engraver"
6359         }
6360         \context {
6361             \StaffContext
6362             \remove "Clef_engraver"
6363             \remove "Key_engraver"
6364             \override StaffSymbol #'transparent = ##t
6365             \remove "Time_signature_engraver"
6366             \remove "Bar_engraver"
6367             minimumVerticalExtent = ##f
6368         }
6369         \context {
6370             \VoiceContext
6371             \remove Ligature_bracket_engraver
6372             \consists Vaticana_ligature_engraver
6373             \override NoteHead #'style = #'vaticana_punctum
6374             \override Stem #'transparent = ##t
6375         }
6376     }
6377 }
6378 @end lilypond
6379 @tab
6380 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6381 \include "gregorian-init.ly"
6382 \score {
6383     \notes \transpose c c' {
6384         % Torculus Deminutus Initio Debilis
6385         \[ \deminutum a \pes b \flexa \deminutum g \]
6386         s^\markup {"D"}
6387     }
6388     \paper {
6389         interscoreline = 1
6390         \context {
6391             \ScoreContext
6392             \remove "Bar_number_engraver"
6393         }
6394         \context {
6395             \StaffContext
6396             \remove "Clef_engraver"
6397             \remove "Key_engraver"
6398             \override StaffSymbol #'transparent = ##t
6399             \remove "Time_signature_engraver"
6400             \remove "Bar_engraver"
6401             minimumVerticalExtent = ##f
6402         }
6403         \context {
6404             \VoiceContext
6405             \remove Ligature_bracket_engraver
6406             \consists Vaticana_ligature_engraver
6407             \override NoteHead #'style = #'vaticana_punctum
6408             \override Stem #'transparent = ##t
6409         }
6410     }
6411 }
6412 @end lilypond
6413
6414 @item
6415 @code{12. Porrectus}
6416 @tab
6417 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6418 \include "gregorian-init.ly"
6419 \score {
6420     \notes \transpose c c' {
6421         % Porrectus
6422         \[ a \flexa g \pes b \]
6423         s^\markup {"E"}
6424     }
6425     \paper {
6426         interscoreline = 1
6427         \context {
6428             \ScoreContext
6429             \remove "Bar_number_engraver"
6430         }
6431         \context {
6432             \StaffContext
6433             \remove "Clef_engraver"
6434             \remove "Key_engraver"
6435             \override StaffSymbol #'transparent = ##t
6436             \remove "Time_signature_engraver"
6437             \remove "Bar_engraver"
6438             minimumVerticalExtent = ##f
6439         }
6440         \context {
6441             \VoiceContext
6442             \remove Ligature_bracket_engraver
6443             \consists Vaticana_ligature_engraver
6444             \override NoteHead #'style = #'vaticana_punctum
6445             \override Stem #'transparent = ##t
6446         }
6447     }
6448 }
6449 @end lilypond
6450 @tab
6451 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6452 \include "gregorian-init.ly"
6453 \score {
6454     \notes \transpose c c' {
6455         % Porrectus Auctus Descendens
6456         \[ a \flexa g \pes \auctum \descendens b \]
6457         s^\markup {"F"}
6458     }
6459     \paper {
6460         interscoreline = 1
6461         \context {
6462             \ScoreContext
6463             \remove "Bar_number_engraver"
6464         }
6465         \context {
6466             \StaffContext
6467             \remove "Clef_engraver"
6468             \remove "Key_engraver"
6469             \override StaffSymbol #'transparent = ##t
6470             \remove "Time_signature_engraver"
6471             \remove "Bar_engraver"
6472             minimumVerticalExtent = ##f
6473         }
6474         \context {
6475             \VoiceContext
6476             \remove Ligature_bracket_engraver
6477             \consists Vaticana_ligature_engraver
6478             \override NoteHead #'style = #'vaticana_punctum
6479             \override Stem #'transparent = ##t
6480         }
6481     }
6482 }
6483 @end lilypond
6484 @tab
6485 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6486 \include "gregorian-init.ly"
6487 \score {
6488     \notes \transpose c c' {
6489         % Porrectus Deminutus
6490         \[ a \flexa g \pes \deminutum b \]
6491         s^\markup {"G"}
6492     }
6493     \paper {
6494         interscoreline = 1
6495         \context {
6496             \ScoreContext
6497             \remove "Bar_number_engraver"
6498         }
6499         \context {
6500             \StaffContext
6501             \remove "Clef_engraver"
6502             \remove "Key_engraver"
6503             \override StaffSymbol #'transparent = ##t
6504             \remove "Time_signature_engraver"
6505             \remove "Bar_engraver"
6506             minimumVerticalExtent = ##f
6507         }
6508         \context {
6509             \VoiceContext
6510             \remove Ligature_bracket_engraver
6511             \consists Vaticana_ligature_engraver
6512             \override NoteHead #'style = #'vaticana_punctum
6513             \override Stem #'transparent = ##t
6514         }
6515     }
6516 }
6517 @end lilypond
6518
6519 @item
6520 @code{13. Climacus}
6521 @tab
6522 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6523 \include "gregorian-init.ly"
6524 \score {
6525     \notes \transpose c c' {
6526         % Climacus
6527         \[ \virga b \inclinatum a \inclinatum g \]
6528         s^\markup {"H"}
6529     }
6530     \paper {
6531         interscoreline = 1
6532         \context {
6533             \ScoreContext
6534             \remove "Bar_number_engraver"
6535         }
6536         \context {
6537             \StaffContext
6538             \remove "Clef_engraver"
6539             \remove "Key_engraver"
6540             \override StaffSymbol #'transparent = ##t
6541             \remove "Time_signature_engraver"
6542             \remove "Bar_engraver"
6543             minimumVerticalExtent = ##f
6544         }
6545         \context {
6546             \VoiceContext
6547             \remove Ligature_bracket_engraver
6548             \consists Vaticana_ligature_engraver
6549             \override NoteHead #'style = #'vaticana_punctum
6550             \override Stem #'transparent = ##t
6551         }
6552     }
6553 }
6554 @end lilypond
6555 @tab
6556 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6557 \include "gregorian-init.ly"
6558 \score {
6559     \notes \transpose c c' {
6560         % Climacus Auctus
6561         \[ \virga b \inclinatum a \inclinatum \auctum g \]
6562         s^\markup {"I"}
6563     }
6564     \paper {
6565         interscoreline = 1
6566         \context {
6567             \ScoreContext
6568             \remove "Bar_number_engraver"
6569         }
6570         \context {
6571             \StaffContext
6572             \remove "Clef_engraver"
6573             \remove "Key_engraver"
6574             \override StaffSymbol #'transparent = ##t
6575             \remove "Time_signature_engraver"
6576             \remove "Bar_engraver"
6577             minimumVerticalExtent = ##f
6578         }
6579         \context {
6580             \VoiceContext
6581             \remove Ligature_bracket_engraver
6582             \consists Vaticana_ligature_engraver
6583             \override NoteHead #'style = #'vaticana_punctum
6584             \override Stem #'transparent = ##t
6585         }
6586     }
6587 }
6588 @end lilypond
6589 @tab
6590 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6591 \include "gregorian-init.ly"
6592 \score {
6593     \notes \transpose c c' {
6594         % Climacus Deminutus
6595         \[ \virga b \inclinatum a \inclinatum \deminutum g \]
6596         s^\markup {"J"}
6597     }
6598     \paper {
6599         interscoreline = 1
6600         \context {
6601             \ScoreContext
6602             \remove "Bar_number_engraver"
6603         }
6604         \context {
6605             \StaffContext
6606             \remove "Clef_engraver"
6607             \remove "Key_engraver"
6608             \override StaffSymbol #'transparent = ##t
6609             \remove "Time_signature_engraver"
6610             \remove "Bar_engraver"
6611             minimumVerticalExtent = ##f
6612         }
6613         \context {
6614             \VoiceContext
6615             \remove Ligature_bracket_engraver
6616             \consists Vaticana_ligature_engraver
6617             \override NoteHead #'style = #'vaticana_punctum
6618             \override Stem #'transparent = ##t
6619         }
6620     }
6621 }
6622 @end lilypond
6623
6624 @item
6625 @code{14. Scandicus}
6626 @tab
6627 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6628 \include "gregorian-init.ly"
6629 \score {
6630     \notes \transpose c c' {
6631         % Scandicus
6632         \[ g \pes a \virga b \]
6633         s^\markup {"K"}
6634     }
6635     \paper {
6636         interscoreline = 1
6637         \context {
6638             \ScoreContext
6639             \remove "Bar_number_engraver"
6640         }
6641         \context {
6642             \StaffContext
6643             \remove "Clef_engraver"
6644             \remove "Key_engraver"
6645             \override StaffSymbol #'transparent = ##t
6646             \remove "Time_signature_engraver"
6647             \remove "Bar_engraver"
6648             minimumVerticalExtent = ##f
6649         }
6650         \context {
6651             \VoiceContext
6652             \remove Ligature_bracket_engraver
6653             \consists Vaticana_ligature_engraver
6654             \override NoteHead #'style = #'vaticana_punctum
6655             \override Stem #'transparent = ##t
6656         }
6657     }
6658 }
6659 @end lilypond
6660 @tab
6661 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6662 \include "gregorian-init.ly"
6663 \score {
6664     \notes \transpose c c' {
6665         % Scandicus Auctus Descendens
6666         \[ g \pes a \pes \auctum \descendens b \]
6667         s^\markup {"L"}
6668     }
6669     \paper {
6670         interscoreline = 1
6671         \context {
6672             \ScoreContext
6673             \remove "Bar_number_engraver"
6674         }
6675         \context {
6676             \StaffContext
6677             \remove "Clef_engraver"
6678             \remove "Key_engraver"
6679             \override StaffSymbol #'transparent = ##t
6680             \remove "Time_signature_engraver"
6681             \remove "Bar_engraver"
6682             minimumVerticalExtent = ##f
6683         }
6684         \context {
6685             \VoiceContext
6686             \remove Ligature_bracket_engraver
6687             \consists Vaticana_ligature_engraver
6688             \override NoteHead #'style = #'vaticana_punctum
6689             \override Stem #'transparent = ##t
6690         }
6691     }
6692 }
6693 @end lilypond
6694 @tab
6695 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6696 \include "gregorian-init.ly"
6697 \score {
6698     \notes \transpose c c' {
6699         % Scandicus Deminutus
6700         \[ g \pes a \pes \deminutum b \]
6701         s^\markup {"M"}
6702     }
6703     \paper {
6704         interscoreline = 1
6705         \context {
6706             \ScoreContext
6707             \remove "Bar_number_engraver"
6708         }
6709         \context {
6710             \StaffContext
6711             \remove "Clef_engraver"
6712             \remove "Key_engraver"
6713             \override StaffSymbol #'transparent = ##t
6714             \remove "Time_signature_engraver"
6715             \remove "Bar_engraver"
6716             minimumVerticalExtent = ##f
6717         }
6718         \context {
6719             \VoiceContext
6720             \remove Ligature_bracket_engraver
6721             \consists Vaticana_ligature_engraver
6722             \override NoteHead #'style = #'vaticana_punctum
6723             \override Stem #'transparent = ##t
6724         }
6725     }
6726 }
6727 @end lilypond
6728
6729 @item
6730 @code{15. Salicus}
6731 @tab
6732 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6733 \include "gregorian-init.ly"
6734 \score {
6735     \notes \transpose c c' {
6736         % Salicus
6737         \[ g \oriscus a \pes \virga b \]
6738         s^\markup {"N"}
6739     }
6740     \paper {
6741         interscoreline = 1
6742         \context {
6743             \ScoreContext
6744             \remove "Bar_number_engraver"
6745         }
6746         \context {
6747             \StaffContext
6748             \remove "Clef_engraver"
6749             \remove "Key_engraver"
6750             \override StaffSymbol #'transparent = ##t
6751             \remove "Time_signature_engraver"
6752             \remove "Bar_engraver"
6753             minimumVerticalExtent = ##f
6754         }
6755         \context {
6756             \VoiceContext
6757             \remove Ligature_bracket_engraver
6758             \consists Vaticana_ligature_engraver
6759             \override NoteHead #'style = #'vaticana_punctum
6760             \override Stem #'transparent = ##t
6761         }
6762     }
6763 }
6764 @end lilypond
6765 @tab
6766 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6767 \include "gregorian-init.ly"
6768 \score {
6769     \notes \transpose c c' {
6770         % Salicus Auctus Descendens
6771         \[ g \oriscus a \pes \auctum \descendens b \]
6772         s^\markup {"O"}
6773     }
6774     \paper {
6775         interscoreline = 1
6776         \context {
6777             \ScoreContext
6778             \remove "Bar_number_engraver"
6779         }
6780         \context {
6781             \StaffContext
6782             \remove "Clef_engraver"
6783             \remove "Key_engraver"
6784             \override StaffSymbol #'transparent = ##t
6785             \remove "Time_signature_engraver"
6786             \remove "Bar_engraver"
6787             minimumVerticalExtent = ##f
6788         }
6789         \context {
6790             \VoiceContext
6791             \remove Ligature_bracket_engraver
6792             \consists Vaticana_ligature_engraver
6793             \override NoteHead #'style = #'vaticana_punctum
6794             \override Stem #'transparent = ##t
6795         }
6796     }
6797 }
6798 @end lilypond
6799 @tab
6800
6801 @item
6802 @code{16. Trigonus}
6803 @tab
6804 @lilypond[noindent,staffsize=26,nofragment,linewidth=1.0\cm]
6805 \include "gregorian-init.ly"
6806 \score {
6807     \notes \transpose c c' {
6808         % Trigonus
6809         \[ \stropha b \stropha b \stropha a \]
6810         s^\markup {"P"}
6811     }
6812     \paper {
6813         interscoreline = 1
6814         \context {
6815             \ScoreContext
6816             \remove "Bar_number_engraver"
6817         }
6818         \context {
6819             \StaffContext
6820             \remove "Clef_engraver"
6821             \remove "Key_engraver"
6822             \override StaffSymbol #'transparent = ##t
6823             \remove "Time_signature_engraver"
6824             \remove "Bar_engraver"
6825             minimumVerticalExtent = ##f
6826         }
6827         \context {
6828             \VoiceContext
6829             \remove Ligature_bracket_engraver
6830             \consists Vaticana_ligature_engraver
6831             \override NoteHead #'style = #'vaticana_punctum
6832             \override Stem #'transparent = ##t
6833         }
6834     }
6835 }
6836 @end lilypond
6837 @tab
6838 @tab
6839
6840 @end multitable
6841
6842
6843 Unlike most other neumes notation systems, the input language for
6844 neumes does not necessarily reflect directly the typographical
6845 appearance, but is designed to solely focuse on musical meaning.  For
6846 example, @code{\[ a \pes b \flexa g \]} produces a Torculus consisting
6847 of three Punctum heads, while @code{\[ a \flexa g \pes b \]} produces
6848 a Porrectus with a curved flexa shape and only a single Punctum head.
6849 There is no command to explicitly typeset the curved flexa shape; the
6850 decision of when to typeset a curved flexa shape is purely taken from
6851 the musical input.  The idea of this approach is to separate the
6852 musical aspects of the input from the notation style of the output.
6853 This way, the same input can be reused to typeset the same music in a
6854 different style of Gregorian chant notation.
6855
6856 The following table shows the code fragments that produce the
6857 ligatures in the above neumes table.  The letter in the first column
6858 in each line of the below table indicates to which ligature in the
6859 above table it refers.  The second column gives the name of the
6860 ligature.  The third column shows the code fragment that produces this
6861 ligature, using @code{g}, @code{a} and @code{b} as example pitches.
6862
6863 @multitable @columnfractions .1 .4 .5
6864
6865 @item
6866 @b{#} @tab
6867 @b{Name} @tab
6868 @b{Input Language}
6869
6870 @item
6871 a @tab
6872 Punctum @tab
6873 @code{\[ b \]}
6874
6875 @item
6876 b @tab
6877 Punctum Inclinatum @tab
6878 @code{\[ \inclinatum b \]}
6879
6880 @item
6881 c @tab
6882 Punctum Auctum Ascendens @tab
6883 @code{\[ \auctum \ascendens b \]}
6884
6885 @item
6886 d @tab
6887 Punctum Auctum Descendens @tab
6888 @code{\[ \auctum \descendens b \]}
6889
6890 @item
6891 e @tab
6892 Punctum Inclinatum Auctum @tab
6893 @code{\[ \inclinatum \auctum b \]}
6894
6895 @item
6896 f @tab
6897 Punctum Inclinatum Parvum @tab
6898 @code{\[ \inclinatum \deminutum b \]}
6899
6900 @item
6901 g @tab
6902 Virga @tab
6903 @code{\[ \virga b \]}
6904
6905 @item
6906 h @tab
6907 Stropha @tab
6908 @code{\[ \stropha b \]}
6909
6910 @item
6911 i @tab
6912 Stropha Aucta @tab
6913 @code{\[ \stropha \auctum b \]}
6914
6915 @item
6916 j @tab
6917 Oriscus @tab
6918 @code{\[ \oriscus b \]}
6919
6920 @item
6921 k @tab
6922 Clivis vel Flexa @tab
6923 @code{\[ b \flexa g \]}
6924
6925 @item
6926 l @tab
6927 Clivis Aucta Descendens @tab
6928 @code{\[ b \flexa \auctum \descendens g \]}
6929
6930 @item
6931 m @tab
6932 Clivis Aucta Ascendens @tab
6933 @code{\[ b \flexa \auctum \ascendens g \]}
6934
6935 @item
6936 n @tab
6937 Cephalicus @tab
6938 @code{\[ b \flexa \deminutum g \]}
6939
6940 @item
6941 o @tab
6942 Podatus vel Pes @tab
6943 @code{\[ g \pes b \]}
6944
6945 @item
6946 p @tab
6947 Pes Auctus Descendens @tab
6948 @code{\[ g \pes \auctum \descendens b \]}
6949
6950 @item
6951 q @tab
6952 Pes Auctus Ascendens @tab
6953 @code{\[ g \pes \auctum \ascendens b \]}
6954
6955 @item
6956 r @tab
6957 Epiphonus @tab
6958 @code{\[ g \pes \deminutum b \]}
6959
6960 @item
6961 s @tab
6962 Pes Quassus @tab
6963 @code{\[ \oriscus g \pes \virga b \]}
6964
6965 @item
6966 t @tab
6967 Pes Quassus Auctus Descendens @tab
6968 @code{\[ \oriscus g \pes \auctum \descendens b \]}
6969
6970 @item
6971 u @tab
6972 Quilisma Pes @tab
6973 @code{\[ \quilisma g \pes b \]}
6974
6975 @item
6976 v @tab
6977 Quilisma Pes Auctus Descendens @tab
6978 @code{\[ \quilisma g \pes \auctum \descendens b \]}
6979
6980 @item
6981 w @tab
6982 Pes Initio Debilis @tab
6983 @code{\[ \deminutum g \pes b \]}
6984
6985 @item
6986 x @tab
6987 Pes Auctus Descendens Initio Debilis @tab
6988 @code{\[ \deminutum g \pes \auctum \descendens b \]}
6989
6990 @item
6991 y @tab
6992 Torculus @tab
6993 @code{\[ a \pes b \flexa g \]}
6994
6995 @item
6996 z @tab
6997 Torculus Auctus Descendens @tab
6998 @code{\[ a \pes b \flexa \auctum \descendens g \]}
6999
7000 @item
7001 A @tab
7002 Torculus Deminutus @tab
7003 @code{\[ a \pes b \flexa \deminutum g \]}
7004
7005 @item
7006 B @tab
7007 Torculus Initio Debilis @tab
7008 @code{\[ \deminutum a \pes b \flexa g \]}
7009
7010 @item
7011 C @tab
7012 Torculus Auctus Descendens Initio Debilis @tab
7013 @code{\[ \deminutum a \pes b \flexa \auctum \descendens g \]}
7014
7015 @item
7016 D @tab
7017 Torculus Deminutus Initio Debilis @tab
7018 @code{\[ \deminutum a \pes b \flexa \deminutum g \]}
7019
7020 @item
7021 E @tab
7022 Porrectus @tab
7023 @code{\[ a \flexa g \pes b \]}
7024
7025 @item
7026 F @tab
7027 Porrectus Auctus Descendens @tab
7028 @code{\[ a \flexa g \pes \auctum \descendens b \]}
7029
7030 @item
7031 G @tab
7032 Porrectus Deminutus @tab
7033 @code{\[ a \flexa g \pes \deminutum b \]}
7034
7035 @item
7036 H @tab
7037 Climacus @tab
7038 @code{\[ \virga b \inclinatum a \inclinatum g \]}
7039
7040 @item
7041 I @tab
7042 Climacus Auctus @tab
7043 @code{\[ \virga b \inclinatum a \inclinatum \auctum g \]}
7044
7045 @item
7046 J @tab
7047 Climacus Deminutus @tab
7048 @code{\[ \virga b \inclinatum a \inclinatum \deminutum g \]}
7049
7050 @item
7051 K @tab
7052 Scandicus @tab
7053 @code{\[ g \pes a \virga b \]}
7054
7055 @item
7056 L @tab
7057 Scandicus Auctus Descendens @tab
7058 @code{\[ g \pes a \pes \auctum \descendens b \]}
7059
7060 @item
7061 M @tab
7062 Scandicus Deminutus @tab
7063 @code{\[ g \pes a \pes \deminutum b \]}
7064
7065 @item
7066 N @tab
7067 Salicus @tab
7068 @code{\[ g \oriscus a \pes \virga b \]}
7069
7070 @item
7071 O @tab
7072 Salicus Auctus Descendens @tab
7073 @code{\[ g \oriscus a \pes \auctum \descendens b \]}
7074
7075 @item
7076 P @tab
7077 Trigonus @tab
7078 @code{\[ \stropha b \stropha b \stropha a \]}
7079
7080 @end multitable
7081
7082 @refcommands
7083
7084 The following head prefixes are supported:
7085
7086 @cindex @code{\virga}
7087 @code{\virga},
7088 @cindex @code{\stropha}
7089 @code{\stropha},
7090 @cindex @code{\inclinatum}
7091 @code{\inclinatum},
7092 @cindex @code{\auctum}
7093 @code{\auctum},
7094 @cindex @code{\descendens}
7095 @code{\descendens},
7096 @cindex @code{\ascendens}
7097 @code{\ascendens},
7098 @cindex @code{\oriscus}
7099 @code{\oriscus},
7100 @cindex @code{\quilisma}
7101 @code{\quilisma},
7102 @cindex @code{\deminutum}
7103 @code{\deminutum}.
7104
7105 Head prefixes can be accumulated, though restrictions apply.  For
7106 example, either @code{\descendens} or @code{\ascendens} can be applied
7107 to a head, but not both to the same head.
7108
7109 @cindex @code{\pes}
7110 @cindex @code{\flexa}
7111 Two adjacent heads can be tied together with the @code{\pes} and
7112 @code{\flexa} infix commands for a rising and falling line of melody,
7113 respectively.
7114
7115
7116
7117 @node Vaticana style contexts
7118 @subsection Vaticana style contexts
7119
7120 @cindex VaticanaVoiceContext
7121 @cindex VaticanaStaffContext
7122
7123 The predefined @code{VaticanaVoiceContext} and
7124 @code{VaticanaStaffContext} can be used to easily engrave a piece of
7125 Gregorian Chant in the style of the Editio Vaticana.  These contexts
7126 initialize all relevant context properties and grob properties to
7127 proper values.  With these contexts, you can immediately go ahead
7128 entering the chant, as the following short excerpt demonstrates:
7129
7130 @lilypond[raggedright,verbatim,noindent]
7131 \include "gregorian-init.ly"
7132 \score {
7133 <<
7134   \context VaticanaVoice = "cantus" {
7135     \override Score.BarNumber   #'transparent = ##t
7136     \notes {
7137       \[ c'\melisma c' \flexa a \]
7138       \[ a \flexa \deminutum g\melismaEnd \]
7139       f \divisioMinima
7140       \[ f\melisma \pes a c' c' \pes d'\melismaEnd \]
7141       c' \divisioMinima \break
7142       \[ c'\melisma c' \flexa a \]
7143       \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima
7144     }
7145   }
7146   \lyricsto "cantus" \new Lyrics \lyrics {
7147     San- ctus, San- ctus, San- ctus
7148   } >>
7149   
7150 }
7151 @end lilypond
7152
7153 @node Figured bass
7154 @subsection Figured bass
7155
7156 @cindex Basso continuo
7157
7158 @c TODO: musicological blurb about FB
7159
7160
7161 LilyPond has limited support for figured bass:
7162
7163 @lilypond[verbatim,fragment]
7164 <<
7165  \context Voice \notes { \clef bass dis4  c d ais}
7166  \context FiguredBass
7167    \figures {
7168        < 6 >4 < 7 >8 < 6+ [_!] >
7169     < 6 >4 <6 5 [3+] >
7170    }
7171  >>
7172 @end lilypond
7173
7174 The support for figured bass consists of two parts: there is an input
7175 mode, introduced by @code{\figures}, where you can enter bass figures
7176 as numbers, and there is a context called @internalsref{FiguredBass} that
7177 takes care of making @internalsref{BassFigure} objects.
7178
7179 In figures input mode, a group of bass figures is delimited by
7180 @code{<} and @code{>}. The duration is entered after the @code{>>}:
7181 @example
7182         <4 6>
7183 @end example
7184 @lilypond[fragment]
7185 \context FiguredBass
7186 \figures { <4 6> }
7187 @end lilypond
7188
7189 Accidentals are added when you append @code{-}, @code{!}  and @code{+}
7190 to the numbers:
7191
7192 @example
7193   <4- 6+ 7!>
7194 @end example
7195 @lilypond[fragment]
7196   \context FiguredBass
7197     \figures { <4- 6+ 7!> }
7198 @end lilypond
7199
7200 Spaces or dashes may be inserted by using @code{_}. Brackets are
7201 introduced with @code{[} and @code{]}:
7202
7203 @example
7204         < [4 6] 8 [_! 12]>
7205 @end example
7206 @lilypond[fragment]
7207  \context FiguredBass
7208 \figures { < [4 6] 8 [_! 12]> }
7209 @end lilypond
7210
7211 Although the support for figured bass may superficially resemble chord
7212 support, it works much simpler.  The @code{\figures} mode simply
7213 stores the numbers , and @internalsref{FiguredBass} context prints
7214 them as entered. There is no conversion to pitches, and no
7215 realizations of the bass are played in the MIDI file.
7216
7217 Internally, the code produces markup texts. You can use any of the
7218 markup text properties to override formatting. For example, the
7219 vertical spacing of the figures may be set with @code{baseline-skip}.
7220
7221 @seealso
7222
7223 Program reference: @internalsref{BassFigureEvent} music, @internalsref{BassFigure} object, 
7224 and @internalsref{FiguredBass} context.
7225
7226 @refbugs
7227
7228 Slash notation for alterations is not supported.
7229
7230 @node Contemporary notation
7231 @section Contemporary notation
7232
7233 In the 20th century, composers have greatly expanded the musical
7234 vocabulary. With this expansion, many innovations in musical notation
7235 have been tried. The book by Stone (1980) gives a comprehensive
7236 overview (see @ref{Literature list}). In general, the use of new,
7237 innovative notation makes a piece harder to understand and perform and
7238 its use should therefore be avoided if possible.  For this reason,
7239 support for contemporary notation in LilyPond is limited.
7240
7241
7242 @menu
7243 * Clusters::                    
7244 * Fermatas::                    
7245 @end menu
7246
7247 @node Clusters
7248 @subsection Clusters
7249
7250 @cindex cluster
7251
7252 A cluster indicates a continuous range of pitches to be played.  They
7253 can be denoted as the envelope of a set of notes.  They are entered by
7254 applying the function @code{notes-to-clusters} to a sequence of
7255 chords, e.g.
7256 @c
7257 @lilypond[relative=1,verbatim]
7258     \apply #notes-to-clusters {  <c e > <b f'>  }
7259 @end lilypond
7260
7261 The following example (from
7262 @inputfileref{input/regression,cluster.ly}) shows what the result
7263 looks like:
7264
7265 @lilypondfile[]{cluster.ly}
7266
7267 Ordinary notes and clusters can be put together in the same staff,
7268 even simultaneously.  In such a case no attempt is made to
7269 automatically avoid collisions between ordinary notes and clusters.
7270
7271 @seealso
7272
7273 Program reference: @internalsref{ClusterSpanner},
7274 @internalsref{ClusterSpannerBeacon},
7275 @internalsref{Cluster_spanner_engraver}, and
7276 @internalsref{ClusterNoteEvent}.
7277
7278 Examples: @inputfileref{input/regression,cluster.ly}.
7279
7280 @refbugs
7281
7282 Music expressions like @code{<< @{ g8 e8 @} a4 >>} are not printed
7283 accurately.  Use @code{<g a>8 <e a>8} instead.
7284
7285
7286
7287 @node Fermatas
7288 @subsection Fermatas
7289
7290 @cindex fermatas
7291
7292
7293
7294 Contemporary music notation frequently uses special fermata symbols to
7295 indicate fermatas of differing lengths.  The following fermatas are
7296 supported
7297
7298 @lilypond[raggedright]
7299 \score {
7300   <<  \addlyrics \notes {
7301         b'
7302         ^\shortfermata
7303         _\shortfermata
7304         r
7305         b'
7306         ^\fermata
7307         _\fermata
7308
7309         r
7310         b'
7311         ^\longfermata
7312         _\longfermata
7313
7314         r
7315         b'
7316         ^\verylongfermata
7317         _\verylongfermata
7318         r
7319     }
7320     \context Lyrics \lyrics {
7321     \override LyricText #'font-family = #'typewriter
7322       "shortfermata" "fermata"  "longfermata" "verylongfermata"
7323     } >>
7324 }
7325 @end lilypond
7326
7327 See @ref{Articulations} for general instructions how to apply scripts
7328 such as fermatas to a @code{\notes@{@}} block.
7329
7330
7331 @node Special notation
7332 @section Special notation
7333
7334 @menu
7335 * Balloon help::                
7336 * Easy Notation note heads::    
7337 @end menu
7338
7339 @node Balloon help
7340 @subsection Balloon help
7341
7342 Elements of notation can be marked and named with the help of a square
7343 balloon.  The primary purpose of this feature is to explain notation.
7344
7345 The following example demonstrates its use.
7346
7347 @lilypond[verbatim,fragment,raggedright,relative=1]
7348   \context Voice
7349      \applyoutput
7350         #(add-balloon-text 'NoteHead "heads, or tails?"
7351           '(1 . -3))
7352   c8
7353 @end lilypond
7354
7355 @noindent
7356 The function @code{add-balloon-text} takes the name of a grob, the
7357 label to print and where to put the label relative to the object. In
7358 the above example, the text ``heads or tails?'' ends 3 spaces below
7359 the `balloon.' 
7360
7361 @cindex balloon
7362 @cindex notation, explaining
7363
7364 @seealso
7365
7366 Program reference: @internalsref{text-balloon-interface}.
7367
7368 Examples: @inputfileref{input/regression,balloon.ly}.
7369
7370 @node Easy Notation note heads
7371 @subsection Easy Notation note heads
7372
7373 @cindex easy notation
7374 @cindex Hal Leonard
7375
7376 The `easy play' note head includes a  name inside the head.  It is
7377 used in music for beginners:
7378
7379 @lilypond[raggedright,verbatim,staffsize=26]
7380     \setEasyHeads
7381     c'2 e'4 f' | g'1
7382 @end lilypond
7383
7384 The command @code{\setEasyHeads} overrides settings for the
7385 @internalsref{NoteHead} object.  To make the letters readable, it has
7386 to be printed in a large font size.  To print with a larger font, see
7387 @ref{Setting global staff size}.
7388
7389 @cindex Xdvi
7390 @cindex ghostscript
7391
7392 If you view the result with Xdvi, then staff lines may show through
7393 the letters.  Printing the PostScript file obtained does produce the
7394 correct result.
7395
7396 @refcommands
7397
7398 @cindex \setEasyHeads
7399 @code{\setEasyHeads}
7400
7401 @node Sound
7402 @section Sound
7403 @cindex Sound
7404
7405 Entered music can also be converted to MIDI output.  The performance
7406 is intended for proof-hearing the music for errors.
7407
7408 Ties, dynamics and tempo changes are interpreted.  Dynamic marks,
7409 crescendi and decrescendi translate into MIDI volume levels.  Dynamic
7410 marks translate to a fixed fraction of the available MIDI volume
7411 range, crescendi and decrescendi make the volume vary linearly between
7412 their two extremities.  The fractions can be adjusted by
7413 @code{dynamicAbsoluteVolumeFunction} in @internalsref{Voice} context.
7414 For each type of MIDI instrument, a volume range can be defined.  This
7415 gives a basic equalizer control, which can enhance the quality of
7416 the MIDI output remarkably.  The equalizer can be controlled by
7417 setting @code{instrumentEqualizer}.
7418
7419 @refbugs
7420
7421 Many musically interesting effects, such as swing, articulation,
7422 slurring, etc., are not translated to MIDI.
7423
7424 The MIDI output allocates a channel for each Staff, and one for global
7425 settings.  Hence, the MIDI file should not have more than 15 staves
7426 (or 14 if you do not use drums). Other staves will remain silent.
7427
7428
7429 @menu
7430 * MIDI block::                  
7431 * MIDI instrument names::       
7432 @end menu
7433
7434
7435 @node MIDI block
7436 @subsection MIDI block
7437 @cindex MIDI block
7438
7439
7440 The MIDI block is analogous to the paper block, but it is somewhat
7441 simpler.  The @code{\midi} block can contain:
7442 @cindex MIDI block
7443
7444 @itemize @bullet
7445   @item a @code{\tempo} definition, and
7446   @item context definitions.
7447 @end itemize
7448
7449 A number followed by a period is interpreted as a real number, so
7450 for setting the tempo for dotted notes, an extra space should be
7451 inserted, for example:
7452
7453 @example
7454   \midi @{ \tempo 4 . = 120 @} 
7455 @end example
7456
7457
7458 @cindex context definition
7459
7460 Context definitions follow precisely the same syntax as within the
7461 \paper block.  Translation modules for sound are called performers.
7462 The contexts for MIDI output are defined in @file{ly/performer-init.ly}.
7463
7464
7465 @node MIDI instrument names
7466 @subsection MIDI instrument names
7467
7468 @cindex instrument names
7469 @cindex @code{Staff.midiInstrument}
7470
7471 The MIDI instrument name is set by the @code{Staff.midiInstrument}
7472 property.  The instrument name should be chosen from the list in
7473 @ref{MIDI instruments}.
7474
7475 @refbugs
7476
7477 If the selected string does not exactly match, then the default is
7478 used, which is the Grand Piano.