1 @c -*- coding: utf-8; mode: texinfo; -*-
3 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
5 When revising a translation, copy the HEAD committish of the
6 version that you are working on. See TRANSLATION for details.
13 @section Chord notation
15 Chords can be entered in chord mode, which recognizes some
16 traditional European chord naming conventions. Chord names can also
17 be displayed. In addition, figured bass notation can be displayed.
27 @subsection Chord mode
31 Chord mode is used to enter chords using an indicator of the chord
32 structure, rather than the chord pitches.
35 * Chord mode overview::
37 * Extended and altered chords::
40 @node Chord mode overview
41 @unnumberedsubsubsec Chord mode overview
46 Chords can be entered as simultaneous music, as discussed in
49 Chords can also be entered in @qq{chord mode}, which is an input
50 mode that focuses on the structures of chords in traditional
51 European music, rather than on specific pitches. This is
52 convenient for those who are familiar with using chord names to
53 describe chords. More information on different input modes can be
54 found at @ref{Input modes}.
56 @lilypond[verbatim,quote,ragged-right,relative=1]
57 \chordmode { c1 g a g c }
60 Chords entered using chord mode are music elements, and can be
61 transposed just like chords entered using simultaneous music.
63 Chord mode and note mode can be mixed in sequential music:
65 @lilypond[verbatim,quote,ragged-right,relative=1]
87 When chord mode and note mode are mixed in sequential music, and
88 chord mode comes first, the note mode will create a new @code{Staff}
91 @lilypond[verbatim,quote,ragged-right,relative=1]
96 To avoid this behavior, explicitly create the @code{Staff} context:
98 @lilypond[verbatim,quote,ragged-right,relative=1]
106 @unnumberedsubsubsec Common chords
109 @cindex seventh chords
110 @cindex root of chord
111 @cindex modifiers, in chords.
112 @cindex chord quality
114 Major triads are entered by including the root and an
117 @lilypond[verbatim,quote,relative=1,ragged-right]
118 \chordmode { c2 f4 g }
121 Minor, augmented, and diminished triads are entered by placing
122 @code{:} and a quality modifier string after the duration:
124 @lilypond[verbatim,quote,ragged-right,relative=1]
125 \chordmode { c2:m f4:aug g:dim }
128 Seventh chords can be created:
130 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
131 \chordmode { c1:7 c:m7 c:maj7 c:dim7 c:aug7 }
139 The table belows shows the actions of the quality modifiers on
140 triads and seventh chords.
145 The minor chord. This modifier lowers the 3rd and (if present) the
149 The diminished chord. This modifier lowers the 3rd, 5th and (if
150 present) the 7th step.
153 The augmented chord. This modifier raises the 5th step.
156 The major 7th chord. This modifier adds a raised 7th step. The
157 @code{7} following @code{maj} is optional. Do NOT use this modifier
158 to create a major triad.
162 @c TODO -- perhaps add warning about c and c:maj being different, while
163 @c c:maj and c:maj7 are the same
170 @node Extended and altered chords
171 @unnumberedsubsubsec Extended and altered chords
173 @cindex extended chords
174 @cindex altered chords
176 Chord structures of arbitrary complexity can be created in chord
177 mode. The modifier string can be used to extend a chord, add or
178 remove chord steps, raise or lower chord steps, and add a bass note
179 or create an inversion.
181 The first number following the @code{:} is taken to be the extent
182 of the chord. The chord is constructed by sequentially adding
183 thirds to the root until the specified number has been reached.
184 If the extent is not a third (e.g., 6), thirds are added up to the
185 highest third below the extent, and then the step of the extent is
186 added. The largest possible value for the extent is 13. Any
187 larger value is interpreted as 13.
189 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
198 Note that @code{c:5} is identical to @code{c}; it produces a C major triad.
200 Since an unaltered 11 does not sound good when combined with an
201 unaltered 13, the 11 is removed from a @code{:13} chord (unless it
202 is added explicitly).
204 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
210 @cindex additions, in chords
212 Individual steps can be added to a chord. Additions follow the
213 extent and are prefixed by a dot (@code{.}).
215 @lilypond[quote,verbatim,fragment,relative=1]
217 c1:5.6 c:3.7.8 c:3.6.13
221 Added steps can be as high as desired.
223 @lilypond[quote,verbatim,fragment,relative=1]
225 c4:5.15 c:5.20 c:5.25 c:5.30
229 @cindex chord steps, altering
231 Added chord steps can be altered by suffixing a @code{-} or @code{+}
232 sign to the number. To alter a step that is automatically included
233 as part of the basic chode structure, add it as an altered step.
235 @lilypond[quote,verbatim,fragment,relative=1]
237 c1:7+ c:5+.3- c:3-.5-.7-
241 @cindex removals, in chords
245 A step to be removed from the chord indicated in a
246 modifier string with a prefix of @code{^}. Only one removal with @code{^}
247 is allowed in a modifier string.
249 @lilypond[quote,verbatim,fragment,relative=1]
257 The modifier @code{sus} can be added to the modifier string to
258 create suspended chords. This removes the 3rd step from the chord.
259 Append either @code{2} or @code{4} to add the 2nd or 4th step to the
260 chord. @code{sus} is equivalent to @code{^3}; @code{sus4} is
261 equivalent to @code{.4^3}.
263 @lilypond[quote,ragged-right,fragment,verbatim]
265 c1:sus c:sus2 c:sus4 c:5.4^3
269 It is possible to remove the 3rd step with @code{sus} and remove
270 another step with @code{^} in one modifier string.
273 @cindex chord inversions
274 @cindex bass note, for chords
276 Inversions (putting a pitch other than the root on the bottom of the
277 chord) and added bass notes can be specified by appending
278 @code{/}@var{pitch} to the chord.
280 @lilypond[quote,ragged-right,fragment,verbatim, relative=2]
288 A bass note that is part of the chord can be added, instead of
289 moved as part of an inversion, by using @code{/+}@var{pitch}.
291 @lilypond[quote,ragged-right,fragment,verbatim]
304 Each step can only be present in a chord once. The following
305 simply produces the augmented chord, since @code{5+} is
308 @lilypond[quote,ragged-right,verbatim,fragment]
309 \chordmode { c1:5.5-.5+ }
312 Only one step can be removed from a chord. If a chord with multiple
313 removed steps is desired, it must be built through addition of
316 Only the first inversion can be created by adding a bass note. The
317 second inversion requires changing the root of the chord.
319 @lilypond[quote,ragged-right,verbatim,fragment]
321 c'1: c':/g e:6-3-^5 e:m6-^5
325 @node Displaying chords
326 @subsection Displaying chords
328 Chords can be displayed by name, in addition to the standard display
332 * Printing chord names::
333 * Customizing chord names::
336 @node Printing chord names
337 @unnumberedsubsubsec Printing chord names
339 @cindex printing chord names
343 Chord names are printed in the @code{ChordNames} context:
345 @lilypond[verbatim,quote,relative=1,ragged-right]
353 Chords can be entered as simultaneous notes or through the use of
354 chord mode. The displayed chord name will be the same, regardless
355 of the mode of entry, unless there are inversions or added bass notes:
357 @lilypond[verbatim,quote,relative=1]
378 @code{\chords @{ ... @}} is a shortcut notation for
379 @code{\new ChordNames @{\chordmode @{ ... @}@}}.
381 @lilypond[verbatim,quote,ragged-right, relative=1]
387 @lilypond[verbatim,quote,ragged-right, relative=1]
397 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
398 {showing-chords-at-changes.ly}
400 @c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
401 @c {adding-bar-lines-to-chordnames-context.ly}
403 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
404 {simple-lead-sheet.ly}
414 @ref{Writing music in parallel}.
421 @rinternals{ChordNames},
422 @rinternals{Volta_engraver},
423 @rinternals{Bar_engraver}.
427 Chords containing inversions or altered bass notes are not named
428 properly if entered using simultaneous music.
431 @node Customizing chord names
432 @unnumberedsubsubsec Customizing chord names
434 @cindex customizing chord names
436 There is no unique system for naming chords. Different musical
437 traditions use different names for the same set of chords. There
438 are also different symbols displayed for a given chord name. The
439 names and symbols displayed for chord names are customizable.
445 The default chord name layout is a system for Jazz music, proposed
446 by Klaus Ignatzek (see @ref{Literature list}). There are also two
447 other chord name schemes implemented: an alternate Jazz chord
448 notation, and a systematic scheme called Banter chords. The
449 alternate Jazz notation is also shown on the chart in @ref{Chord
452 In addition to the different naming systems, different note names
453 are used for the root in different languages. The predefined
454 variables @code{\germanChords}, @code{\semiGermanChords},
455 @code{\italianChords} and @code{\frenchChords} set these variables.
456 The effect is demonstrated here:
458 @lilypondfile[ragged-right]{chord-names-languages.ly}
460 If none of the default settings give the desired output, the chord
461 name display can be tuned through the following properties.
465 @funindex chordRootNamer
469 The chord name is usually printed as a letter for the root with an
470 optional alteration. The transformation from pitch to letter is
471 done by this function. Special note names (for example, the German
472 @q{H} for a B-chord) can be produced by storing a new function in
475 @funindex majorSevenSymbol
477 @item majorSevenSymbol
479 This property contains the markup object used to follow the output
480 of @code{chordRootNamer} to dentify a major 7 chord. Predefined
481 options are @code{whiteTriangleMarkup} and
482 @code{blackTriangleMarkup}.
484 @funindex chordNoteNamer
488 When the chord name contains additional pitches other than the root
489 (e.g., an added bass note), this function is used to print the
490 additional pitch. By default the pitch is printed using
491 @code{chordRootNamer}. The @code{chordNoteNamer} property can be set
492 to a specialized function to change this behavior. For example, the
493 bass note can be printed in lower case.
495 @funindex chordNameSeparator
497 @item chordNameSeparator
499 Different parts of a chord name are normally separated by a slash.
500 By setting @code{chordNameSeparator}, you can use any desired markup
503 @funindex chordNameExceptions
505 @item chordNameExceptions
507 This property is a list of pairs. The first item in each pair
508 is a set of pitches used to identify the steps present in the chord.
509 The second item is a markups that will follow the @code{chordRootNamer}
510 output to create the chord name.
512 @funindex chordPrefixSpacer
513 @item chordPrefixSpacer
515 The @q{m} for minor chords is usually printed immediately to the
516 right of the root of the chord. By setting
517 @code{chordPrefixSpacer}, you can fix a spacer between the root
518 and @q{m}. The spacer is not used when the root is altered.
524 @funindex major seven symbols
525 @code{\whiteTriangleMarkup},
526 @code{\blackTriangleMarkup},
527 @funindex \germanChords
528 @code{\germanChords},
529 @funindex \semiGermanChords
530 @code{\semiGermanChords},
531 @funindex \italianChords
532 @code{\italianChords},
533 @funindex \frenchChords
534 @code{\frenchChords}.
539 @cindex exceptions, chord names.
540 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
541 {chord-name-exceptions.ly}
543 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
544 {chord-name-major7.ly}
546 @c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
547 @c {adding-bars-to-chordnames.ly)
549 @c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
550 @c {volta-brackets-over-chord-names.ly}
552 @c TODO convert to snippet
553 @c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
554 @c {changing-chord-separator.ly}
556 The separator between different parts of a chord name
557 can be set to any markup.
559 @lilypond[quote,ragged-right,fragment,verbatim]
562 \set chordNameSeparator
563 = \markup { \typewriter "|" }
572 @ref{Chord name chart}.
575 @file{scm/@/chords@/-ignatzek@/.scm},
576 @file{scm/@/chord@/-entry@/.scm},
577 @file{ly/@/chord@/-modifier@/-init@/.ly}.
582 @c Internals Reference:
587 Chord names are determined from both the pitches that are present
588 in the chord and the information on the chord structure that may
589 have been entered in @code{\chordmode}. If the simultaneous pitches
590 method of entering chords is used, undesired names result from
591 inversions or bass notes.
593 @lilypond[quote,ragged-right,verbatim]
594 myChords = \relative c' {
595 \chordmode{ c1 c/g c/f }
596 <c e g> <g c e> <f c' e g>
599 \new ChordNames { \myChords }
600 \new Staff { \myChords }
606 @subsection Figured bass
608 Figured bass notation can be displayed.
611 * Introduction to figured bass::
612 * Entering figured bass::
613 * Displaying figured bass::
616 @node Introduction to figured bass
617 @unnumberedsubsubsec Introduction to figured bass
619 @cindex Basso continuo
620 @cindex Thorough bass
622 @cindex Bass, thorough
623 @cindex Bass, figured
625 @c TODO: musicological blurb about FB
627 LilyPond has support for figured bass, also called thorough bass
630 @lilypond[quote,ragged-right,verbatim,fragment]
632 \new Voice { \clef bass dis4 c d ais g fis}
635 < 6 >4 < 7\+ >8 < 6+ [_!] >
643 The support for figured bass consists of two parts: there is an
644 input mode, introduced by @code{\figuremode}, that accepts
645 entry of bass figures, and there is a context named
646 @code{FiguredBass} that takes care of displaying
647 @code{BassFigure} objects. Figured bass can also be displayed
648 in @code{Staff} contexts.
650 @code{\figures@{ ... @}} is a shortcut notation for
651 @code{\new FiguredBass @{\figuremode @{ ... @}@}}.
654 Although the support for figured bass may superficially resemble chord
655 support, it is much simpler. @code{\figuremode} mode simply
656 stores the figures and the @code{FiguredBass} context prints them
657 as entered. There is no conversion to pitches.
659 Figures are created as markup texts. Any of the standard markup
660 properties can be used to modify the display of figures. For
661 example, the vertical spacing of the figures may be set with
662 @code{baseline-skip}.
664 @node Entering figured bass
665 @unnumberedsubsubsec Entering figured bass
667 @code{\figuremode} is used to switch the input mode to figure mode.
668 More information on different input modes can be
669 found at @ref{Input modes}.
671 In figure mode, a group of bass figures is delimited by
672 @code{<} and @code{>}. The duration is entered after the @code{>}.
674 @lilypond[verbatim,quote,ragged-right,fragment]
682 Accidentals (including naturals) can be added to figures:
684 @lilypond[verbatim,quote,ragged-right,fragment]
686 <4- 6+ 7!> <5++> <3-->
690 Augmented and diminished steps can be indicated.
692 @lilypond[verbatim,quote,ragged-right,fragment]
698 A backward slash through a figure (typically used for raised
699 sixth steps) can be created.
701 @lilypond[verbatim,quote,ragged-right,fragment]
710 Vertical spaces and brackets can be be included in figures:
712 @lilypond[verbatim,quote,ragged-right,fragment]
719 Any text markup can be inserted as a figure:
721 @lilypond[verbatim,quote,ragged-right,fragment]
723 < 5 \markup{ \tiny \number 6 \super (1)} >
727 @c TODO We need to include notes any time we use extenders to
728 @c avoid extraneous staff creation due to Staff.use... in
729 @c \bassFigureExtendersOn
731 Continuation lines can be used to indicate repeated figures:
733 @lilypond[verbatim,quote,ragged-right,fragment]
741 \bassFigureExtendersOn
742 <4 6> <3 6> <3 7> <3 7>
743 \bassFigureExtendersOff
744 <4 6> <3 6> <3 7> <3 7>
750 In this case, the extender lines replace existing figures,
751 unless the continuation lines have been explicitly terminated.
753 @lilypond[verbatim,quote,ragged-right,fragment]
756 \bassFigureExtendersOn
757 <4 6> <4 6> <4\! 6\!> <4 6>
769 @cindex figured bass extender lines
770 @code{bassFigureExtendersOn}
771 @code{bassFigureExtendersOff}
775 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
776 {changing-the-positions-of-figured-bass-alterations.ly}
785 @c Notation Reference:
788 @c Application Usage:
798 @rinternals{NewBassFigure},
799 @rinternals{BassFigureAlignment},
800 @rinternals{BassFigureLine},
801 @rinternals{BassFigureBracket},
802 @rinternals{BassFigureContinuation},
803 @rinternals{FiguredBass}.
807 @node Displaying figured bass
808 @unnumberedsubsubsec Displaying figured bass
810 Figured bass can be displayed using the @code{FiguredBass} context,
811 or in most staff contexts.
813 When displayed in a @code{FiguredBass} context, the vertical location
814 of the figures is independent of the notes on the staff.
816 @lilypond[verbatim,ragged-right,fragment,quote]
831 In the example above, the @code{FiguredBass} context must be
832 explicitly instantiated to avoid creating a second (empty) staff.
835 Figured bass can also be added to @code{Staff} contexts
836 directly. In this case, the vertical position of the
837 figures is adjusted automatically.
839 @c TODO add a second paragraph to show direction change. First
840 @c example should be UP (default), second should be DOWN.
842 @c TODO change to use predefined command once it is added to
843 @c property-init.ly -cds
844 @lilypond[verbatim,ragged-right,fragment,quote]
851 %% Put notes on same Staff as figures
852 \context Staff = myStaff
861 When added in a Staff context, figured bass can be displayed above
864 @lilypond[verbatim,ragged-right,fragment,quote]
869 \bassFigureStaffAlignmentDown
872 %% Put notes on same Staff as figures
873 \context Staff = myStaff
883 @c I don't understand this -cs
884 When using continuation lines, common figures are always put in the
885 same vertical position. When this is unwanted, you can insert a rest.
886 The rest will clear any previous alignment. For
887 example, you can write
901 @cindex figured bass alignment
902 @code{bassFigureStaffAlignmentDown},
903 @code{bassFigureStaffAlignmentUp},
904 @code{bassFigureStaffAlignmentNeutral}.
915 @c Notation Reference:
918 @c Application Usage:
928 @rinternals{NewBassFigure},
929 @rinternals{BassFigureAlignment},
930 @rinternals{BassFigureLine},
931 @rinternals{BassFigureBracket},
932 @rinternals{BassFigureContinuation},
933 @rinternals{FiguredBass}.
937 To ensure that continuation lines work properly, it is
938 safest to use the same rhythm in the figure line as in
941 @lilypond[verbatim,ragged-right,fragment,quote]
945 \repeat unfold 4 {f16. g32} f8. es16 d8 es
948 \bassFigureExtendersOn
949 % The extenders are correct here, with the same rhythm as the bass
950 \repeat unfold 4 {<6 4->16. <6 4->32}
951 <5>8. r16 <6>8 <6\! 5->
957 \repeat unfold 4 {f16. g32} f8. es16 d8 es
960 \bassFigureExtendersOn
961 % The extenders are incorrect here, even though the timing is the same
963 %\repeat unfold 4 {<6 4->16. <6 4->32}
964 <5>8. r16 <6>8 <6\! 5->
969 @c I have no idea what this means -cds
970 @c A predefined command for changing this has been proposed -cds
971 @c TODO -- put stacking direction snippet here -cds
972 When using figured bass above the staff with extender lines and
973 @code{implicitBassFigures} the lines may become swapped around.
974 Maintaining order consistently will be impossible when multiple figures
975 have overlapping extender lines. To avoid this problem, please
976 use @code{stacking-dir} on @code{BassFigureAlignment}.