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
24 @subsection Modern chords
28 * Entering chord names::
31 * Printing chord names::
38 @subsubsection Chord modes
40 In popular music it is common to denote accompaniment with chord
41 names. Such chords can be entered like notes,
43 @lilypond[verbatim,quote,ragged-right]
44 \chordmode { c2 f4. g8 }
47 Now each pitch is read as the root of a chord instead of a note.
48 This mode is switched on with @code{\chordmode}. Other chords can
49 be created by adding modifiers after a colon. The following
50 example shows a few common modifiers:
52 @lilypond[verbatim,quote,ragged-right]
53 \chordmode { c2 f4:m g4:maj7 gis1:dim7 }
58 In chord mode sets of pitches (chords) are entered with normal note
59 names. A chord is entered by the root, which is entered like a
62 @lilypond[quote,ragged-right,fragment,verbatim]
63 \chordmode { es4. d8 c2 }
67 The mode is introduced by the keyword @code{\chordmode}.
72 Chords is a mode similar to @code{\lyricmode}, etc. Most
73 of the commands continue to work, for example, @code{r} and
74 @code{\skip} can be used to insert rests and spaces, and property
75 commands may be used to change various settings.
76 It uses the same syntax as
77 @code{\chordmode}, but renders the notes in a @code{ChordNames}
78 context, with the following result:
80 @lilypond[verbatim,quote,ragged-right]
81 \chords { c2 f4.:m g4.:maj7 gis8:dim7 }
87 Each step can only be present in a chord once. The following
88 simply produces the augmented chord, since @code{5+} is interpreted
91 @lilypond[quote,ragged-right,verbatim,fragment]
92 \chordmode { c:5.5-.5+ }
96 @node Entering chord names
97 @subsubsection Entering chord names
100 LilyPond has support for printing chord names. Chords may be entered
101 in musical chord notation, i.e., @code{< .. >}, but they can also be
102 entered by name. Internally, the chords are represented as a set of
103 pitches, so they can be transposed
106 @lilypond[quote,ragged-right,verbatim,ragged-right]
107 twoWays = \transpose c c' {
116 << \new ChordNames \twoWays
117 \new Voice \twoWays >>
120 This example also shows that the chord printing routines do not try to
121 be intelligent. The last chord (@code{f bes d}) is not interpreted as
124 Note that the duration of chords must be specified outside the
131 @c TODO Generate snippet based on the following
132 @c and add explanation -td
134 Custom chord names may be generated:
136 @lilypond[quote,ragged-right,verbatim,ragged-right]
138 <c e g b d'>1-\markup { \super "maj9" }
139 <c e g a d'>1-\markup { \super "6(add9)" }
141 chExceptions = #(append
142 (sequential-music-to-chord-exceptions
143 FGGChordNames #t) ignatzekExceptions)
145 chordStuff = \chordmode
150 % names with FGG's custom exceptions
151 \set chordNameExceptions = #chExceptions
158 \new ChordNames \chordStuff
162 @node Building chords
163 @subsubsection Building chords
165 Other chords may be entered by suffixing a colon and introducing a
166 modifier (which may include a number if desired)
168 @lilypond[quote,fragment,verbatim]
169 \chordmode { e1:m e1:7 e1:m7 }
172 The first number following the root is taken to be the @q{type} of the
173 chord, thirds are added to the root until it reaches the specified
174 number. The exception is @code{c:13}, for which the 11 is omitted.
176 @lilypond[quote,fragment,verbatim]
177 \chordmode { c:3 c:5 c:6 c:7 c:8 c:9 c:10 c:11 c:13 }
180 @cindex root of chord
181 @cindex additions, in chords
182 @cindex removals, in chords
184 More complex chords may also be constructed adding separate steps
185 to a chord. Additions are added after the number following
186 the colon and are separated by dots
188 @lilypond[quote,verbatim,fragment]
189 \chordmode { c:5.6 c:3.7.8 c:3.6.13 }
192 Chord steps can be altered by suffixing a @code{-} or @code{+} sign
195 @lilypond[quote,verbatim,fragment]
196 \chordmode { c:7+ c:5+.3- c:3-.5-.7- }
199 Removals are specified similarly and are introduced by a caret. They
200 must come after the additions
202 @lilypond[quote,verbatim,fragment]
203 \chordmode { c^3 c:7^5 c:9^3.5 }
206 Modifiers can be used to change pitches. The following modifiers are
211 The minor chord. This modifier lowers the 3rd and (if present) the 7th step.
214 The diminished chord. This modifier lowers the 3rd, 5th and (if present)
218 The augmented chord. This modifier raises the 5th step.
221 The major 7th chord. This modifier raises the 7th step if present.
224 The suspended 4th or 2nd. This modifier removes the 3rd
225 step. Append either @code{2} or @code{4} to add the 2nd or 4th step to
229 Modifiers can be mixed with additions
230 @lilypond[quote,verbatim,fragment]
231 \chordmode { c:sus4 c:7sus4 c:dim7 c:m6 }
234 @cindex modifiers, in chords.
241 Since an unaltered 11 does not sound good when combined with an
242 unaltered 13, the 11 is removed in this case (unless it is added
244 @lilypond[quote,ragged-right,fragment,verbatim]
245 \chordmode { c:13 c:13.11 c:m13 }
250 An inversion (putting one pitch of the chord on the bottom), as well
251 as bass notes, can be specified by appending
252 @code{/}@var{pitch} to the chord
253 @lilypond[quote,ragged-right,fragment,verbatim]
254 \chordmode { c1 c/g c/f }
258 A bass note can be added instead of transposed out of the chord,
259 by using @code{/+}@var{pitch}.
261 @lilypond[quote,ragged-right,fragment,verbatim]
262 \chordmode { c1 c/+g c/+f }
267 @subsubsection Lead sheets
271 For lead sheets, chords are not printed on staves, but as names on
272 a line for themselves. This is achieved by using @code{\chords}
273 instead of @code{\chordmode}.
275 When put together, chord names, lyrics and a melody form a lead
278 @lilypond[verbatim,quote,ragged-right]
280 \chords { c2 g:sus4 f e }
285 \addlyrics { One day this shall be free __ }
291 @node Printing chord names
292 @subsubsection Printing chord names
294 @cindex printing chord names
298 For displaying printed chord names, use the @rinternals{ChordNames} context.
299 The chords may be entered either using the notation
300 described above, or directly using @code{<} and @code{>}
302 @lilypond[quote,verbatim,ragged-right]
304 \chordmode {a1 b c} <d' f' a'> <e' g' b'>
307 \new ChordNames \harmonies
308 \new Staff \harmonies
312 You can make the chord changes stand out by setting
313 @rinternals{ChordNames}.@code{chordChanges} to true. This will only
314 display chord names when there is a change in the chords scheme and at
315 the start of a new line
317 @lilypond[quote,verbatim,ragged-right]
318 harmonies = \chordmode {
319 c1:m c:m \break c:m c:m d
323 \set chordChanges = ##t
325 \new Staff \transpose c c' \harmonies
329 The previous examples all show chords over a staff. This is not
330 necessary. Chords may also be printed separately. It may be necessary
331 to add @rinternals{Volta_engraver} and @rinternals{Bar_engraver}
334 @lilypond[ragged-right,verbatim]
335 \new ChordNames \with {
336 \override BarLine #'bar-size = #4
337 \consists Bar_engraver
338 \consists "Volta_engraver"
340 \chordmode { \repeat volta 2 {
350 The default chord name layout is a system for Jazz music, proposed by
351 Klaus Ignatzek (see @ref{Literature list}). It can be tuned through the
355 @funindex chordNameExceptions
356 @item chordNameExceptions
357 This is a list that contains the chords that have special formatting.
359 The exceptions list should be encoded as
361 @{ <c f g bes>1 \markup @{ \super "7" "wahh" @} @}
364 To get this information into @code{chordNameExceptions} takes a little
365 maneuvering. The following code transforms @code{chExceptionMusic}
366 (which is a sequential music) into a list of exceptions.
368 (sequential-music-to-chord-exceptions chExceptionMusic #t)
373 (sequential-music-to-chord-exceptions chExceptionMusic #t)
376 adds the new exceptions to the default ones, which are defined in
377 @file{ly/@/chord@/-modifier@/-init@/.ly}.
379 For an example of tuning this property, see also
380 @c @lsr{chords,chord@/-name@/-exceptions@/.ly}
381 @cindex exceptions, chord names.
384 @funindex majorSevenSymbol
385 @item majorSevenSymbol
386 This property contains the markup object used for the 7th step, when
387 it is major. Predefined options are @code{whiteTriangleMarkup} and
388 @code{blackTriangleMarkup}. See
389 @c @lsr{chords,chord@/-name@/-major7@/.ly} for an example.
391 @funindex chordNameSeparator
392 @item chordNameSeparator
393 Different parts of a chord name are normally separated by a
394 slash. By setting @code{chordNameSeparator}, you can specify other
396 @lilypond[quote,ragged-right,fragment,verbatim]
397 \new ChordNames \chordmode {
399 \set chordNameSeparator
400 = \markup { \typewriter "|" }
405 @funindex chordRootNamer
407 The root of a chord is usually printed as a letter with an optional
408 alteration. The transformation from pitch to letter is done by this
409 function. Special note names (for example, the German @q{H} for a
410 B-chord) can be produced by storing a new function in this property.
412 @funindex chordNoteNamer
414 The default is to print single pitch, e.g., the bass note, using the
415 @code{chordRootNamer}. The @code{chordNoteNamer} property can be set
416 to a specialized function to change this behavior. For example, the
417 base can be printed in lower case.
419 @funindex chordPrefixSpacer
420 @item chordPrefixSpacer
421 The @q{m} for minor chords is usually printed right after the root of
422 the chord. By setting @code{chordPrefixSpacer}, you can fix a spacer
423 between the root and @q{m}. The spacer is not used when the root
428 The predefined variables @code{\germanChords},
429 @code{\semiGermanChords}, @code{\italianChords} and @code{\frenchChords}
430 set these variables. The effect is
433 @lilypondfile[ragged-right]{chord-names-languages.ly}
435 There are also two other chord name schemes implemented: an alternate
436 Jazz chord notation, and a systematic scheme called Banter chords. The
437 alternate Jazz notation is also shown on the chart in @ref{Chord name
438 chart}. Turning on these styles is demonstrated in
439 @c @lsr{chords,chord-names-jazz.ly}.
448 @funindex \germanChords
449 @code{\germanChords},
450 @funindex \semiGermanChords
451 @code{\semiGermanChords}.
452 @funindex \italianChords
453 @code{\italianChords}.
454 @funindex \frenchChords
455 @code{\frenchChords}.
465 Init files: @file{scm/@/chords@/-ignatzek@/.scm}, and
466 @file{scm/@/chord@/-entry@/.scm}.
471 Chord names are determined solely from the list of pitches. Chord
472 inversions are not identified, and neither are added bass notes. This
473 may result in strange chord names when chords are entered with the
474 @code{< .. >} syntax.
478 @subsection Figured bass
481 * Introduction to figured bass::
486 @node Introduction to figured bass
487 @subsubsection Introduction to figured bass
489 @cindex Basso continuo
491 @c TODO: musicological blurb about FB
493 LilyPond has support for figured bass
495 @lilypond[quote,ragged-right,verbatim,fragment]
497 \new Voice { \clef bass dis4 c d ais g fis}
498 \new FiguredBass \figuremode {
499 < 6 >4 < 7\+ >8 < 6+ [_!] >
506 Although the support for figured bass may superficially resemble chord
507 support, it is much simpler. The @code{\figuremode} mode simply
508 stores the numbers and @rinternals{FiguredBass} context prints them
509 as entered. There is no conversion to pitches and no realizations of
510 the bass are played in the MIDI file.
512 Internally, the code produces markup texts. You can use any of the
513 markup text properties to override formatting. For example, the
514 vertical spacing of the figures may be set with @code{baseline-skip}.
517 @node Entering figures
518 @subsubsection Entering figures
520 The support for figured bass consists of two parts: there is an input
521 mode, introduced by @code{\figuremode}, where you can enter bass figures
522 as numbers, and there is a context called @rinternals{FiguredBass} that
523 takes care of making @rinternals{BassFigure} objects.
525 In figures input mode, a group of bass figures is delimited by
526 @code{<} and @code{>}. The duration is entered after the @code{>}
530 @lilypond[quote,ragged-right,fragment]
532 \figuremode { <4 6> }
535 Accidentals are added when you append @code{-}, @code{!}, and @code{+}
536 to the numbers. A plus sign is added when you append @code{\+}, and
537 diminished fifths and sevenths can be obtained with @code{5/} and @code{7/}.
540 <4- 6+ 7!> <5++> <3--> <7/> r <6\+ 5/>
542 @lilypond[quote,ragged-right,fragment]
543 \figures { <4- 6+ 7!> <5++> <3--> <7/> r <6\+ 5/> }
546 Spaces may be inserted by using @code{_}. Brackets are
547 introduced with @code{[} and @code{]}. You can also include text
548 strings and text markups, see @ref{Text markup commands}.
551 < [4 6] 8 [_! 12] > < 5 \markup @{ \number 6 \super (1) @} >
553 @lilypond[quote,ragged-right,fragment]
555 \figuremode { < [4 6] 8 [_! 12] > < 5 \markup{ \tiny \number 6 \super (1)} > }
559 @node Repeated figures
560 @subsubsection Repeated figures
563 It is also possible to use continuation lines for repeated figures,
565 @lilypond[verbatim,relative=1]
572 \set useBassFigureExtenders = ##t
579 In this case, the extender lines always replace existing figures.
581 The @code{FiguredBass} context doesn't pay attention to the actual
582 bass line. As a consequence, you may have to insert extra figures to
583 get extender lines below all notes, and you may have to add @code{\!}
584 to avoid getting an extender line, e.g.
586 @lilypond[relative=1]
590 \set useBassFigureExtenders = ##t
591 <6 4->4. <6 4->16. <6 4->32 <5>8. r16 <6>8 <6\! 5->
595 f16. g32 f16. g32 f16. g32 f16. g32 f8. es16 d8 es
600 When using continuation lines, common figures are always put in the
601 same vertical position. When this is unwanted, you can insert a rest
602 with @code{r}. The rest will clear any previous alignment. For
603 example, you can write
615 Accidentals and plus signs can appear before or after the numbers,
616 depending on the @code{figuredBassAlterationDirection} and
617 @code{figuredBassPlusDirection}
623 \set figuredBassAlterationDirection = #1
625 \set figuredBassPlusDirection = #1
627 \set figuredBassAlterationDirection = #-1
633 Figured bass can also be added to @code{Staff} contexts
634 directly. In this case, their vertical position is adjusted
637 @lilypond[ragged-right,fragment,quote]
639 \new Staff = someUniqueName
644 %% send to existing Staff.
645 \context Staff = someUniqueName
649 \set Staff.useBassFigureExtenders = ##t
658 By default, this method produces figures above the notes. To get
659 figures below the notes, use
662 \override Staff.BassFigureAlignmentPositioning #'direction = #DOWN
668 When using figured bass above the staff with extender lines and
669 @code{implicitBassFigures} the lines may become swapped around.
670 Maintaining order consistently will be impossible when multiple figures
671 have overlapping extender lines. To avoid this problem, please
672 use @code{stacking-dir} on @code{BassFigureAlignment}.
677 Internals Reference: @rinternals{NewBassFigure},
678 @rinternals{BassFigureAlignment}, @rinternals{BassFigureLine},
679 @rinternals{BassFigureBracket}, and
680 @rinternals{BassFigureContinuation} objects and
681 @rinternals{FiguredBass} context.