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