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