1 @c -*- coding: utf-8; mode: texinfo; -*-
3 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
5 When revising a translation, copy the HEAD committish of the
6 version that you are working on. See TRANSLATION for details.
13 @section Chord notation
15 Chords can be entered and displayed both as notes on a staff and
16 as a chord name. In addition, figured bass notation can be
27 @subsection Entering chords
29 @cindex entering chords
31 @c I'm testing a @longcode{} that does @w{@code{}}; this should be
32 @c easier than writing @code{}@tie[}@code[}... -gp
33 @c stay tuned about this
34 Chords can be entered explicity through the use of the chord
35 constructors @code{<}@tie{}@code{>}. They can also be entered in
36 chord mode, which allows chord pitches to be automatically
37 added to the specified root.
40 * Explicitly stating pitches::
44 @node Explicitly stating pitches
45 @unnumberedsubsubsec Explicitly stating pitches
47 The simplest method for entering chords is to enclose all of the
48 pitches for the chord in angle brackets, with the duration of the
49 chord specified outside the @code{<>}.
51 @lilypond[quote,ragged-right,fragment,verbatim]
56 This construction causes all of the notes inside of the @code{<>}
57 to occur at the same moment and have the same duration.
59 In traditional European music, there is more to a chord than just
60 the occurence of simultaneous notes. Chords are identified by a
61 root, and may have inversions. Standard modifiers to the chords
62 are also widely used. Bass notes may be added to a chord. The
63 @code{<>} method for entering chords knows only the pitches, and
64 is unable to support any of these extra characteristics. If these
65 characteristics are important, it is better to follow the method
66 described in @ref{Chord mode}.
78 @unnumberedsubsubsec Chord mode
83 Chord mode is an input mode that understands the usage of chords
84 in traditional european music. Such chords can be entered like
87 @lilypond[verbatim,quote,ragged-right]
88 \chordmode { c2 f4. g8 }
91 In chord mode each pitch is read as the root of a triad instead of a note.
92 This mode is switched on with @code{\chordmode}.
96 @code{\chordmode} is similar to @code{\lyricmode}, etc. Most of
97 the commands continue to work, for example, @code{r} and
98 @code{\skip} can be used to insert rests and spaces, and property
99 commands may be used to change various settings.
101 Chords entered using chord mode are music elements, and can be
104 Chord mode is not limited to simple triads. More complex chords
105 can be created by adding modifiers after a colon. The following
106 example shows a few common modifiers:
108 @lilypond[verbatim,quote,ragged-right]
109 \chordmode { c2 f4:m g4:maj7 gis1:dim7 }
113 Note that the colon and the modifiers follow the duration of the
116 Modifiers can be used to extend a chord, specify the @q{quality} of
117 the chord, add or remove chord steps, raise or lower chord steps,
118 and add a bass note or create an inversion.
120 The first number following the colon is taken to be the extent of
121 the chord. The chord is constructed by sequentially adding thirds
122 to the root until the specified number has been reached.
124 @lilypond[quote,ragged-right,fragment,verbatim]
125 \chordmode { c:3 c:5 c:6 c:7 c:8 c:9 c:10 c:11}
128 Since an unaltered 11 does not sound good when combined with an
129 unaltered 13, the 11 is removed from a :13 chord (unless it is
132 @lilypond[quote,ragged-right,fragment,verbatim]
133 \chordmode { c:13 c:13.11 c:m13 }
136 @cindex additions, in chords
138 The quality of a chord can be set according to standard chord naming
139 conventions. The following quality modifiers are supported:
143 @item m The minor chord. This modifier lowers the 3rd
144 and (if present) the 7th step.
146 @item dim The diminished chord. This modifier lowers the 3rd, 5th
147 and (if present) the 7th step.
150 The augmented chord. This modifier raises the 5th step.
153 The major 7th chord. This modifier adds a raised the 7th step
154 to the chord. The @code{7} following @code{maj} is optional.
157 The suspended 4th or 2nd. This modifier removes the 3rd
158 step. Append either @code{2} or @code{4} to add the 2nd or 4th
162 @cindex modifiers, in chords.
163 @cindex chord quality
171 Individual steps can be added to or removed from a chord.
172 Additions are added after the chord type and are prefixed by dots.
174 @lilypond[quote,verbatim,fragment]
175 \chordmode { c:5.6 c:3.7.8 c:3.6.13 }
178 Chord steps can be altered by suffixing a @code{-} or @code{+}
181 @lilypond[quote,verbatim,fragment]
182 \chordmode { c:7+ c:5+.3- c:3-.5-.7- }
185 @cindex chord steps, altering
187 @cindex removals, in chords
190 Steps to be removed are listed following the additions and are
191 prefixed by @code{^}.
193 @lilypond[quote,verbatim,fragment]
194 \chordmode { c^3 c:7^5 c:9^3.5 }
199 Inversions (putting a pitch other than the root on the bottom of
200 the chord) and added bass notes, can be specified by appending
201 @code{/}@var{pitch} to the chord.
203 @lilypond[quote,ragged-right,fragment,verbatim]
204 \chordmode { c1 c/g c/f }
209 A bass note that is part of the chord can be added, instead of
210 moved as part of an inversion, by using @code{/+}@var{pitch}.
212 @lilypond[quote,ragged-right,fragment,verbatim]
213 \chordmode { c1 c/+g c/+f }
221 Each step can only be present in a chord once. The following
222 simply produces the augmented chord, since @code{5+} is
227 @lilypond[quote,ragged-right,verbatim,fragment]
228 \chordmode { c:5.5-.5+ }
234 @n ode Displaying chords
235 @s ubsection Displaying chords
240 * Printing chord names::
241 * Customizing chord names::
245 @n ode Printing chord names
246 @u nnumberedsubsubsec Printing chord names
248 @cindex printing chord names
252 LilyPond has support for printing chord names. Because chords are
253 music elements, they can be transposed, and the chord names will be
254 transposed along with the chords.
256 Chords can be entered using @code{< .. >} or through the use of
257 chord mode. The displayed chord name will sometimes be different
258 depending upon the entry mode:
260 @lilypond[quote,ragged-right,verbatim,ragged-right]
261 twoWays = \transpose c c' {
270 << \new ChordNames \twoWays
271 \new Voice \twoWays >>
274 This example also shows that the chord printing routines cannot
275 correctly identify the root of a chord if it has been entered using
276 @code{< .. >} instead of named chord entry. Therefore, the sixth
277 chord (@code{f bes d}) is not interpreted as an inversion. In
278 contrast, the third chord, which contains the same notes as the sixth
279 chord, is correctly identified because it was entered in the named
282 For displaying printed chord names, use the @rinternals{ChordNames}
285 @lilypond[quote,verbatim,ragged-right]
287 \chordmode {a1 b c} <d' f' a'> <e' g' b'>
290 \new ChordNames \harmonies
291 \new Staff \harmonies
295 The previous examples all show chords over a staff. This is not
296 necessary. Chords may also be printed separately. It may be necessary
297 to add @rinternals{Volta_engraver} and @rinternals{Bar_engraver}
300 @lilypond[ragged-right,verbatim]
301 \new ChordNames \with {
302 \override BarLine #'bar-size = #4
303 \consists Bar_engraver
304 \consists "Volta_engraver"
306 \chordmode { \repeat volta 2 {
315 @code{\chords} is a shortcut method used to change the input mode to
316 @code{\chordmode} and create a @code{ChordNames} context, with the
319 @lilypond[verbatim,quote,ragged-right]
320 \chords { c2 f4.:m g4.:maj7 gis8:dim7 }
334 @c Notation Reference:
337 @c Application Usage:
346 @c Internals Reference:
352 @n ode Customizing chord names
353 @u nnumberedsubsubsec Customizing chord names
355 @cindex customizing chord names
357 There is no unique system for naming chords. Different musical
358 traditions use different names for the same set of chords. There are
359 also different symbols displayed for a given chord name. The names
360 and symbols displayed for chord names are customizable.
362 The default chord name layout is a system for Jazz music, proposed
363 by Klaus Ignatzek (see @ref{Literature list}). There are also two
364 other chord name schemes implemented: an alternate Jazz chord
365 notation, and a systematic scheme called Banter chords. The
366 alternate Jazz notation is also shown on the chart in @ref{Chord
369 In addition to the different naming systems, different note names
370 are used for the root in different languages. The predefined
371 variables @code{\germanChords}, @code{\semiGermanChords},
372 @code{\italianChords} and @code{\frenchChords} set these variables.
373 The effect is demonstrated here:
375 @lilypondfile[ragged-right]{chord-names-languages.ly}
377 If none of the default settings give the desired output, the chord
378 name display can be tuned through the following properties.
380 @c TODO Generate snippet based on the following
381 @c and add explanation -td
385 @funindex chordNameExceptions
387 @code{chordNameExceptions} contains a list of markups used to follow
388 the root note name based on the pitches in the chord. Creating the
389 list requires four steps.
391 The first step is to define sequential music that has the chords to
392 be named with the desired markup (except for the root name) attached
397 <c e g b d'>1-\markup @{ \super "maj9" @}
398 <c e g a d'>1-\markup @{ \super "6(add9)" @}
402 The second step is to convert the music from the first step to an
406 FGGExceptions = #(sequential-music-to-chord-exceptions
410 The third step is to append the default exceptions list (in this
411 case, the Ignatzek exceptions) to the newly-defined exceptions list:
414 chExceptions = #(append FGGExceptions ignatzekExceptions)
417 The final step is to set @code{chordNameExceptions} to the
418 newly-created exceptions list:
421 \set chordNameExceptions = #chExceptions
424 The entire process is illustrated below:
426 @lilypond[quote,ragged-right,verbatim,ragged-right]
428 <c e g b d'>1-\markup { \super "maj9" }
429 <c e g a d'>1-\markup { \super "6(add9)" }
431 FGGExceptions = #(sequential-music-to-chord-exceptions
433 chExceptions = #(append FGGChordNames
436 chordStuff = \chordmode
441 % names with FGG's custom exceptions
442 \set chordNameExceptions = #chExceptions
449 \new ChordNames \chordStuff
454 @funindex majorSevenSymbol
455 @item majorSevenSymbol
456 This property contains the markup object used as part of the printed
457 chord name to identify a major 7 chord. Predefined options are
458 @code{whiteTriangleMarkup} and @code{blackTriangleMarkup}.
460 @funindex chordNameSeparator
461 @item chordNameSeparator
462 Different parts of a chord name are normally separated by a slash.
463 By setting @code{chordNameSeparator}, you can use any desired markup
464 for a separator, e.g.,
465 @lilypond[quote,ragged-right,fragment,verbatim]
466 \new ChordNames \chordmode {
468 \set chordNameSeparator
469 = \markup { \typewriter "|" }
474 @funindex chordRootNamer
476 The chord name is usually printed as a letter for the root with an
477 optional alteration. The transformation from pitch to letter is
478 done by this function. Special note names (for example, the German
479 @q{H} for a B-chord) can be produced by storing a new function in
482 @funindex chordNoteNamer
484 When the chord name contains an additional pitch besides the root
485 (e.g., an added bass note), this function is used to print the
486 additional pitch. By default the pitch is printed using
487 @code{chordRootNamer}. The @code{chordNoteNamer} property can be set
488 to a specialized function to change this behavior. For example, the
489 bass note can be printed in lower case.
491 @funindex chordPrefixSpacer
492 @item chordPrefixSpacer
493 The @q{m} for minor chords is usually printed immediately to the
494 right of the root of the chord. By setting
495 @code{chordPrefixSpacer}, you can fix a spacer between the root and
496 @q{m}. The spacer is not used when the root is altered.
508 @funindex major seven symbols
509 @code{\whiteTriangleMarkup}
510 @code{\blackTriangleMarkup}
511 @funindex \germanChords
512 @code{\germanChords},
513 @funindex \semiGermanChords
514 @code{\semiGermanChords},
515 @funindex \italianChords
516 @code{\italianChords},
517 @funindex \frenchChords
518 @code{\frenchChords}.
522 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
523 {chord-names-jazz.ly}
525 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
526 {chord-name-exceptions.ly}
527 @cindex exceptions, chord names.
529 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
530 {chord-name-major7.ly}
539 @c Notation Reference:
542 @c Application Usage:
546 @file{scm/@/chords@/-ignatzek@/.scm},
547 @file{scm/@/chord@/-entry@/.scm},
548 @file{ly/@/chord@/-modifier@/-init@/.ly}.
550 @c Snippets: @c @rlsr{}.
552 @c Internals Reference:
557 When chords are entered with the @code{< .. >} syntax, the root and
558 any added bass notes are not identified. In this case, chord names
559 are determined solely from the list of pitches. This may result in
563 @u nnumberedsubsubsec Lead sheets
567 For lead sheets, chords are not printed on staves, but as names on a
568 line for themselves. This is achieved by using a @code{ChordNames}
569 context simultaneously with the @code{Staff} context. The
570 @code{\chords} keyword can be used as a shortcut for @code{\new
571 ChordNames \chordmode}.
573 When put together, chord names, a melody, and lyrics form a lead
576 @lilypond[verbatim,quote,ragged-right]
578 \chords { c2 g:sus4 f e }
583 \addlyrics { One day this shall be free __ }
598 @c Notation Reference:
601 @c Application Usage:
610 @c Internals Reference:
621 @node old Modern chords
622 @subsection old Modern chords
626 * Entering chord names::
629 * Printing chord names::
636 @subsubsection Chord modes
638 In popular music it is common to denote accompaniment with chord
639 names. Such chords can be entered like notes,
641 @lilypond[verbatim,quote,ragged-right]
642 \chordmode { c2 f4. g8 }
645 Now each pitch is read as the root of a chord instead of a note.
646 This mode is switched on with @code{\chordmode}. Other chords can
647 be created by adding modifiers after a colon. The following
648 example shows a few common modifiers:
650 @lilypond[verbatim,quote,ragged-right]
651 \chordmode { c2 f4:m g4:maj7 gis1:dim7 }
656 In chord mode sets of pitches (chords) are entered with normal note
657 names. A chord is entered by the root, which is entered like a
660 @lilypond[quote,ragged-right,fragment,verbatim]
661 \chordmode { es4. d8 c2 }
665 The mode is introduced by the keyword @code{\chordmode}.
670 Chords is a mode similar to @code{\lyricmode}, etc. Most
671 of the commands continue to work, for example, @code{r} and
672 @code{\skip} can be used to insert rests and spaces, and property
673 commands may be used to change various settings.
674 It uses the same syntax as
675 @code{\chordmode}, but renders the notes in a @code{ChordNames}
676 context, with the following result:
678 @lilypond[verbatim,quote,ragged-right]
679 \chords { c2 f4.:m g4.:maj7 gis8:dim7 }
685 Each step can only be present in a chord once. The following
686 simply produces the augmented chord, since @code{5+} is interpreted
689 @lilypond[quote,ragged-right,verbatim,fragment]
690 \chordmode { c:5.5-.5+ }
694 @node Entering chord names
695 @subsubsection Entering chord names
698 LilyPond has support for printing chord names. Chords may be entered
699 in musical chord notation, i.e., @code{< .. >}, but they can also be
700 entered by name. Internally, the chords are represented as a set of
701 pitches, so they can be transposed
704 @lilypond[quote,ragged-right,verbatim,ragged-right]
705 twoWays = \transpose c c' {
714 << \new ChordNames \twoWays
715 \new Voice \twoWays >>
718 This example also shows that the chord printing routines do not try to
719 be intelligent. The last chord (@code{f bes d}) is not interpreted as
722 Note that the duration of chords must be specified outside the
729 @c TODO Generate snippet based on the following
730 @c and add explanation -td
732 Custom chord names may be generated:
734 @lilypond[quote,ragged-right,verbatim,ragged-right]
736 <c e g b d'>1-\markup { \super "maj9" }
737 <c e g a d'>1-\markup { \super "6(add9)" }
739 chExceptions = #(append
740 (sequential-music-to-chord-exceptions
741 FGGChordNames #t) ignatzekExceptions)
743 chordStuff = \chordmode
748 % names with FGG's custom exceptions
749 \set chordNameExceptions = #chExceptions
756 \new ChordNames \chordStuff
760 @node Building chords
761 @subsubsection Building chords
763 Other chords may be entered by suffixing a colon and introducing a
764 modifier (which may include a number if desired)
766 @lilypond[quote,fragment,verbatim]
767 \chordmode { e1:m e1:7 e1:m7 }
770 The first number following the root is taken to be the @q{type} of the
771 chord, thirds are added to the root until it reaches the specified
772 number. The exception is @code{c:13}, for which the 11 is omitted.
774 @lilypond[quote,fragment,verbatim]
775 \chordmode { c:3 c:5 c:6 c:7 c:8 c:9 c:10 c:11 c:13 }
778 @cindex root of chord
779 @cindex additions, in chords
780 @cindex removals, in chords
782 More complex chords may also be constructed adding separate steps
783 to a chord. Additions are added after the number following
784 the colon and are separated by dots
786 @lilypond[quote,verbatim,fragment]
787 \chordmode { c:5.6 c:3.7.8 c:3.6.13 }
790 Chord steps can be altered by suffixing a @code{-} or @code{+} sign
793 @lilypond[quote,verbatim,fragment]
794 \chordmode { c:7+ c:5+.3- c:3-.5-.7- }
797 Removals are specified similarly and are introduced by a caret. They
798 must come after the additions
800 @lilypond[quote,verbatim,fragment]
801 \chordmode { c^3 c:7^5 c:9^3.5 }
804 Modifiers can be used to change pitches. The following modifiers are
809 The minor chord. This modifier lowers the 3rd and (if present) the 7th step.
812 The diminished chord. This modifier lowers the 3rd, 5th and (if present)
816 The augmented chord. This modifier raises the 5th step.
819 The major 7th chord. This modifier raises the 7th step if present.
822 The suspended 4th or 2nd. This modifier removes the 3rd
823 step. Append either @code{2} or @code{4} to add the 2nd or 4th step to
827 Modifiers can be mixed with additions
828 @lilypond[quote,verbatim,fragment]
829 \chordmode { c:sus4 c:7sus4 c:dim7 c:m6 }
832 @cindex modifiers, in chords.
839 Since an unaltered 11 does not sound good when combined with an
840 unaltered 13, the 11 is removed in this case (unless it is added
842 @lilypond[quote,ragged-right,fragment,verbatim]
843 \chordmode { c:13 c:13.11 c:m13 }
848 An inversion (putting one pitch of the chord on the bottom), as well
849 as bass notes, can be specified by appending
850 @code{/}@var{pitch} to the chord
851 @lilypond[quote,ragged-right,fragment,verbatim]
852 \chordmode { c1 c/g c/f }
856 A bass note can be added instead of transposed out of the chord,
857 by using @code{/+}@var{pitch}.
859 @lilypond[quote,ragged-right,fragment,verbatim]
860 \chordmode { c1 c/+g c/+f }
865 @subsubsection Lead sheets
869 For lead sheets, chords are not printed on staves, but as names on
870 a line for themselves. This is achieved by using @code{\chords}
871 instead of @code{\chordmode}.
873 When put together, chord names, lyrics and a melody form a lead
876 @lilypond[verbatim,quote,ragged-right]
878 \chords { c2 g:sus4 f e }
883 \addlyrics { One day this shall be free __ }
889 @node Printing chord names
890 @subsubsection Printing chord names
892 @cindex printing chord names
896 For displaying printed chord names, use the @rinternals{ChordNames} context.
897 The chords may be entered either using the notation
898 described above, or directly using @code{<} and @code{>}
900 @lilypond[quote,verbatim,ragged-right]
902 \chordmode {a1 b c} <d' f' a'> <e' g' b'>
905 \new ChordNames \harmonies
906 \new Staff \harmonies
910 You can make the chord changes stand out by setting
911 @rinternals{ChordNames}.@code{chordChanges} to true. This will only
912 display chord names when there is a change in the chords scheme and at
913 the start of a new line
915 @lilypond[quote,verbatim,ragged-right]
916 harmonies = \chordmode {
917 c1:m c:m \break c:m c:m d
921 \set chordChanges = ##t
923 \new Staff \transpose c c' \harmonies
927 The previous examples all show chords over a staff. This is not
928 necessary. Chords may also be printed separately. It may be necessary
929 to add @rinternals{Volta_engraver} and @rinternals{Bar_engraver}
932 @lilypond[ragged-right,verbatim]
933 \new ChordNames \with {
934 \override BarLine #'bar-size = #4
935 \consists Bar_engraver
936 \consists "Volta_engraver"
938 \chordmode { \repeat volta 2 {
948 The default chord name layout is a system for Jazz music, proposed by
949 Klaus Ignatzek (see @ref{Literature list}). It can be tuned through the
953 @funindex chordNameExceptions
954 @item chordNameExceptions
955 This is a list that contains the chords that have special formatting.
957 The exceptions list should be encoded as
959 @{ <c f g bes>1 \markup @{ \super "7" "wahh" @} @}
962 To get this information into @code{chordNameExceptions} takes a little
963 maneuvering. The following code transforms @code{chExceptionMusic}
964 (which is a sequential music) into a list of exceptions.
966 (sequential-music-to-chord-exceptions chExceptionMusic #t)
971 (sequential-music-to-chord-exceptions chExceptionMusic #t)
974 adds the new exceptions to the default ones, which are defined in
975 @file{ly/@/chord@/-modifier@/-init@/.ly}.
977 For an example of tuning this property, see also
978 @c @lsr{chords,chord@/-name@/-exceptions@/.ly}
979 @cindex exceptions, chord names.
982 @funindex majorSevenSymbol
983 @item majorSevenSymbol
984 This property contains the markup object used for the 7th step, when
985 it is major. Predefined options are @code{whiteTriangleMarkup} and
986 @code{blackTriangleMarkup}. See
987 @c @lsr{chords,chord@/-name@/-major7@/.ly} for an example.
989 @funindex chordNameSeparator
990 @item chordNameSeparator
991 Different parts of a chord name are normally separated by a
992 slash. By setting @code{chordNameSeparator}, you can specify other
994 @lilypond[quote,ragged-right,fragment,verbatim]
995 \new ChordNames \chordmode {
997 \set chordNameSeparator
998 = \markup { \typewriter "|" }
1003 @funindex chordRootNamer
1004 @item chordRootNamer
1005 The root of a chord is usually printed as a letter with an optional
1006 alteration. The transformation from pitch to letter is done by this
1007 function. Special note names (for example, the German @q{H} for a
1008 B-chord) can be produced by storing a new function in this property.
1010 @funindex chordNoteNamer
1011 @item chordNoteNamer
1012 The default is to print single pitch, e.g., the bass note, using the
1013 @code{chordRootNamer}. The @code{chordNoteNamer} property can be set
1014 to a specialized function to change this behavior. For example, the
1015 base can be printed in lower case.
1017 @funindex chordPrefixSpacer
1018 @item chordPrefixSpacer
1019 The @q{m} for minor chords is usually printed right after the root of
1020 the chord. By setting @code{chordPrefixSpacer}, you can fix a spacer
1021 between the root and @q{m}. The spacer is not used when the root
1026 The predefined variables @code{\germanChords},
1027 @code{\semiGermanChords}, @code{\italianChords} and @code{\frenchChords}
1028 set these variables. The effect is
1031 @lilypondfile[ragged-right]{chord-names-languages.ly}
1033 There are also two other chord name schemes implemented: an alternate
1034 Jazz chord notation, and a systematic scheme called Banter chords. The
1035 alternate Jazz notation is also shown on the chart in @ref{Chord name
1036 chart}. Turning on these styles is demonstrated in
1037 @c @lsr{chords,chord-names-jazz.ly}.
1041 @cindex chords, jazz
1046 @funindex \germanChords
1047 @code{\germanChords},
1048 @funindex \semiGermanChords
1049 @code{\semiGermanChords}.
1050 @funindex \italianChords
1051 @code{\italianChords}.
1052 @funindex \frenchChords
1053 @code{\frenchChords}.
1062 Init files: @file{scm/@/chords@/-ignatzek@/.scm}, and
1063 @file{scm/@/chord@/-entry@/.scm}.
1068 Chord names are determined solely from the list of pitches. Chord
1069 inversions are not identified, and neither are added bass notes. This
1070 may result in strange chord names when chords are entered with the
1071 @code{< .. >} syntax.
1075 @subsection Figured bass
1078 * Introduction to figured bass::
1079 * Entering figured bass::
1080 * Displaying figured bass::
1083 @node Introduction to figured bass
1084 @subsubsection Introduction to figured bass
1086 @cindex Basso continuo
1088 @c TODO: musicological blurb about FB
1090 LilyPond has support for figured bass
1092 @lilypond[quote,ragged-right,verbatim,fragment]
1094 \new Voice { \clef bass dis4 c d ais g fis}
1095 \new FiguredBass \figuremode {
1096 < 6 >4 < 7\+ >8 < 6+ [_!] >
1103 The support for figured bass consists of two parts: there is an
1104 input mode, introduced by @code{\figuremode}, where you can enter
1105 bass figures as numbers, and there is a context named
1106 @rinternals{FiguredBass} that takes care of making
1107 @rinternals{BassFigure} objects.
1109 Although the support for figured bass may superficially resemble chord
1110 support, it is much simpler. The @code{\figuremode} mode simply
1111 stores the numbers and @rinternals{FiguredBass} context prints them
1112 as entered. There is no conversion to pitches and no realizations of
1113 the bass are played in the MIDI file.
1115 Internally, the code produces markup texts. You can use any of the
1116 markup text properties to override formatting. For example, the
1117 vertical spacing of the figures may be set with @code{baseline-skip}.
1121 * Entering figured bass::
1122 * Displaying figured bass::
1125 @node Entering figured bass
1126 @unnumberedsubsubsec Entering figured bass
1129 In figures input mode, a group of bass figures is delimited by
1130 @code{<} and @code{>}. The duration is entered after the @code{>}
1134 @lilypond[quote,ragged-right,fragment]
1136 \figuremode { <4 6>2 }
1139 Accidentals are added when you append @code{-}, @code{!}, and @code{+}
1140 to the numbers. A plus sign is added when you append @code{\+}, and
1141 diminished fifths and sevenths can be obtained with @code{5/} and @code{7/}.
1144 <4- 6+ 7!>3 <5++> <3--> <7/> r <6\+ 5/>
1146 @lilypond[quote,ragged-right,fragment]
1147 \figures { <4- 6+ 7!>4 <5++> <3--> <7/> r <6\+ 5/> }
1150 Spaces may be inserted by using @code{_}. Brackets are
1151 introduced with @code{[} and @code{]}. You can also include text
1152 strings and text markups, see @ref{Text markup commands}.
1155 < [4 6] 8 [_! 12] >4 < 5 \markup @{ \number 6 \super (1) @} >
1157 @lilypond[quote,ragged-right,fragment]
1159 \figuremode { < [4 6] 8 [_! 12] >4 < 5 \markup{ \tiny \number 6 \super (1)} > }
1163 It is also possible to use continuation lines for repeated figures,
1165 @lilypond[verbatim,relative=1]
1172 \set useBassFigureExtenders = ##t
1179 In this case, the extender lines always replace existing figures.
1181 The @code{FiguredBass} context doesn't pay attention to the actual
1182 bass line. As a consequence, you may have to insert extra figures to
1183 get extender lines below all notes, and you may have to add @code{\!}
1184 to avoid getting an extender line, e.g.
1186 @lilypond[relative=1]
1190 \set useBassFigureExtenders = ##t
1191 <6 4->4. <6 4->16. <6 4->32 <5>8. r16 <6>8 <6\! 5->
1195 f16. g32 f16. g32 f16. g32 f16. g32 f8. es16 d8 es
1200 When using continuation lines, common figures are always put in the
1201 same vertical position. When this is unwanted, you can insert a rest
1202 with @code{r}. The rest will clear any previous alignment. For
1203 example, you can write
1215 Accidentals and plus signs can appear before or after the numbers,
1216 depending on the @code{figuredBassAlterationDirection} and
1217 @code{figuredBassPlusDirection}
1223 \set figuredBassAlterationDirection = #1
1225 \set figuredBassPlusDirection = #1
1227 \set figuredBassAlterationDirection = #-1
1233 Figured bass can also be added to @code{Staff} contexts
1234 directly. In this case, their vertical position is adjusted
1237 @lilypond[ragged-right,fragment,quote]
1239 \new Staff = someUniqueName
1244 %% send to existing Staff.
1245 \context Staff = someUniqueName
1249 \set Staff.useBassFigureExtenders = ##t
1266 @c Notation Reference:
1269 @c Application Usage:
1278 @c Internals Reference:
1283 @node Displaying figured bass
1284 @unnumberedsubsubsec Displaying figured bass
1286 Figured bass is displayed using the @code{FiguredBass} context.
1299 @c Notation Reference:
1302 @c Application Usage:
1311 Internals Reference:
1312 @rinternals{NewBassFigure},
1313 @rinternals{BassFigureAlignment},
1314 @rinternals{BassFigureLine},
1315 @rinternals{BassFigureBracket},
1316 @rinternals{BassFigureContinuation},
1317 @rinternals{FiguredBass}.
1321 By default, this method produces figures above the notes. To get
1322 figures below the notes, use
1325 \override Staff.BassFigureAlignmentPositioning #'direction = #DOWN
1328 When using figured bass above the staff with extender lines and
1329 @code{implicitBassFigures} the lines may become swapped around.
1330 Maintaining order consistently will be impossible when multiple figures
1331 have overlapping extender lines. To avoid this problem, please
1332 use @code{stacking-dir} on @code{BassFigureAlignment}.