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