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