]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/chords.itely
lilypond-book robustness: ensure EOL at the end of @verbatim
[lilypond.git] / Documentation / user / chords.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
4
5     When revising a translation, copy the HEAD committish of the
6     version that you are working on.  See TRANSLATION for details.
7 @end ignore
8
9 @c \version "2.12.0"
10
11
12 @node Chord notation
13 @section Chord notation
14
15 @lilypondfile[quote]{chords-headword.ly}
16
17 Chords can be entered either as normal notes or in chord mode and displayed
18 using a variety of traditional European chord naming conventions.  Chord
19 names and figured bass notation can also be displayed.
20
21 @menu
22 * Chord mode::
23 * Displaying chords::
24 * Figured bass::
25 @end menu
26
27
28 @node Chord mode
29 @subsection Chord mode
30
31 @cindex chord chords
32
33 Chord mode is used to enter chords using an indicator of the chord
34 structure, rather than the chord pitches.
35
36 @menu
37 * Chord mode overview::
38 * Common chords::
39 * Extended and altered chords::
40 @end menu
41
42 @node Chord mode overview
43 @unnumberedsubsubsec Chord mode overview
44
45 @cindex chord names
46 @cindex chord mode
47
48 Chords can be entered as simultaneous music, as discussed in
49 @ref{Chorded notes}.
50
51 Chords can also be entered in @qq{chord mode}, which is an input
52 mode that focuses on the structures of chords in traditional
53 European music, rather than on specific pitches.  This is
54 convenient for those who are familiar with using chord names to
55 describe chords.  More information on different input modes can be
56 found at @ref{Input modes}.
57
58 @lilypond[verbatim,quote,ragged-right,relative=1]
59 \chordmode { c1 g a g c }
60 @end lilypond
61
62 Chords entered using chord mode are music elements, and can be
63 transposed just like chords entered using simultaneous music.
64 @code{\chordmode} is absolute, as @code{\relative} has no effect
65 on @code{chordmode} blocks. However, in @code{\chordmode} the
66 absolute pitches are one octave higher than in note mode.
67
68 Chord mode and note mode can be mixed in sequential music:
69
70 @lilypond[verbatim,quote,ragged-right,relative=1]
71 <c e g>2 <g b d>
72 \chordmode { c2 f }
73 <c e g>2 <g' b d>
74 \chordmode { f2 g }
75 @end lilypond
76
77
78 @seealso
79 Music Glossary:
80 @rglos{chord}.
81
82 Notation Reference:
83 @ref{Chorded notes},
84 @ref{Input modes}.
85
86 Snippets:
87 @rlsr{Chords}
88
89
90 @knownissues
91
92 When chord mode and note mode are mixed in sequential music, and
93 chord mode comes first, the note mode will create a new @code{Staff}
94 context.
95
96 @lilypond[verbatim,quote,ragged-right,relative=1]
97 \chordmode { c2 f }
98 <c e g>2 <g' b d>
99 @end lilypond
100
101 To avoid this behavior, explicitly create the @code{Staff} context:
102
103 @lilypond[verbatim,quote,ragged-right,relative=1]
104 \new Staff {
105   \chordmode { c2 f }
106   <c e g>2  <g' b d>
107 }
108 @end lilypond
109
110 @node Common chords
111 @unnumberedsubsubsec Common chords
112
113 @cindex triads
114 @cindex seventh chords
115 @cindex root of chord
116 @cindex modifiers, in chords.
117 @cindex chord quality
118
119 Major triads are entered by including the root and an
120 optional duration:
121
122 @lilypond[verbatim,quote,relative=1,ragged-right]
123 \chordmode { c2 f4 g }
124 @end lilypond
125
126 Minor, augmented, and diminished triads are entered by placing
127 @code{:} and a quality modifier string after the duration:
128
129 @lilypond[verbatim,quote,ragged-right,relative=1]
130 \chordmode { c2:m f4:aug g:dim }
131 @end lilypond
132
133 Seventh chords can be created:
134
135 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
136 \chordmode { c1:7 c:m7 c:maj7 c:dim7 c:aug7 }
137 @end lilypond
138
139 @funindex aug
140 @funindex dim
141 @funindex maj
142 @funindex m
143
144 The table belows shows the actions of the quality modifiers on
145 triads and seventh chords.  The default seventh step added to
146 chords is a minor or flatted seventh, which makes the dominant
147 seventh the basic seventh chord.  All alterations are relative to
148 the dominant seventh.  A more complete table of modifier usage
149 is found at @ref{Common chord modifiers}.
150
151 @c @table @code
152 @multitable @columnfractions .2 .4 .3
153
154 @item
155 @b{Modifier}
156 @tab
157 @b{Action}
158 @tab
159 @b{Example}
160
161 @item
162 None
163 @tab
164 The default action; produces a major triad.
165 @tab
166 @lilypond[line-width=4\cm, noragged-right]
167 \chordmode {
168   \override Staff.TimeSignature #'stencil = ##f
169   c1
170 }
171 @end lilypond
172
173 @item
174 m, m7
175 @tab
176 The minor chord.  This modifier lowers the 3rd.
177 @tab
178 @lilypond[line-width=4\cm, noragged-right]
179 \chordmode {
180   \override Staff.TimeSignature #'stencil = ##f
181   c1:m c:m7
182 }
183 @end lilypond
184
185
186 @item
187 dim, dim7
188 @tab
189 The diminished chord.  This modifier lowers the 3rd, 5th and (if
190 present) the 7th step.
191 @tab
192 @lilypond[line-width=4\cm, noragged-right]
193 \chordmode {
194   \override Staff.TimeSignature #'stencil = ##f
195   c1:dim c:dim7
196 }
197 @end lilypond
198
199 @item
200 aug
201 @tab
202 The augmented chord.  This modifier raises the 5th step.
203 @tab
204 @lilypond[line-width=4\cm, noragged-right]
205 \chordmode {
206   \override Staff.TimeSignature #'stencil = ##f
207   c1:aug
208 }
209 @end lilypond
210
211 @item
212 maj, maj7
213 @tab
214 The major 7th chord.  This modifier adds a raised 7th step.  The
215 @code{7} following @code{maj} is optional.  Do NOT use this modifier
216 to create a major triad.
217 @tab
218 @lilypond[line-width=4\cm, noragged-right]
219 \chordmode {
220   \override Staff.TimeSignature #'stencil = ##f
221   c1:maj c:maj7
222 }
223 @end lilypond
224
225 @end multitable
226
227
228 @seealso
229 Notation Reference:
230 @ref{Common chord modifiers},
231 @ref{Extended and altered chords}.
232
233 Snippets:
234 @rlsr{Chords}.
235
236 @knownissues
237 Only one quality modifier should be used per chord, typically on the
238 highest step present in the chord.  Chords with more than quality
239 modifier will be parsed without an error or warning, but the results
240 are unpredictable.  Chords that cannot be achieved with a single
241 quality modifier should be altered by individual pitches, as described
242 in @ref{Extended and altered chords}.
243
244
245 @node Extended and altered chords
246 @unnumberedsubsubsec Extended and altered chords
247
248 @cindex extended chords
249 @cindex altered chords
250
251 Chord structures of arbitrary complexity can be created in chord
252 mode.  The modifier string can be used to extend a chord, add or
253 remove chord steps, raise or lower chord steps, and add a bass note
254 or create an inversion.
255
256 The first number following the @code{:} is taken to be the extent
257 of the chord.  The chord is constructed by sequentially adding
258 thirds to the root until the specified number has been reached.
259 Note that the seventh step added as part of an extended chord will be the
260 minor or flatted seventh, not the major seventh.
261 If the extent is not a third (e.g., 6), thirds are added up to the
262 highest third below the extent, and then the step of the extent is
263 added.  The largest possible value for the extent is 13.  Any
264 larger value is interpreted as 13.
265
266 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
267 \chordmode {
268   c1:2 c:3 c:4 c:5
269   c1:6 c:7 c:8 c:9
270   c1:10 c:11 c:12 c:13
271   c1:14
272 }
273 @end lilypond
274
275 @noindent
276 Note that both @code{c:5} and @code{c} produce a C major triad.
277
278 Since an unaltered 11 does not sound good when combined with an
279 unaltered 13, the 11 is removed from a @code{:13} chord (unless it
280 is added explicitly).
281
282 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
283 \chordmode {
284   c1:13 c:13.11 c:m13
285 }
286 @end lilypond
287
288 @cindex additions, in chords
289
290 Individual steps can be added to a chord.  Additions follow the
291 extent and are prefixed by a dot (@code{.}).  The basic seventh
292 step added to a chord is the minor or flatted seventh, rather than
293 the major seventh.
294
295 @lilypond[quote,verbatim,fragment,relative=1]
296 \chordmode {
297   c1:5.6 c:3.7.8 c:3.6.13
298 }
299 @end lilypond
300
301 Added steps can be as high as desired.
302
303 @lilypond[quote,verbatim,fragment,relative=1]
304 \chordmode {
305   c4:5.15 c:5.20 c:5.25 c:5.30
306 }
307 @end lilypond
308
309 @cindex chord steps, altering
310
311 Added chord steps can be altered by suffixing a @code{-} or @code{+}
312 sign to the number.  To alter a step that is automatically included
313 as part of the basic chord structure, add it as an altered step.
314
315 @lilypond[quote,verbatim,fragment,relative=1]
316 \chordmode {
317   c1:7+ c:5+.3- c:3-.5-.7-
318 }
319 @end lilypond
320
321 @cindex removals, in chords
322
323 @funindex ^
324
325 Following any steps to be added, a series of steps to be removed
326 is introduced in a modifier string with a prefix of @code{^}.
327 If more than one step is to be removed, the steps to be
328 removed are separated by @code{.} following the
329 initial @code{^}.
330
331 @lilypond[quote,verbatim,fragment,relative=1]
332 \chordmode {
333   c1^3 c:7^5 c:9^3 c:9^3.5 c:13.11^3.7
334 }
335 @end lilypond
336
337 @funindex sus
338
339 The modifier @code{sus} can be added to the modifier string to
340 create suspended chords.  This removes the 3rd step from the chord.
341 Append either @code{2} or @code{4} to add the 2nd or 4th step to the
342 chord.  @code{sus} is equivalent to @code{^3}; @code{sus4} is
343 equivalent to @code{.4^3}.
344
345 @lilypond[quote,ragged-right,fragment,verbatim]
346 \chordmode {
347   c1:sus c:sus2 c:sus4 c:5.4^3
348 }
349 @end lilypond
350
351 @funindex /
352 @cindex chord inversions
353 @cindex bass note, for chords
354
355 Inversions (putting a pitch other than the root on the bottom of the
356 chord) and added bass notes can be specified by appending
357 @code{/}@var{pitch} to the chord.
358
359 @lilypond[quote,ragged-right,fragment,verbatim, relative=2]
360 \chordmode {
361   c1 c/g c/f
362 }
363 @end lilypond
364
365 @funindex /+
366
367 A bass note that is part of the chord can be added, instead of
368 moved as part of an inversion, by using @code{/+}@var{pitch}.
369
370 @lilypond[quote,ragged-right,fragment,verbatim]
371 \chordmode {
372   c1 c/g c/+g
373 }
374 @end lilypond
375
376 Chord modifiers that can be used to produce a variety of
377 standard chords are shown in
378 @ref{Common chord modifiers}.
379
380
381 @seealso
382 Notation Reference:
383 @ref{Common chord modifiers}.
384
385 Snippets:
386 @rlsr{Chords}
387
388
389 @knownissues
390
391 Each step can only be present in a chord once.  The following
392 simply produces the augmented chord, since @code{5+} is
393 interpreted last.
394
395 @lilypond[quote,ragged-right,verbatim,fragment]
396 \chordmode { c1:5.5-.5+ }
397 @end lilypond
398
399 Only the second inversion can be created by adding a bass
400 note.  The first inversion requires changing the root of
401 the chord.
402
403 @lilypond[quote,ragged-right,verbatim,fragment]
404 \chordmode {
405   c'1: c':/g e:6-3-^5 e:m6-^5
406 }
407 @end lilypond
408
409 @node Displaying chords
410 @subsection Displaying chords
411
412 Chords can be displayed by name, in addition to the standard display
413 as notes on a staff.
414
415 @menu
416 * Printing chord names::
417 * Customizing chord names::
418 @end menu
419
420 @node Printing chord names
421 @unnumberedsubsubsec Printing chord names
422
423 @cindex printing chord names
424 @cindex chord names
425 @cindex chords
426
427 Chord names are printed in the @code{ChordNames} context:
428
429 @lilypond[verbatim,quote,relative=1,ragged-right]
430 \new ChordNames {
431   \chordmode {
432     c2 f4. g8
433   }
434 }
435 @end lilypond
436
437 Chords can be entered as simultaneous notes or through the use of
438 chord mode.  The displayed chord name will be the same, regardless
439 of the mode of entry, unless there are inversions or added bass notes:
440
441 @lilypond[verbatim,quote,relative=1]
442 <<
443   \new ChordNames {
444     <c e g>2  <f bes c>
445     <f c' e g>1
446     \chordmode {
447       c2 f:sus4 c1:/f
448     }
449   }
450   {
451     <c e g>2  <f bes c>
452     <f, c' e g>1
453     \chordmode {
454       c2 f:sus4 c1:/f
455     }
456   }
457 >>
458 @end lilypond
459
460 @cindex no chord symbol
461 @cindex N.C. symbol
462 @cindex indicating No Chord in ChordNames
463
464 Rests passed to a @code{ChordNames} context will cause the
465 @code{noChordSymbol} markup to be displayed.
466
467 @lilypond[verbatim, quote, relative=1]
468 <<
469   \new ChordNames \chordmode {
470     c1
471     r1
472     g1
473     c1
474   }
475   \new Score \chordmode {
476     c1
477     r1
478     g1
479     c1
480   }
481 >>
482 @end lilypond
483
484 @funindex{\chords}
485
486 @code{\chords @{ ... @}} is a shortcut notation for
487 @code{\new ChordNames @{ \chordmode @{ ... @} @}}.
488
489 @lilypond[verbatim,quote,ragged-right, relative=1]
490 \chords {
491   c2 f4.:m g8:maj7
492 }
493 @end lilypond
494
495 @lilypond[verbatim,quote,ragged-right, relative=1]
496 \new ChordNames {
497   \chordmode {
498     c2 f4.:m g8:maj7
499   }
500 }
501 @end lilypond
502
503 @snippets
504
505 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
506 {showing-chords-at-changes.ly}
507
508 @c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
509 @c {adding-bar-lines-to-chordnames-context.ly}
510
511 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
512 {simple-lead-sheet.ly}
513
514
515 @seealso
516 Music Glossary:
517 @rglos{chord}.
518
519 Notation Reference:
520 @ref{Writing music in parallel}.
521
522 Snippets:
523 @rlsr{Chords}.
524
525 Internals Reference:
526 @rinternals{ChordNames},
527 @rinternals{ChordName},
528 @rinternals{Chord_name_engraver},
529 @rinternals{Volta_engraver},
530 @rinternals{Bar_engraver}.
531
532
533 @knownissues
534
535 Chords containing inversions or altered bass notes are not named
536 properly if entered using simultaneous music.
537
538
539 @node Customizing chord names
540 @unnumberedsubsubsec Customizing chord names
541
542 @cindex customizing chord names
543
544 There is no unique system for naming chords.  Different musical
545 traditions use different names for the same set of chords.  There
546 are also different symbols displayed for a given chord name.   The
547 names and symbols displayed for chord names are customizable.
548
549 @cindex jazz chords
550 @cindex chords, jazz
551
552 The basic chord name layout is a system for Jazz music, proposed
553 by Klaus Ignatzek (see @ref{Literature list}).  The chord naming
554 system can be modified as described below.  An alternate jazz
555 chord system has been developed using these modifications.
556 The Ignatzek and alternate
557 Jazz notation are shown on the chart in @ref{Chord
558 name chart}.
559
560 @c TODO --  Change this so we don't have a non-verbatim example.
561 @c  Make short example in docs, then move longer example to
562 @c  appendix, where the length of the snippet won't matter.
563
564 In addition to the different naming systems, different note names
565 are used for the root in different languages.  The predefined
566 variables @code{\germanChords}, @code{\semiGermanChords},
567 @code{\italianChords} and @code{\frenchChords} set these variables.
568 The effect is demonstrated here:
569
570 @lilypondfile[ragged-right]{chord-names-languages.ly}
571
572 If none of the existing settings give the desired output, the chord
573 name display can be tuned through the following properties.
574
575 @table @code
576
577 @funindex chordRootNamer
578
579 @item chordRootNamer
580
581 The chord name is usually printed as a letter for the root with an
582 optional alteration.  The transformation from pitch to letter is
583 done by this function.  Special note names (for example, the German
584 @q{H} for a B-chord) can be produced by storing a new function in
585 this property.
586
587 @funindex majorSevenSymbol
588
589 @item majorSevenSymbol
590
591 This property contains the markup object used to follow the output
592 of @code{chordRootNamer} to identify a major 7 chord. Predefined
593 options are @code{whiteTriangleMarkup} and
594 @code{blackTriangleMarkup}.
595
596 @funindex chordNoteNamer
597
598 @item chordNoteNamer
599
600 When the chord name contains additional pitches other than the root
601 (e.g., an added bass note), this function is used to print the
602 additional pitch.  By default the pitch is printed using
603 @code{chordRootNamer}. The @code{chordNoteNamer} property can be set
604 to a specialized function to change this behavior.  For example, the
605 bass note can be printed in lower case.
606
607 @funindex chordNameSeparator
608
609 @item chordNameSeparator
610
611 Different parts of a chord name are normally separated by a slash.
612 By setting @code{chordNameSeparator}, you can use any desired markup
613 for a separator.
614
615 @funindex chordNameExceptions
616
617 @item chordNameExceptions
618
619 This property is a list of pairs.  The first item in each pair
620 is a set of pitches used to identify the steps present in the chord.
621 The second item is a markup that will follow the @code{chordRootNamer}
622 output to create the chord name.
623
624 @funindex chordPrefixSpacer
625 @item chordPrefixSpacer
626
627 The @q{m} for minor chords is usually printed immediately to the
628 right of the root of the chord.  A spacer can be placed between
629 the root and @q{m} by setting @code{chordPrefixSpacer}.
630 The spacer is not used when the root is altered.
631
632 @end table
633
634
635 @predefined
636 @funindex major seven symbols
637 @code{\whiteTriangleMarkup},
638 @code{\blackTriangleMarkup},
639 @funindex \germanChords
640 @code{\germanChords},
641 @funindex \semiGermanChords
642 @code{\semiGermanChords},
643 @funindex \italianChords
644 @code{\italianChords},
645 @funindex \frenchChords
646 @code{\frenchChords}.
647 @endpredefined
648
649
650 @snippets
651
652 @cindex exceptions, chord names.
653 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
654 {chord-name-exceptions.ly}
655
656 @c TODO - tweak snippet to use \blackTriangleMarkup as well
657 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
658 {chord-name-major7.ly}
659
660 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
661 {adding-bar-lines-to-chordnames-context.ly}
662
663 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
664 {volta-below-chords.ly}
665
666 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
667 {changing-chord-separator.ly}
668
669
670 @seealso
671 Notation Reference:
672 @ref{Chord name chart},
673 @ref{Common chord modifiers}.
674
675 Installed Files:
676 @file{scm/@/chords@/-ignatzek@/.scm},
677 @file{scm/@/chord@/-entry@/.scm},
678 @file{ly/@/chord@/-modifier@/-init@/.ly}.
679
680 Snippets:
681 @rlsr{Chords}.
682
683 @c Internals Reference:
684 @c @r internals{}.
685
686
687 @knownissues
688
689 Chord names are determined from both the pitches that are present
690 in the chord and the information on the chord structure that may
691 have been entered in @code{\chordmode}.  If the simultaneous pitches
692 method of entering chords is used, undesired names result from
693 inversions or bass notes.
694
695 @lilypond[quote,ragged-right,verbatim]
696 myChords = \relative c' {
697   \chordmode { c1 c/g c/f }
698   <c e g>1 <g c e> <f c' e g>
699 }
700 <<
701   \new ChordNames { \myChords }
702   \new Staff { \myChords }
703 >>
704 @end lilypond
705
706
707 @node Figured bass
708 @subsection Figured bass
709
710 @lilypondfile[quote]{figured-bass-headword.ly}
711
712 Figured bass notation can be displayed.
713
714 @menu
715 * Introduction to figured bass::
716 * Entering figured bass::
717 * Displaying figured bass::
718 @end menu
719
720 @node Introduction to figured bass
721 @unnumberedsubsubsec Introduction to figured bass
722
723 @cindex Basso continuo
724 @cindex Thorough bass
725 @cindex Figured bass
726 @cindex Bass, thorough
727 @cindex Bass, figured
728
729 @c TODO: musicological blurb about FB
730
731
732 LilyPond has support for figured bass, also called thorough bass
733 or basso continuo:
734
735 @lilypond[quote,ragged-right,verbatim,fragment]
736 <<
737   \new Voice { \clef bass dis4 c d ais g fis}
738   \new FiguredBass {
739     \figuremode {
740       < 6 >4 < 7\+ >8 < 6+ [_!] >
741       < 6 >4 <6 5 [3+] >
742       < _ >4 < 6 5/>4
743     }
744   }
745 >>
746 @end lilypond
747
748 The support for figured bass consists of two parts: there is an
749 input mode, introduced by @code{\figuremode}, that accepts
750 entry of bass figures, and there is a context named
751 @code{FiguredBass} that takes care of displaying
752 @code{BassFigure} objects.  Figured bass can also be displayed
753 in @code{Staff} contexts.
754
755 @code{\figures@{ ... @}} is a shortcut notation for
756 @code{\new FiguredBass @{ \figuremode @{ ... @} @}}.
757
758
759 Although the support for figured bass may superficially resemble chord
760 support, it is much simpler.  @code{\figuremode} mode simply
761 stores the figures and the @code{FiguredBass} context prints them
762 as entered.  There is no conversion to pitches.
763
764 @ignore
765 Figures are created as markup texts.  Any of the standard markup
766 properties can be used to modify the display of figures.  For
767 example, the vertical spacing of the figures may be set with
768 @code{baseline-skip}.
769 @end ignore
770
771
772 @seealso
773 Music Glossary:
774 @rglos{figured bass}.
775
776 Snippets:
777 @rlsr{Chords}
778
779
780 @node Entering figured bass
781 @unnumberedsubsubsec Entering figured bass
782
783 @code{\figuremode} is used to switch the input mode to figure mode.
784 More information on different input modes can be
785 found at @ref{Input modes}.
786
787 In figure mode, a group of bass figures is delimited by
788 @code{<} and @code{>}.  The duration is entered after the @code{>}.
789
790 @lilypond[verbatim,quote,ragged-right,fragment]
791 \new FiguredBass {
792   \figuremode {
793     <6 4>2
794   }
795 }
796 @end lilypond
797
798
799 Accidentals (including naturals) can be added to figures:
800
801 @lilypond[verbatim,quote,ragged-right,fragment]
802 \figures {
803   <7! 6+ 4-> <5++> <3-->
804 }
805 @end lilypond
806
807 Augmented and diminished steps can be indicated:
808
809 @lilypond[verbatim,quote,ragged-right,fragment]
810 \figures {
811   <6\+ 5/> <7/>
812 }
813 @end lilypond
814
815 A backward slash through a figure (typically used for raised
816 sixth steps) can be created:
817
818 @lilypond[verbatim,quote,ragged-right,fragment]
819 \figures {
820   <6> <6\\>
821 }
822 @end lilypond
823
824 Vertical spaces and brackets can be be included in figures:
825
826 @lilypond[verbatim,quote,ragged-right,fragment]
827 \figures {
828   <[12 _!] 8 [6  4]>
829 }
830 @end lilypond
831
832 Any text markup can be inserted as a figure:
833
834 @lilypond[verbatim,quote,ragged-right,fragment]
835 \figures {
836   <\markup { \tiny \number 6 \super (1) } 5>
837 }
838 @end lilypond
839
840 @c NOTE: We need to include notes any time we use extenders to
841 @c avoid extraneous staff creation due to Staff.use... in
842 @c \bassFigureExtendersOn
843
844 Continuation lines can be used to indicate repeated figures:
845
846 @lilypond[verbatim,quote,ragged-right,fragment]
847 <<
848   {
849     \clef bass
850     e4 d c b,
851     e4 d c b,
852   }
853   \figures {
854     \bassFigureExtendersOn
855     <6 4>4 <6 3> <7 3> <7 3>
856     \bassFigureExtendersOff
857     <6 4>4 <6 3> <7 3> <7 3>
858   }
859 >>
860 @end lilypond
861
862 @noindent
863 In this case, the extender lines replace existing figures,
864 unless the continuation lines have been explicitly terminated.
865
866 @lilypond[verbatim,quote,ragged-right,fragment]
867 <<
868   \figures {
869     \bassFigureExtendersOn
870     <6 4>4 <6 4> <6\! 4\!> <6 4>
871   }
872   {
873     \clef bass
874     d4 d c c
875   }
876 >>
877 @end lilypond
878
879 The table below summarizes the figure modifiers available.
880
881 @multitable @columnfractions .1 .5 .4
882
883 @item
884 @b{Modifier}
885 @tab
886 @b{Purpose}
887 @tab
888 @b{Example}
889
890 @item
891 +, -, !
892 @tab
893 Accidentals
894 @tab
895 @lilypond[line-width=4\cm]
896 \figures {
897   <7! 6+ 4-> <5++> <3-->
898 }
899 @end lilypond
900
901 @item
902 \+, /
903 @tab
904 Augmented and diminished steps
905 @tab
906 @lilypond[line-width=4\cm]
907 \figures {
908   <6\+ 5/> <7/>
909 }
910 @end lilypond
911
912 @item
913 \\
914 @tab
915 Raised sixth step
916 @tab
917 @lilypond[line-width=4\cm]
918 \figures {
919   <6\\>
920 }
921 @end lilypond
922
923 @item
924 \!
925 @tab
926 End of continuation line
927 @tab
928 @lilypond[line-width=4\cm]
929 <<
930   \figures {
931     \bassFigureExtendersOn
932     <6 4> <6 4> <6\! 4\!> <6 4>
933   }
934   {
935     \clef bass
936     d d c c
937   }
938 >>
939 @end lilypond
940
941 @end multitable
942
943
944 @predefined
945 @cindex figured bass extender lines
946 @code{\bassFigureExtendersOn},
947 @code{\bassFigureExtendersOff}.
948 @endpredefined
949
950
951 @snippets
952 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
953 {changing-the-positions-of-figured-bass-alterations.ly}
954
955
956 @seealso
957 @c Music Glossary:
958 @c @rglos{}.
959 @c
960 @c Learning Manual:
961 @c @rlearning{}.
962 @c
963 @c Notation Reference:
964 @c @ref{}.
965 @c
966 @c Application Usage:
967 @c @rprogram{}.
968 @c
969 @c Installed Files:
970 @c @file{}.
971 @c
972 Snippets:
973 @rlsr{Chords}.
974
975 Internals Reference:
976 @rinternals{BassFigure},
977 @rinternals{BassFigureAlignment},
978 @rinternals{BassFigureLine},
979 @rinternals{BassFigureBracket},
980 @rinternals{BassFigureContinuation},
981 @rinternals{FiguredBass}.
982
983
984 @c @knownissues
985
986
987 @node Displaying figured bass
988 @unnumberedsubsubsec Displaying figured bass
989
990 Figured bass can be displayed using the @code{FiguredBass} context,
991 or in most staff contexts.
992
993 When displayed in a @code{FiguredBass} context, the vertical location
994 of the figures is independent of the notes on the staff.
995
996 @lilypond[verbatim,ragged-right,fragment,quote]
997 <<
998   \relative c'' {
999     c4 c'8 r8 c,4 c'
1000   }
1001   \new FiguredBass {
1002     \figuremode {
1003       <4>4 <10 6>8 s8
1004       <6 4>4 <6 4>
1005     }
1006   }
1007 >>
1008 @end lilypond
1009
1010 @noindent
1011 In the example above, the @code{FiguredBass} context must be
1012 explicitly instantiated to avoid creating a second (empty) staff.
1013
1014
1015 Figured bass can also be added to @code{Staff} contexts
1016 directly.  In this case, the vertical position of the
1017 figures is adjusted automatically.
1018
1019 @lilypond[verbatim,ragged-right,fragment,quote]
1020 <<
1021   \new Staff = myStaff
1022   \figuremode {
1023     <4>4 <10 6>8 s8
1024     <6 4>4 <6 4>
1025   }
1026   %% Put notes on same Staff as figures
1027   \context Staff = myStaff
1028   {
1029     \clef bass
1030     c4 c'8 r8 c4 c'
1031   }
1032 >>
1033 @end lilypond
1034
1035
1036 When added in a @code{Staff} context, figured bass can be displayed above
1037 or below the staff.
1038
1039 @lilypond[verbatim,ragged-right,fragment,quote]
1040 <<
1041   \new Staff = myStaff
1042   \figuremode {
1043     <4>4 <10 6>8 s8
1044     \bassFigureStaffAlignmentDown
1045     <6 4>4 <6 4>
1046   }
1047   %% Put notes on same Staff as figures
1048   \context Staff = myStaff
1049   {
1050     \clef bass
1051     c4 c'8 r8 c4 c'
1052   }
1053 >>
1054 @end lilypond
1055
1056
1057 @predefined
1058 @cindex figured bass alignment
1059 @code{\bassFigureStaffAlignmentDown},
1060 @code{\bassFigureStaffAlignmentUp},
1061 @code{\bassFigureStaffAlignmentNeutral}.
1062 @endpredefined
1063
1064
1065 @c @snippets
1066
1067
1068 @seealso
1069 @c Music Glossary:
1070 @c @rglos{}.
1071 @c
1072 @c Learning Manual:
1073 @c @rlearning{}.
1074 @c
1075 @c Notation Reference:
1076 @c @ref{}.
1077 @c
1078 @c Application Usage:
1079 @c @rprogram{}.
1080 @c
1081 @c Installed Files:
1082 @c @file{}.
1083 @c
1084 Snippets:
1085 @rlsr{Chords}.
1086
1087 Internals Reference:
1088 @rinternals{BassFigure},
1089 @rinternals{BassFigureAlignment},
1090 @rinternals{BassFigureLine},
1091 @rinternals{BassFigureBracket},
1092 @rinternals{BassFigureContinuation},
1093 @rinternals{FiguredBass}.
1094
1095
1096 @knownissues
1097
1098 To ensure that continuation lines work properly, it is
1099 safest to use the same rhythm in the figure line as in
1100 the bass line.
1101
1102 @lilypond[verbatim,ragged-right,fragment,quote]
1103 <<
1104   {
1105     \clef bass
1106     \repeat unfold 4 { f16. g32 } f8. es16 d8 es
1107   }
1108   \figures {
1109     \bassFigureExtendersOn
1110     % The extenders are correct here, with the same rhythm as the bass
1111     \repeat unfold 4 { <6 4->16. <6 4->32 }
1112     <5>8. r16 <6>8 <6\! 5->
1113   }
1114 >>
1115 <<
1116   {
1117     \clef bass
1118     \repeat unfold 4 { f16. g32 } f8. es16 d8 es
1119   }
1120   \figures {
1121     \bassFigureExtendersOn
1122     % The extenders are incorrect here, even though the timing is the same
1123     <6 4->4 <6 4->4
1124     <5>8. r16 <6>8 <6\! 5->
1125   }
1126 >>
1127 @end lilypond
1128
1129 When using extender lines, adjacent figures with the same number in
1130 a different figure location can cause the figure positions to invert.
1131
1132 @lilypond[verbatim,ragged-right,fragment,quote,relative=1]
1133 <<
1134  { fis4 g g, e' }
1135   \figures {
1136     \bassFigureExtendersOn
1137     <6 5>4 <5\! 4> < 5 _!> <6>
1138   }
1139 >>
1140 @end lilypond
1141
1142 To avoid this problem, simply turn on extenders after the figure that
1143 begins the extender line and turn them off at the end of the extender line.
1144
1145 @lilypond[verbatim,ragged-right,fragment,quote,relative=1]
1146 <<
1147  { fis4 g g, e' }
1148   \figures {
1149     <6 5>4 <5 4>
1150     \bassFigureExtendersOn
1151     < 5 _!>4 <6>
1152     \bassFigureExtendersOff
1153   }
1154 >>
1155 @end lilypond
1156