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