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 @lilypondfile[quote]{chords-headword.ly}
17 Chords can be entered in chord mode, which recognizes some traditional European chord naming conventions. Chord names can also
18 be displayed. In addition, figured bass notation can be displayed.
28 @subsection Chord mode
32 Chord mode is used to enter chords using an indicator of the chord
33 structure, rather than the chord pitches.
36 * Chord mode overview::
38 * Extended and altered chords::
41 @node Chord mode overview
42 @unnumberedsubsubsec Chord mode overview
47 Chords can be entered as simultaneous music, as discussed in
50 Chords can also be entered in @qq{chord mode}, which is an input
51 mode that focuses on the structures of chords in traditional
52 European music, rather than on specific pitches. This is
53 convenient for those who are familiar with using chord names to
54 describe chords. More information on different input modes can be
55 found at @ref{Input modes}.
57 @lilypond[verbatim,quote,ragged-right,relative=1]
58 \chordmode { c1 g a g c }
61 Chords entered using chord mode are music elements, and can be
62 transposed just like chords entered using simultaneous music.
64 Chord mode and note mode can be mixed in sequential music:
66 @lilypond[verbatim,quote,ragged-right,relative=1]
88 When chord mode and note mode are mixed in sequential music, and
89 chord mode comes first, the note mode will create a new @code{Staff}
92 @lilypond[verbatim,quote,ragged-right,relative=1]
97 To avoid this behavior, explicitly create the @code{Staff} context:
99 @lilypond[verbatim,quote,ragged-right,relative=1]
107 @unnumberedsubsubsec Common chords
110 @cindex seventh chords
111 @cindex root of chord
112 @cindex modifiers, in chords.
113 @cindex chord quality
115 Major triads are entered by including the root and an
118 @lilypond[verbatim,quote,relative=1,ragged-right]
119 \chordmode { c2 f4 g }
122 Minor, augmented, and diminished triads are entered by placing
123 @code{:} and a quality modifier string after the duration:
125 @lilypond[verbatim,quote,ragged-right,relative=1]
126 \chordmode { c2:m f4:aug g:dim }
129 Seventh chords can be created:
131 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
132 \chordmode { c1:7 c:m7 c:maj7 c:dim7 c:aug7 }
140 The table belows shows the actions of the quality modifiers on
141 triads and seventh chords. A more complete table of modifier usage
142 is found at @ref{Common chord modifiers}.
145 @multitable @columnfractions .2 .4 .3
157 The default action; produces a major triad.
159 @lilypond[line-width=4\cm, noragged-right]
161 \override Staff.TimeSignature #'stencil = ##f
169 The minor chord. This modifier lowers the 3rd and (if present) the
172 @lilypond[line-width=4\cm, noragged-right]
174 \override Staff.TimeSignature #'stencil = ##f
183 The diminished chord. This modifier lowers the 3rd, 5th and (if
184 present) the 7th step.
186 @lilypond[line-width=4\cm, noragged-right]
188 \override Staff.TimeSignature #'stencil = ##f
196 The augmented chord. This modifier raises the 5th step.
198 @lilypond[line-width=4\cm, noragged-right]
200 \override Staff.TimeSignature #'stencil = ##f
208 The major 7th chord. This modifier adds a raised 7th step. The
209 @code{7} following @code{maj} is optional. Do NOT use this modifier
210 to create a major triad.
212 @lilypond[line-width=4\cm, noragged-right]
214 \override Staff.TimeSignature #'stencil = ##f
225 @ref{Common chord modifiers}.
230 @node Extended and altered chords
231 @unnumberedsubsubsec Extended and altered chords
233 @cindex extended chords
234 @cindex altered chords
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.
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 If the extent is not a third (e.g., 6), thirds are added up to the
245 highest third below the extent, and then the step of the extent is
246 added. The largest possible value for the extent is 13. Any
247 larger value is interpreted as 13.
249 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
259 Note that both @code{c:5} and @code{c} produce a C major triad.
261 Since an unaltered 11 does not sound good when combined with an
262 unaltered 13, the 11 is removed from a @code{:13} chord (unless it
263 is added explicitly).
265 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
271 @cindex additions, in chords
273 Individual steps can be added to a chord. Additions follow the
274 extent and are prefixed by a dot (@code{.}).
276 @lilypond[quote,verbatim,fragment,relative=1]
278 c1:5.6 c:3.7.8 c:3.6.13
282 Added steps can be as high as desired.
284 @lilypond[quote,verbatim,fragment,relative=1]
286 c4:5.15 c:5.20 c:5.25 c:5.30
290 @cindex chord steps, altering
292 Added chord steps can be altered by suffixing a @code{-} or @code{+}
293 sign to the number. To alter a step that is automatically included
294 as part of the basic chode structure, add it as an altered step.
296 @lilypond[quote,verbatim,fragment,relative=1]
298 c1:7+ c:5+.3- c:3-.5-.7-
302 @cindex removals, in chords
306 Following any steps to be added, a series of steps to be removed
307 is introduced in a modifier string with a prefix of @code{^}.
308 If more than one step is to be removed, the steps to be
309 removed are separated by @code{.} following the
312 @lilypond[quote,verbatim,fragment,relative=1]
314 c1^3 c:7^5 c:9^3 c:9^3.5 c:13.11^3.7
320 The modifier @code{sus} can be added to the modifier string to
321 create suspended chords. This removes the 3rd step from the chord.
322 Append either @code{2} or @code{4} to add the 2nd or 4th step to the
323 chord. @code{sus} is equivalent to @code{^3}; @code{sus4} is
324 equivalent to @code{.4^3}.
326 @lilypond[quote,ragged-right,fragment,verbatim]
328 c1:sus c:sus2 c:sus4 c:5.4^3
333 @cindex chord inversions
334 @cindex bass note, for chords
336 Inversions (putting a pitch other than the root on the bottom of the
337 chord) and added bass notes can be specified by appending
338 @code{/}@var{pitch} to the chord.
340 @lilypond[quote,ragged-right,fragment,verbatim, relative=2]
348 A bass note that is part of the chord can be added, instead of
349 moved as part of an inversion, by using @code{/+}@var{pitch}.
351 @lilypond[quote,ragged-right,fragment,verbatim]
357 Chord modifiers that can be used to produce a variety of
358 standard chords are shown in
359 @ref{Common chord modifiers}.
364 @ref{Common chord modifiers}.
371 Each step can only be present in a chord once. The following
372 simply produces the augmented chord, since @code{5+} is
375 @lilypond[quote,ragged-right,verbatim,fragment]
376 \chordmode { c1:5.5-.5+ }
379 Only the first inversion can be created by adding a bass note. The
380 second inversion requires changing the root of the chord.
382 @lilypond[quote,ragged-right,verbatim,fragment]
384 c'1: c':/g e:6-3-^5 e:m6-^5
388 @node Displaying chords
389 @subsection Displaying chords
391 Chords can be displayed by name, in addition to the standard display
395 * Printing chord names::
396 * Customizing chord names::
399 @node Printing chord names
400 @unnumberedsubsubsec Printing chord names
402 @cindex printing chord names
406 Chord names are printed in the @code{ChordNames} context:
408 @lilypond[verbatim,quote,relative=1,ragged-right]
416 Chords can be entered as simultaneous notes or through the use of
417 chord mode. The displayed chord name will be the same, regardless
418 of the mode of entry, unless there are inversions or added bass notes:
420 @lilypond[verbatim,quote,relative=1]
441 @code{\chords @{ ... @}} is a shortcut notation for
442 @code{\new ChordNames @{\chordmode @{ ... @}@}}.
444 @lilypond[verbatim,quote,ragged-right, relative=1]
450 @lilypond[verbatim,quote,ragged-right, relative=1]
460 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
461 {showing-chords-at-changes.ly}
463 @c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
464 @c {adding-bar-lines-to-chordnames-context.ly}
466 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
467 {simple-lead-sheet.ly}
477 @ref{Writing music in parallel}.
484 @rinternals{ChordNames},
485 @rinternals{Volta_engraver},
486 @rinternals{Bar_engraver}.
490 Chords containing inversions or altered bass notes are not named
491 properly if entered using simultaneous music.
494 @node Customizing chord names
495 @unnumberedsubsubsec Customizing chord names
497 @cindex customizing chord names
499 There is no unique system for naming chords. Different musical
500 traditions use different names for the same set of chords. There
501 are also different symbols displayed for a given chord name. The
502 names and symbols displayed for chord names are customizable.
508 The default chord name layout is a system for Jazz music, proposed
509 by Klaus Ignatzek (see @ref{Literature list}). There are also two
510 other chord name schemes implemented: an alternate Jazz chord
511 notation, and a systematic scheme called Banter chords. The
512 alternate Jazz notation is also shown on the chart in @ref{Chord
515 @c TODO -- Change this so we don't have a non-verbatim example.
516 @c Make short example in docs, then move longer example to
517 @c appendix, where the length of the snippet won't matter.
519 In addition to the different naming systems, different note names
520 are used for the root in different languages. The predefined
521 variables @code{\germanChords}, @code{\semiGermanChords},
522 @code{\italianChords} and @code{\frenchChords} set these variables.
523 The effect is demonstrated here:
525 @lilypondfile[ragged-right]{chord-names-languages.ly}
527 If none of the default settings give the desired output, the chord
528 name display can be tuned through the following properties.
532 @funindex chordRootNamer
536 The chord name is usually printed as a letter for the root with an
537 optional alteration. The transformation from pitch to letter is
538 done by this function. Special note names (for example, the German
539 @q{H} for a B-chord) can be produced by storing a new function in
542 @funindex majorSevenSymbol
544 @item majorSevenSymbol
546 This property contains the markup object used to follow the output
547 of @code{chordRootNamer} to dentify a major 7 chord. Predefined
548 options are @code{whiteTriangleMarkup} and
549 @code{blackTriangleMarkup}.
551 @funindex chordNoteNamer
555 When the chord name contains additional pitches other than the root
556 (e.g., an added bass note), this function is used to print the
557 additional pitch. By default the pitch is printed using
558 @code{chordRootNamer}. The @code{chordNoteNamer} property can be set
559 to a specialized function to change this behavior. For example, the
560 bass note can be printed in lower case.
562 @funindex chordNameSeparator
564 @item chordNameSeparator
566 Different parts of a chord name are normally separated by a slash.
567 By setting @code{chordNameSeparator}, you can use any desired markup
570 @funindex chordNameExceptions
572 @item chordNameExceptions
574 This property is a list of pairs. The first item in each pair
575 is a set of pitches used to identify the steps present in the chord.
576 The second item is a markups that will follow the @code{chordRootNamer}
577 output to create the chord name.
579 @funindex chordPrefixSpacer
580 @item chordPrefixSpacer
582 The @q{m} for minor chords is usually printed immediately to the
583 right of the root of the chord. By setting
584 @code{chordPrefixSpacer}, you can fix a spacer between the root
585 and @q{m}. The spacer is not used when the root is altered.
591 @funindex major seven symbols
592 @code{\whiteTriangleMarkup},
593 @code{\blackTriangleMarkup},
594 @funindex \germanChords
595 @code{\germanChords},
596 @funindex \semiGermanChords
597 @code{\semiGermanChords},
598 @funindex \italianChords
599 @code{\italianChords},
600 @funindex \frenchChords
601 @code{\frenchChords}.
606 @cindex exceptions, chord names.
607 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
608 {chord-name-exceptions.ly}
610 @c TODO - tweak snippet to use \blackTriangleMarkup as well
611 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
612 {chord-name-major7.ly}
614 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
615 {adding-bar-lines-to-chordnames-context.ly}
617 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
618 {volta-below-chords.ly}
620 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
621 {changing-chord-separator.ly}
627 @ref{Chord name chart},
628 @ref{Common chord modifiers}.
631 @file{scm/@/chords@/-ignatzek@/.scm},
632 @file{scm/@/chord@/-entry@/.scm},
633 @file{ly/@/chord@/-modifier@/-init@/.ly}.
638 @c Internals Reference:
643 Chord names are determined from both the pitches that are present
644 in the chord and the information on the chord structure that may
645 have been entered in @code{\chordmode}. If the simultaneous pitches
646 method of entering chords is used, undesired names result from
647 inversions or bass notes.
649 @lilypond[quote,ragged-right,verbatim]
650 myChords = \relative c' {
651 \chordmode{ c1 c/g c/f }
652 <c e g> <g c e> <f c' e g>
655 \new ChordNames { \myChords }
656 \new Staff { \myChords }
662 @subsection Figured bass
664 @lilypondfile[quote]{figured-bass-headword.ly}
666 Figured bass notation can be displayed.
669 * Introduction to figured bass::
670 * Entering figured bass::
671 * Displaying figured bass::
674 @node Introduction to figured bass
675 @unnumberedsubsubsec Introduction to figured bass
677 @cindex Basso continuo
678 @cindex Thorough bass
680 @cindex Bass, thorough
681 @cindex Bass, figured
683 @c TODO: musicological blurb about FB
686 LilyPond has support for figured bass, also called thorough bass
689 @lilypond[quote,ragged-right,verbatim,fragment]
691 \new Voice { \clef bass dis4 c d ais g fis}
694 < 6 >4 < 7\+ >8 < 6+ [_!] >
702 The support for figured bass consists of two parts: there is an
703 input mode, introduced by @code{\figuremode}, that accepts
704 entry of bass figures, and there is a context named
705 @code{FiguredBass} that takes care of displaying
706 @code{BassFigure} objects. Figured bass can also be displayed
707 in @code{Staff} contexts.
709 @code{\figures@{ ... @}} is a shortcut notation for
710 @code{\new FiguredBass @{\figuremode @{ ... @}@}}.
713 Although the support for figured bass may superficially resemble chord
714 support, it is much simpler. @code{\figuremode} mode simply
715 stores the figures and the @code{FiguredBass} context prints them
716 as entered. There is no conversion to pitches.
718 Figures are created as markup texts. Any of the standard markup
719 properties can be used to modify the display of figures. For
720 example, the vertical spacing of the figures may be set with
721 @code{baseline-skip}.
729 @node Entering figured bass
730 @unnumberedsubsubsec Entering figured bass
732 @code{\figuremode} is used to switch the input mode to figure mode.
733 More information on different input modes can be
734 found at @ref{Input modes}.
736 In figure mode, a group of bass figures is delimited by
737 @code{<} and @code{>}. The duration is entered after the @code{>}.
739 @lilypond[verbatim,quote,ragged-right,fragment]
748 Accidentals (including naturals) can be added to figures:
750 @lilypond[verbatim,quote,ragged-right,fragment]
752 <7! 6+ 4-> <5++> <3-->
756 Augmented and diminished steps can be indicated.
758 @lilypond[verbatim,quote,ragged-right,fragment]
764 A backward slash through a figure (typically used for raised
765 sixth steps) can be created.
767 @lilypond[verbatim,quote,ragged-right,fragment]
774 Vertical spaces and brackets can be be included in figures:
776 @lilypond[verbatim,quote,ragged-right,fragment]
782 Any text markup can be inserted as a figure:
784 @lilypond[verbatim,quote,ragged-right,fragment]
786 < \markup{ \tiny \number 6 \super (1)} 5 >
790 @c NOTE: We need to include notes any time we use extenders to
791 @c avoid extraneous staff creation due to Staff.use... in
792 @c \bassFigureExtendersOn
794 Continuation lines can be used to indicate repeated figures:
796 @lilypond[verbatim,quote,ragged-right,fragment]
804 \bassFigureExtendersOn
805 <6 4> <6 3> <7 3> <7 3>
806 \bassFigureExtendersOff
807 <6 4> <6 3> <7 3> <7 3>
813 In this case, the extender lines replace existing figures,
814 unless the continuation lines have been explicitly terminated.
816 @lilypond[verbatim,quote,ragged-right,fragment]
819 \bassFigureExtendersOn
820 <6 4> <6 4> <6\! 4\!> <6 4>
829 The table below summarizes the figure modifiers available.
831 @multitable @columnfractions .1 .5 .4
845 @lilypond[line-width=4\cm]
847 <7! 6+ 4-> <5++> <3-->
854 Augmented and diminished steps
856 @lilypond[line-width=4\cm]
867 @lilypond[line-width=4\cm]
876 End of continuation line
878 @lilypond[line-width=1.5\cm]
881 \bassFigureExtendersOn
882 <6 4> <6 4> <6\! 4\!> <6 4>
896 @cindex figured bass extender lines
897 @code{\bassFigureExtendersOn},
898 @code{\bassFigureExtendersOff}.
902 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
903 {changing-the-positions-of-figured-bass-alterations.ly}
912 @c Notation Reference:
915 @c Application Usage:
925 @rinternals{NewBassFigure},
926 @rinternals{BassFigureAlignment},
927 @rinternals{BassFigureLine},
928 @rinternals{BassFigureBracket},
929 @rinternals{BassFigureContinuation},
930 @rinternals{FiguredBass}.
934 @node Displaying figured bass
935 @unnumberedsubsubsec Displaying figured bass
937 Figured bass can be displayed using the @code{FiguredBass} context,
938 or in most staff contexts.
940 When displayed in a @code{FiguredBass} context, the vertical location
941 of the figures is independent of the notes on the staff.
943 @lilypond[verbatim,ragged-right,fragment,quote]
958 In the example above, the @code{FiguredBass} context must be
959 explicitly instantiated to avoid creating a second (empty) staff.
962 Figured bass can also be added to @code{Staff} contexts
963 directly. In this case, the vertical position of the
964 figures is adjusted automatically.
966 @lilypond[verbatim,ragged-right,fragment,quote]
973 %% Put notes on same Staff as figures
974 \context Staff = myStaff
983 When added in a Staff context, figured bass can be displayed above
986 @lilypond[verbatim,ragged-right,fragment,quote]
991 \bassFigureStaffAlignmentDown
994 %% Put notes on same Staff as figures
995 \context Staff = myStaff
1005 @cindex figured bass alignment
1006 @code{\bassFigureStaffAlignmentDown},
1007 @code{\bassFigureStaffAlignmentUp},
1008 @code{\bassFigureStaffAlignmentNeutral}.
1019 @c Notation Reference:
1022 @c Application Usage:
1031 Internals Reference:
1032 @rinternals{NewBassFigure},
1033 @rinternals{BassFigureAlignment},
1034 @rinternals{BassFigureLine},
1035 @rinternals{BassFigureBracket},
1036 @rinternals{BassFigureContinuation},
1037 @rinternals{FiguredBass}.
1041 To ensure that continuation lines work properly, it is
1042 safest to use the same rhythm in the figure line as in
1045 @lilypond[verbatim,ragged-right,fragment,quote]
1049 \repeat unfold 4 {f16. g32} f8. es16 d8 es
1052 \bassFigureExtendersOn
1053 % The extenders are correct here, with the same rhythm as the bass
1054 \repeat unfold 4 {<6 4->16. <6 4->32}
1055 <5>8. r16 <6>8 <6\! 5->
1061 \repeat unfold 4 {f16. g32} f8. es16 d8 es
1064 \bassFigureExtendersOn
1065 % The extenders are incorrect here, even though the timing is the same
1067 <5>8. r16 <6>8 <6\! 5->
1072 When using extender lines, adjacent figures with the same number in
1073 a different figure location can cause the figure positions to invert.
1075 @lilypond[verbatim,ragged-right,fragment,quote,relative=1]
1079 \bassFigureExtendersOn
1080 <6 5> <5\! 4> < 5 _!> <6>
1085 To avoid this problem, simply turn on extenders after the figure that
1086 begins the extender line and turn them off at the end of the extender line.
1088 @lilypond[verbatim,ragged-right,fragment,quote,relative=1]
1093 \bassFigureExtendersOn
1095 \bassFigureExtendersOff