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:
64 @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]
98 To avoid this behavior, explicitly create the @code{Staff} context:
100 @lilypond[verbatim,quote,ragged-right,relative=1]
108 @unnumberedsubsubsec Common chords
111 @cindex seventh chords
112 @cindex root of chord
113 @cindex modifiers, in chords.
114 @cindex chord quality
116 Major triads are entered by including the root and an
119 @lilypond[verbatim,quote,relative=1,ragged-right]
120 \chordmode { c2 f4 g }
123 Minor, augmented, and diminished triads are entered by placing
124 @code{:} and a quality modifier string after the duration:
126 @lilypond[verbatim,quote,ragged-right,relative=1]
127 \chordmode { c2:m f4:aug g:dim }
130 Seventh chords may be created:
132 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
133 \chordmode { c1:7 c:m7 c:maj7 c:dim7 c:aug7 }
141 The table belows shows the actions of the quality modifiers on
142 triads and seventh chords.
147 The minor chord. This modifier lowers the 3rd and (if present) the
151 The diminished chord. This modifier lowers the 3rd, 5th and (if
152 present) the 7th step.
155 The augmented chord. This modifier raises the 5th step.
158 The major 7th chord. This modifier adds a raised 7th step. The
159 @code{7} following @code{maj} is optional. Do NOT use this modifier
160 to create a major triad.
164 @c TODO -- perhaps add warning about c and c:maj being different, while
165 @c c:maj and c:maj7 are the same
172 @node Extended and altered chords
173 @unnumberedsubsubsec Extended and altered chords
175 @cindex extended chords
176 @cindex altered chords
178 Chord structures of arbitrary complexity can be created in chord
179 mode. The modifier string can be used to extend a chord, add or
180 remove chord steps, raise or lower chord steps, and add a bass note
181 or create an inversion.
183 The first number following the @code{:} is taken to be the extent
184 of the chord. The chord is constructed by sequentially adding
185 thirds to the root until the specified number has been reached.
186 If the extent is not a third (e.g., 6), thirds are added up to the
187 highest third below the extent, and then the step of the extent is
188 added. The largest possible value for the extent is 13. Any
189 larger value is interpreted as 13.
191 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
199 Since an unaltered 11 does not sound good when combined with an
200 unaltered 13, the 11 is removed from a @code{:13} chord (unless it
201 is added explicitly).
203 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
204 \chordmode { c1:13 c:13.11 c:m13 }
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]
213 \chordmode { c1:5.6 c:3.7.8 c:3.6.13 }
216 Added steps can be as high as desired.
218 @lilypond[quote,verbatim,fragment,relative=1]
219 \chordmode { c4:5.15 c:5.20 c:5.25 c:5.30 }
222 @cindex chord steps, altering
224 Added chord steps can be altered by suffixing a @code{-} or @code{+}
225 sign to the number. To alter a step that is automatically included
226 as part of the basic chode structure, add it as an altered step.
228 @lilypond[quote,verbatim,fragment,relative=1]
229 \chordmode { c1:7+ c:5+.3- c:3-.5-.7- }
232 @cindex removals, in chords
236 A step to be removed from the chord must come at the end of a
237 modifier string and be prefixed by @code{^}. Only one removal with @code{^}
238 is allowed in a modifier string.
240 @lilypond[quote,verbatim,fragment,relative=1]
241 \chordmode { c1^3 c:7^5 c:9^3.5 }
246 The modifier @code{sus} can be added to the modifier string to
247 create suspended chords. This removes the 3rd step from the chord.
248 Append either @code{2} or @code{4} to add the 2nd or 4th step to the
249 chord. @code{sus} is equivalent to @code{^3}; @code{sus4} is
250 equivalent to @code{.4^3}.
252 @lilypond[quote,ragged-right,fragment,verbatim]
253 \chordmode { c1:sus c:sus2 c:sus4 c:5.4^3 }
256 It is possible to remove the 3rd step with @code{sus} and remove
257 another step with @code{^} in one modifier string.
260 @cindex chord inversions
261 @cindex bass note, for chords
263 Inversions (putting a pitch other than the root on the bottom of the
264 chord) and added bass notes can be specified by appending
265 @code{/}@var{pitch} to the chord.
267 @lilypond[quote,ragged-right,fragment,verbatim, relative=2]
268 \chordmode { c1 c/g c/f }
273 A bass note that is part of the chord can be added, instead of
274 moved as part of an inversion, by using @code{/+}@var{pitch}.
276 @lilypond[quote,ragged-right,fragment,verbatim]
277 \chordmode { c1 c/+g c/+f }
287 Each step can only be present in a chord once. The following
288 simply produces the augmented chord, since @code{5+} is
291 @lilypond[quote,ragged-right,verbatim,fragment]
292 \chordmode { c1:5.5-.5+ }
295 Only one step can be removed from a chord. If a chord with multiple
296 removed steps is desired, it must be built through addition of
300 @node Displaying chords
301 @subsection Displaying chords
303 Chords can be displayed by name, in addition to the standard display
307 * Printing chord names::
308 * Customizing chord names::
311 @node Printing chord names
312 @unnumberedsubsubsec Printing chord names
314 @cindex printing chord names
318 Chord names are printed in the @code{ChordNames} context:
320 @lilypond[verbatim,quote,relative=1,ragged-right]
322 \chordmode { c2 f4. g8 }
326 Both chord names and the notes can be displayed:
328 @lilypond[verbatim,quote,ragged-right]
329 myChords = \relative c'{
330 \chordmode { c2 f4. g8 }
334 \chordmode { c2 f4. g8 }
337 \chordmode { c2 f4. g8 }
342 Setting @rinternals{ChordNames}.@code{chordChanges} to true causes
343 chords names to be displayed only when the chord changes or at
344 the start of a new line
346 @lilypond[quote,verbatim,ragged-right]
347 harmonies = \chordmode {
348 c1:m c:m \break c:m c:m d
352 \set chordChanges = ##t
356 \relative c' { \harmonies }
361 Chords can be entered as simultaneous notes or through the use of
362 chord mode. The displayed chord name will be the same, regardless
363 of the mode of entry, unless there are inversions or added bass notes:
365 @lilypond[quote,ragged-right,verbatim]
386 @code{\chords} is a shortcut method used to change the input mode to
387 @code{\chordmode} and create a @code{ChordNames} context, with the
390 @lilypond[verbatim,quote,ragged-right, relative=1]
391 \chords { c2 f4.:m g8:maj7 }
396 When put together, chord names, a melody, and lyrics form a lead
399 @lilypond[verbatim,quote,ragged-right]
401 \chords { c2 g:sus4 f e }
406 \addlyrics { One day this shall be free __ }
412 @c TODO -- replace this with a snippets
413 To add bar indications in the @code{ChordNames}
414 context, add @rinternals{Bar_engraver}.
416 @lilypond[ragged-right,verbatim]
417 \new ChordNames \with {
418 \override BarLine #'bar-size = #4
419 \consists "Bar_engraver"
422 f1:maj7 f:7 bes:7 c:maj7 ees e
433 @ref{Writing music in parallel}.
440 @rinternals{ChordNames},
441 @rinternals{Volta_engraver},
442 @rinternals{Bar_engraver}.
446 Chords containing inversions or altered bass notes are not named
447 properly if entered using simultaneous music.
450 @node Customizing chord names
451 @unnumberedsubsubsec Customizing chord names
453 @cindex customizing chord names
455 There is no unique system for naming chords. Different musical
456 traditions use different names for the same set of chords. There
457 are also different symbols displayed for a given chord name. The
458 names and symbols displayed for chord names are customizable.
464 The default chord name layout is a system for Jazz music, proposed
465 by Klaus Ignatzek (see @ref{Literature list}). There are also two
466 other chord name schemes implemented: an alternate Jazz chord
467 notation, and a systematic scheme called Banter chords. The
468 alternate Jazz notation is also shown on the chart in @ref{Chord
471 In addition to the different naming systems, different note names
472 are used for the root in different languages. The predefined
473 variables @code{\germanChords}, @code{\semiGermanChords},
474 @code{\italianChords} and @code{\frenchChords} set these variables.
475 The effect is demonstrated here:
477 @lilypondfile[ragged-right]{chord-names-languages.ly}
479 If none of the default settings give the desired output, the chord
480 name display can be tuned through the following properties.
484 @funindex chordRootNamer
488 The chord name is usually printed as a letter for the root with an
489 optional alteration. The transformation from pitch to letter is
490 done by this function. Special note names (for example, the German
491 @q{H} for a B-chord) can be produced by storing a new function in
494 @funindex majorSevenSymbol
496 @item majorSevenSymbol
498 This property contains the markup object used to follow the output
499 of @code{chordRootNamer} to dentify a major 7 chord. Predefined
500 options are @code{whiteTriangleMarkup} and
501 @code{blackTriangleMarkup}.
503 @funindex chordNoteNamer
507 When the chord name contains additional pitches other than the root
508 (e.g., an added bass note), this function is used to print the
509 additional pitch. By default the pitch is printed using
510 @code{chordRootNamer}. The @code{chordNoteNamer} property can be set
511 to a specialized function to change this behavior. For example, the
512 bass note can be printed in lower case.
514 @funindex chordNameSeparator
516 @item chordNameSeparator
518 Different parts of a chord name are normally separated by a slash.
519 By setting @code{chordNameSeparator}, you can use any desired markup
520 for a separator, e.g.,
522 @lilypond[quote,ragged-right,fragment,verbatim]
525 \set chordNameSeparator
526 = \markup { \typewriter "|" }
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. See @code{FIXME -- future ref to snippet}
539 for information on creating this list.
541 @funindex chordPrefixSpacer
542 @item chordPrefixSpacer
544 The @q{m} for minor chords is usually printed immediately to the
545 right of the root of the chord. By setting
546 @code{chordPrefixSpacer}, you can fix a spacer between the root
547 and @q{m}. The spacer is not used when the root is altered.
553 @funindex major seven symbols
554 @code{\whiteTriangleMarkup}
555 @code{\blackTriangleMarkup}
556 @funindex \germanChords
557 @code{\germanChords},
558 @funindex \semiGermanChords
559 @code{\semiGermanChords},
560 @funindex \italianChords
561 @code{\italianChords},
562 @funindex \frenchChords
563 @code{\frenchChords}.
567 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
568 {chord-names-jazz.ly}
570 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
571 {chord-name-exceptions.ly}
572 @cindex exceptions, chord names.
574 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
575 {chord-name-major7.ly}
577 @c This has yet to be approved
579 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
580 {adding-bars-to-chordnames.ly)
583 @c This has yet to be made a docs snippet
585 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
586 (volta-brackets-over-chord-names.ly)
593 @file{scm/@/chords@/-ignatzek@/.scm},
594 @file{scm/@/chord@/-entry@/.scm},
595 @file{ly/@/chord@/-modifier@/-init@/.ly}.
605 Chord names are determined from both the pitches that are present
606 in the chord and the information on the chord structure that may
607 have been entered in @code{\chordmode}. If the simultaneous pitches
608 method of entering chords is used, undesired names result from
609 inversions or bass notes.
611 @lilypond[quote,ragged-right,verbatim]
612 myChords = \relative c' {
613 \chordmode{ c1 c/g c/f }
614 <c e g> <g c e> <f c' e g>
617 \new ChordNames { \myChords }
618 \new Staff { \myChords }
624 @subsection Figured bass
627 * Introduction to figured bass::
628 * Entering figured bass::
629 * Displaying figured bass::
632 @node Introduction to figured bass
633 @subsubsection Introduction to figured bass
635 @cindex Basso continuo
637 @c TODO: musicological blurb about FB
639 LilyPond has support for figured bass
641 @lilypond[quote,ragged-right,verbatim,fragment]
643 \new Voice { \clef bass dis4 c d ais g fis}
644 \new FiguredBass \figuremode {
645 < 6 >4 < 7\+ >8 < 6+ [_!] >
652 The support for figured bass consists of two parts: there is an
653 input mode, introduced by @code{\figuremode}, where you can enter
654 bass figures as numbers, and there is a context named
655 @rinternals{FiguredBass} that takes care of making
656 @rinternals{BassFigure} objects.
658 Although the support for figured bass may superficially resemble chord
659 support, it is much simpler. The @code{\figuremode} mode simply
660 stores the numbers and @rinternals{FiguredBass} context prints them
661 as entered. There is no conversion to pitches and no realizations of
662 the bass are played in the MIDI file.
664 Internally, the code produces markup texts. You can use any of the
665 markup text properties to override formatting. For example, the
666 vertical spacing of the figures may be set with @code{baseline-skip}.
670 * Entering figured bass::
671 * Displaying figured bass::
674 @node Entering figured bass
675 @unnumberedsubsubsec Entering figured bass
678 In figures input mode, a group of bass figures is delimited by
679 @code{<} and @code{>}. The duration is entered after the @code{>}
683 @lilypond[quote,ragged-right,fragment]
685 \figuremode { <4 6>2 }
688 Accidentals are added when you append @code{-}, @code{!}, and @code{+}
689 to the numbers. A plus sign is added when you append @code{\+}, and
690 diminished fifths and sevenths can be obtained with @code{5/} and @code{7/}.
693 <4- 6+ 7!>3 <5++> <3--> <7/> r <6\+ 5/>
695 @lilypond[quote,ragged-right,fragment]
696 \figures { <4- 6+ 7!>4 <5++> <3--> <7/> r <6\+ 5/> }
699 Spaces may be inserted by using @code{_}. Brackets are
700 introduced with @code{[} and @code{]}. You can also include text
701 strings and text markups, see @ref{Text markup commands}.
704 < [4 6] 8 [_! 12] >4 < 5 \markup @{ \number 6 \super (1) @} >
706 @lilypond[quote,ragged-right,fragment]
708 \figuremode { < [4 6] 8 [_! 12] >4 < 5 \markup{ \tiny \number 6 \super (1)} > }
712 It is also possible to use continuation lines for repeated figures,
714 @lilypond[verbatim,relative=1]
721 \set useBassFigureExtenders = ##t
728 In this case, the extender lines always replace existing figures.
730 The @code{FiguredBass} context doesn't pay attention to the actual
731 bass line. As a consequence, you may have to insert extra figures to
732 get extender lines below all notes, and you may have to add @code{\!}
733 to avoid getting an extender line, e.g.
735 @lilypond[relative=1]
739 \set useBassFigureExtenders = ##t
740 <6 4->4. <6 4->16. <6 4->32 <5>8. r16 <6>8 <6\! 5->
744 f16. g32 f16. g32 f16. g32 f16. g32 f8. es16 d8 es
749 When using continuation lines, common figures are always put in the
750 same vertical position. When this is unwanted, you can insert a rest
751 with @code{r}. The rest will clear any previous alignment. For
752 example, you can write
764 Accidentals and plus signs can appear before or after the numbers,
765 depending on the @code{figuredBassAlterationDirection} and
766 @code{figuredBassPlusDirection}
772 \set figuredBassAlterationDirection = #1
774 \set figuredBassPlusDirection = #1
776 \set figuredBassAlterationDirection = #-1
782 Figured bass can also be added to @code{Staff} contexts
783 directly. In this case, their vertical position is adjusted
786 @lilypond[ragged-right,fragment,quote]
788 \new Staff = someUniqueName
793 %% send to existing Staff.
794 \context Staff = someUniqueName
798 \set Staff.useBassFigureExtenders = ##t
815 @c Notation Reference:
818 @c Application Usage:
827 @c Internals Reference:
832 @node Displaying figured bass
833 @unnumberedsubsubsec Displaying figured bass
835 Figured bass is displayed using the @code{FiguredBass} context.
848 @c Notation Reference:
851 @c Application Usage:
861 @rinternals{NewBassFigure},
862 @rinternals{BassFigureAlignment},
863 @rinternals{BassFigureLine},
864 @rinternals{BassFigureBracket},
865 @rinternals{BassFigureContinuation},
866 @rinternals{FiguredBass}.
870 By default, this method produces figures above the notes. To get
871 figures below the notes, use
874 \override Staff.BassFigureAlignmentPositioning #'direction = #DOWN
877 When using figured bass above the staff with extender lines and
878 @code{implicitBassFigures} the lines may become swapped around.
879 Maintaining order consistently will be impossible when multiple figures
880 have overlapping extender lines. To avoid this problem, please
881 use @code{stacking-dir} on @code{BassFigureAlignment}.