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