]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/user/chords.itely
Make the length of beamlets configurable.
[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 Music Glossary:
77 @rglos{chord}.
78
79 Notation Reference:
80 @ref{Chorded notes},
81 @ref{Input modes}.
82
83 Snippets:
84 @rlsr{Chords}
85
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 Notation Reference:
225 @ref{Common chord modifiers}.
226
227 Snippets:
228 @rlsr{Chords}.
229
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
363 @seealso
364 Notation Reference:
365 @ref{Common chord modifiers}.
366
367 Snippets:
368 @rlsr{Chords}
369
370
371 @knownissues
372
373 Each step can only be present in a chord once.  The following
374 simply produces the augmented chord, since @code{5+} is
375 interpreted last.
376
377 @lilypond[quote,ragged-right,verbatim,fragment]
378 \chordmode { c1:5.5-.5+ }
379 @end lilypond
380
381 Only the second inversion can be created by adding a bass
382 note.  The first inversion requires changing the root of
383 the chord.
384
385 @lilypond[quote,ragged-right,verbatim,fragment]
386 \chordmode {
387   c'1: c':/g e:6-3-^5 e:m6-^5
388 }
389 @end lilypond
390
391 @node Displaying chords
392 @subsection Displaying chords
393
394 Chords can be displayed by name, in addition to the standard display
395 as notes on a staff.
396
397 @menu
398 * Printing chord names::
399 * Customizing chord names::
400 @end menu
401
402 @node Printing chord names
403 @unnumberedsubsubsec Printing chord names
404
405 @cindex printing chord names
406 @cindex chord names
407 @cindex chords
408
409 Chord names are printed in the @code{ChordNames} context:
410
411 @lilypond[verbatim,quote,relative=1,ragged-right]
412 \new ChordNames {
413   \chordmode {
414     c2 f4. g8
415   }
416 }
417 @end lilypond
418
419 Chords can be entered as simultaneous notes or through the use of
420 chord mode.  The displayed chord name will be the same, regardless
421 of the mode of entry, unless there are inversions or added bass notes:
422
423 @lilypond[verbatim,quote,relative=1]
424 <<
425   \new ChordNames {
426     <c e g>2  <f bes c>
427     <f c' e g>1
428     \chordmode {
429       c2 f:sus4 c1:/f
430     }
431   }
432   {
433     <c e g>2  <f bes c>
434     <f, c' e g>1
435     \chordmode {
436       c2 f:sus4 c1:/f
437     }
438   }
439 >>
440 @end lilypond
441
442 @funindex{\chords}
443
444 @code{\chords @{ ... @}} is a shortcut notation for
445 @code{\new ChordNames @{ \chordmode @{ ... @} @}}.
446
447 @lilypond[verbatim,quote,ragged-right, relative=1]
448 \chords {
449   c2 f4.:m g8:maj7
450 }
451 @end lilypond
452
453 @lilypond[verbatim,quote,ragged-right, relative=1]
454 \new ChordNames {
455   \chordmode {
456     c2 f4.:m g8:maj7
457   }
458 }
459 @end lilypond
460
461 @snippets
462
463 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
464 {showing-chords-at-changes.ly}
465
466 @c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
467 @c {adding-bar-lines-to-chordnames-context.ly}
468
469 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
470 {simple-lead-sheet.ly}
471
472
473 @seealso
474 Music Glossary:
475 @rglos{chord}.
476
477 Notation Reference:
478 @ref{Writing music in parallel}.
479
480 Snippets:
481 @rlsr{Chords}.
482
483 Internals Reference:
484 @rinternals{ChordNames},
485 @rinternals{ChordName},
486 @rinternals{Chord_name_engraver},
487 @rinternals{Volta_engraver},
488 @rinternals{Bar_engraver}.
489
490
491 @knownissues
492
493 Chords containing inversions or altered bass notes are not named
494 properly if entered using simultaneous music.
495
496
497 @node Customizing chord names
498 @unnumberedsubsubsec Customizing chord names
499
500 @cindex customizing chord names
501
502 There is no unique system for naming chords.  Different musical
503 traditions use different names for the same set of chords.  There
504 are also different symbols displayed for a given chord name.   The
505 names and symbols displayed for chord names are customizable.
506
507 @cindex jazz chords
508 @cindex chords, jazz
509
510 The basic chord name layout is a system for Jazz music, proposed
511 by Klaus Ignatzek (see @ref{Literature list}).  The chord naming
512 system can be modified as described below.  An alternate jazz
513 chord system has been developed using these modifications.
514 The Ignatzek and alternate
515 Jazz notation are shown on the chart in @ref{Chord
516 name chart}.
517
518 @c TODO --  Change this so we don't have a non-verbatim example.
519 @c  Make short example in docs, then move longer example to
520 @c  appendix, where the length of the snippet won't matter.
521
522 In addition to the different naming systems, different note names
523 are used for the root in different languages.  The predefined
524 variables @code{\germanChords}, @code{\semiGermanChords},
525 @code{\italianChords} and @code{\frenchChords} set these variables.
526 The effect is demonstrated here:
527
528 @lilypondfile[ragged-right]{chord-names-languages.ly}
529
530 If none of the existing settings give the desired output, the chord
531 name display can be tuned through the following properties.
532
533 @table @code
534
535 @funindex chordRootNamer
536
537 @item chordRootNamer
538
539 The chord name is usually printed as a letter for the root with an
540 optional alteration.  The transformation from pitch to letter is
541 done by this function.  Special note names (for example, the German
542 @q{H} for a B-chord) can be produced by storing a new function in
543 this property.
544
545 @funindex majorSevenSymbol
546
547 @item majorSevenSymbol
548
549 This property contains the markup object used to follow the output
550 of @code{chordRootNamer} to identify a major 7 chord. Predefined
551 options are @code{whiteTriangleMarkup} and
552 @code{blackTriangleMarkup}.
553
554 @funindex chordNoteNamer
555
556 @item chordNoteNamer
557
558 When the chord name contains additional pitches other than the root
559 (e.g., an added bass note), this function is used to print the
560 additional pitch.  By default the pitch is printed using
561 @code{chordRootNamer}. The @code{chordNoteNamer} property can be set
562 to a specialized function to change this behavior.  For example, the
563 bass note can be printed in lower case.
564
565 @funindex chordNameSeparator
566
567 @item chordNameSeparator
568
569 Different parts of a chord name are normally separated by a slash.
570 By setting @code{chordNameSeparator}, you can use any desired markup
571 for a separator.
572
573 @funindex chordNameExceptions
574
575 @item chordNameExceptions
576
577 This property is a list of pairs.  The first item in each pair
578 is a set of pitches used to identify the steps present in the chord.
579 The second item is a markup that will follow the @code{chordRootNamer}
580 output to create the chord name.
581
582 @funindex chordPrefixSpacer
583 @item chordPrefixSpacer
584
585 The @q{m} for minor chords is usually printed immediately to the
586 right of the root of the chord.  A spacer can be placed between
587 the root and @q{m} by setting @code{chordPrefixSpacer}.
588 The spacer is not used when the root is altered.
589
590 @end table
591
592
593 @predefined
594 @funindex major seven symbols
595 @code{\whiteTriangleMarkup},
596 @code{\blackTriangleMarkup},
597 @funindex \germanChords
598 @code{\germanChords},
599 @funindex \semiGermanChords
600 @code{\semiGermanChords},
601 @funindex \italianChords
602 @code{\italianChords},
603 @funindex \frenchChords
604 @code{\frenchChords}.
605 @endpredefined
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 Notation Reference:
630 @ref{Chord name chart},
631 @ref{Common chord modifiers}.
632
633 Installed Files:
634 @file{scm/@/chords@/-ignatzek@/.scm},
635 @file{scm/@/chord@/-entry@/.scm},
636 @file{ly/@/chord@/-modifier@/-init@/.ly}.
637
638 Snippets:
639 @rlsr{Chords}.
640
641 @c Internals Reference:
642 @c @r internals{}.
643
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
730 @seealso
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 @predefined
903 @cindex figured bass extender lines
904 @code{\bassFigureExtendersOn},
905 @code{\bassFigureExtendersOff}.
906 @endpredefined
907
908
909 @snippets
910 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
911 {changing-the-positions-of-figured-bass-alterations.ly}
912
913
914 @seealso
915 @c Music Glossary:
916 @c @rglos{}.
917 @c
918 @c Learning Manual:
919 @c @rlearning{}.
920 @c
921 @c Notation Reference:
922 @c @ref{}.
923 @c
924 @c Application Usage:
925 @c @rprogram{}.
926 @c
927 @c Installed Files:
928 @c @file{}.
929 @c
930 Snippets:
931 @rlsr{Chords}.
932
933 Internals Reference:
934 @rinternals{BassFigure},
935 @rinternals{BassFigureAlignment},
936 @rinternals{BassFigureLine},
937 @rinternals{BassFigureBracket},
938 @rinternals{BassFigureContinuation},
939 @rinternals{FiguredBass}.
940
941
942 @c @knownissues
943
944
945 @node Displaying figured bass
946 @unnumberedsubsubsec Displaying figured bass
947
948 Figured bass can be displayed using the @code{FiguredBass} context,
949 or in most staff contexts.
950
951 When displayed in a @code{FiguredBass} context, the vertical location
952 of the figures is independent of the notes on the staff.
953
954 @lilypond[verbatim,ragged-right,fragment,quote]
955 <<
956   \relative c'' {
957     c4 c'8 r8 c,4 c'
958   }
959   \new FiguredBass {
960     \figuremode {
961       <4>4 <10 6>8 s8
962       <6 4>4 <6 4>
963     }
964   }
965 >>
966 @end lilypond
967
968 @noindent
969 In the example above, the @code{FiguredBass} context must be
970 explicitly instantiated to avoid creating a second (empty) staff.
971
972
973 Figured bass can also be added to @code{Staff} contexts
974 directly.  In this case, the vertical position of the
975 figures is adjusted automatically.
976
977 @lilypond[verbatim,ragged-right,fragment,quote]
978 <<
979   \new Staff = myStaff
980   \figuremode {
981     <4>4 <10 6>8 s8
982     <6 4>4 <6 4>
983   }
984   %% Put notes on same Staff as figures
985   \context Staff = myStaff
986   {
987     \clef bass
988     c4 c'8 r8 c4 c'
989   }
990 >>
991 @end lilypond
992
993
994 When added in a @code{Staff} context, figured bass can be displayed above
995 or below the staff.
996
997 @lilypond[verbatim,ragged-right,fragment,quote]
998 <<
999   \new Staff = myStaff
1000   \figuremode {
1001     <4>4 <10 6>8 s8
1002     \bassFigureStaffAlignmentDown
1003     <6 4>4 <6 4>
1004   }
1005   %% Put notes on same Staff as figures
1006   \context Staff = myStaff
1007   {
1008     \clef bass
1009     c4 c'8 r8 c4 c'
1010   }
1011 >>
1012 @end lilypond
1013
1014
1015 @predefined
1016 @cindex figured bass alignment
1017 @code{\bassFigureStaffAlignmentDown},
1018 @code{\bassFigureStaffAlignmentUp},
1019 @code{\bassFigureStaffAlignmentNeutral}.
1020 @endpredefined
1021
1022
1023 @c @snippets
1024
1025
1026 @seealso
1027 @c Music Glossary:
1028 @c @rglos{}.
1029 @c
1030 @c Learning Manual:
1031 @c @rlearning{}.
1032 @c
1033 @c Notation Reference:
1034 @c @ref{}.
1035 @c
1036 @c Application Usage:
1037 @c @rprogram{}.
1038 @c
1039 @c Installed Files:
1040 @c @file{}.
1041 @c
1042 Snippets:
1043 @rlsr{Chords}.
1044
1045 Internals Reference:
1046 @rinternals{BassFigure},
1047 @rinternals{BassFigureAlignment},
1048 @rinternals{BassFigureLine},
1049 @rinternals{BassFigureBracket},
1050 @rinternals{BassFigureContinuation},
1051 @rinternals{FiguredBass}.
1052
1053
1054 @knownissues
1055
1056 To ensure that continuation lines work properly, it is
1057 safest to use the same rhythm in the figure line as in
1058 the bass line.
1059
1060 @lilypond[verbatim,ragged-right,fragment,quote]
1061 <<
1062   {
1063     \clef bass
1064     \repeat unfold 4 { f16. g32 } f8. es16 d8 es
1065   }
1066   \figures {
1067     \bassFigureExtendersOn
1068     % The extenders are correct here, with the same rhythm as the bass
1069     \repeat unfold 4 { <6 4->16. <6 4->32 }
1070     <5>8. r16 <6>8 <6\! 5->
1071   }
1072 >>
1073 <<
1074   {
1075     \clef bass
1076     \repeat unfold 4 { f16. g32 } f8. es16 d8 es
1077   }
1078   \figures {
1079     \bassFigureExtendersOn
1080     % The extenders are incorrect here, even though the timing is the same
1081     <6 4->4 <6 4->4
1082     <5>8. r16 <6>8 <6\! 5->
1083   }
1084 >>
1085 @end lilypond
1086
1087 When using extender lines, adjacent figures with the same number in
1088 a different figure location can cause the figure positions to invert.
1089
1090 @lilypond[verbatim,ragged-right,fragment,quote,relative=1]
1091 <<
1092  { fis4 g g, e' }
1093   \figures {
1094     \bassFigureExtendersOn
1095     <6 5>4 <5\! 4> < 5 _!> <6>
1096   }
1097 >>
1098 @end lilypond
1099
1100 To avoid this problem, simply turn on extenders after the figure that
1101 begins the extender line and turn them off at the end of the extender line.
1102
1103 @lilypond[verbatim,ragged-right,fragment,quote,relative=1]
1104 <<
1105  { fis4 g g, e' }
1106   \figures {
1107     <6 5>4 <5 4>
1108     \bassFigureExtendersOn
1109     < 5 _!>4 <6>
1110     \bassFigureExtendersOff
1111   }
1112 >>
1113 @end lilypond
1114