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