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 may 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]
367 @code{\chords} is a shortcut method used to create a
368 @code{ChordNames} context and change the input mode to
371 @lilypond[verbatim,quote,ragged-right, relative=1]
377 @lilypond[verbatim,quote,ragged-right, relative=1]
387 @c TODO -- replace this with a snippet
388 Chord names can be displayed only at the start of lines and when
391 @lilypond[quote,verbatim,ragged-right]
392 harmonies = \chordmode {
393 c1:m c:m \break c:m c:m d
397 \set chordChanges = ##t
401 \relative c' { \harmonies }
406 @c TODO -- replace this with a snippet
407 To add bar indications in the @code{ChordNames}
408 context, add @rinternals{Bar_engraver}.
410 @lilypond[ragged-right,verbatim]
411 \new ChordNames \with {
412 \override BarLine #'bar-size = #4
413 \consists "Bar_engraver"
416 f1:maj7 f:7 bes:7 c:maj7 ees e
420 @c TODO -- replace this with a snippet
421 When put together, chord names, a melody, and lyrics form a lead
424 @lilypond[verbatim,quote,ragged-right]
426 \chords { c2 g:sus4 f e }
431 \addlyrics { One day this shall be free __ }
442 @ref{Writing music in parallel}.
449 @rinternals{ChordNames},
450 @rinternals{Volta_engraver},
451 @rinternals{Bar_engraver}.
455 Chords containing inversions or altered bass notes are not named
456 properly if entered using simultaneous music.
459 @node Customizing chord names
460 @unnumberedsubsubsec Customizing chord names
462 @cindex customizing chord names
464 There is no unique system for naming chords. Different musical
465 traditions use different names for the same set of chords. There
466 are also different symbols displayed for a given chord name. The
467 names and symbols displayed for chord names are customizable.
473 The default chord name layout is a system for Jazz music, proposed
474 by Klaus Ignatzek (see @ref{Literature list}). There are also two
475 other chord name schemes implemented: an alternate Jazz chord
476 notation, and a systematic scheme called Banter chords. The
477 alternate Jazz notation is also shown on the chart in @ref{Chord
480 In addition to the different naming systems, different note names
481 are used for the root in different languages. The predefined
482 variables @code{\germanChords}, @code{\semiGermanChords},
483 @code{\italianChords} and @code{\frenchChords} set these variables.
484 The effect is demonstrated here:
486 @lilypondfile[ragged-right]{chord-names-languages.ly}
488 If none of the default settings give the desired output, the chord
489 name display can be tuned through the following properties.
493 @funindex chordRootNamer
497 The chord name is usually printed as a letter for the root with an
498 optional alteration. The transformation from pitch to letter is
499 done by this function. Special note names (for example, the German
500 @q{H} for a B-chord) can be produced by storing a new function in
503 @funindex majorSevenSymbol
505 @item majorSevenSymbol
507 This property contains the markup object used to follow the output
508 of @code{chordRootNamer} to dentify a major 7 chord. Predefined
509 options are @code{whiteTriangleMarkup} and
510 @code{blackTriangleMarkup}.
512 @funindex chordNoteNamer
516 When the chord name contains additional pitches other than the root
517 (e.g., an added bass note), this function is used to print the
518 additional pitch. By default the pitch is printed using
519 @code{chordRootNamer}. The @code{chordNoteNamer} property can be set
520 to a specialized function to change this behavior. For example, the
521 bass note can be printed in lower case.
523 @funindex chordNameSeparator
525 @item chordNameSeparator
527 Different parts of a chord name are normally separated by a slash.
528 By setting @code{chordNameSeparator}, you can use any desired markup
531 @funindex chordNameExceptions
533 @item chordNameExceptions
535 This property is a list of pairs. The first item in each pair
536 is a set of pitches used to identify the steps present in the chord.
537 The second item is a markups that will follow the @code{chordRootNamer}
538 output to create the chord name.
540 @funindex chordPrefixSpacer
541 @item chordPrefixSpacer
543 The @q{m} for minor chords is usually printed immediately to the
544 right of the root of the chord. By setting
545 @code{chordPrefixSpacer}, you can fix a spacer between the root
546 and @q{m}. The spacer is not used when the root is altered.
552 @funindex major seven symbols
553 @code{\whiteTriangleMarkup},
554 @code{\blackTriangleMarkup},
555 @funindex \germanChords
556 @code{\germanChords},
557 @funindex \semiGermanChords
558 @code{\semiGermanChords},
559 @funindex \italianChords
560 @code{\italianChords},
561 @funindex \frenchChords
562 @code{\frenchChords}.
566 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
567 {chord-names-jazz.ly}
569 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
570 {chord-name-exceptions.ly}
571 @cindex exceptions, chord names.
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
633 * Introduction to figured bass::
634 * Entering figured bass::
635 * Displaying figured bass::
638 @node Introduction to figured bass
639 @unnumberedsubsubsec Introduction to figured bass
641 @cindex Basso continuo
643 @c TODO: musicological blurb about FB
645 LilyPond has support for figured bass
647 @lilypond[quote,ragged-right,verbatim,fragment]
649 \new Voice { \clef bass dis4 c d ais g fis}
650 \new FiguredBass \figuremode {
651 < 6 >4 < 7\+ >8 < 6+ [_!] >
658 The support for figured bass consists of two parts: there is an
659 input mode, introduced by @code{\figuremode}, where you can enter
660 bass figures as numbers, and there is a context named
661 @rinternals{FiguredBass} that takes care of making
662 @rinternals{BassFigure} objects.
664 Although the support for figured bass may superficially resemble chord
665 support, it is much simpler. The @code{\figuremode} mode simply
666 stores the numbers and @rinternals{FiguredBass} context prints them
667 as entered. There is no conversion to pitches and no realizations of
668 the bass are played in the MIDI file.
670 Internally, the code produces markup texts. You can use any of the
671 markup text properties to override formatting. For example, the
672 vertical spacing of the figures may be set with @code{baseline-skip}.
675 @node Entering figured bass
676 @unnumberedsubsubsec Entering figured bass
679 In figures input mode, a group of bass figures is delimited by
680 @code{<} and @code{>}. The duration is entered after the @code{>}
684 @lilypond[quote,ragged-right,fragment]
686 \figuremode { <4 6>2 }
689 Accidentals are added when you append @code{-}, @code{!}, and @code{+}
690 to the numbers. A plus sign is added when you append @code{\+}, and
691 diminished fifths and sevenths can be obtained with @code{5/} and @code{7/}.
694 <4- 6+ 7!>3 <5++> <3--> <7/> r <6\+ 5/>
696 @lilypond[quote,ragged-right,fragment]
697 \figures { <4- 6+ 7!>4 <5++> <3--> <7/> r <6\+ 5/> }
700 Spaces may be inserted by using @code{_}. Brackets are
701 introduced with @code{[} and @code{]}. You can also include text
702 strings and text markups, see @ref{Text markup commands}.
705 < [4 6] 8 [_! 12] >4 < 5 \markup @{ \number 6 \super (1) @} >
707 @lilypond[quote,ragged-right,fragment]
709 \figuremode { < [4 6] 8 [_! 12] >4 < 5 \markup{ \tiny \number 6 \super (1)} > }
713 It is also possible to use continuation lines for repeated figures,
715 @lilypond[verbatim,relative=1]
722 \set useBassFigureExtenders = ##t
729 In this case, the extender lines always replace existing figures.
731 The @code{FiguredBass} context doesn't pay attention to the actual
732 bass line. As a consequence, you may have to insert extra figures to
733 get extender lines below all notes, and you may have to add @code{\!}
734 to avoid getting an extender line, e.g.
736 @lilypond[relative=1]
740 \set useBassFigureExtenders = ##t
741 <6 4->4. <6 4->16. <6 4->32 <5>8. r16 <6>8 <6\! 5->
745 f16. g32 f16. g32 f16. g32 f16. g32 f8. es16 d8 es
750 When using continuation lines, common figures are always put in the
751 same vertical position. When this is unwanted, you can insert a rest
752 with @code{r}. The rest will clear any previous alignment. For
753 example, you can write
765 Accidentals and plus signs can appear before or after the numbers,
766 depending on the @code{figuredBassAlterationDirection} and
767 @code{figuredBassPlusDirection}
773 \set figuredBassAlterationDirection = #1
775 \set figuredBassPlusDirection = #1
777 \set figuredBassAlterationDirection = #-1
783 Figured bass can also be added to @code{Staff} contexts
784 directly. In this case, their vertical position is adjusted
787 @lilypond[ragged-right,fragment,quote]
789 \new Staff = someUniqueName
794 %% send to existing Staff.
795 \context Staff = someUniqueName
799 \set Staff.useBassFigureExtenders = ##t
816 @c Notation Reference:
819 @c Application Usage:
828 @c Internals Reference:
833 @node Displaying figured bass
834 @unnumberedsubsubsec Displaying figured bass
836 Figured bass is displayed using the @code{FiguredBass} context.
849 @c Notation Reference:
852 @c Application Usage:
862 @rinternals{NewBassFigure},
863 @rinternals{BassFigureAlignment},
864 @rinternals{BassFigureLine},
865 @rinternals{BassFigureBracket},
866 @rinternals{BassFigureContinuation},
867 @rinternals{FiguredBass}.
871 By default, this method produces figures above the notes. To get
872 figures below the notes, use
875 \override Staff.BassFigureAlignmentPositioning #'direction = #DOWN
878 When using figured bass above the staff with extender lines and
879 @code{implicitBassFigures} the lines may become swapped around.
880 Maintaining order consistently will be impossible when multiple figures
881 have overlapping extender lines. To avoid this problem, please
882 use @code{stacking-dir} on @code{BassFigureAlignment}.