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]
197 Since an unaltered 11 does not sound good when combined with an
198 unaltered 13, the 11 is removed from a @code{:13} chord (unless it
199 is added explicitly).
201 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
207 @cindex additions, in chords
209 Individual steps can be added to a chord. Additions follow the
210 extent and are prefixed by a dot (@code{.}).
212 @lilypond[quote,verbatim,fragment,relative=1]
214 c1:5.6 c:3.7.8 c:3.6.13
218 Added steps can be as high as desired.
220 @lilypond[quote,verbatim,fragment,relative=1]
222 c4:5.15 c:5.20 c:5.25 c:5.30
226 @cindex chord steps, altering
228 Added chord steps can be altered by suffixing a @code{-} or @code{+}
229 sign to the number. To alter a step that is automatically included
230 as part of the basic chode structure, add it as an altered step.
232 @lilypond[quote,verbatim,fragment,relative=1]
234 c1:7+ c:5+.3- c:3-.5-.7-
238 @cindex removals, in chords
242 A step to be removed from the chord must come at the end of a
243 modifier string and be prefixed by @code{^}. Only one removal with @code{^}
244 is allowed in a modifier string.
246 @lilypond[quote,verbatim,fragment,relative=1]
254 The modifier @code{sus} can be added to the modifier string to
255 create suspended chords. This removes the 3rd step from the chord.
256 Append either @code{2} or @code{4} to add the 2nd or 4th step to the
257 chord. @code{sus} is equivalent to @code{^3}; @code{sus4} is
258 equivalent to @code{.4^3}.
260 @lilypond[quote,ragged-right,fragment,verbatim]
262 c1:sus c:sus2 c:sus4 c:5.4^3
266 It is possible to remove the 3rd step with @code{sus} and remove
267 another step with @code{^} in one modifier string.
270 @cindex chord inversions
271 @cindex bass note, for chords
273 Inversions (putting a pitch other than the root on the bottom of the
274 chord) and added bass notes can be specified by appending
275 @code{/}@var{pitch} to the chord.
277 @lilypond[quote,ragged-right,fragment,verbatim, relative=2]
285 A bass note that is part of the chord can be added, instead of
286 moved as part of an inversion, by using @code{/+}@var{pitch}.
288 @lilypond[quote,ragged-right,fragment,verbatim]
301 Each step can only be present in a chord once. The following
302 simply produces the augmented chord, since @code{5+} is
305 @lilypond[quote,ragged-right,verbatim,fragment]
306 \chordmode { c1:5.5-.5+ }
309 Only one step can be removed from a chord. If a chord with multiple
310 removed steps is desired, it must be built through addition of
314 @node Displaying chords
315 @subsection Displaying chords
317 Chords can be displayed by name, in addition to the standard display
321 * Printing chord names::
322 * Customizing chord names::
325 @node Printing chord names
326 @unnumberedsubsubsec Printing chord names
328 @cindex printing chord names
332 Chord names are printed in the @code{ChordNames} context:
334 @lilypond[verbatim,quote,relative=1,ragged-right]
342 Chords can be entered as simultaneous notes or through the use of
343 chord mode. The displayed chord name will be the same, regardless
344 of the mode of entry, unless there are inversions or added bass notes:
346 @lilypond[quote,ragged-right,verbatim,relative=1]
367 @code{\chords @{ ... @}} is a shortcut notation for
368 @code{\new ChordNames @{\chordmode @{ ... @}@}}.
370 @lilypond[verbatim,quote,ragged-right, relative=1]
376 @lilypond[verbatim,quote,ragged-right, relative=1]
386 @c TODO -- replace this with a snippet
387 Chord names can be displayed only at the start of lines and when
390 @lilypond[quote,verbatim,ragged-right]
391 harmonies = \chordmode {
392 c1:m c:m \break c:m c:m d
396 \set chordChanges = ##t
400 \relative c' { \harmonies }
405 @c TODO -- replace this with a snippet
406 To add bar indications in the @code{ChordNames}
407 context, add @rinternals{Bar_engraver}.
409 @lilypond[ragged-right,verbatim]
410 \new ChordNames \with {
411 \override BarLine #'bar-size = #4
412 \consists "Bar_engraver"
415 f1:maj7 f:7 bes:7 c:maj7 ees e
419 @c TODO -- replace this with a snippet
420 When put together, chord names, a melody, and lyrics form a lead
423 @lilypond[verbatim,quote,ragged-right]
425 \chords { c2 g:sus4 f e }
430 \addlyrics { One day this shall be free __ }
441 @ref{Writing music in parallel}.
448 @rinternals{ChordNames},
449 @rinternals{Volta_engraver},
450 @rinternals{Bar_engraver}.
454 Chords containing inversions or altered bass notes are not named
455 properly if entered using simultaneous music.
458 @node Customizing chord names
459 @unnumberedsubsubsec Customizing chord names
461 @cindex customizing chord names
463 There is no unique system for naming chords. Different musical
464 traditions use different names for the same set of chords. There
465 are also different symbols displayed for a given chord name. The
466 names and symbols displayed for chord names are customizable.
472 The default chord name layout is a system for Jazz music, proposed
473 by Klaus Ignatzek (see @ref{Literature list}). There are also two
474 other chord name schemes implemented: an alternate Jazz chord
475 notation, and a systematic scheme called Banter chords. The
476 alternate Jazz notation is also shown on the chart in @ref{Chord
479 In addition to the different naming systems, different note names
480 are used for the root in different languages. The predefined
481 variables @code{\germanChords}, @code{\semiGermanChords},
482 @code{\italianChords} and @code{\frenchChords} set these variables.
483 The effect is demonstrated here:
485 @lilypondfile[ragged-right]{chord-names-languages.ly}
487 If none of the default settings give the desired output, the chord
488 name display can be tuned through the following properties.
492 @funindex chordRootNamer
496 The chord name is usually printed as a letter for the root with an
497 optional alteration. The transformation from pitch to letter is
498 done by this function. Special note names (for example, the German
499 @q{H} for a B-chord) can be produced by storing a new function in
502 @funindex majorSevenSymbol
504 @item majorSevenSymbol
506 This property contains the markup object used to follow the output
507 of @code{chordRootNamer} to dentify a major 7 chord. Predefined
508 options are @code{whiteTriangleMarkup} and
509 @code{blackTriangleMarkup}.
511 @funindex chordNoteNamer
515 When the chord name contains additional pitches other than the root
516 (e.g., an added bass note), this function is used to print the
517 additional pitch. By default the pitch is printed using
518 @code{chordRootNamer}. The @code{chordNoteNamer} property can be set
519 to a specialized function to change this behavior. For example, the
520 bass note can be printed in lower case.
522 @funindex chordNameSeparator
524 @item chordNameSeparator
526 Different parts of a chord name are normally separated by a slash.
527 By setting @code{chordNameSeparator}, you can use any desired markup
530 @funindex chordNameExceptions
532 @item chordNameExceptions
534 This property is a list of pairs. The first item in each pair
535 is a set of pitches used to identify the steps present in the chord.
536 The second item is a markups that will follow the @code{chordRootNamer}
537 output to create the chord name.
539 @funindex chordPrefixSpacer
540 @item chordPrefixSpacer
542 The @q{m} for minor chords is usually printed immediately to the
543 right of the root of the chord. By setting
544 @code{chordPrefixSpacer}, you can fix a spacer between the root
545 and @q{m}. The spacer is not used when the root is altered.
551 @funindex major seven symbols
552 @code{\whiteTriangleMarkup},
553 @code{\blackTriangleMarkup},
554 @funindex \germanChords
555 @code{\germanChords},
556 @funindex \semiGermanChords
557 @code{\semiGermanChords},
558 @funindex \italianChords
559 @code{\italianChords},
560 @funindex \frenchChords
561 @code{\frenchChords}.
565 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
566 {chord-names-jazz.ly}
568 @c TODO fix indentation of snippet -- lots of tabs!
569 @cindex exceptions, chord names.
570 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
571 {chord-name-exceptions.ly}
573 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
574 {chord-name-major7.ly}
576 @c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
577 @c {adding-bars-to-chordnames.ly)
579 @c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
580 @c {volta-brackets-over-chord-names.ly}
582 @c TODO convert to snippet
583 The separator between different parts of a chord name
584 can be set to any markup.
586 @lilypond[quote,ragged-right,fragment,verbatim]
589 \set chordNameSeparator
590 = \markup { \typewriter "|" }
599 @file{scm/@/chords@/-ignatzek@/.scm},
600 @file{scm/@/chord@/-entry@/.scm},
601 @file{ly/@/chord@/-modifier@/-init@/.ly}.
606 @c Internals Reference:
611 Chord names are determined from both the pitches that are present
612 in the chord and the information on the chord structure that may
613 have been entered in @code{\chordmode}. If the simultaneous pitches
614 method of entering chords is used, undesired names result from
615 inversions or bass notes.
617 @lilypond[quote,ragged-right,verbatim]
618 myChords = \relative c' {
619 \chordmode{ c1 c/g c/f }
620 <c e g> <g c e> <f c' e g>
623 \new ChordNames { \myChords }
624 \new Staff { \myChords }
630 @subsection Figured bass
632 Figured bass notation can be displayed.
635 * Introduction to figured bass::
636 * Entering figured bass::
637 * Displaying figured bass::
640 @node Introduction to figured bass
641 @unnumberedsubsubsec Introduction to figured bass
643 @cindex Basso continuo
644 @cindex Thorough bass
646 @cindex Bass, thorough
647 @cindex Bass, figured
649 @c TODO: musicological blurb about FB
651 LilyPond has support for figured bass, also called thorough bass
654 @lilypond[quote,ragged-right,verbatim,fragment]
656 \new Voice { \clef bass dis4 c d ais g fis}
659 < 6 >4 < 7\+ >8 < 6+ [_!] >
667 The support for figured bass consists of two parts: there is an
668 input mode, introduced by @code{\figuremode}, that accepts
669 entry of bass figures, and there is a context named
670 @code{FiguredBass} that takes care of displaying
671 @code{BassFigure} objects. Figured bass can also be displayed
672 in @code{Staff} contexts.
674 @code{\figures@{ ... @}} is a shortcut notation for
675 @code{\new FiguredBass @{\figuremode @{ ... @}@}}.
678 Although the support for figured bass may superficially resemble chord
679 support, it is much simpler. @code{\figuremode} mode simply
680 stores the figures and the @code{FiguredBass} context prints them
681 as entered. There is no conversion to pitches.
683 Figures are created as markup texts. Any of the standard markup
684 properties can be used to modify the display of figures. For
685 example, the vertical spacing of the figures may be set with
686 @code{baseline-skip}.
688 @node Entering figured bass
689 @unnumberedsubsubsec Entering figured bass
691 @code{\figuremode} is used to switch the input mode to figure mode.
692 More information on different input modes can be
693 found at @ref{Input modes}.
695 In figure mode, a group of bass figures is delimited by
696 @code{<} and @code{>}. The duration is entered after the @code{>}.
698 @lilypond[verbatim,quote,ragged-right,fragment]
706 Accidentals can be added to figures:
708 @lilypond[verbatim,quote,ragged-right,fragment]
710 <4- 6+ 7!> <5++> <3-->
714 Plus signs, diminished fifths, and diminished sevenths
717 @lilypond[verbatim,quote,ragged-right,fragment]
723 Vertical spaces and brackets can be be included in figures:
725 @lilypond[verbatim,quote,ragged-right,fragment]
732 Any text markup can be inserted as a figure:
734 @lilypond[verbatim,quote,ragged-right,fragment]
736 < 5 \markup{ \tiny \number 6 \super (1)} >
740 Continuation lines can be used to indicate repeated figures:
742 @c \set to be replaced with predefined command once it is
743 @c included in property-init.ly
744 @lilypond[verbatim,quote,ragged-right,fragment]
746 \set useBassFigureExtenders = ##t
752 In this case, the extender lines always replace existing figures.
757 @c This probably isn't notation, but rather adjusting output. I guess this
758 @c should be converted to a snippet? -cds
759 Accidentals and plus signs can appear before or after the numbers,
760 depending on the @code{figuredBassAlterationDirection} and
761 @code{figuredBassPlusDirection}
764 @c TODO Need to set predefined commands for these directions as well. -cs
768 \set figuredBassAlterationDirection = #RIGHT
770 \set figuredBassPlusDirection = #LEFT
772 \set figuredBassAlterationDirection = #LEFT
784 @c Notation Reference:
787 @c Application Usage:
796 @c Internals Reference:
797 @rinternals{NewBassFigure},
798 @rinternals{BassFigureAlignment},
799 @rinternals{BassFigureLine},
800 @rinternals{BassFigureBracket},
801 @rinternals{BassFigureContinuation},
802 @rinternals{FiguredBass}.
806 @node Displaying figured bass
807 @unnumberedsubsubsec Displaying figured bass
809 Figured bass can be displayed using the @code{FiguredBass} context,
810 or in most staff contexts.
812 When displayed in a @code{FiguredBass} context, the vertical location
813 of the figures is independent of the notes on the staff.
815 @lilypond[verbatim,ragged-right,fragment,quote]
830 In the example above, the @code{FiguredBass} context must be
831 explicitly instantiated to avoid creating a second (empty) staff.
834 Figured bass can also be added to @code{Staff} contexts
835 directly. In this case, the vertical position of the
836 figures is adjusted automatically.
838 @c TODO change to use predefined command once it is added to
839 @c property-init.ly -cds
840 @lilypond[verbatim,ragged-right,fragment,quote]
844 \override Staff.BassFigureAlignmentPositioning #'direction = #DOWN
848 %% Put notes on same Staff as figures
849 \context Staff = myStaff
858 @c I don't understand this -cs
859 When using continuation lines, common figures are always put in the
860 same vertical position. When this is unwanted, you can insert a rest.
861 The rest will clear any previous alignment. For
862 example, you can write
886 @c Notation Reference:
889 @c Application Usage:
899 @rinternals{NewBassFigure},
900 @rinternals{BassFigureAlignment},
901 @rinternals{BassFigureLine},
902 @rinternals{BassFigureBracket},
903 @rinternals{BassFigureContinuation},
904 @rinternals{FiguredBass}.
908 To ensure that continuation lines work properly, it is
909 safest to use the same rhythm in the figure line as in
912 @lilypond[verbatim,ragged-right,fragment,quote]
916 \repeat unfold 4 {f16. g32} f8. es16 d8 es
919 \set useBassFigureExtenders = ##t
920 % The extenders are correct here, with the same rhythm as the bass
921 \repeat unfold 4 {<6 4->16. <6 4->32}
922 <5>8. r16 <6>8 <6\! 5->
928 \repeat unfold 4 {f16. g32} f8. es16 d8 es
931 \set useBassFigureExtenders = ##t
932 % The extenders are incorrect here, even though the timing is the same
934 %\repeat unfold 4 {<6 4->16. <6 4->32}
935 <5>8. r16 <6>8 <6\! 5->
940 @c I have no idea what this means -cds
941 @c A predefined command for changing this has been proposed -cds
942 When using figured bass above the staff with extender lines and
943 @code{implicitBassFigures} the lines may become swapped around.
944 Maintaining order consistently will be impossible when multiple figures
945 have overlapping extender lines. To avoid this problem, please
946 use @code{stacking-dir} on @code{BassFigureAlignment}.