]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/instrument-notation.itely
Misc small changes.
[lilypond.git] / Documentation / user / instrument-notation.itely
1 @c -*- coding: latin-1; mode: 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 Instrument-specific notation
9 @chapter Instrument-specific notation
10
11 This chapter explains how to use notation for specific instruments.
12
13 @menu
14 * Piano music::                 
15 * Chord names::                 
16 * Vocal music::                 
17 * Rhythmic music::              
18 * Guitar::                      
19 * Ancient notation::            
20 * Other instrument specific notation::  
21 @end menu
22
23
24
25 @node Piano music
26 @section Piano music
27
28 Piano staves are two normal staves coupled with a brace.  The staves
29 are largely independent, but sometimes voices can cross between the
30 two staves.  The same notation is also used for harps and other key
31 instruments.  The @internalsref{PianoStaff} is especially built to
32 handle this cross-staffing behavior.  In this section we discuss the
33 @internalsref{PianoStaff} and some other pianistic peculiarities.
34
35
36 @menu
37 * Automatic staff changes::     
38 * Manual staff switches::       
39 * Pedals::                      
40 * Staff switch lines::          
41 * Cross staff stems::           
42 @end menu
43
44 @refbugs
45
46 Dynamics are not centered, but workarounds do exist.  See the
47 ``piano centered dynamics'' template in @ref{Piano templates}.
48
49 @cindex cross staff stem
50 @cindex stem, cross staff
51 @cindex distance between staves in piano music
52
53 The distance between the two staves is the same for all systems in the
54 score.  It is possible to override this per system, but it does require
55 an arcane command incantation.  See
56 @inputfileref{input/@/test,piano@/-staff@/-distance@/.ly}.
57
58
59 @node Automatic staff changes
60 @subsection Automatic staff changes
61 @cindex Automatic staff changes
62
63 Voices can be made to switch automatically between the top and the bottom
64 staff.  The syntax for this is
65
66 @quotation
67 @example
68 \autochange @dots{}@var{music}@dots{}
69 @end example
70 @end quotation
71
72 @noindent
73 This will create two staves inside the current PianoStaff, called
74 @code{up} and @code{down}.  The lower staff will be in bass clef by
75 default.
76
77 A @code{\relative} section that is outside of @code{\autochange} has
78 no effect on the pitches of @var{music}, so, if necessary, put
79 @code{\relative} inside @code{\autochange} like
80
81 @quotation
82 @example
83 \autochange \relative @dots{} @dots{}
84 @end example
85 @end quotation
86
87
88 The autochanger switches on basis of the pitch (middle C is the turning
89 point), and it looks ahead skipping over rests to switch in
90 advance.  Here is a practical example
91
92 @lilypond[quote,verbatim,raggedright]
93 \context PianoStaff
94   \autochange \relative c'
95   {
96     g4 a b c d r4 a g
97   }
98 @end lilypond
99
100
101 @seealso
102
103 In this manual: @ref{Manual staff switches}.
104
105 Program reference: @internalsref{AutoChangeMusic}.
106
107
108
109 @refbugs
110
111 The staff switches may not end up in optimal places.  For high
112 quality output, staff switches should be specified manually.
113
114
115 @code{\autochange} cannot be inside @code{\times}.
116
117
118 @node Manual staff switches
119 @subsection Manual staff switches
120
121 @cindex manual staff switches
122 @cindex staff switch, manual
123
124 Voices can be switched between staves manually, using the command
125 @example
126 \change Staff = @var{staffname} @var{music}
127 @end example
128
129 @noindent
130 The string @var{staffname} is the name of the staff.  It switches the
131 current voice from its current staff to the Staff called
132 @var{staffname}.  Typically @var{staffname} is @code{"up"} or
133 @code{"down"}.  The @context{Staff} referred to must already exist, so
134 usually the setup for a score will start with a setup of the staves,
135
136 @example
137 <<
138   \context Staff = up @{
139     \skip 1 * 10  % @emph{keep staff alive}
140     @}
141   \context Staff = down @{
142     \skip 1 * 10  % @emph{idem}
143     @}
144 >>
145 @end example
146
147
148 and the @context{Voice} is inserted afterwards
149
150 @example
151 \context Staff = down
152   \new Voice @{ @dots{} \change Staff = up @dots{} @}
153 @end example
154
155
156 @node Pedals
157 @subsection Pedals
158 @cindex Pedals
159
160 Pianos have pedals that alter the way sound is produced.  Generally, a
161 piano has three pedals, sustain, una corda, and sostenuto.
162
163
164 Piano pedal instruction can be expressed by attaching
165 @code{\sustainDown}, @code{\sustainUp}, @code{\unaCorda},
166 @code{\treCorde}, @code{\sostenutoDown} and @code{\sostenutoUp} to a
167 note or chord
168
169 @lilypond[quote,raggedright,fragment,verbatim]
170 c'4\sustainDown c'4\sustainUp
171 @end lilypond
172
173 What is printed can be modified by setting @code{pedal@var{X}Strings},
174 where @var{X} is one of the pedal types: @code{Sustain},
175 @code{Sostenuto} or @code{UnaCorda}.  Refer to
176 @internalsref{SustainPedal} in the program reference for more
177 information.
178
179 Pedals can also be indicated by a sequence of brackets, by setting the
180 @code{pedalSustainStyle} property to bracket objects
181
182 @lilypond[quote,raggedright,fragment,verbatim,relative=2]
183 \set Staff.pedalSustainStyle = #'bracket
184 c\sustainDown d e
185 b\sustainUp\sustainDown
186 b g \sustainUp a \sustainDown \bar "|."
187 @end lilypond
188
189 A third style of pedal notation is a mixture of text and brackets,
190 obtained by setting the @code{pedalSustainStyle} property to
191 @code{mixed}
192
193 @lilypond[quote,raggedright,fragment,verbatim,relative=2]
194 \set Staff.pedalSustainStyle = #'mixed
195 c\sustainDown d e
196 b\sustainUp\sustainDown
197 b g \sustainUp a \sustainDown \bar "|."
198 @end lilypond
199
200 The default `*Ped.' style for sustain and damper pedals corresponds to
201 style @code{#'text}.  The sostenuto pedal uses @code{mixed} style by
202 default.
203
204 @lilypond[quote,raggedright,fragment,verbatim,relative=2]
205 c\sostenutoDown d e c, f g a\sostenutoUp
206 @end lilypond
207
208 For fine-tuning the appearance of a pedal bracket, the properties
209 @code{edge-width}, @code{edge-height}, and @code{shorten-pair} of
210 @code{PianoPedalBracket} objects (see
211 @internalsref{PianoPedalBracket} in the Program reference) can be
212 modified.  For example, the bracket may be extended to the right edge
213 of the note head
214
215 @lilypond[quote,raggedright,fragment,verbatim,relative=2]
216 \override Staff.PianoPedalBracket #'shorten-pair = #'(0 . -1.0)
217 c\sostenutoDown d e c, f g a\sostenutoUp
218 @end lilypond
219
220 @node Staff switch lines
221 @subsection Staff switch lines
222
223
224 @cindex follow voice
225 @cindex staff switching
226 @cindex cross staff
227
228 @cindex @code{followVoice}
229
230 Whenever a voice switches to another staff, a line connecting the notes
231 can be printed automatically.  This is switched on by setting
232 @code{followVoice} to true
233
234 @lilypond[quote,raggedright,fragment,relative=1,verbatim]
235 \new PianoStaff <<
236   \context Staff=one {
237     \set followVoice = ##t
238     c1
239     \change Staff=two
240     b2 a
241   }
242   \context Staff=two { \clef bass \skip 1*2 }
243 >>
244 @end lilypond
245
246 @seealso
247
248 Program reference: @internalsref{VoiceFollower}.
249
250 @refcommands
251
252 @cindex @code{\showStaffSwitch}
253 @code{\showStaffSwitch},
254 @cindex @code{\hideStaffSwitch}
255 @code{\hideStaffSwitch}.
256
257
258 @node Cross staff stems
259 @subsection Cross staff stems
260
261 Chords that cross staves may be produced by increasing the length
262 of the stem in the lower staff, so it reaches the stem in the upper
263 staff, or vice versa.
264
265 @lilypond[raggedright,verbatim,quote]
266 stemExtend = \once \override Stem #'length = #22
267 noFlag = \once \override Stem #'flag-style = #'no-flag
268 \context PianoStaff <<
269   \new Staff {
270     \stemDown \stemExtend
271     f'4
272     \stemExtend \noFlag
273     f'8
274   }
275   \new Staff {
276     \clef bass
277     a4 a8
278   }
279 >>
280 @end lilypond
281
282
283 @node Chord names
284 @section Chord names
285
286 @menu
287 * Introducing chord names::     
288 * Chords mode::                 
289 * Printing chord names::        
290 @end menu
291
292
293 @c  awkward name; awkward section name.
294 @c  still, the Basic "chords" seems like a good name...  :(
295 @node Introducing chord names
296 @subsection Introducing chord names
297 @cindex chord names
298
299 LilyPond has support for printing chord names.  Chords may be entered
300 in musical chord notation, i.e., @code{< .. >}, but they can also be
301 entered by name.  Internally, the chords are represented as a set of
302 pitches, so they can be transposed
303
304
305 @lilypond[quote,raggedright,verbatim,raggedright]
306 twoWays = \transpose c c' {
307   \chordmode {
308     c1 f:sus4 bes/f
309   }
310   <c e g>
311   <f bes c'>
312   <f bes d'>
313 }
314
315 << \context ChordNames \twoWays
316    \context Voice \twoWays >>
317 @end lilypond
318
319 This example also shows that the chord printing routines do not try to
320 be intelligent.  The last chord (@code{f bes d}) is not interpreted as
321 an inversion.
322
323
324 @node Chords mode
325 @subsection Chords mode
326 @cindex Chords mode
327
328 In chord mode sets of pitches (chords) are entered with normal note
329 names.  A chord is entered by the root, which is entered like a
330 normal pitch
331
332 @lilypond[quote,raggedright,fragment,verbatim]
333 \chordmode { es4. d8 c2 }
334 @end lilypond
335
336 @noindent
337 The mode is introduced by the keyword @code{\chordmode}.
338
339 @cindex chord entry
340 @cindex chord mode
341
342 Other chords may be entered by suffixing a colon and introducing a
343 modifier (which may include a number if desired)
344 @lilypond[quote,fragment,verbatim]
345 \chordmode { e1:m e1:7 e1:m7 }
346 @end lilypond
347 The first number following the root is taken to be the `type' of the
348 chord, thirds are added to the root until it reaches the specified
349 number
350 @lilypond[quote,fragment,verbatim]
351 \chordmode { c:3 c:5 c:6 c:7 c:8 c:9 c:10 c:11 }
352 @end lilypond
353
354 @cindex root of chord
355 @cindex additions, in chords
356 @cindex removals, in chords
357
358 More complex chords may also be constructed adding separate steps
359 to a chord.  Additions are added after the number following
360 the colon and are separated by dots
361 @lilypond[quote,verbatim,fragment]
362 \chordmode { c:5.6 c:3.7.8 c:3.6.13 }
363 @end lilypond
364 Chord steps can be altered by suffixing a @code{-} or @code{+} sign
365 to the number
366 @lilypond[quote,verbatim,fragment]
367 \chordmode { c:7+ c:5+.3- c:3-.5-.7- }
368 @end lilypond
369 Removals are specified similarly and are introduced by a caret.  They
370 must come after the additions
371 @lilypond[quote,verbatim,fragment]
372 \chordmode { c^3 c:7^5 c:9^3.5 }
373 @end lilypond
374
375 Modifiers can be used to change pitches.  The following modifiers are
376 supported
377
378 @table @code
379 @item m
380 The minor chord.  This modifier lowers the 3rd and (if present) the 7th step.
381
382 @item dim
383 The diminished chord.  This modifier lowers the 3rd, 5th and (if present)
384 the 7th step.
385
386 @item aug
387 The augmented chord.  This modifier raises the 5th step.
388
389 @item maj
390 The major 7th chord.  This modifier raises the 7th step if present.
391
392 @item sus
393 The suspended 4th or 2nd.  This modifier removes the 3rd
394 step.  Append either @code{2} or @code{4} to add the 2nd or 4th step to
395 the chord.
396 @end table
397
398 Modifiers can be mixed with additions
399 @lilypond[quote,verbatim,fragment]
400   \chordmode { c:sus4 c:7sus4 c:dim7 c:m6 }
401 @end lilypond
402
403 @cindex modifiers, in chords.
404 @cindex @code{aug}
405 @cindex @code{dim}
406 @cindex @code{maj}
407 @cindex @code{sus}
408 @cindex @code{m}
409
410 Since an unaltered 11 does not sound good when combined with an
411 unaltered 3, the 11 is removed in this case (unless it is added
412 explicitly)
413 @lilypond[quote,raggedright,fragment,verbatim]
414 \chordmode { c:13 c:13.11 c:m13 }
415 @end lilypond
416
417 @cindex @code{/}
418
419 An inversion (putting one pitch of the chord on the bottom), as well
420 as bass notes, can be specified by appending
421 @code{/}@var{pitch} to the chord
422 @lilypond[quote,raggedright,fragment,verbatim]
423 \chordmode { c1 c/g c/f }
424 @end lilypond
425 @cindex @code{/+}
426
427 A bass note can be added instead transposed out of the chord,
428 by using @code{/+}@var{pitch}.
429
430 @lilypond[quote,raggedright,fragment,verbatim]
431 \chordmode { c1 c/+g c/+f }
432 @end lilypond
433
434 Chords is a mode similar to @code{\lyricmode}, etc.  Most
435 of the commands continue to work, for example, @code{r} and
436 @code{\skip} can be used to insert rests and spaces, and property
437 commands may be used to change various settings.
438
439
440
441 @refbugs
442
443 Each step can only be present in a chord once.  The following
444 simply produces the augmented chord, since @code{5+} is interpreted
445 last
446 @cindex clusters
447 @lilypond[quote,raggedright,verbatim,fragment]
448 \chordmode { c:5.5-.5+ }
449 @end lilypond
450
451
452 @node Printing chord names
453 @subsection Printing chord names
454
455 @cindex printing chord names
456 @cindex chord names
457 @cindex chords
458
459 For displaying printed chord names, use the @internalsref{ChordNames} context.
460 The chords may be entered either using the notation
461 described above, or directly using @code{<} and @code{>}
462
463 @lilypond[quote,verbatim,raggedright]
464 harmonies = {
465   \chordmode {a1 b c} <d' f' a'> <e' g' b'>
466 }
467 <<
468   \context ChordNames \harmonies
469   \context Staff \harmonies
470 >>
471 @end lilypond
472
473 You can make the chord changes stand out by setting
474 @internalsref{ChordNames}.@code{chordChanges} to true.  This will only
475 display chord names when there is a change in the chords scheme and at
476 the start of a new line
477
478 @lilypond[quote,verbatim,raggedright]
479 harmonies = \chordmode {
480   c1:m c:m \break c:m c:m d
481 }
482 <<
483   \context ChordNames {
484     \set chordChanges = ##t
485     \harmonies }
486   \context Staff \transpose c c' \harmonies
487 >>
488 @end lilypond
489
490 The previous examples all show chords over a staff.  This is not
491 necessary.  Chords may also be printed separately.  It may be necessary
492 to add @internalsref{Volta_engraver} and @internalsref{Bar_engraver}
493 for showing repeats.
494
495 @lilypond[raggedright,verbatim]
496 \new ChordNames \with {
497   \override BarLine #'bar-size = #4
498   voltaOnThisStaff = ##t
499   \consists Bar_engraver
500   \consists "Volta_engraver"
501 }
502 \repeat volta 2 \chordmode {
503   f1:maj f:7 bes:7
504   c:maj
505 } \alternative {
506   es e
507 }
508 @end lilypond
509
510
511 The default chord name layout is a system for Jazz music, proposed by
512 Klaus Ignatzek (see @ref{Literature list}).  It can be tuned through the
513 following properties
514
515 @table @code
516 @cindex @code{chordNameExceptions}
517 @item chordNameExceptions
518 This is a list that contains the chords that have special formatting.
519
520 The exceptions list should be encoded as
521 @example
522 @{ <c f g bes>1 \markup @{ \super "7" "wahh" @} @}
523 @end example
524
525 To get this information into @code{chordNameExceptions} takes a little
526 manoeuvring.  The following code transforms @code{chExceptionMusic}
527 (which is a sequential music) into a list of exceptions.
528 @example
529 (sequential-music-to-chord-exceptions chExceptionMusic #t)
530 @end example
531 Then,
532 @example
533 (append
534  (sequential-music-to-chord-exceptions chExceptionMusic #t)
535  ignatzekExceptions)
536 @end example
537 adds the new exceptions to the default ones, which are defined in
538 @file{ly/@/chord@/-modifier@/-init@/.ly}.
539
540 For an example of tuning this property, see also
541 @inputfileref{input/@/regression,chord@/-name@/-exceptions@/.ly}.
542 @cindex exceptions, chord names.
543
544
545 @cindex @code{majorSevenSymbol}
546 @item majorSevenSymbol
547 This property contains the markup object used for the 7th step, when
548 it is major.  Predefined options are @code{whiteTriangleMarkup} and
549 @code{blackTriangleMarkup}.  See
550 @inputfileref{input/@/regression,chord@/-name@/-major7@/.ly} for an example.
551
552 @cindex @code{chordNameSeparator}
553 @item chordNameSeparator
554 Different parts of a chord name are normally separated by a
555 slash.  By setting @code{chordNameSeparator}, you can specify other
556 separators, e.g.,
557 @lilypond[quote,raggedright,fragment,verbatim]
558 \context ChordNames \chordmode {
559   c:7sus4
560   \set chordNameSeparator
561     = \markup { \typewriter "|" }
562   c:7sus4
563 }
564 @end lilypond
565
566 @cindex @code{chordRootNamer}
567 @item chordRootNamer
568 The root of a chord is usually printed as a letter with an optional
569 alteration.  The transformation from pitch to letter is done by this
570 function.  Special note names (for example, the German ``H'' for a
571 B-chord) can be produced by storing a new function in this property.
572
573 @cindex @code{chordNoteNamer}
574 @item chordNoteNamer
575 The default is to print single pitch, e.g., the bass note, using the
576 @code{chordRootNamer}.  The @code{chordNoteNamer} property can be set
577 to a specialized function to change this behavior.  For example, the
578 base can be printed in lower case.
579
580 @cindex @code{chordPrefixSpacer}
581 @item chordPrefixSpacer
582 The ``m'' for minor chords is usually printed right after the root of 
583 the chord. By setting @code{chordPrefixSpacer}, you can fix a spacer 
584 between the root and ``m''. The spacer is not used when the root
585 is altered.
586
587 @end table
588
589 The predefined variables @code{\germanChords},
590 @code{\semiGermanChords}, @code{\italianChords} and @code{\frenchChords} 
591 set these variables.  The effect is
592 demonstrated here,
593
594 @lilypondfile[raggedright]{chord-names-languages.ly}
595
596 There are also two other chord name schemes implemented: an alternate
597 Jazz chord notation, and a systematic scheme called Banter chords.  The
598 alternate Jazz notation is also shown on the chart in @ref{Chord name
599 chart}.  Turning on these styles is described in the input file
600 @inputfileref{input/@/test,chord@/-names@/-jazz@/.ly}.
601
602 @cindex Banter
603 @cindex jazz chords
604 @cindex chords, jazz
605
606
607 @refcommands
608
609 @cindex @code{\germanChords}
610 @code{\germanChords},
611 @cindex @code{\semiGermanChords}
612 @code{\semiGermanChords}.
613 @cindex @code{\italianChords}
614 @code{\italianChords}.
615 @cindex @code{\frenchChords}
616 @code{\frenchChords}.
617
618
619
620
621 @seealso
622
623 Examples: @inputfileref{input/@/regression,chord@/-name@/-major7@/.ly},
624 @inputfileref{input/@/regression,chord@/-name@/-exceptions@/.ly},
625 @inputfileref{input/@/test,chord@/-names@/-jazz@/.ly}.
626
627
628 Init files: @file{scm/@/chords@/-ignatzek@/.scm}, and
629 @file{scm/@/chord@/-entry@/.scm}.
630
631
632 @refbugs
633
634 Chord names are determined solely from the list of pitches.  Chord
635 inversions are not identified, and neither are added bass notes.  This
636 may result in strange chord names when chords are entered with the
637 @code{< .. >} syntax.
638
639
640 @node Vocal music
641 @section Vocal music
642
643 There are three different issues when printing vocal music
644
645 @itemize @bullet
646 @item
647 Song texts must be entered as text, not notes.  For example, the
648 input@tie{}@code{d} should be interpreted as a one letter syllable, not the
649 note@tie{}D.
650
651 @item
652 Song texts must be printed as text, not as notes.
653
654 @item
655 Song texts must be aligned with the notes of their melody.
656 @end itemize
657
658 The simplest solution for printing music uses the @code{\addlyrics}
659 function to solve all these problems at once.  However, these
660 three functions can be controlled separately, which is necessary
661 for complex vocal music.
662
663
664 @menu
665 * Setting simple songs with @code{\addlyrics}::  
666 * Entering lyrics with @code{\lyricmode}::  
667 * Hyphens and extenders::       
668 * The Lyrics context::          
669 * Flexibility in alignment::    
670 * More stanzas::                
671 * Ambitus::                     
672 * Other vocal issues::          
673 @end menu
674
675 @node Setting simple songs with @code{\addlyrics}
676 @subsection Setting simple songs with @code{\addlyrics}
677
678 The easiest way to add lyrics to a melody is to append
679 @cindex \addlyrics
680 @example
681 \addlyrics @{ @var{the lyrics} @}
682 @end example
683
684 @noindent
685 to a melody.  Here is an example,
686
687 @lilypond[raggedright,verbatim,fragment,quote]
688 \time 3/4
689 \relative { c2 e4 g2. }
690 \addlyrics { play the game }
691 @end lilypond
692
693 More stanzas can be added by adding more
694 @code{\addlyrics} sections
695
696 @lilypond[raggedright,verbatim,fragment,quote]
697 \time 3/4
698 \relative { c2 e4 g2. }
699 \addlyrics { play the game }
700 \addlyrics { speel het spel }
701 \addlyrics { joue le jeu }
702 @end lilypond
703
704 @c TODO - this isn't such a great place for this note, but I can't
705 @c  find a better place without rearranging a lot of lyric stuff.
706 @c  It's yet another thing to look at post-3.0.
707
708 The @code{\addlyrics} command is actually just a convienient way
709 to write a more complicated LilyPond structure that sets up the
710 lyrics.  You should use @code{\addlyrics} unless you need to do
711 fancy things, in which case you should investigate
712 @code{\lyricsto} or @code{\lyricmode}.
713
714 @example
715 @{ MUSIC @}
716 \addlyrics @{ LYRICS @}
717 @end example
718
719 @noindent
720 is the same as
721
722 @example
723 \context Voice = blah @{ music @}
724 \lyricsto "blah" \new lyrics @{ LYRICS @}
725 @end example
726
727 @refbugs
728
729 @code{\addlyrics} cannot handle polyphony.
730
731
732 @node Entering lyrics with @code{\lyricmode}
733 @subsection Entering lyrics with @code{\lyricmode}
734
735
736 @cindex lyrics
737 @cindex @code{\lyricmode}
738 @cindex punctuation
739
740 Lyrics are entered in a special input mode.  This mode is introduced
741 by the keyword @code{\lyricmode}, or by using @code{addlyrics} or
742 @code{lyricsto}.  In this mode you can enter lyrics,
743 with punctuation and accents, and the input @code{d} is not parsed as
744 a pitch, but rather as a one letter syllable.  Syllables are entered
745 like notes, but with pitches replaced by text.  For example,
746 @example
747 \lyricmode @{ Twin-4 kle4 twin- kle litt- le star2 @}
748 @end example
749
750
751 A word lyrics mode begins with an alphabetic character, and ends with
752 any space or digit.  The following characters can be any character
753 that is not a digit or white space.  One important consequence of this
754 is that a word can end with @code{@}}.  The following example is
755 usually a mistake in the input file.  The syllable includes a @code{@}}, so the
756 opening brace is not balanced
757 @example
758 \lyricmode @{ twinkle@}
759 @end example
760
761 @cindex @code{\property}, in @code{\lyricmode}
762 @noindent
763 Similarly, a period which follows an alphabetic sequence is included in
764 the resulting string.  As a consequence, spaces must be inserted around
765 property commands
766 @example
767 \override Score . LyricText #'font-shape = #'italic
768 @end example
769
770 @cindex @code{_}
771 @cindex spaces, in lyrics
772 @cindex quotes, in lyrics
773
774 Any @code{_} character that appears in an unquoted word is converted
775 to a space.  This provides a mechanism for introducing spaces into words
776 without using quotes.  Quoted words can also be used in Lyrics mode to
777 specify words that cannot be written with the above rules.  The
778 following example incorporates double quotes
779
780 @example
781 \lyricmode @{ He said: "\"Let" my peo ple "go\"" @}
782 @end example
783
784 This example is slightly academic, since it gives better looking
785 results using single quotes, @code{``} and @code{''}
786 @example
787 \lyricmode @{ He said: ``Let my peo ple go'' @}
788 @end example
789
790
791 The full definition of a word start in Lyrics mode is somewhat more
792 complex.
793
794 A word in Lyrics mode begins with: an alphabetic character, @code{_},
795 @code{?}, @code{!}, @code{:}, @code{'}, the control characters @code{^A}
796 through @code{^F}, @code{^Q} through @code{^W}, @code{^Y}, @code{^^},
797 any 8-bit character with ASCII code over 127, or a two-character
798 combination of a backslash followed by one of @code{`}, @code{'},
799 @code{"}, or @code{^}.
800
801
802
803 @seealso
804
805 Program reference: events @internalsref{LyricEvent}, and
806 @internalsref{LyricText}.
807
808 @refbugs
809
810 The definition of lyrics mode is too complex.
811
812 @node Hyphens and extenders
813 @subsection Hyphens and extenders
814
815 @cindex hyphens
816
817 Centered hyphens are entered as `@code{-}@code{-}' between syllables.
818 The hyphen will have variable length depending on the space between
819 the syllables and it will be centered between the syllables.
820
821 @cindex melisma
822 @cindex extender
823
824 When a lyric is sung over many notes (this is called a melisma), this is
825 indicated with a horizontal line centered between a syllable and the
826 next one.  Such a line is called an extender line, and it is entered as
827 @code{__}.
828
829 @ignore
830 FIXME: check that this compiles and displays correctly.  I don't want
831 to commit this part blindly.
832
833 In tighly engraved music, hyphens can be removed.  In some languages
834 (e.g. German and Hungarian), hyphens should not disappear, since
835 spelling depends on hyphenation.  For that purpose, hyphens can be
836 forced to remain by overriding @code{minimum-length} of
837 the @code{LyricHyphen} grob.
838
839 (code from 2.2)
840 \score {
841 <<    \notes \new Staff \relative c'' { \time 1/4 c16[ c c  c]
842 \time 1/4
843 c16[ c c c]
844 \time 1/4
845 c16[ c c c]
846
847 }
848     \lyrics \new Lyrics \with {
849         % Otherwise lyrics are so far apart that hyphens don't disappear
850         \override SeparationItem #'padding = #0.0
851         }{ bla -- bla -- bla -- bla --
852            bla -- bla -- bla -- bla --
853
854            \override LyricHyphen  #'minimum-length = #0.7
855            \override LyricHyphen  #'spacing-procedure =
856                   #Hyphen_spanner::set_spacing_rods
857
858            bla -- bla -- bla -- bla 
859        }>>
860     \paper   {
861         indent = 0.0 \cm
862         linewidth = 3.4 \cm
863
864         \context {
865             \StaffContext \remove "Time_signature_engraver"
866         }
867         
868     }
869       
870 }
871 @end ignore
872
873
874 @seealso
875
876 Program reference: @internalsref{HyphenEvent},
877 @internalsref{ExtenderEvent}, @internalsref{LyricHyphen}, and
878 @internalsref{LyricExtender}
879
880
881
882 @node The Lyrics context
883 @subsection The Lyrics context
884
885
886 Lyrics are printed by interpreting them in a @internalsref{Lyrics} context
887 @example
888 \context Lyrics \lyricmode @dots{}
889 @end example
890
891 @cindex automatic syllable durations
892 @cindex @code{\lyricsto}
893 @cindex lyrics and melodies
894
895 This will place the lyrics according to the durations that were
896 entered.  The lyrics can also be aligned under a given melody
897 automatically.  In this case, it is no longer necessary to enter the
898 correct duration for each syllable.  This is achieved by combining the
899 melody and the lyrics with the @code{\lyricsto} expression
900 @example
901 \lyricsto @var{name} \new Lyrics @dots{}
902 @end example
903
904 This aligns the lyrics to the
905 notes of the @internalsref{Voice} context called @var{name}, which has
906 to exist.  Therefore, normally the @code{Voice} is specified first, and
907 then the lyrics are specified with @code{\lyricsto}.  The command
908 @code{\lyricsto} switches to @code{\lyricmode} mode automatically, so the
909 @code{\lyricmode} keyword may be omitted.
910
911 For different or more complex orderings, the best way is to setup the
912 hierarchy of staves and lyrics first, e.g.,
913 @example
914 \context ChoirStaff <<
915   \context Lyrics = sopranoLyrics @{ s1 @}
916   \context Voice = soprano @{ @emph{music} @}
917   \context Lyrics = tenorLyrics @{ s1 @}
918   \context Voice = tenor @{ @emph{music} @}
919 >>
920 @end example
921 and then combine the appropriate melodies and lyric lines
922 @example
923 \lyricsto "soprano" \context Lyrics = sopranoLyrics
924   @emph{the lyrics}
925 @end example
926
927 @noindent
928 The final input would resemble
929
930 @example
931 <<\context ChoirStaff << @emph{setup the music} >>
932   \lyricsto "soprano" @emph{etc}
933   \lyricsto "alto" @emph{etc}
934   @emph{etc}
935 >>
936 @end example
937
938
939 The @code{\lyricsto} command detects melismata: it only puts one
940 syllable under a tied or slurred group of notes.  If you want to force
941 an unslurred group of notes to be a melisma, insert @code{\melisma}
942 after the first note of the group, and @code{\melismaEnd} after the
943 last one, e.g.,
944
945 @lilypond[quote,relative=2,raggedright,fragment,verbatim]
946 <<
947   \context Voice = "lala" {
948     \time 3/4
949     f4 g8
950     \melisma
951     f e f
952     \melismaEnd
953     e2
954   }
955   \lyricsto "lala" \new Lyrics {
956     la di __ daah
957   }
958 >>
959 @end lilypond
960
961 In addition, notes are considered a melisma if they are manually
962 beamed, and automatic beaming (see @ref{Setting automatic beam
963 behavior}) is switched off.
964
965 @ignore
966
967 @c nonformation:
968
969 The criteria for deciding melismata can
970 be tuned with the property @code{melismaBusyProperties}.  See
971 @internalsref{Melisma_translator} in the program reference for more
972 information.
973
974 @end ignore
975
976 Lyrics can also be entered without @code{\lyricsto}.  In this case the
977 duration of each syllable must be entered explicitly, for example,
978
979 @example
980 play2 the4 game2.
981 sink2 or4 swim2.
982 @end example
983
984 The alignment to a melody can be specified with the
985 @code{associatedVoice} property,
986
987 @example
988 \set associatedVoice = #"lala"
989 @end example
990
991 @noindent
992 The value of the property (here: @code{"lala"}) should be the name of
993 a @internalsref{Voice} context.  Without this setting, extender lines
994 will not be formatted properly.
995
996 Here is an example demonstrating manual lyric durations,
997
998 @lilypond[relative=1,raggedright,verbatim,fragment,quote]
999 << \context Voice = melody {
1000      \time 3/4
1001      c2 e4 g2.
1002   }
1003   \new Lyrics \lyricmode {
1004     \set associatedVoice = #"melody"
1005     play2 the4 game2.
1006   } >>
1007 @end lilypond
1008
1009 @cindex SATB
1010 @cindex choral score
1011
1012 A complete example of a SATB score setup is in section
1013 @ref{Vocal ensembles}.
1014
1015
1016 @refcommands
1017
1018 @code{\melisma}, @code{\melismaEnd}
1019 @cindex @code{\melismaEnd}
1020 @cindex @code{\melisma}
1021
1022 @seealso
1023
1024 Program reference: @internalsref{LyricCombineMusic},
1025 @internalsref{Lyrics}, @internalsref{Melisma_translator}.
1026
1027
1028 @inputfileref{input/@/regression,lyric@/-combine@/-new@/.ly}.
1029 @c TODO: make separate section for melismata
1030
1031 @refbugs
1032
1033 Melismata are not detected automatically, and extender lines must be
1034 inserted by hand.
1035
1036
1037 @c TODO: document \new Staff << Voice \lyricsto >> bug
1038
1039 @node Flexibility in alignment
1040 @subsection Flexibility in alignment
1041
1042
1043 Often, different stanzas of one song are put to one melody in slightly
1044 differing ways.  Such variations can still be captured with
1045 @code{\lyricsto}.
1046
1047 One possibility is that the text has a melisma in one stanza, but
1048 multiple syllables in another one.  One solution is to make the faster
1049 voice ignore the melisma.  This is done by setting
1050 @code{ignoreMelismata} in the Lyrics context.
1051
1052 There has one tricky aspect.  The setting for @code{ignoreMelismata}
1053 must be set one syllable @emph{before} the non-melismatic syllable
1054 in the text, as shown here,
1055
1056 @lilypond[verbatim,raggedright,quote]
1057 <<
1058   \relative \context Voice = "lahlah" {
1059     \set Staff.autoBeaming = ##f
1060     c4
1061     \slurDotted
1062     f8.[( g16])
1063     a4
1064   }
1065   \new Lyrics \lyricsto "lahlah" {
1066     more slow -- ly
1067   }
1068   \new Lyrics \lyricsto "lahlah" {
1069     \set ignoreMelismata = ##t % applies to "fas"
1070     go fas -- ter
1071     \unset ignoreMelismata
1072     still
1073   }
1074 >>
1075 @end lilypond
1076
1077
1078 The @code{ignoreMelismata} applies to the syllable ``fas'', so it
1079 should be entered before ``go''.
1080
1081 The reverse is also possible: making a lyric line slower than the
1082 standard.  This can be achieved by insert @code{\skip}s into the
1083 lyrics.  For every @code{\skip}, the text will be delayed another note.
1084 For example,
1085
1086 @lilypond[verbatim,raggedright,quote]
1087 \relative { c c g' }
1088 \addlyrics {
1089   twin -- \skip 4
1090   kle
1091 }
1092 @end lilypond
1093
1094 More complex variations in text underlay are possible.  It is possible
1095 to switch the melody for a line of lyrics during the text.  This is
1096 done by setting the @code{associatedVoice} property.  In the example
1097
1098 @lilypond[raggedright,quote]
1099 <<
1100   \relative \context Voice = "lahlah" {
1101     \set Staff.autoBeaming = ##f
1102     c4
1103     <<
1104       \context Voice = alternative {
1105         \voiceOne
1106         \times 2/3 {
1107           % show associations clearly.
1108           \override NoteColumn #'force-hshift = #-3
1109           f8 f g
1110         }
1111       }
1112       {
1113         \voiceTwo
1114         f8.[ g16]
1115         \oneVoice
1116       } >>
1117     a8( b) c
1118   }
1119   \new Lyrics \lyricsto "lahlah" {
1120     Ju -- ras -- sic Park
1121   }
1122   \new Lyrics \lyricsto "lahlah" {
1123     % Tricky: need to set associatedVoice
1124     % one syllable too soon!
1125     \set associatedVoice = alternative % applies to "ran"
1126     Ty --
1127     ran --
1128     no --
1129     \set associatedVoice = lahlah % applies to "rus"
1130     sau -- rus Rex
1131   } >>
1132 @end lilypond
1133
1134 @noindent
1135 the text for the first stanza is set to a melody called ``lahlah'',
1136
1137 @example
1138 \new Lyrics \lyricsto "lahlah" @{
1139   Ju -- ras -- sic Park
1140 @}
1141 @end example
1142
1143
1144 The second stanza initially is set to the @code{lahlah} context, but
1145 for the syllable ``ran'', it switches to a different melody.
1146 This is achieved with
1147 @example
1148 \set associatedVoice = alternative
1149 @end example
1150
1151 @noindent
1152 Here, @code{alternative} is the name of the @code{Voice} context
1153 containing the triplet.
1154
1155 Again, the command must be one syllable too early, before ``Ty'' in
1156 this case.
1157
1158 @example
1159 \new Lyrics \lyricsto "lahlah" @{
1160   \set associatedVoice = alternative % applies to "ran"
1161   Ty --
1162   ran --
1163   no --
1164   \set associatedVoice = lahlah % applies to "rus"
1165   sau -- rus Rex
1166 @}
1167 @end example
1168
1169 @noindent
1170 The underlay is switched back to the starting situation by assigning
1171 @code{lahlah} to @code{associatedVoice}.
1172
1173
1174
1175
1176 @node More stanzas
1177 @subsection More stanzas
1178
1179 @cindex phrasing, in lyrics
1180
1181
1182 @cindex stanza number
1183 @cindex singer's names
1184 @cindex name of singer
1185
1186 Stanza numbers can be added by setting @code{stanza}, e.g.,
1187
1188 @lilypond[quote,raggedright,verbatim,relative=2,fragment]
1189 \new Voice {
1190   \time 3/4 g2 e4 a2 f4 g2.
1191 } \addlyrics {
1192   \set stanza = "1. "
1193   Hi, my name is Bert.
1194 } \addlyrics {
1195   \set stanza = "2. "
1196   Oh, che -- ri, je t'aime
1197 }
1198 @end lilypond
1199
1200 These numbers are put just before the start of first syllable.
1201
1202 Names of singers can also be added.  They are printed at the start of
1203 the line, just like instrument names.  They are created by setting
1204 @code{vocalName}.  A short version may be entered as @code{vocNam}.
1205
1206
1207 @lilypond[fragment,raggedright,quote,verbatim,relative=2]
1208 \new Voice {
1209   \time 3/4 g2 e4 a2 f4 g2.
1210 } \addlyrics {
1211   \set vocalName = "Bert "
1212   Hi, my name is Bert.
1213 } \addlyrics {
1214   \set vocalName = "Ernie "
1215   Oh, che -- ri, je t'aime
1216 }
1217 @end lilypond
1218
1219 @seealso
1220
1221 Program reference: Layout objects @internalsref{LyricText} and
1222 @internalsref{VocalName}.  Music expressions
1223 @internalsref{LyricEvent}.
1224
1225
1226
1227 @node Ambitus
1228 @subsection Ambitus
1229 @cindex ambitus
1230
1231 The term @emph{ambitus} denotes a range of pitches for a given voice
1232 in a part of music.  It may also denote the pitch range that a musical
1233 instrument is capable of playing.  Ambits are printed on vocal parts,
1234 so performers can easily determine it meets their capabilities.
1235
1236 Ambits are denoted at the beginning of a piece near the initial clef.
1237 The range is graphically specified by two note heads that represent the
1238 minimum and maximum pitch.  To print such ambits, add the
1239 @internalsref{Ambitus_engraver} to the @internalsref{Voice} context,
1240 for example,
1241
1242 @example
1243 \layout @{
1244   \context @{
1245     \Voice
1246     \consists Ambitus_engraver
1247   @}
1248 @}
1249 @end example
1250
1251 This results in the following output
1252
1253 @lilypond[quote,raggedright]
1254 \layout {
1255   \context {
1256     \Staff
1257     \consists Ambitus_engraver
1258   }
1259 }
1260
1261 \relative \new Staff {
1262   as'' c e2 cis,2
1263 }
1264 @end lilypond
1265
1266 If you have multiple voices in a single staff and you want a single
1267 ambitus per staff rather than per each voice, add the
1268 @internalsref{Ambitus_engraver} to the @internalsref{Staff} context
1269 rather than to the @internalsref{Voice} context.  Here is an example,
1270
1271 @lilypond[verbatim,raggedright,quote]
1272 \new Staff \with {
1273   \consists "Ambitus_engraver"
1274 }
1275 <<
1276   \new Voice \with {
1277     \remove "Ambitus_engraver"
1278   } \relative c'' {
1279     \override Ambitus #'X-offset-callbacks
1280       = #(list (lambda (grob axis) -1.0))
1281     \voiceOne
1282     c4 a d e f2
1283   }
1284   \new Voice \with {
1285     \remove "Ambitus_engraver"
1286   } \relative c' {
1287     \voiceTwo
1288     es4 f g as b2
1289   }
1290 >>
1291 @end lilypond
1292
1293 @noindent
1294 This example uses one advanced feature,
1295
1296 @example
1297 \override Ambitus #'X-offset-callbacks
1298   = #(list (lambda (grob axis) -1.0))
1299 @end example
1300
1301 @noindent
1302 This code moves the ambitus to the left.  The same effect could have
1303 been achieved with @code{extra-offset}, but then the formatting system
1304 would not reserve space for the moved object.
1305
1306 @seealso
1307
1308 Program reference: @internalsref{Ambitus},
1309 @internalsref{AmbitusLine}, @internalsref{AmbitusNoteHead},
1310 @internalsref{AmbitusAccidental}.
1311
1312 Examples: @inputfileref{input/@/regression,ambitus@/.ly}.
1313
1314 @refbugs
1315
1316 There is no collision handling in the case of multiple per-voice
1317 ambitus.
1318
1319 @node Other vocal issues
1320 @subsection Other vocal issues
1321
1322 @ignore
1323 yeah, I'm giving up somewhat by stuffing a bunch of things in
1324 here.  But at least they're in the manual now; it's easier to
1325 move them around in the manual once they're already here.
1326
1327 Besides, if users complain about everything stuffed in here, I
1328 can ask them for specific instructions about where to move these
1329 examples, and that might get them more involved in the docs.  -gp
1330 @end ignore
1331
1332 You can display alternate (or divisi) lyrics by naming voice
1333 contexts and attaching lyrics to those specific contexts.
1334
1335 @lilypond[verbatim,raggedright,quote]
1336 \score{ <<
1337   \context Voice = "melody" {
1338     \relative c' {
1339       c4
1340       <<
1341         { \voiceOne c8 e }
1342         \context Voice = splitpart { \voiceTwo c4 }
1343       >>
1344       \oneVoice c4 c | c
1345     }
1346   }
1347   \new Lyrics \lyricsto "melody" { we shall not o- ver- come }
1348   \new Lyrics \lyricsto "splitpart" { shall }
1349 >> }
1350 @end lilypond
1351
1352
1353 You can use this trick to display different lyrics for a repeated
1354 section.
1355
1356 @lilypond[verbatim,raggedright,quote]
1357 \score{ <<
1358   \context Voice = melody \relative c' {
1359     c2 e | g e | c1 |
1360     \context Voice = verse \repeat volta 2 {c4 d e f | g1 | }
1361     a2 b | c1}
1362   \lyricsto melody  \context Lyrics = mainlyrics \lyricmode {
1363     do mi sol mi do
1364     la si do }
1365   \lyricsto verse \context Lyrics = mainlyrics \lyricmode {
1366    do re mi fa sol }
1367   \lyricsto verse \context Lyrics = repeatlyrics \lyricmode {
1368    dodo rere mimi fafa solsol }
1369 >>
1370 }
1371 @end lilypond
1372
1373
1374 To notate ``parlato'' (spoken without pitch but still with
1375 rhythm) sections, 
1376
1377 @lilypond[raggedright,verbatim,quote,fragment,relative=2]
1378 c4 d
1379 \override NoteHead #'style = #'cross
1380 e f
1381 \revert NoteHead #'style
1382 e d
1383 @end lilypond
1384
1385
1386 @node Rhythmic music
1387 @section Rhythmic music
1388
1389 Rhythmic music is primarily used for percussion and drum notation, but it can
1390 also be used to show the rhythms of melodies.
1391
1392 @menu
1393 * Showing melody rhythms::      
1394 * Entering percussion::         
1395 * Percussion staves::           
1396 @end menu
1397
1398
1399 @node Showing melody rhythms
1400 @subsection Showing melody rhythms
1401
1402 Sometimes you might want to show only the rhythm of a melody.  This
1403 can be done with the rhythmic staff.  All pitches of notes on such a
1404 staff are squashed, and the staff itself has a single line
1405
1406 @lilypond[quote,raggedright,fragment,relative=1,verbatim]
1407 \context RhythmicStaff {
1408   \time 4/4
1409   c4 e8 f g2 | r4 g r2 | g1:32 | r1 |
1410 }
1411 @end lilypond
1412
1413 @seealso
1414
1415 Program reference: @internalsref{RhythmicStaff}.
1416
1417 Examples: @inputfileref{input/@/regression,rhythmic@/-staff@/.ly}.
1418
1419
1420 @node Entering percussion
1421 @subsection Entering percussion
1422
1423 @cindex percussion
1424 @cindex drums
1425
1426
1427 Percussion notes may be entered in @code{\drummode} mode, which is
1428 similar to the standard mode for entering notes.  Each piece of
1429 percussion has a full name and an abbreviated name, and both can be used
1430 in input files
1431
1432 @lilypond[quote,raggedright,verbatim]
1433 \drums {
1434   hihat hh bassdrum bd
1435 }
1436 @end lilypond
1437
1438 The complete list of drum names is in the init file
1439 @file{ly/@/drumpitch@/-init@/.ly}.
1440 @c TODO: properly document this.
1441
1442 @seealso
1443
1444 Program reference: @internalsref{note-event}.
1445
1446 @node Percussion staves
1447 @subsection Percussion staves
1448 @cindex percussion
1449 @cindex drums
1450
1451 A percussion part for more than one instrument typically uses a
1452 multiline staff where each position in the staff refers to one piece
1453 of percussion.
1454
1455
1456 To typeset the music, the notes must be interpreted in a
1457 @internalsref{DrumStaff} and @internalsref{DrumVoice} contexts
1458
1459 @lilypond[quote,raggedright,verbatim]
1460 up = \drummode { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat }
1461 down = \drummode { bassdrum4 snare8 bd r bd sn4 }
1462   \new DrumStaff <<
1463     \new DrumVoice { \voiceOne \up }
1464     \new DrumVoice { \voiceTwo \down }
1465   >>
1466 @end lilypond
1467
1468 The above example shows verbose polyphonic notation.  The short
1469 polyphonic notation, described in @ref{Polyphony}, can also be used if
1470 the @internalsref{DrumVoice}s are instantiated by hand first.  For example,
1471
1472 @lilypond[quote,raggedright,fragment,verbatim]
1473 \new DrumStaff <<
1474   \context DrumVoice = "1" { s1 *2 }
1475   \context DrumVoice = "2" { s1 *2 }
1476   \drummode {
1477     bd4 sn4 bd4 sn4
1478     <<
1479       { \repeat unfold 16 hh16 }
1480       \\
1481       { bd4 sn4 bd4 sn4 }
1482     >>
1483   }
1484 >>
1485 @end lilypond
1486
1487
1488 There are also other layout possibilities.  To use these, set the
1489 property @code{drumStyleTable} in context @internalsref{DrumVoice}.
1490 The following variables have been predefined
1491
1492 @table @code
1493 @item drums-style
1494 This is the default.  It typesets a typical drum kit on a five-line staff
1495
1496 @lilypond[quote,linewidth=10.0\cm]
1497 nam = \lyricmode {
1498   cymc cyms cymr hh hhc hho hhho hhp
1499   cb hc bd sn ss tomh tommh tomml toml tomfh tomfl }
1500 mus = \drummode {
1501   cymc cyms cymr hh hhc hho hhho hhp \break
1502   cb hc bd sn ss tomh tommh tomml toml tomfh tomfl s16 }
1503 \score {
1504   << \new DrumStaff \with {
1505        \remove Bar_engraver
1506        \remove Time_signature_engraver
1507        \override Stem #'transparent = ##t
1508        \override Stem #'Y-extent-callback = ##f
1509        minimumVerticalExtent = #'(-4.0 . 5.0)
1510      } \mus
1511      \context Lyrics \nam
1512   >>
1513   \layout {
1514     \context {
1515       \Score
1516       \override LyricText #'font-family = #'typewriter
1517       \override BarNumber #'transparent =##T
1518     }
1519   }
1520 }
1521 @end lilypond
1522
1523 The drum scheme supports six different toms.  When there are fewer toms,
1524 simply select the toms that produce the desired result, i.e., to get toms
1525 on the three middle lines you use @code{tommh}, @code{tomml}, and
1526 @code{tomfh}.
1527
1528 @item timbales-style
1529 This typesets timbales on a two line staff
1530
1531 @lilypond[quote,raggedright]
1532 nam = \lyricmode { timh ssh timl ssl cb }
1533 mus = \drummode { timh ssh timl ssl cb s16 }
1534
1535 <<
1536   \context DrumStaff \with {
1537     \remove Bar_engraver
1538     \remove Time_signature_engraver
1539     \override Stem #'transparent = ##t
1540     \override Stem #'Y-extent-callback = ##f
1541     \override StaffSymbol #'line-count = #2
1542     \override StaffSymbol #'staff-space = #2
1543     minimumVerticalExtent = #'(-3.0 . 4.0)
1544     drumStyleTable = #timbales-style
1545   } \mus
1546   \context Lyrics {
1547     \override LyricText #'font-family = #'typewriter
1548     \nam
1549   }
1550 >>
1551 @end lilypond
1552
1553 @item congas-style
1554 This typesets congas on a two line staff
1555
1556 @lilypond[quote,raggedright]
1557 nam = \lyricmode { cgh cgho cghm ssh cgl cglo cglm ssl }
1558 mus = \drummode { cgh cgho cghm ssh cgl cglo cglm ssl s16 }
1559
1560 <<
1561   \context DrumStaff \with {
1562     \remove Bar_engraver
1563     \remove Time_signature_engraver
1564     drumStyleTable = #congas-style
1565     \override StaffSymbol #'line-count = #2
1566
1567     %% this sucks; it will lengthen stems.
1568     \override StaffSymbol #'staff-space = #2
1569     \override Stem #'transparent = ##t
1570     \override Stem #'Y-extent-callback = ##f
1571   } \mus
1572   \context Lyrics {
1573     \override LyricText #'font-family = #'typewriter
1574     \nam
1575   }
1576 >>
1577 @end lilypond
1578
1579 @item bongos-style
1580 This typesets bongos on a two line staff
1581
1582 @lilypond[quote,raggedright]
1583 nam = \lyricmode { boh boho bohm ssh bol bolo bolm ssl }
1584 mus = \drummode { boh boho bohm ssh bol bolo bolm ssl s16 }
1585
1586 <<
1587   \context DrumStaff\with {
1588     \remove Bar_engraver
1589     \remove Time_signature_engraver
1590     \override StaffSymbol #'line-count = #2
1591     drumStyleTable = #bongos-style
1592
1593     %% this sucks; it will lengthen stems.
1594     \override StaffSymbol #'staff-space = #2
1595     \override Stem #'transparent = ##t
1596     \override Stem #'Y-extent-callback = ##f
1597   } \mus
1598   \context Lyrics {
1599     \override LyricText #'font-family = #'typewriter
1600     \nam
1601   }
1602 >>
1603 @end lilypond
1604
1605 @item percussion-style
1606 To typeset all kinds of simple percussion on one line staves.
1607
1608 @lilypond[quote,raggedright]
1609 nam = \lyricmode { tri trio trim gui guis guil cb cl tamb cab mar hc }
1610 mus = \drummode { tri trio trim gui guis guil cb cl tamb cab mar hc s16 }
1611
1612 <<
1613   \context DrumStaff\with{
1614     \remove Bar_engraver
1615     drumStyleTable = #percussion-style
1616     \override StaffSymbol #'line-count = #1
1617     \remove Time_signature_engraver
1618     \override Stem #'transparent = ##t
1619     \override Stem #'Y-extent-callback = ##f
1620   } \mus
1621   \context Lyrics {
1622     \override LyricText #'font-family = #'typewriter
1623     \nam
1624   }
1625 >>
1626 @end lilypond
1627 @end table
1628
1629 If you do not like any of the predefined lists you can define your own
1630 list at the top of your file
1631
1632 @lilypond[quote,raggedright,verbatim]
1633 #(define mydrums '(
1634          (bassdrum     default   #f         -1)
1635          (snare        default   #f         0)
1636          (hihat        cross     #f         1)
1637          (pedalhihat   xcircle   "stopped"  2)
1638          (lowtom       diamond   #f         3)))
1639 up = \drummode { hh8 hh hh hh hhp4 hhp }
1640 down = \drummode { bd4 sn bd toml8 toml }
1641
1642 \new DrumStaff <<
1643   \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
1644   \new DrumVoice { \voiceOne \up }
1645   \new DrumVoice { \voiceTwo \down }
1646 >>
1647 @end lilypond
1648
1649
1650 @seealso
1651
1652 Init files: @file{ly/@/drumpitch@/-init@/.ly}.
1653
1654 Program reference: @internalsref{DrumStaff}, @internalsref{DrumVoice}.
1655
1656 @refbugs
1657
1658 Because general MIDI does not contain rim shots, the sidestick is used
1659 for this purpose instead.
1660
1661
1662
1663
1664 @node Guitar
1665 @section Guitar
1666
1667 @cindex tablature
1668 @cindex guitar tablature
1669
1670 @menu
1671 * String number indications::   
1672 * Tablatures basic::            
1673 * Non-guitar tablatures::       
1674 * Fret diagrams::               
1675 * Other guitar issues::         
1676 @end menu
1677
1678 @node String number indications
1679 @subsection String number indications
1680
1681 @cindex String numbers
1682
1683 String numbers can be added to chords, by indicating the string number
1684 with @code{\}@var{number}, 
1685
1686 @lilypond[relative,relative=1,raggedright,fragment]
1687 <c\1 e\2 g\3>
1688 @end lilypond
1689
1690 See also @inputfileref{input/regression,string-number.ly}.
1691
1692
1693 @seealso
1694
1695 Program reference: @internalsref{StringNumber},
1696 @internalsref{StringNumberEvent}
1697
1698
1699 @node Tablatures basic
1700 @subsection Tablatures basic
1701 @cindex Tablatures basic
1702
1703 Tablature notation is used for notating music for plucked string
1704 instruments.  Pitches are not denoted with note heads, but by
1705 numbers indicating on which string and fret a note must be played.  LilyPond
1706 offers limited support for tablature.
1707
1708 The string number associated to a note is given as a backslash
1709 followed by a number, e.g., @code{c4\3} for a C quarter on the third
1710 string.  By default, string 1 is the highest one, and the tuning
1711 defaults to the standard guitar tuning (with 6 strings).  The notes
1712 are printed as tablature, by using @internalsref{TabStaff} and
1713 @internalsref{TabVoice} contexts
1714
1715 @lilypond[quote,raggedright,fragment,verbatim]
1716 \context TabStaff {
1717   a,4\5 c'\2 a\3 e'\1
1718   e\4 c'\2 a\3 e'\1
1719 }
1720 @end lilypond
1721
1722 @cindex @code{minimumFret}
1723 @cindex fret
1724
1725 When no string is specified, the first string that does not give a
1726 fret number less than @code{minimumFret} is selected.  The default
1727 value for @code{minimumFret} is 0
1728
1729
1730 @example
1731 e16 fis gis a b4
1732 \set TabStaff.minimumFret = #8
1733 e16 fis gis a b4
1734 @end example
1735 @lilypond[quote,raggedright]
1736 frag = {
1737   \key e \major
1738   e16 fis gis a b4
1739   \set TabStaff.minimumFret = #8
1740   e16 fis gis a b4
1741 }
1742   \context StaffGroup <<
1743     \context Staff { \clef "G_8" \frag }
1744     \context TabStaff { \frag }
1745   >>
1746 @end lilypond
1747
1748 @seealso
1749
1750 Program reference: @internalsref{TabStaff}, @internalsref{TabVoice}, and
1751 @internalsref{StringNumberEvent}.
1752
1753 @refbugs
1754
1755 Chords are not handled in a special way, and hence the automatic
1756 string selector may easily select the same string to two notes in a
1757 chord.
1758
1759
1760 @node Non-guitar tablatures
1761 @subsection Non-guitar tablatures
1762 @cindex Non-guitar tablatures
1763
1764 You can change the number of strings, by setting the number of lines
1765 in the @internalsref{TabStaff}.
1766
1767 You can change the tuning of the strings.  A string tuning is given as
1768 a Scheme list with one integer number for each string, the number
1769 being the pitch (measured in semitones relative to middle C) of an
1770 open string.  The numbers specified for @code{stringTuning} are the
1771 numbers of semitones to subtract or add, starting the specified pitch
1772 by default middle C, in string order.  In the next example,
1773 @code{stringTunings} is set for the pitches e, a, d, and g
1774
1775 @lilypond[quote,raggedright,fragment,verbatim]
1776 \context TabStaff <<
1777   \set TabStaff.stringTunings = #'(-5 -10 -15 -20)
1778   {
1779     a,4 c' a e' e c' a e'
1780   }
1781 >>
1782 @end lilypond
1783
1784 @refbugs
1785
1786 No guitar special effects have been implemented.
1787
1788 @seealso
1789
1790 Program reference: @internalsref{Tab_note_heads_engraver}.
1791
1792
1793 @node Fret diagrams
1794 @subsection Fret diagrams
1795 @cindex fret diagrams
1796 @cindex chord diagrams
1797
1798 Fret diagrams can be added to music as a markup to the desired note.  The
1799 markup contains information about the desired fret diagram, as shown in the
1800 following example
1801
1802 @lilypond[verbatim, raggedright, quote]
1803 \context Voice {
1804   d' ^\markup \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-2;"
1805   d' d' d'
1806   fis' ^\markup \override #'(size . 0.75) {
1807     \override #'(finger-code . below-string) {
1808       \fret-diagram-verbose #'((place-fret 6 2 1) (barre 6 1 2)
1809                                (place-fret 5 4 3) (place-fret 4 4 4)
1810                                (place-fret 3 3 2) (place-fret 2 2 1)
1811                                (place-fret 1 2 1))
1812     }
1813   }
1814   fis' fis' fis'
1815   c' ^\markup \override #'(dot-radius . 0.35) {
1816     \override #'(finger-code . in-dot) {
1817       \override #'(dot-color . white) {
1818         \fret-diagram-terse #"x;3-1-(;5-2;5-3;5-4;3-1-);"
1819       }
1820     }
1821   }
1822   c' c' c'
1823 }
1824 @end lilypond
1825
1826
1827 There are three different fret-diagram markup interfaces: standard, terse,
1828 and verbose.  The three interfaces produce equivalent markups, but have
1829 varying amounts of information in the markup string.  Details about the
1830 markup interfaces are found at @ref{Overview of text markup commands}.
1831
1832 You can set a number of graphical properties according to your preference.
1833 Details about the property interface to fret diagrams are found at
1834 @internalsref{fret-diagram-interface}.
1835
1836
1837 @seealso
1838
1839 Examples: @inputfileref{input/@/test,fret@/-diagram@/.ly}
1840
1841
1842 @node Other guitar issues
1843 @subsection Other guitar issues
1844
1845 FIXME: insert guitar fret number example here.
1846
1847
1848 @node Ancient notation
1849 @section Ancient notation
1850
1851 @cindex Vaticana, Editio
1852 @cindex Medicaea, Editio
1853 @cindex hufnagel
1854 @cindex Petrucci
1855 @cindex mensural
1856
1857 Support for ancient notation includes features for mensural notation
1858 and Gregorian Chant notation.  There is also limited support for
1859 figured bass notation.
1860
1861 Many graphical objects provide a @code{style} property, see
1862 @itemize @bullet
1863 @item
1864 @ref{Ancient note heads},
1865 @item
1866 @ref{Ancient accidentals},
1867 @item
1868 @ref{Ancient rests},
1869 @item
1870 @ref{Ancient clefs},
1871 @item
1872 @ref{Ancient flags},
1873 @item
1874 @ref{Ancient time signatures}.
1875 @end itemize
1876
1877 By manipulating such a grob property, the typographical appearance of
1878 the affected graphical objects can be accommodated for a specific
1879 notation flavor without the need for introducing any new notational
1880 concept.
1881
1882 In addition to the standard articulation signs described in section
1883 @ref{Articulations}, specific articulation signs for ancient notation
1884 are provided.
1885
1886 @itemize @bullet
1887 @item
1888 @ref{Ancient articulations}
1889 @end itemize
1890
1891 Other aspects of ancient notation can not that easily be expressed
1892 in terms of just changing a style property of a graphical object or
1893 adding articulation signs.  Some notational concepts are introduced
1894 specifically for ancient notation,
1895
1896 @itemize @bullet
1897 @item
1898 @ref{Custodes},
1899 @item
1900 @ref{Divisiones},
1901 @item
1902 @ref{Ligatures}.
1903 @end itemize
1904
1905 If this all is too much of documentation for you, and you just want to
1906 dive into typesetting without worrying too much about the details on
1907 how to customize a context, you may have a look at the predefined
1908 contexts.  Use them to set up predefined style-specific voice and
1909 staff contexts, and directly go ahead with the note entry,
1910
1911 @itemize @bullet
1912 @item
1913 @ref{Gregorian Chant contexts},
1914 @item
1915 @ref{Mensural contexts}.
1916 @end itemize
1917
1918 There is limited support for figured bass notation which came
1919 up during the baroque period.
1920
1921 @itemize @bullet
1922 @item
1923 @ref{Figured bass}
1924 @end itemize
1925
1926 Here are all suptopics at a glance:
1927
1928 @menu
1929 * Ancient note heads::          
1930 * Ancient accidentals::         
1931 * Ancient rests::               
1932 * Ancient clefs::               
1933 * Ancient flags::               
1934 * Ancient time signatures::     
1935 * Ancient articulations::       
1936 * Custodes::                    
1937 * Divisiones::                  
1938 * Ligatures::                   
1939 * Gregorian Chant contexts::    
1940 * Mensural contexts::           
1941 * Figured bass::                
1942 @end menu
1943
1944
1945 @node Ancient note heads
1946 @subsection Ancient note heads
1947
1948 @cindex note heads
1949
1950
1951 For ancient notation, a note head style other than the @code{default}
1952 style may be chosen.  This is accomplished by setting the @code{style}
1953 property of the @internalsref{NoteHead} object to @code{baroque},
1954 @code{neomensural} or @code{mensural}.  The @code{baroque} style
1955 differs from the @code{default} style only in using a square shape
1956 for @code{\breve} note heads.  The @code{neomensural} style differs from
1957 the @code{baroque} style in that it uses rhomboidal heads for whole notes
1958 and all smaller durations.  Stems are centered on the note heads.
1959 This style is particularly useful when transcribing mensural music,
1960 e.g., for the incipit.  The @code{mensural} style finally produces note
1961 heads that mimic the look of note heads in historic printings of the
1962 16th century.
1963
1964 The following example demonstrates the @code{neomensural} style
1965
1966 @lilypond[quote,fragment,raggedright,verbatim]
1967 \set Score.skipBars = ##t
1968 \override NoteHead #'style = #'neomensural
1969 a'\longa a'\breve a'1 a'2 a'4 a'8 a'16
1970 @end lilypond
1971
1972 When typesetting a piece in Gregorian Chant notation, the
1973 @internalsref{Gregorian_ligature_engraver} will automatically select
1974 the proper note heads, so there is no need to explicitly set the
1975 note head style.  Still, the note head style can be set, e.g., to
1976 @code{vaticana_punctum} to produce punctum neumes.  Similarly, a
1977 @internalsref{Mensural_ligature_engraver} is used to automatically
1978 assemble mensural ligatures.  See @ref{Ligatures} for how ligature
1979 engravers work.
1980
1981 @seealso
1982
1983 Examples: @inputfileref{input/@/regression,note@/-head@/-style@/.ly} gives an
1984 overview over all available note head styles.
1985
1986
1987 @node Ancient accidentals
1988 @subsection Ancient accidentals
1989
1990 @cindex accidentals
1991
1992
1993 Use the @code{style} property of grob @internalsref{Accidental} to
1994 select ancient accidentals.   Supported styles are
1995 @code{mensural}, @code{vaticana}, @code{hufnagel}, and @code{medicaea}.
1996
1997 @lilypond[quote,raggedright,staffsize=26]
1998 \score {
1999 {
2000   \fatText
2001   s^\markup {
2002     \column {
2003       "vaticana"
2004       \line { " " \musicglyph #"accidentals.vaticana-1"
2005         " " \musicglyph #"accidentals.vaticana0" }
2006     }
2007     \column {
2008       "medicaea"
2009       \line { " " \musicglyph #"accidentals.medicaea-1" }
2010     }
2011     \column {
2012       "hufnagel"
2013       \line { " " \musicglyph #"accidentals.hufnagel-1" }
2014     }
2015     \column {
2016       "mensural"
2017       \line { " " \musicglyph #"accidentals.mensural-1"
2018         " " \musicglyph #"accidentals.mensural1" }
2019     }
2020   }
2021 }
2022 \layout {
2023   interscoreline = 1
2024   \context { \Score \remove "Bar_number_engraver" }
2025   \context { \Staff
2026       \remove "Clef_engraver"
2027       \remove "Key_engraver"
2028       \remove "Time_signature_engraver"
2029       \remove "Staff_symbol_engraver"
2030       minimumVerticalExtent = ##f
2031     }
2032   }
2033 }
2034 @end lilypond
2035
2036 As shown, not all accidentals are supported by each style.  When
2037 trying to access an unsupported accidental, LilyPond will switch to a
2038 different style, as demonstrated in
2039 @inputfileref{input/@/test,ancient@/-accidentals@/.ly}.
2040
2041 Similarly to local accidentals, the style of the key signature can be
2042 controlled by the @code{style} property of the
2043 @internalsref{KeySignature} grob.
2044
2045 @seealso
2046
2047 In this manual: @ref{Pitches}, @ref{Cautionary accidentals} and
2048 @ref{Automatic accidentals} give a general introduction of the use of
2049 accidentals.  @ref{Key signature} gives a general introduction of
2050 the use of key signatures.
2051
2052 Program reference: @internalsref{KeySignature}.
2053
2054 Examples: @inputfileref{input/@/test,ancient@/-accidentals@/.ly}.
2055
2056 @node Ancient rests
2057 @subsection Ancient rests
2058
2059 @cindex rests
2060
2061
2062 Use the @code{style} property of grob @internalsref{Rest} to select
2063 ancient rests.   Supported styles are @code{classical},
2064 @code{neomensural}, and @code{mensural}.  @code{classical} differs
2065 from the @code{default} style only in that the quarter rest looks like
2066 a horizontally mirrored 8th rest.  The @code{neomensural} style suits
2067 well for, e.g., the incipit of a transcribed mensural piece of music.
2068 The @code{mensural} style finally mimics the appearance of rests as
2069 in historic prints of the 16th century.
2070
2071 The following example demonstrates the @code{neomensural} style
2072
2073 @lilypond[quote,fragment,raggedright,verbatim]
2074 \set Score.skipBars = ##t
2075 \override Rest #'style = #'neomensural
2076 r\longa r\breve r1 r2 r4 r8 r16
2077 @end lilypond
2078
2079 There are no 32th and 64th rests specifically for the mensural or
2080 neo-mensural style.  Instead, the rests from the default style will be
2081 taken.  See @inputfileref{input/@/test,rests@/.ly} for a chart of all
2082 rests.
2083
2084 There are no rests in Gregorian Chant notation; instead, it uses
2085 @ref{Divisiones}.
2086
2087 @seealso
2088
2089 In this manual: @ref{Rests} gives a general introduction into the use of rests.
2090
2091
2092 @node Ancient clefs
2093 @subsection Ancient clefs
2094
2095 @cindex clefs
2096
2097
2098 LilyPond supports a variety of clefs, many of them ancient.
2099
2100 The following table shows all ancient clefs that are supported via the
2101 @code{\clef} command.  Some of the clefs use the same glyph, but
2102 differ only with respect to the line they are printed on.  In such
2103 cases, a trailing number in the name is used to enumerate these clefs.
2104 Still, you can manually force a clef glyph to be typeset on an
2105 arbitrary line, as described in @ref{Clef}.  The note printed to the
2106 right side of each clef in the example column denotes the @code{c'}
2107 with respect to that clef.
2108
2109 @multitable @columnfractions .4 .4 .2
2110 @item
2111 @b{Description}
2112 @tab
2113 @b{Supported Clefs}
2114 @tab
2115 @b{Example}
2116
2117 @item
2118 modern style mensural C clef
2119 @tab
2120 @code{neomensural-c1}, @code{neomensural-c2},@*
2121 @code{neomensural-c3}, @code{neomensural-c4}
2122 @tab
2123 @lilypond[fragment,relative=1,notime]
2124   \clef "neomensural-c2" c
2125 @end lilypond
2126
2127 @item
2128 petrucci style mensural C clefs, for use on different staff lines
2129 (the examples show the 2nd staff line C clef)
2130 @tab
2131 @code{petrucci-c1}, @code{petrucci-c2},@*
2132 @code{petrucci-c3}, @code{petrucci-c4},@*
2133 @code{petrucci-c5}
2134 @tab
2135 @lilypond[fragment,relative=1,notime]
2136   \clef "petrucci-c2"
2137   \override NoteHead #'style = #'mensural
2138   c
2139 @end lilypond
2140
2141 @item
2142 petrucci style mensural F clef
2143 @tab
2144 @code{petrucci-f}
2145 @tab
2146 @lilypond[fragment,relative=1,notime]
2147   \clef "petrucci-f"
2148   \override NoteHead #'style = #'mensural
2149   c
2150 @end lilypond
2151
2152 @item
2153 petrucci style mensural G clef
2154 @tab
2155 @code{petrucci-g}
2156 @tab
2157 @lilypond[fragment,relative=1,notime]
2158   \clef "petrucci-g"
2159   \override NoteHead #'style = #'mensural
2160   c
2161 @end lilypond
2162
2163 @item
2164 historic style mensural C clef
2165 @tab
2166 @code{mensural-c1}, @code{mensural-c2},@*
2167 @code{mensural-c3}, @code{mensural-c4}
2168 @tab
2169 @lilypond[fragment,relative=1,notime]
2170   \clef "mensural-c2"
2171   \override NoteHead #'style = #'mensural
2172   c
2173 @end lilypond
2174
2175 @item
2176 historic style mensural F clef
2177 @tab
2178 @code{mensural-f}
2179 @tab
2180 @lilypond[fragment,relative=1,notime]
2181   \clef "mensural-f"
2182   \override NoteHead #'style = #'mensural
2183   c
2184 @end lilypond
2185
2186 @item
2187 historic style mensural G clef
2188 @tab
2189 @code{mensural-g}
2190 @tab
2191 @lilypond[fragment,relative=1,notime]
2192   \clef "mensural-g"
2193   \override NoteHead #'style = #'mensural
2194   c
2195 @end lilypond
2196
2197 @item
2198 Editio Vaticana style do clef
2199 @tab
2200 @code{vaticana-do1}, @code{vaticana-do2},@*
2201 @code{vaticana-do3}
2202 @tab
2203 @lilypond[fragment,relative=1,notime]
2204   \override Staff.StaffSymbol #'line-count = #4
2205   \override Staff.StaffSymbol #'color = #red
2206   \override Staff.LedgerLineSpanner #'color = #red
2207   \override Voice.Stem #'transparent = ##t
2208   \override NoteHead #'style = #'vaticana.punctum
2209   \clef "vaticana-do2"
2210   c
2211 @end lilypond
2212
2213 @item
2214 Editio Vaticana style fa clef
2215 @tab
2216 @code{vaticana-fa1}, @code{vaticana-fa2}
2217 @tab
2218 @lilypond[fragment,relative=1,notime]
2219   \override Staff.StaffSymbol #'line-count = #4
2220   \override Staff.StaffSymbol #'color = #red
2221   \override Staff.LedgerLineSpanner #'color = #red
2222   \override Voice.Stem #'transparent = ##t
2223   \override NoteHead #'style = #'vaticana.punctum
2224   \clef "vaticana-fa2"
2225   c
2226 @end lilypond
2227
2228 @item
2229 Editio Medicaea style do clef
2230 @tab
2231 @code{medicaea-do1}, @code{medicaea-do2},@*
2232 @code{medicaea-do3}
2233 @tab
2234 @lilypond[fragment,relative=1,notime]
2235   \override Staff.StaffSymbol #'line-count = #4
2236   \override Staff.StaffSymbol #'color = #red
2237   \override Staff.LedgerLineSpanner #'color = #red
2238   \override Voice.Stem #'transparent = ##t
2239   \override NoteHead #'style = #'medicaea.punctum
2240   \clef "medicaea-do2"
2241   c
2242 @end lilypond
2243
2244 @item
2245 Editio Medicaea style fa clef
2246 @tab
2247 @code{medicaea-fa1}, @code{medicaea-fa2}
2248 @tab
2249 @lilypond[fragment,relative=1,notime]
2250   \override Staff.StaffSymbol #'line-count = #4
2251   \override Staff.StaffSymbol #'color = #red
2252   \override Staff.LedgerLineSpanner #'color = #red
2253   \override Voice.Stem #'transparent = ##t
2254   \override NoteHead #'style = #'medicaea.punctum
2255   \clef "medicaea-fa2"
2256   c
2257 @end lilypond
2258
2259 @item
2260 historic style hufnagel do clef
2261 @tab
2262 @code{hufnagel-do1}, @code{hufnagel-do2},@*
2263 @code{hufnagel-do3}
2264 @tab
2265 @lilypond[fragment,relative=1,notime]
2266   \override Staff.StaffSymbol #'line-count = #4
2267   \override Staff.StaffSymbol #'color = #red
2268   \override Staff.LedgerLineSpanner #'color = #red
2269   \override Voice.Stem #'transparent = ##t
2270   \override NoteHead #'style = #'hufnagel.punctum
2271   \clef "hufnagel-do2"
2272   c
2273 @end lilypond
2274
2275 @item
2276 historic style hufnagel fa clef
2277 @tab
2278 @code{hufnagel-fa1}, @code{hufnagel-fa2}
2279 @tab
2280 @lilypond[fragment,relative=1,notime]
2281   \override Staff.StaffSymbol #'line-count = #4
2282   \override Staff.StaffSymbol #'color = #red
2283   \override Staff.LedgerLineSpanner #'color = #red
2284   \override Voice.Stem #'transparent = ##t
2285   \override NoteHead #'style = #'hufnagel.punctum
2286   \clef "hufnagel-fa2"
2287   c
2288 @end lilypond
2289
2290 @item
2291 historic style hufnagel combined do/fa clef
2292 @tab
2293 @code{hufnagel-do-fa}
2294 @tab
2295 @lilypond[fragment,relative=1,notime]
2296   \override Staff.StaffSymbol #'color = #red
2297   \override Staff.LedgerLineSpanner #'color = #red
2298   \override Voice.Stem #'transparent = ##t
2299   \override NoteHead #'style = #'hufnagel.punctum
2300   \clef "hufnagel-do-fa"
2301   c
2302 @end lilypond
2303 @end multitable
2304
2305
2306
2307 @emph{Modern style} means ``as is typeset in contemporary editions of
2308 transcribed mensural music''.
2309
2310 @emph{Petrucci style} means ``inspired by printings published by the
2311 famous engraver Petrucci (1466-1539)''.
2312
2313 @emph{Historic style} means ``as was typeset or written in historic
2314 editions (other than those of Petrucci)''.
2315
2316 @emph{Editio XXX style} means ``as is/was printed in Editio XXX''.
2317
2318 Petrucci used C clefs with differently balanced left-side vertical
2319 beams, depending on which staff line it is printed.
2320
2321 @seealso
2322
2323 In this manual: see @ref{Clef}.
2324
2325 @refbugs
2326
2327 The mensural g clef is mapped to the Petrucci g clef.
2328
2329
2330
2331 @node Ancient flags
2332 @subsection Ancient flags
2333
2334 @cindex flags
2335
2336
2337 Use the @code{flag-style} property of grob @internalsref{Stem} to
2338 select ancient flags.  Besides the @code{default} flag style,
2339 only the @code{mensural} style is supported
2340
2341 @lilypond[quote,fragment,raggedright,verbatim]
2342 \override Stem #'flag-style = #'mensural
2343 \override Stem #'thickness = #1.0
2344 \override NoteHead #'style = #'mensural
2345 \autoBeamOff
2346 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
2347 c''8 d''8 e''8 f''8 c''16 d''16 e''16 f''16 c''32 d''32 e''32 f''32
2348 @end lilypond
2349
2350 Note that the innermost flare of each mensural flag always is
2351 vertically aligned with a staff line.
2352
2353 There is no particular flag style for neo-mensural notation.  Hence,
2354 when typesetting the incipit of a transcribed piece of mensural
2355 music, the default flag style should be used.  There are no flags in
2356 Gregorian Chant notation.
2357
2358 @refbugs
2359
2360 The attachment of ancient flags to stems is slightly off due to a
2361 change in early 2.3.x.
2362
2363 Vertically aligning each flag with a staff line assumes that stems
2364 always end either exactly on or exactly in the middle between two
2365 staff lines.  This may not always be true when using advanced layout
2366 features of classical notation (which however are typically out of
2367 scope for mensural notation).
2368
2369 @node Ancient time signatures
2370 @subsection Ancient time signatures
2371
2372 @cindex time signatures
2373
2374
2375 There is limited support for mensural time signatures.   The
2376 glyphs are hard-wired to particular time fractions.  In other words,
2377 to get a particular mensural signature glyph with the @code{\time n/m}
2378 command, @code{n} and @code{m} have to be chosen according to the
2379 following table
2380
2381 @lilypond[quote,raggedright]
2382 \layout {
2383   indent = 0.0
2384   \context {
2385     \Staff
2386     \remove Staff_symbol_engraver
2387     \remove Clef_engraver
2388     \remove Time_signature_engraver
2389   }
2390 }
2391 {
2392   \set Score.timing = ##f
2393   \set Score.barAlways = ##t
2394   s_\markup { "\\time 4/4" }
2395   ^\markup { "       " \musicglyph #"timesig.neomensural44" }
2396   s
2397   s_\markup { "\\time 2/2" }
2398   ^\markup { "       " \musicglyph #"timesig.neomensural22" }
2399   s
2400   s_\markup { "\\time 6/4" }
2401   ^\markup { "       " \musicglyph #"timesig.neomensural64" }
2402   s
2403   s_\markup { "\\time 6/8" }
2404   ^\markup { "       " \musicglyph #"timesig.neomensural68" }
2405   \break
2406   s_\markup { "\\time 3/2" }
2407   ^\markup { "       " \musicglyph #"timesig.neomensural32" }
2408   s
2409   s_\markup { "\\time 3/4" }
2410   ^\markup { "       " \musicglyph #"timesig.neomensural34" }
2411   s
2412   s_\markup { "\\time 9/4" }
2413   ^\markup { "       " \musicglyph #"timesig.neomensural94" }
2414   s
2415   s_\markup { "\\time 9/8" }
2416   ^\markup { "       " \musicglyph #"timesig.neomensural98" }
2417   \break
2418   s_\markup { "\\time 4/8" }
2419   ^\markup { "       " \musicglyph #"timesig.neomensural48" }
2420   s
2421   s_\markup { "\\time 2/4" }
2422   ^\markup { "       " \musicglyph #"timesig.neomensural24" }
2423 }
2424 @end lilypond
2425
2426 Use the @code{style} property of grob @internalsref{TimeSignature} to
2427 select ancient time signatures.  Supported styles are
2428 @code{neomensural} and @code{mensural}.  The above table uses the
2429 @code{neomensural} style.  This style is appropriate for the
2430 incipit of transcriptions of mensural pieces.  The @code{mensural}
2431 style mimics the look of historical printings of the 16th century.
2432
2433 The following examples show the differences in style,
2434
2435 @lilypond[raggedright,fragment,relative=1,quote]
2436 {
2437   \fatText
2438
2439   \time 2/2
2440   c1^\markup { \hspace #-2.0 \typewriter default }
2441
2442   \override Staff.TimeSignature #'style = #'numbered
2443   \time 2/2
2444   c1^\markup { \hspace #-2.0 \typewriter numbered }
2445
2446   \override Staff.TimeSignature #'style = #'mensural
2447   \time 2/2
2448   c1^\markup { \hspace #-2.0 \typewriter mensural }
2449
2450   \override Staff.TimeSignature #'style = #'neomensural
2451   \time 2/2
2452   c1^\markup { \hspace #-2.0 \typewriter neomensural }
2453   \override Staff.TimeSignature #'style = #'single-digit
2454   \time 2/2
2455   c1^\markup { \hspace #-2.0 \typewriter single-digit }
2456 }
2457 @end lilypond
2458
2459 @seealso
2460
2461 This manual: @ref{Time signature} gives a general introduction to
2462 the use of time signatures.
2463
2464 @refbugs
2465
2466 Ratios of note durations do not change with the time signature.  For
2467 example, the ratio of 1 brevis = 3 semibrevis (tempus perfectum) must
2468 be made by hand, by setting
2469
2470 @example
2471 breveTP = #(ly:make-duration -1 0 3 2)
2472 @dots{}
2473 @{ c\breveTP f1 @}
2474 @end example
2475
2476 @noindent
2477 This sets @code{breveTP} to 3/2 times 2 = 3 times a whole note.
2478
2479 The @code{old6/8alt} symbol (an alternate symbol for 6/8) is not
2480 addressable with @code{\time}.  Use a @code{\markup} instead
2481
2482 @node Ancient articulations
2483 @subsection Ancient articulations
2484
2485 @cindex articulations
2486
2487 In addition to the standard articulation signs described in section
2488 @ref{Articulations}, articulation signs for ancient notation are
2489 provided.  These are specifically designed for use with notation in
2490 Editio Vaticana style.
2491
2492 @lilypond[quote,raggedright,verbatim]
2493 \include "gregorian-init.ly"
2494 \score {
2495   \context VaticanaVoice {
2496     \override Staff.StaffSymbol #'color = #red
2497     \override Staff.LedgerLineSpanner #'color = #red
2498     \override TextScript #'font-family = #'typewriter
2499     \override TextScript #'font-shape = #'upright
2500     \override Script #'padding = #-0.1
2501     a4\ictus_"ictus" s1
2502     a4\circulus_"circulus" s1
2503     a4\semicirculus_"semicirculus" s1 s
2504     a4\accentus_"accentus" s1
2505     \[ a4_"episem" \episemInitium \pes b \flexa a \episemFinis \]
2506   }
2507 }
2508 @end lilypond
2509
2510 @refbugs
2511
2512 Some articulations are vertically placed too closely to the
2513 correpsonding note heads.
2514
2515 @node Custodes
2516 @subsection Custodes
2517
2518 @cindex custos
2519 @cindex custodes
2520
2521 A @emph{custos} (plural: @emph{custodes}; Latin word for `guard') is a
2522 symbol that appears at the end of a staff.  It anticipates the pitch
2523 of the first note(s) of the following line thus helping the performer
2524 to manage line breaks during performance.
2525
2526 Custodes were frequently used in music notation until the 17th
2527 century.  Nowadays, they have survived only in a few particular forms
2528 of musical notation such as contemporary editions of Gregorian chant
2529 like the @emph{editio vaticana}.  There are different custos glyphs
2530 used in different flavors of notational style.
2531
2532 For typesetting custodes, just put a @internalsref{Custos_engraver} into the
2533 @internalsref{Staff} context when declaring the @code{\layout} block,
2534 as shown in the following example
2535
2536 @example
2537 \layout @{
2538   \context @{
2539     \Staff
2540     \consists Custos_engraver
2541     Custos \override #'style = #'mensural
2542   @}
2543 @}
2544 @end example
2545
2546 The result looks like this
2547
2548 @lilypond[quote,raggedright]
2549 \score {
2550 {
2551   a'1
2552   \override Staff.Custos #'style = #'mensural
2553   \break
2554   g'
2555 }
2556 \layout {
2557   \context { \Staff \consists Custos_engraver }
2558   }
2559 }
2560 @end lilypond
2561
2562 The custos glyph is selected by the @code{style} property.  The styles
2563 supported are @code{vaticana}, @code{medicaea}, @code{hufnagel}, and
2564 @code{mensural}.  They are demonstrated in the following fragment
2565
2566 @lilypond[quote,raggedright,fragment]
2567 \new Lyrics \lyricmode {
2568   \markup { \column {
2569     \typewriter "vaticana"
2570     \line { " " \musicglyph #"custodes.vaticana.u0" }
2571   } }
2572   \markup { \column {
2573     \typewriter "medicaea"
2574     \line { " " \musicglyph #"custodes.medicaea.u0" }
2575   }}
2576   \markup { \column {
2577     \typewriter "hufnagel"
2578     \line { " " \musicglyph #"custodes.hufnagel.u0" }
2579   }}
2580   \markup { \column {
2581     \typewriter "mensural"
2582     \line { " " \musicglyph #"custodes.mensural.u0" }
2583   }}
2584 }
2585 @end lilypond
2586
2587 @seealso
2588
2589 Program reference: @internalsref{Custos}.
2590
2591 Examples: @inputfileref{input/@/regression,custos@/.ly}.
2592
2593
2594 @node Divisiones
2595 @subsection Divisiones
2596
2597 @cindex divisio
2598 @cindex divisiones
2599 @cindex finalis
2600
2601 A @emph{divisio} (plural: @emph{divisiones}; Latin word for
2602 `division') is a staff context symbol that is used to structure
2603 Gregorian music into phrases and sections.  The musical meaning of
2604 @emph{divisio minima}, @emph{divisio maior}, and @emph{divisio maxima}
2605 can be characterized as short, medium, and long pause, somewhat like
2606 the breathmarks from @ref{Breath marks}.  The @emph{finalis} sign not
2607 only marks the end of a chant, but is also frequently used within a
2608 single antiphonal/responsorial chant to mark the end of each section.
2609
2610
2611 To use divisiones, include the file @file{gregorian@/-init@/.ly}.  It
2612 contains definitions that you can apply by just inserting
2613 @code{\divisioMinima}, @code{\divisioMaior}, @code{\divisioMaxima},
2614 and @code{\finalis} at proper places in the input.  Some editions use
2615 @emph{virgula} or @emph{caesura} instead of divisio minima.
2616 Therefore, @file{gregorian@/-init@/.ly} also defines @code{\virgula} and
2617 @code{\caesura}
2618
2619 @lilypondfile[quote,raggedright]{divisiones.ly}
2620
2621 @refcommands
2622
2623 @cindex @code{\virgula}
2624 @code{\virgula},
2625 @cindex @code{\caesura}
2626 @code{\caesura},
2627 @cindex @code{\divisioMinima}
2628 @code{\divisioMinima},
2629 @cindex @code{\divisioMaior}
2630 @code{\divisioMaior},
2631 @cindex @code{\divisioMaxima}
2632 @code{\divisioMaxima},
2633 @cindex @code{\finalis}
2634 @code{\finalis}.
2635
2636 @seealso
2637
2638 In this manual: @ref{Breath marks}.
2639
2640 Program reference: @internalsref{BreathingSign}, @internalsref{BreathingSignEvent}.
2641
2642 Examples: @inputfileref{input/@/test,divisiones@/.ly}.
2643
2644 @node Ligatures
2645 @subsection Ligatures
2646
2647 @cindex Ligatures
2648
2649 @c TODO: Should double check if I recalled things correctly when I wrote
2650 @c down the following paragraph by heart.
2651
2652 A ligature is a graphical symbol that represents at least two distinct
2653 notes.  Ligatures originally appeared in the manuscripts of Gregorian
2654 chant notation to denote ascending or descending sequences of notes.
2655
2656 Ligatures are entered by enclosing them in @code{\[} and @code{\]}.
2657 Some ligature styles may need additional input syntax specific for
2658 this particular type of ligature.  By default, the
2659 @internalsref{LigatureBracket} engraver just puts a square bracket
2660 above the ligature
2661
2662 @lilypond[quote,raggedright,verbatim]
2663 \transpose c c' {
2664   \[ g c a f d' \]
2665   a g f
2666   \[ e f a g \]
2667 }
2668 @end lilypond
2669
2670 To select a specific style of ligatures, a proper ligature engraver
2671 has to be added to the @internalsref{Voice} context, as explained in
2672 the following subsections.   Only white mensural ligatures
2673 are supported with certain limitations.
2674
2675
2676
2677 @refbugs
2678
2679 Ligatures need special spacing that has not yet been implemented.  As
2680 a result, there is too much space between ligatures most of the time,
2681 and line breaking often is unsatisfactory.  Also, lyrics do not
2682 correctly align with ligatures.
2683
2684 Accidentals must not be printed within a ligature, but instead need to
2685 be collected and printed in front of it.
2686
2687 Augmentum dots within ligatures are not handled correctly.
2688
2689 The syntax still uses the deprecated infix style @code{\[ music expr
2690 \]}.  For consistency reasons, it will eventually be changed to
2691 postfix style @code{note\[ ... note\]}.  Alternatively, the file
2692 @file{gregorian@/-init@/.ly} can be included; it provides a scheme
2693 function
2694 @example
2695 \ligature @var{music expr}
2696 @end example
2697 with the same effect and is believed to be stable.
2698
2699 @menu
2700 * White mensural ligatures::    
2701 * Gregorian square neumes ligatures::  
2702 @end menu
2703
2704 @node White mensural ligatures
2705 @subsubsection White mensural ligatures
2706
2707 @cindex Mensural ligatures
2708 @cindex White mensural ligatures
2709
2710 There is limited support for white mensural ligatures.
2711
2712 To engrave white mensural ligatures, in the layout block put the
2713 @internalsref{Mensural_ligature_engraver} into the
2714 @internalsref{Voice} context, and remove the
2715 @internalsref{Ligature_bracket_engraver}, like this
2716
2717 @example
2718 \layout @{
2719   \context @{
2720     \Voice
2721     \remove Ligature_bracket_engraver
2722     \consists Mensural_ligature_engraver
2723   @}
2724 @}
2725 @end example
2726
2727 There is no additional input language to describe the shape of a
2728 white mensural ligature.  The shape is rather determined solely from
2729 the pitch and duration of the enclosed notes.  While this approach may
2730 take a new user a while to get accustomed to, it has the great advantage
2731 that the full musical information of the ligature is known internally.
2732 This is not only required for correct MIDI output, but also allows for
2733 automatic transcription of the ligatures.
2734
2735 For example,
2736
2737 @example
2738 \set Score.timing = ##f
2739 \set Score.defaultBarType = "empty"
2740 \override NoteHead #'style = #'neomensural
2741 \override Staff.TimeSignature #'style = #'neomensural
2742 \clef "petrucci-g"
2743 \[ c'\maxima g \]
2744 s4
2745 \[ d\longa c\breve f e d \]
2746 s4
2747 \[ c'\maxima d'\longa \]
2748 s4
2749 \[ e'1 a g\breve \]
2750 @end example
2751 @lilypond[quote,raggedright]
2752 \score {
2753   \transpose c c' {
2754     \set Score.timing = ##f
2755     \set Score.defaultBarType = "empty"
2756     \override NoteHead #'style = #'neomensural
2757     \override Staff.TimeSignature #'style = #'neomensural
2758     \clef "petrucci-g"
2759     \[ c'\maxima g \]
2760     s4
2761     \[ d\longa c\breve f e d \]
2762     s4
2763     \[ c'\maxima d'\longa \]
2764     s4
2765     \[ e'1 a g\breve \]
2766   }
2767   \layout {
2768     \context {
2769       \Voice
2770       \remove Ligature_bracket_engraver
2771       \consists Mensural_ligature_engraver
2772     }
2773   }
2774 }
2775 @end lilypond
2776
2777 Without replacing @internalsref{Ligature_bracket_engraver} with
2778 @internalsref{Mensural_ligature_engraver}, the same music transcribes
2779 to the following
2780
2781 @lilypond[quote,raggedright]
2782 \transpose c c' {
2783   \set Score.timing = ##f
2784   \set Score.defaultBarType = "empty"
2785   \override NoteHead #'style = #'neomensural
2786   \override Staff.TimeSignature #'style = #'neomensural
2787   \clef "petrucci-g"
2788   \[ c'\maxima g \]
2789   s4
2790   \[ d\longa c\breve f e d \]
2791   s4
2792   \[ c'\maxima d'\longa \]
2793   s4
2794   \[ e'1 a g\breve \]
2795 }
2796 @end lilypond
2797
2798 @refbugs
2799
2800 The invisible rests (@code{s4}) in the example are used to compensate
2801 for the poor horizontal spacing.
2802
2803 @node Gregorian square neumes ligatures
2804 @subsubsection Gregorian square neumes ligatures
2805
2806 @cindex Square neumes ligatures
2807 @cindex Gregorian square neumes ligatures
2808
2809 There is limited support for Gregorian square neumes notation
2810 (following the style of the Editio Vaticana).  Core ligatures can
2811 already be typeset, but essential issues for serious typesetting are
2812 still lacking, such as (among others) horizontal alignment of multiple
2813 ligatures, lyrics alignment and proper handling of accidentals.
2814
2815
2816 The following table contains the extended neumes table of the 2nd
2817 volume of the Antiphonale Romanum (@emph{Liber Hymnarius}), published
2818 1983 by the monks of Solesmes.
2819
2820 @multitable @columnfractions .4 .2 .2 .2
2821
2822 @item
2823 @b{Neuma aut@*
2824 Neumarum Elementa}
2825 @tab
2826 @b{Figurae@*
2827 Rectae}
2828 @tab
2829 @b{Figurae@*
2830 Liquescentes@*
2831 Auctae}
2832 @tab
2833 @b{Figurae@*
2834 Liquescentes@*
2835 Deminutae}
2836
2837 @c TODO: \layout block is identical in all of the below examples.
2838 @c Therefore, it should somehow be included rather than duplicated all
2839 @c the time. --jr
2840
2841 @c why not make identifiers in ly/engraver-init.ly? --hwn
2842
2843 @c Because it's just used to typeset plain notes without
2844 @c a staff for demonstration purposes rather than something
2845 @c special of Gregorian chant notation. --jr
2846
2847 @item
2848 @code{1. Punctum}
2849 @tab
2850 @lilypond[staffsize=26,linewidth=1.5\cm]
2851 \include "gregorian-init.ly"
2852 \score {
2853   \transpose c c' {
2854     % Punctum
2855     \[ b \]
2856     \noBreak s^\markup {"a"} \noBreak
2857
2858     % Punctum Inclinatum
2859     \[ \inclinatum b \]
2860     \noBreak s^\markup {"b"}
2861   }
2862 \layout { \neumeDemoLayout }}
2863 @end lilypond
2864 @tab
2865 @lilypond[staffsize=26,linewidth=2.5\cm]
2866 \include "gregorian-init.ly"
2867 \score {
2868   \transpose c c' {
2869     % Punctum Auctum Ascendens
2870     \[ \auctum \ascendens b \]
2871     \noBreak s^\markup {"c"} \noBreak
2872
2873     % Punctum Auctum Descendens
2874     \[ \auctum \descendens b \]
2875     \noBreak s^\markup {"d"} \noBreak
2876
2877     % Punctum Inclinatum Auctum
2878     \[ \inclinatum \auctum b \]
2879     \noBreak s^\markup {"e"}
2880   }
2881 \layout { \neumeDemoLayout }}
2882 @end lilypond
2883 @tab
2884 @lilypond[staffsize=26,linewidth=1.0\cm]
2885 \include "gregorian-init.ly"
2886 \score {
2887   \transpose c c' {
2888     % Punctum Inclinatum Parvum
2889     \[ \inclinatum \deminutum b \]
2890     \noBreak s^\markup {"f"}
2891   }
2892 \layout { \neumeDemoLayout }}
2893 @end lilypond
2894
2895 @item
2896 @code{2. Virga}
2897 @tab
2898 @lilypond[staffsize=26,linewidth=1.0\cm]
2899 \include "gregorian-init.ly"
2900 \score {
2901   \transpose c c' {
2902     % Virga
2903     \[ \virga b \]
2904     \noBreak s^\markup {"g"}
2905   }
2906 \layout { \neumeDemoLayout }}
2907 @end lilypond
2908 @tab
2909 @tab
2910
2911 @item
2912 @code{3. Apostropha vel Stropha}
2913 @tab
2914 @lilypond[staffsize=26,linewidth=1.0\cm]
2915 \include "gregorian-init.ly"
2916 \score {
2917   \transpose c c' {
2918     % Stropha
2919     \[ \stropha b \]
2920     \noBreak s^\markup {"h"}
2921   }
2922 \layout { \neumeDemoLayout }}
2923 @end lilypond
2924 @tab
2925 @lilypond[staffsize=26,linewidth=1.0\cm]
2926 \include "gregorian-init.ly"
2927 \score {
2928   \transpose c c' {
2929     % Stropha Aucta
2930     \[ \stropha \auctum b \]
2931     \noBreak s^\markup {"i"}
2932   }
2933 \layout { \neumeDemoLayout }}
2934 @end lilypond
2935 @tab
2936
2937 @item
2938 @code{4. Oriscus}
2939 @tab
2940 @lilypond[staffsize=26,linewidth=1.0\cm]
2941 \include "gregorian-init.ly"
2942 \score {
2943   \transpose c c' {
2944     % Oriscus
2945     \[ \oriscus b \]
2946     \noBreak s^\markup {"j"}
2947   }
2948 \layout { \neumeDemoLayout }}
2949 @end lilypond
2950 @tab
2951 @tab
2952
2953 @item
2954 @code{5. Clivis vel Flexa}
2955 @tab
2956 @lilypond[staffsize=26,linewidth=1.0\cm]
2957 \include "gregorian-init.ly"
2958 \score {
2959   \transpose c c' {
2960     % Clivis vel Flexa
2961     \[ b \flexa g \]
2962     s^\markup {"k"}
2963   }
2964 \layout { \neumeDemoLayout }}
2965 @end lilypond
2966 @tab
2967 @lilypond[staffsize=26,linewidth=2.0\cm]
2968 \include "gregorian-init.ly"
2969 \score {
2970   \transpose c c' {
2971     % Clivis Aucta Descendens
2972     \[ b \flexa \auctum \descendens g \]
2973     \noBreak s^\markup {"l"} \noBreak
2974
2975     % Clivis Aucta Ascendens
2976     \[ b \flexa \auctum \ascendens g \]
2977     \noBreak s^\markup {"m"}
2978   }
2979 \layout { \neumeDemoLayout }}
2980 @end lilypond
2981 @tab
2982 @lilypond[staffsize=26,linewidth=1.0\cm]
2983 \include "gregorian-init.ly"
2984 \score {
2985   \transpose c c' {
2986     % Cephalicus
2987     \[ b \flexa \deminutum g \]
2988     s^\markup {"n"}
2989   }
2990 \layout { \neumeDemoLayout }}
2991 @end lilypond
2992
2993 @item
2994 @code{6. Podatus vel Pes}
2995 @tab
2996 @lilypond[staffsize=26,linewidth=1.0\cm]
2997 \include "gregorian-init.ly"
2998 \score {
2999   \transpose c c' {
3000     % Podatus vel Pes
3001     \[ g \pes b \]
3002     s^\markup {"o"}
3003   }
3004 \layout { \neumeDemoLayout }}
3005 @end lilypond
3006 @tab
3007 @lilypond[staffsize=26,linewidth=2.0\cm]
3008 \include "gregorian-init.ly"
3009 \score {
3010   \transpose c c' {
3011     % Pes Auctus Descendens
3012     \[ g \pes \auctum \descendens b \]
3013     \noBreak s^\markup {"p"} \noBreak
3014
3015     % Pes Auctus Ascendens
3016     \[ g \pes \auctum \ascendens b \]
3017     \noBreak s^\markup {"q"}
3018   }
3019 \layout { \neumeDemoLayout }}
3020 @end lilypond
3021 @tab
3022 @lilypond[staffsize=26,linewidth=1.0\cm]
3023 \include "gregorian-init.ly"
3024 \score {
3025   \transpose c c' {
3026     % Epiphonus
3027     \[ g \pes \deminutum b \]
3028     s^\markup {"r"}
3029   }
3030 \layout { \neumeDemoLayout }}
3031 @end lilypond
3032
3033 @item
3034 @code{7. Pes Quassus}
3035 @tab
3036 @lilypond[staffsize=26,linewidth=1.0\cm]
3037 \include "gregorian-init.ly"
3038 \score {
3039   \transpose c c' {
3040     % Pes Quassus
3041     \[ \oriscus g \pes \virga b \]
3042     s^\markup {"s"}
3043   }
3044 \layout { \neumeDemoLayout }}
3045 @end lilypond
3046 @tab
3047 @lilypond[staffsize=26,linewidth=1.0\cm]
3048 \include "gregorian-init.ly"
3049 \score {
3050   \transpose c c' {
3051     % Pes Quassus Auctus Descendens
3052     \[ \oriscus g \pes \auctum \descendens b \]
3053     s^\markup {"t"}
3054   }
3055 \layout { \neumeDemoLayout }}
3056 @end lilypond
3057 @tab
3058
3059 @item
3060 @code{8. Quilisma Pes}
3061 @tab
3062 @lilypond[staffsize=26,linewidth=1.0\cm]
3063 \include "gregorian-init.ly"
3064 \score {
3065   \transpose c c' {
3066     % Quilisma Pes
3067     \[ \quilisma g \pes b \]
3068     s^\markup {"u"}
3069   }
3070 \layout { \neumeDemoLayout }}
3071 @end lilypond
3072 @tab
3073 @lilypond[staffsize=26,linewidth=1.0\cm]
3074 \include "gregorian-init.ly"
3075 \score {
3076   \transpose c c' {
3077     % Quilisma Pes Auctus Descendens
3078     \[ \quilisma g \pes \auctum \descendens b \]
3079     s^\markup {"v"}
3080   }
3081 \layout { \neumeDemoLayout }}
3082 @end lilypond
3083 @tab
3084
3085 @item
3086 @code{9. Podatus Initio Debilis}
3087 @tab
3088 @lilypond[staffsize=26,linewidth=1.0\cm]
3089 \include "gregorian-init.ly"
3090 \score {
3091   \transpose c c' {
3092     % Pes Initio Debilis
3093     \[ \deminutum g \pes b \]
3094     s^\markup {"w"}
3095   }
3096 \layout { \neumeDemoLayout }}
3097 @end lilypond
3098 @tab
3099 @lilypond[staffsize=26,linewidth=1.0\cm]
3100 \include "gregorian-init.ly"
3101 \score {
3102   \transpose c c' {
3103     % Pes Auctus Descendens Initio Debilis
3104     \[ \deminutum g \pes \auctum \descendens b \]
3105     s^\markup {"x"}
3106   }
3107 \layout { \neumeDemoLayout }}
3108 @end lilypond
3109 @tab
3110
3111 @item
3112 @code{10. Torculus}
3113 @tab
3114 @lilypond[staffsize=26,linewidth=1.0\cm]
3115 \include "gregorian-init.ly"
3116 \score {
3117   \transpose c c' {
3118     % Torculus
3119     \[ a \pes b \flexa g \]
3120     s^\markup {"y"}
3121   }
3122 \layout { \neumeDemoLayout }}
3123 @end lilypond
3124 @tab
3125 @lilypond[staffsize=26,linewidth=1.0\cm]
3126 \include "gregorian-init.ly"
3127 \score {
3128   \transpose c c' {
3129     % Torculus Auctus Descendens
3130     \[ a \pes b \flexa \auctum \descendens g \]
3131     s^\markup {"z"}
3132   }
3133 \layout { \neumeDemoLayout }}
3134 @end lilypond
3135 @tab
3136 @lilypond[staffsize=26,linewidth=1.0\cm]
3137 \include "gregorian-init.ly"
3138 \score {
3139   \transpose c c' {
3140     % Torculus Deminutus
3141     \[ a \pes b \flexa \deminutum g \]
3142     s^\markup {"A"}
3143   }
3144 \layout { \neumeDemoLayout }}
3145 @end lilypond
3146
3147 @item
3148 @code{11. Torculus Initio Debilis}
3149 @tab
3150 @lilypond[staffsize=26,linewidth=1.0\cm]
3151 \include "gregorian-init.ly"
3152 \score {
3153   \transpose c c' {
3154     % Torculus Initio Debilis
3155     \[ \deminutum a \pes b \flexa g \]
3156     s^\markup {"B"}
3157   }
3158 \layout { \neumeDemoLayout }}
3159 @end lilypond
3160 @tab
3161 @lilypond[staffsize=26,linewidth=1.0\cm]
3162 \include "gregorian-init.ly"
3163 \score {
3164   \transpose c c' {
3165     % Torculus Auctus Descendens Initio Debilis
3166     \[ \deminutum a \pes b \flexa \auctum \descendens g \]
3167     s^\markup {"C"}
3168   }
3169 \layout { \neumeDemoLayout }}
3170 @end lilypond
3171 @tab
3172 @lilypond[staffsize=26,linewidth=1.0\cm]
3173 \include "gregorian-init.ly"
3174 \score {
3175   \transpose c c' {
3176     % Torculus Deminutus Initio Debilis
3177     \[ \deminutum a \pes b \flexa \deminutum g \]
3178     s^\markup {"D"}
3179   }
3180 \layout { \neumeDemoLayout }}
3181 @end lilypond
3182
3183 @item
3184 @code{12. Porrectus}
3185 @tab
3186 @lilypond[staffsize=26,linewidth=1.0\cm]
3187 \include "gregorian-init.ly"
3188 \score {
3189   \transpose c c' {
3190     % Porrectus
3191     \[ a \flexa g \pes b \]
3192     s^\markup {"E"}
3193   }
3194 \layout { \neumeDemoLayout }}
3195 @end lilypond
3196 @tab
3197 @lilypond[staffsize=26,linewidth=1.0\cm]
3198 \include "gregorian-init.ly"
3199 \score {
3200   \transpose c c' {
3201     % Porrectus Auctus Descendens
3202     \[ a \flexa g \pes \auctum \descendens b \]
3203     s^\markup {"F"}
3204   }
3205 \layout { \neumeDemoLayout }}
3206 @end lilypond
3207 @tab
3208 @lilypond[staffsize=26,linewidth=1.0\cm]
3209 \include "gregorian-init.ly"
3210 \score {
3211   \transpose c c' {
3212     % Porrectus Deminutus
3213     \[ a \flexa g \pes \deminutum b \]
3214     s^\markup {"G"}
3215   }
3216 \layout { \neumeDemoLayout }}
3217 @end lilypond
3218
3219 @item
3220 @code{13. Climacus}
3221 @tab
3222 @lilypond[staffsize=26,linewidth=1.0\cm]
3223 \include "gregorian-init.ly"
3224 \score {
3225   \transpose c c' {
3226     % Climacus
3227     \[ \virga b \inclinatum a \inclinatum g \]
3228     s^\markup {"H"}
3229   }
3230   \layout { \neumeDemoLayout }
3231 }
3232 @end lilypond
3233 @tab
3234 @lilypond[staffsize=26,linewidth=1.0\cm]
3235 \include "gregorian-init.ly"
3236 \score {
3237   \transpose c c' {
3238     % Climacus Auctus
3239     \[ \virga b \inclinatum a \inclinatum \auctum g \]
3240     s^\markup {"I"}
3241   }
3242 \layout { \neumeDemoLayout }}
3243 @end lilypond
3244 @tab
3245 @lilypond[staffsize=26,linewidth=1.0\cm]
3246 \include "gregorian-init.ly"
3247 \score {
3248   \transpose c c' {
3249     % Climacus Deminutus
3250     \[ \virga b \inclinatum a \inclinatum \deminutum g \]
3251     s^\markup {"J"}
3252   }
3253 \layout { \neumeDemoLayout }}
3254 @end lilypond
3255
3256 @item
3257 @code{14. Scandicus}
3258 @tab
3259 @lilypond[staffsize=26,linewidth=1.0\cm]
3260 \include "gregorian-init.ly"
3261 \score {
3262   \transpose c c' {
3263     % Scandicus
3264     \[ g \pes a \virga b \]
3265     s^\markup {"K"}
3266   }
3267 \layout { \neumeDemoLayout }}
3268 @end lilypond
3269 @tab
3270 @lilypond[staffsize=26,linewidth=1.0\cm]
3271 \include "gregorian-init.ly"
3272 \score {
3273   \transpose c c' {
3274     % Scandicus Auctus Descendens
3275     \[ g \pes a \pes \auctum \descendens b \]
3276     s^\markup {"L"}
3277   }
3278 \layout { \neumeDemoLayout }}
3279 @end lilypond
3280 @tab
3281 @lilypond[staffsize=26,linewidth=1.0\cm]
3282 \include "gregorian-init.ly"
3283 \score {
3284   \transpose c c' {
3285     % Scandicus Deminutus
3286     \[ g \pes a \pes \deminutum b \]
3287     s^\markup {"M"}
3288   }
3289 \layout { \neumeDemoLayout }}
3290 @end lilypond
3291
3292 @item
3293 @code{15. Salicus}
3294 @tab
3295 @lilypond[staffsize=26,linewidth=1.0\cm]
3296 \include "gregorian-init.ly"
3297 \score {
3298   \transpose c c' {
3299     % Salicus
3300     \[ g \oriscus a \pes \virga b \]
3301     s^\markup {"N"}
3302   }
3303 \layout { \neumeDemoLayout }}
3304 @end lilypond
3305 @tab
3306 @lilypond[staffsize=26,linewidth=1.0\cm]
3307 \include "gregorian-init.ly"
3308 \score {
3309   \transpose c c' {
3310     % Salicus Auctus Descendens
3311     \[ g \oriscus a \pes \auctum \descendens b \]
3312     s^\markup {"O"}
3313   }
3314 \layout { \neumeDemoLayout }}
3315 @end lilypond
3316 @tab
3317
3318 @item
3319 @code{16. Trigonus}
3320 @tab
3321 @lilypond[staffsize=26,linewidth=1.0\cm]
3322 \include "gregorian-init.ly"
3323 \score {
3324   \transpose c c' {
3325     % Trigonus
3326     \[ \stropha b \stropha b \stropha a \]
3327     s^\markup {"P"}
3328   }
3329   \layout { \neumeDemoLayout }
3330 }
3331 @end lilypond
3332 @tab
3333 @tab
3334
3335 @end multitable
3336
3337
3338 Unlike most other neumes notation systems, the input language for
3339 neumes does not reflect the typographical appearance, but is designed
3340 to focus on musical meaning.  For example, @code{\[ a \pes b
3341 \flexa g \]} produces a Torculus consisting of three Punctum heads,
3342 while @code{\[ a \flexa g \pes b \]} produces a Porrectus with a
3343 curved flexa shape and only a single Punctum head.  There is no
3344 command to explicitly typeset the curved flexa shape; the decision of
3345 when to typeset a curved flexa shape is based on the musical
3346 input.  The idea of this approach is to separate the musical aspects
3347 of the input from the notation style of the output.  This way, the
3348 same input can be reused to typeset the same music in a different
3349 style of Gregorian chant notation.
3350
3351 The following table shows the code fragments that produce the
3352 ligatures in the above neumes table.  The letter in the first column
3353 in each line of the below table indicates to which ligature in the
3354 above table it refers.  The second column gives the name of the
3355 ligature.  The third column shows the code fragment that produces this
3356 ligature, using @code{g}, @code{a}, and @code{b} as example pitches.
3357
3358 @multitable @columnfractions .02 .31 .67
3359 @item
3360 @b{#}
3361 @tab
3362 @b{Name}
3363 @tab
3364 @b{Input Language}
3365
3366 @item
3367 a
3368 @tab
3369 Punctum
3370 @tab
3371 @code{\[ b \]}
3372
3373 @item
3374 b
3375 @tab
3376 Punctum Inclinatum
3377 @tab
3378 @code{\[ \inclinatum b \]}
3379
3380 @item
3381 c
3382 @tab
3383 Punctum Auctum@*
3384 Ascendens
3385 @tab
3386 @code{\[ \auctum \ascendens b \]}
3387
3388 @item
3389 d
3390 @tab
3391 Punctum Auctum@*
3392 Descendens
3393 @tab
3394 @code{\[ \auctum \descendens b \]}
3395
3396 @item
3397 e
3398 @tab
3399 Punctum Inclinatum@*
3400 Auctum
3401 @tab
3402 @code{\[ \inclinatum \auctum b \]}
3403
3404 @item
3405 f
3406 @tab
3407 Punctum Inclinatum@*
3408 Parvum @tab
3409 @code{\[ \inclinatum \deminutum b \]}
3410
3411 @item
3412 g
3413 @tab
3414 Virga
3415 @tab
3416 @code{\[ \virga b \]}
3417
3418 @item
3419 h
3420 @tab
3421 Stropha
3422 @tab
3423 @code{\[ \stropha b \]}
3424
3425 @item
3426 i
3427 @tab
3428 Stropha Aucta
3429 @tab
3430 @code{\[ \stropha \auctum b \]}
3431
3432 @item
3433 j
3434 @tab
3435 Oriscus
3436 @tab
3437 @code{\[ \oriscus b \]}
3438
3439 @item
3440 k
3441 @tab
3442 Clivis vel Flexa
3443 @tab
3444 @code{\[ b \flexa g \]}
3445
3446 @item
3447 l
3448 @tab
3449 Clivis Aucta@*
3450 Descendens
3451 @tab
3452 @code{\[ b \flexa \auctum \descendens g \]}
3453
3454 @item
3455 m
3456 @tab
3457 Clivis Aucta@*
3458 Ascendens
3459 @tab
3460 @code{\[ b \flexa \auctum \ascendens g \]}
3461
3462 @item
3463 n
3464 @tab
3465 Cephalicus
3466 @tab
3467 @code{\[ b \flexa \deminutum g \]}
3468
3469 @item
3470 o
3471 @tab
3472 Podatus vel Pes
3473 @tab
3474 @code{\[ g \pes b \]}
3475
3476 @item
3477 p
3478 @tab
3479 Pes Auctus@*
3480 Descendens
3481 @tab
3482 @code{\[ g \pes \auctum \descendens b \]}
3483
3484 @item
3485 q
3486 @tab
3487 Pes Auctus@*
3488 Ascendens
3489 @tab
3490 @code{\[ g \pes \auctum \ascendens b \]}
3491
3492 @item
3493 r
3494 @tab
3495 Epiphonus
3496 @tab
3497 @code{\[ g \pes \deminutum b \]}
3498
3499 @item
3500 s
3501 @tab
3502 Pes Quassus
3503 @tab
3504 @code{\[ \oriscus g \pes \virga b \]}
3505
3506 @item
3507 t
3508 @tab
3509 Pes Quassus@*
3510 Auctus Descendens @tab
3511 @code{\[ \oriscus g \pes \auctum \descendens b \]}
3512
3513 @item
3514 u
3515 @tab
3516 Quilisma Pes
3517 @tab
3518 @code{\[ \quilisma g \pes b \]}
3519
3520 @item
3521 v
3522 @tab
3523 Quilisma Pes@*
3524 Auctus Descendens
3525 @tab
3526 @code{\[ \quilisma g \pes \auctum \descendens b \]}
3527
3528 @item
3529 w
3530 @tab
3531 Pes Initio Debilis
3532 @tab
3533 @code{\[ \deminutum g \pes b \]}
3534
3535 @item
3536 x
3537 @tab
3538 Pes Auctus Descendens@*
3539 Initio Debilis
3540 @tab
3541 @code{\[ \deminutum g \pes \auctum \descendens b \]}
3542
3543 @item
3544 y
3545 @tab
3546 Torculus
3547 @tab
3548 @code{\[ a \pes b \flexa g \]}
3549
3550 @item
3551 z
3552 @tab
3553 Torculus Auctus@*
3554 Descendens
3555 @tab
3556 @code{\[ a \pes b \flexa \auctum \descendens g \]}
3557
3558 @item
3559 A
3560 @tab
3561 Torculus Deminutus
3562 @tab
3563 @code{\[ a \pes b \flexa \deminutum g \]}
3564
3565 @item
3566 B
3567 @tab
3568 Torculus Initio Debilis
3569 @tab
3570 @code{\[ \deminutum a \pes b \flexa g \]}
3571
3572 @item
3573 C
3574 @tab
3575 Torculus Auctus@*
3576 Descendens Initio Debilis
3577 @tab
3578 @code{\[ \deminutum a \pes b \flexa \auctum \descendens g \]}
3579
3580 @item
3581 D
3582 @tab
3583 Torculus Deminutus@*
3584 Initio Debilis
3585 @tab
3586 @code{\[ \deminutum a \pes b \flexa \deminutum g \]}
3587
3588 @item
3589 E
3590 @tab
3591 Porrectus
3592 @tab
3593 @code{\[ a \flexa g \pes b \]}
3594
3595 @item
3596 F
3597 @tab
3598 Porrectus Auctus@*
3599 Descendens
3600 @tab
3601 @code{\[ a \flexa g \pes \auctum \descendens b \]}
3602
3603 @item
3604 G
3605 @tab
3606 Porrectus Deminutus
3607 @tab
3608 @code{\[ a \flexa g \pes \deminutum b \]}
3609
3610 @item
3611 H
3612 @tab
3613 Climacus
3614 @tab
3615 @code{\[ \virga b \inclinatum a \inclinatum g \]}
3616
3617 @item
3618 I
3619 @tab
3620 Climacus Auctus
3621 @tab
3622 @code{\[ \virga b \inclinatum a \inclinatum \auctum g \]}
3623
3624 @item
3625 J
3626 @tab
3627 Climacus Deminutus
3628 @tab
3629 @code{\[ \virga b \inclinatum a \inclinatum \deminutum g \]}
3630
3631 @item
3632 K
3633 @tab
3634 Scandicus
3635 @tab
3636 @code{\[ g \pes a \virga b \]}
3637
3638 @item
3639 L
3640 @tab
3641 Scandicus Auctus@*
3642 Descendens
3643 @tab
3644 @code{\[ g \pes a \pes \auctum \descendens b \]}
3645
3646 @item
3647 M
3648 @tab
3649 Scandicus Deminutus
3650 @tab
3651 @code{\[ g \pes a \pes \deminutum b \]}
3652
3653 @item
3654 N
3655 @tab
3656 Salicus
3657 @tab
3658 @code{\[ g \oriscus a \pes \virga b \]}
3659
3660 @item
3661 O
3662 @tab
3663 Salicus Auctus Descendens
3664 @tab
3665 @code{\[ g \oriscus a \pes \auctum \descendens b \]}
3666
3667 @item
3668 P
3669 @tab
3670 Trigonus
3671 @tab
3672 @code{\[ \stropha b \stropha b \stropha a \]}
3673 @end multitable
3674
3675 @refcommands
3676
3677 The following head prefixes are supported
3678
3679 @cindex @code{\virga}
3680 @code{\virga},
3681 @cindex @code{\stropha}
3682 @code{\stropha},
3683 @cindex @code{\inclinatum}
3684 @code{\inclinatum},
3685 @cindex @code{\auctum}
3686 @code{\auctum},
3687 @cindex @code{\descendens}
3688 @code{\descendens},
3689 @cindex @code{\ascendens}
3690 @code{\ascendens},
3691 @cindex @code{\oriscus}
3692 @code{\oriscus},
3693 @cindex @code{\quilisma}
3694 @code{\quilisma},
3695 @cindex @code{\deminutum}
3696 @code{\deminutum}.
3697
3698 Head prefixes can be accumulated, though restrictions apply.  For
3699 example, either @code{\descendens} or @code{\ascendens} can be applied
3700 to a head, but not both to the same head.
3701
3702 @cindex @code{\pes}
3703 @cindex @code{\flexa}
3704 Two adjacent heads can be tied together with the @code{\pes} and
3705 @code{\flexa} infix commands for a rising and falling line of melody,
3706 respectively.
3707
3708
3709
3710 @node Gregorian Chant contexts
3711 @subsection Gregorian Chant contexts
3712
3713 @cindex VaticanaVoiceContext
3714 @cindex VaticanaStaffContext
3715
3716 The predefined @code{VaticanaVoiceContext} and
3717 @code{VaticanaStaffContext} can be used to engrave a piece of
3718 Gregorian Chant in the style of the Editio Vaticana.  These contexts
3719 initialize all relevant context properties and grob properties to
3720 proper values, so you can immediately go ahead entering the chant, as
3721 the following excerpt demonstrates
3722
3723 @lilypond[quote,raggedright,packed,verbatim]
3724 \include "gregorian-init.ly"
3725 \score {
3726   <<
3727     \context VaticanaVoice = "cantus" {
3728       \override Staff.StaffSymbol #'color = #red
3729       \override Staff.LedgerLineSpanner #'color = #red
3730       \override Score.BarNumber #'transparent = ##t {
3731         \[ c'\melisma c' \flexa a \]
3732         \[ a \flexa \deminutum g\melismaEnd \]
3733         f \divisioMinima
3734         \[ f\melisma \pes a c' c' \pes d'\melismaEnd \]
3735         c' \divisioMinima \break
3736         \[ c'\melisma c' \flexa a \]
3737         \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima
3738       }
3739     }
3740     \lyricsto "cantus" \new Lyrics {
3741       San- ctus, San- ctus, San- ctus
3742     }
3743   >>
3744 }
3745 @end lilypond
3746
3747
3748 @node Mensural contexts
3749 @subsection Mensural contexts
3750
3751 @cindex MensuralVoiceContext
3752 @cindex MensuralStaffContext
3753
3754 The predefined @code{MensuralVoiceContext} and
3755 @code{MensuralStaffContext} can be used to engrave a piece in mensural
3756 style.  These contexts initialize all relevant context properties and
3757 grob properties to proper values, so you can immediately go ahead
3758 entering the chant, as the following excerpt demonstrates
3759
3760 @lilypond[quote,raggedright,verbatim]
3761 \score {
3762   <<
3763     \context MensuralVoice = "discantus" \transpose c c' {
3764       \override Score.BarNumber #'transparent = ##t {
3765         c'1\melisma bes a g\melismaEnd
3766         f\breve
3767         \[ f1\melisma a c'\breve d'\melismaEnd \]
3768         c'\longa
3769         c'\breve\melisma a1 g1\melismaEnd
3770         fis\longa^\signumcongruentiae
3771       }
3772     }
3773     \lyricsto "discantus" \new Lyrics {
3774       San -- ctus, San -- ctus, San -- ctus
3775     }
3776   >>
3777 }
3778 @end lilypond
3779
3780
3781 @node Figured bass
3782 @subsection Figured bass
3783
3784 @cindex Basso continuo
3785
3786 @c TODO: musicological blurb about FB
3787
3788
3789 LilyPond has limited support for figured bass
3790
3791 @lilypond[quote,raggedright,verbatim,fragment]
3792 <<
3793   \context Voice { \clef bass dis4 c d ais g fis}
3794   \context FiguredBass \figuremode {
3795     < 6 >4 < 7 >8 < 6+ [_!] >
3796     < 6 >4 <6 5 [3+] >
3797     < _ >4 < 6 >4
3798   }
3799 >>
3800 @end lilypond
3801
3802 The support for figured bass consists of two parts: there is an input
3803 mode, introduced by @code{\figuremode}, where you can enter bass figures
3804 as numbers, and there is a context called @internalsref{FiguredBass} that
3805 takes care of making @internalsref{BassFigure} objects.
3806
3807 In figures input mode, a group of bass figures is delimited by
3808 @code{<} and @code{>}.  The duration is entered after the @code{>}
3809 @example
3810 <4 6>
3811 @end example
3812 @lilypond[quote,raggedright,fragment]
3813 \context FiguredBass
3814 \figuremode { <4 6> }
3815 @end lilypond
3816
3817 Accidentals are added when you append @code{-}, @code{!}, and @code{+}
3818 to the numbers
3819
3820 @example
3821 <4- 6+ 7!>
3822 @end example
3823 @lilypond[quote,raggedright,fragment]
3824 \context FiguredBass
3825 \figuremode { <4- 6+ 7!> }
3826 @end lilypond
3827
3828 Spaces or dashes may be inserted by using @code{_}.  Brackets are
3829 introduced with @code{[} and @code{]}. You can also include text
3830 strings and text markups, see @ref{Overview of text markup commands}.
3831
3832 @example
3833 < [4 6] 8 [_! 12] > < 5 \markup @{ + \number 6 @} >
3834 @end example
3835 @lilypond[quote,raggedright,fragment]
3836 \context FiguredBass
3837 \figuremode { < [4 6] 8 [_! 12] > < 5 \markup{ + \number 6 } > }
3838 @end lilypond
3839
3840
3841 Although the support for figured bass may superficially resemble chord
3842 support, it works much simpler.  The @code{\figuremode} mode simply
3843 stores the numbers and @internalsref{FiguredBass} context prints
3844 them as entered.  There is no conversion to pitches and no
3845 realizations of the bass are played in the MIDI file.
3846
3847 Internally, the code produces markup texts.  You can use any of the
3848 markup text properties to override formatting.  For example, the
3849 vertical spacing of the figures may be set with @code{baseline-skip}.
3850
3851 @seealso
3852
3853 Program reference: @internalsref{BassFigureEvent} music,
3854 @internalsref{BassFigure} object, and @internalsref{FiguredBass} context.
3855
3856 @refbugs
3857
3858 Slash notation for alterations is not supported.
3859
3860
3861
3862 @node Other instrument specific notation
3863 @section Other instrument specific notation
3864
3865 This section includes extra information for writing for instruments.
3866
3867 @menu
3868 * Artificial harmonics (strings)::  
3869 * Stopped notes (guitar)::      
3870 @end menu
3871
3872 @node Artificial harmonics (strings)
3873 @subsection Artificial harmonics (strings)
3874
3875 @cindex artificial harmonics
3876
3877 Artificial harmonics are notated with a different notehead style.  They
3878 are entered by marking the harmonic pitch with @code{\harmonic}.
3879
3880 @lilypond[raggedright,verbatim,quote,fragment,relative=1]
3881 <c g'\harmonic>4
3882 @end lilypond
3883
3884
3885 @node Stopped notes (guitar)
3886 @subsection Stopped notes (guitar)
3887
3888 Stopped (X) note heads are used in guitar music to signal a place where the 
3889 guitarist must play a certain note or chord, with its fingers just 
3890 touching the strings instead of fully pressing them.  This gives the sound a 
3891 percussive noise-like sound that still maintains part of the original pitch.
3892
3893 Finger stopped technique is extremely important for rhythm and rock-heavy 
3894 metal guitarists; the former often uses barrĂ© based stopped chords to 
3895 intermix harmony with rythm, the latters use finger stopping to mute power 
3896 chords, or charge them with more expression in close-tied power chord stums.
3897
3898 It is also used (even if rarely) in classic guitar music, generally in the 
3899 melodic line, to provide some rithmic pattern right in the melody.
3900
3901 @lilypond[raggedright,verbatim,quote,fragment,relative=2]
3902 c4 d
3903 \override NoteHead #'style = #'cross
3904 e f
3905 \revert NoteHead #'style
3906 e d
3907 @end lilypond
3908
3909