]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/chords.itely
Merge branch 'master' of ssh+git://hanwen@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / Documentation / user / chords.itely
index db92666f4a5a4edc116b3d57a478a8b20b7d922a..f5671ebe69656e93c8c312faf54ad23d7759660e 100644 (file)
@@ -6,14 +6,15 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.11.38"
+@c \version "2.11.51"
 
 
 @node Chord notation
 @section Chord notation
 
-Chords can be entered in chord mode, which recognizes some
-traditional European chord naming conventions.  Chord names can also
+@lilypondfile[quote]{chords-headword.ly}
+
+Chords can be entered in chord mode, which recognizes some traditional European chord naming conventions.  Chord names can also
 be displayed.  In addition, figured bass notation can be displayed.
 
 @menu
@@ -137,35 +138,94 @@ Seventh chords can be created:
 @funindex m
 
 The table belows shows the actions of the quality modifiers on
-triads and seventh chords.
-
-@table @code
+triads and seventh chords.  A more complete table of modifier usage
+is found at @ref{Common chord modifiers}.
+
+@c @table @code
+@multitable @columnfractions .2 .4 .3
+
+@item
+@b{Modifier}
+@tab
+@b{Action}
+@tab
+@b{Example}
+
+@item
+None
+@tab
+The default action; produces a major triad.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1
+}
+@end lilypond
 
-@item m
+@item 
+m, m7
+@tab
 The minor chord.  This modifier lowers the 3rd and (if present) the
 7th step.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1:m c:m7
+}
+@end lilypond
 
-@item dim
+
+@item 
+dim, dim7
+@tab
 The diminished chord.  This modifier lowers the 3rd, 5th and (if
 present) the 7th step.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1:dim c:dim7
+}
+@end lilypond
 
-@item aug
+@item 
+aug
+@tab
 The augmented chord.  This modifier raises the 5th step.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1:aug
+}
+@end lilypond
 
-@item maj
+@item 
+maj, maj7
+@tab
 The major 7th chord.  This modifier adds a raised 7th step.  The
 @code{7} following @code{maj} is optional.  Do NOT use this modifier
 to create a major triad.
+@tab
+@lilypond[line-width=4\cm, noragged-right]
+\chordmode {
+  \override Staff.TimeSignature #'stencil = ##f
+  c1:maj c:maj7
+}
+@end lilypond
 
-@end table
+@end multitable
 
-@c TODO -- perhaps add warning about c and c:maj being different, while
-@c   c:maj and c:maj7 are the same
 
 @seealso
 
+Notation Reference:
+@ref{Common chord modifiers}.
+
 Snippets:
-@rlsr{Chords}
+@rlsr{Chords}.
 
 @node Extended and altered chords
 @unnumberedsubsubsec Extended and altered chords
@@ -188,12 +248,16 @@ larger value is interpreted as 13.
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=1]
 \chordmode {
-  c:2 c:3 c:4 c:5
+  c1:2 c:3 c:4 c:5
   c:6 c:7 c:8 c:9
   c:10 c:11 c:12 c:13
+  c:14
 }
 @end lilypond
 
+@noindent
+Note that both @code{c:5} and @code{c} produce a C major triad.
+
 Since an unaltered 11 does not sound good when combined with an
 unaltered 13, the 11 is removed from a @code{:13} chord (unless it
 is added explicitly).
@@ -239,13 +303,15 @@ as part of the basic chode structure, add it as an altered step.
 
 @funindex ^
 
-A step to be removed from the chord  must come at the end of a
-modifier string and be prefixed by @code{^}.  Only one removal with @code{^}
-is allowed in a modifier string.
+Following any steps to be added, a series of steps to be removed 
+is introduced in a modifier string with a prefix of @code{^}.  
+If more than one step is to be removed, the steps to be
+removed are separated by @code{.} following the
+initial @code{^}. 
 
 @lilypond[quote,verbatim,fragment,relative=1]
 \chordmode {
-  c1^3 c:7^5 c:9^3.5
+  c1^3 c:7^5 c:9^3 c:9^3.5 c:13.11^3.7
 }
 @end lilypond
 
@@ -263,9 +329,6 @@ equivalent to @code{.4^3}.
 }
 @end lilypond
 
-It is possible to remove the 3rd step with @code{sus} and remove
-another step with @code{^} in one modifier string.
-
 @funindex /
 @cindex chord inversions
 @cindex bass note, for chords
@@ -291,8 +354,15 @@ moved as part of an inversion, by using @code{/+}@var{pitch}.
 }
 @end lilypond
 
+Chord modifiers that can be used to produce a variety of
+standard chords are shown in 
+@ref{Common chord modifiers}.
+
 @seealso
 
+Notation Reference:
+@ref{Common chord modifiers}.
+
 Snippets:
 @rlsr{Chords}
 
@@ -306,10 +376,14 @@ interpreted last.
 \chordmode { c1:5.5-.5+ }
 @end lilypond
 
-Only one step can be removed from a chord.  If a chord with multiple
-removed steps is desired, it must be built through addition of
-multiple steps.
+Only the first inversion can be created by adding a bass note.  The
+second inversion requires changing the root of the chord.
 
+@lilypond[quote,ragged-right,verbatim,fragment]
+\chordmode {
+  c'1: c':/g e:6-3-^5 e:m6-^5
+}
+@end lilypond
 
 @node Displaying chords
 @subsection Displaying chords
@@ -343,7 +417,7 @@ Chords can be entered as simultaneous notes or through the use of
 chord mode.  The displayed chord name will be the same, regardless
 of the mode of entry, unless there are inversions or added bass notes:
 
-@lilypond[quote,ragged-right,verbatim]
+@lilypond[verbatim,quote,relative=1]
 <<
   \new ChordNames {
     <c e g>2  <f bes c>
@@ -364,7 +438,7 @@ of the mode of entry, unless there are inversions or added bass notes:
 
 @funindex{\chords}
 
-@code{\chords} is a shortcut notation for
+@code{\chords @{ ... @}} is a shortcut notation for
 @code{\new ChordNames @{\chordmode @{ ... @}@}}.
 
 @lilypond[verbatim,quote,ragged-right, relative=1]
@@ -383,53 +457,15 @@ of the mode of entry, unless there are inversions or added bass notes:
 
 @snippets
 
-@c TODO -- replace this with a snippet
-Chord names can be displayed only at the start of lines and when
-the chord changes.
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{showing-chords-at-changes.ly}
 
-@lilypond[quote,verbatim,ragged-right]
-harmonies = \chordmode {
-  c1:m c:m \break c:m c:m d
-}
-<<
-  \new ChordNames {
-    \set chordChanges = ##t
-    \harmonies
-  }
-  \new Staff {
-    \relative c' { \harmonies }
-  }
->>
-@end lilypond
+@c @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+@c {adding-bar-lines-to-chordnames-context.ly}
 
-@c TODO -- replace this with a snippet
-To add bar indications in the @code{ChordNames}
-context, add @rinternals{Bar_engraver}.
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{simple-lead-sheet.ly}
 
-@lilypond[ragged-right,verbatim]
-\new ChordNames \with {
-  \override BarLine #'bar-size = #4
-  \consists "Bar_engraver"
-}
-\chordmode {
-  f1:maj7 f:7 bes:7 c:maj7 ees e
-}
-@end lilypond
-
-@c TODO -- replace this with a snippet
-When put together, chord names, a melody, and lyrics form a lead
-sheet:
-
-@lilypond[verbatim,quote,ragged-right]
-<<
-  \chords { c2 g:sus4 f e }
-  \relative c'' {
-    a4 e c8 e r4
-    b2 c4( d)
-  }
-  \addlyrics { One day this shall be free __ }
->>
-@end lilypond
 
 @seealso
 
@@ -476,6 +512,10 @@ notation, and a systematic scheme called Banter chords.  The
 alternate Jazz notation is also shown on the chart in @ref{Chord
 name chart}.
 
+@c TODO --  Change this so we don't have a non-verbatim example.
+@c  Make short example in docs, then move longer example to
+@c  appendix, where the length of the snippet won't matter.
+
 In addition to the different naming systems, different note names
 are used for the root in different languages.  The predefined
 variables @code{\germanChords}, @code{\semiGermanChords},
@@ -562,38 +602,31 @@ and @q{m}.  The spacer is not used when the root is altered.
 
 
 @snippets
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{chord-names-jazz.ly}
 
+@cindex exceptions, chord names.
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {chord-name-exceptions.ly}
-@cindex exceptions, chord names.
 
+@c TODO - tweak snippet to use \blackTriangleMarkup as well
 @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
 {chord-name-major7.ly}
 
-@c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-@c {adding-bars-to-chordnames.ly)
-
-@c @lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-@c {volta-brackets-over-chord-names.ly}
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{adding-bar-lines-to-chordnames-context.ly}
 
-@c TODO  convert to snippet
-The separator between different parts of a chord name
-can be set to any markup.
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{volta-below-chords.ly}
 
-@lilypond[quote,ragged-right,fragment,verbatim]
-\chords {
-  c:7sus4
-  \set chordNameSeparator
-    = \markup { \typewriter "|" }
-  c:7sus4
-}
-@end lilypond
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-chord-separator.ly}
 
 
 @seealso
 
+Notation Reference:
+@ref{Chord name chart},
+@ref{Common chord modifiers}.
+
 Installed Files:
 @file{scm/@/chords@/-ignatzek@/.scm},
 @file{scm/@/chord@/-entry@/.scm},
@@ -628,6 +661,8 @@ myChords = \relative c' {
 @node Figured bass
 @subsection Figured bass
 
+@lilypondfile[quote]{figured-bass-headword.ly}
+
 Figured bass notation can be displayed.
 
 @menu
@@ -647,6 +682,7 @@ Figured bass notation can be displayed.
 
 @c TODO: musicological blurb about FB
 
+
 LilyPond has support for figured bass, also called thorough bass
 or basso continuo:
 
@@ -684,6 +720,12 @@ properties can be used to modify the display of figures.  For
 example, the vertical spacing of the figures may be set with
 @code{baseline-skip}.
 
+@seealso
+
+Snippets:
+@rlsr{Chords}
+
+
 @node Entering figured bass
 @unnumberedsubsubsec Entering figured bass
 
@@ -697,21 +739,21 @@ In figure mode, a group of bass figures is delimited by
 @lilypond[verbatim,quote,ragged-right,fragment]
 \new FiguredBass {
   \figuremode {
-    <4 6>2
+    <6 4>2
   }
 }
 @end lilypond
 
-Accidentals can be added to figures:
+
+Accidentals (including naturals) can be added to figures:
 
 @lilypond[verbatim,quote,ragged-right,fragment]
 \figures {
-  <4- 6+ 7!> <5++> <3-->
+  <7! 6+ 4-> <5++> <3-->
 }
 @end lilypond
 
-Plus signs, diminished fifths, and diminished sevenths
-can be notated.
+Augmented and diminished steps can be indicated.
 
 @lilypond[verbatim,quote,ragged-right,fragment]
 \figures {
@@ -719,60 +761,147 @@ can be notated.
 }
 @end lilypond
 
-Vertical spaces and brackets can be be included in figures:
+A backward slash through a figure (typically used for raised
+sixth steps) can be created.
 
 @lilypond[verbatim,quote,ragged-right,fragment]
 \figures {
-  < [4 6] 8 [_! 12] >
+  <6>
+  <6\\>
 }
 @end lilypond
 
+Vertical spaces and brackets can be be included in figures:
+
+@lilypond[verbatim,quote,ragged-right,fragment]
+\figures {
+  <[12 _!] 8 [6  4]>
+}
+@end lilypond
 
 Any text markup can be inserted as a figure:
 
 @lilypond[verbatim,quote,ragged-right,fragment]
 \figures {
-  < 5 \markup{ \tiny \number 6 \super (1)} >
+  <  \markup{ \tiny \number 6 \super (1)} 5 >
 }
 @end lilypond
 
+@c NOTE: We need to include notes any time we use extenders to
+@c avoid extraneous staff creation due to Staff.use... in
+@c \bassFigureExtendersOn
+
 Continuation lines can be used to indicate repeated figures:
 
-@c  \set to be replaced with predefined command once it is
-@c   included in property-init.ly
 @lilypond[verbatim,quote,ragged-right,fragment]
+<<
+  {
+    \clef bass
+    e d c b,
+    e d c b,
+  }
+  \figures {
+    \bassFigureExtendersOn
+    <6 4> <6 3> <7 3> <7 3>
+    \bassFigureExtendersOff
+    <6 4> <6 3> <7 3> <7 3>
+  }
+>>
+@end lilypond
+
+@noindent
+In this case, the extender lines replace existing figures,
+unless the continuation lines have been explicitly terminated.
+
+@lilypond[verbatim,quote,ragged-right,fragment]
+<<
+  \figures {
+    \bassFigureExtendersOn
+    <6 4> <6 4> <6\! 4\!> <6 4>
+  }
+  {
+    \clef bass
+    d d c c
+  }
+>>
+@end lilypond
+
+The table below summarizes the figure modifiers available.
+
+@multitable @columnfractions .1 .5 .4
+
+@item
+@b{Modifier}
+@tab
+@b{Purpose}
+@tab
+@b{Example}
+
+@item
++, -, !
+@tab
+Accidentals
+@tab
+@lilypond[line-width=4\cm]
 \figures {
-  \set useBassFigureExtenders = ##t
-  <4 6> <3 6> <3 7>
+  <7! 6+ 4-> <5++> <3-->
 }
 @end lilypond
 
-@noindent
-In this case, the extender lines always replace existing figures.
+@item
+\+, /
+@tab
+Augmented and diminished steps
+@tab
+@lilypond[line-width=4\cm]
+\figures {
+  <6\+ 5/> <7/>
+}
+@end lilypond
 
-@c @predefined
+@item
+\\
+@tab
+Raised sixth step
+@tab
+@lilypond[line-width=4\cm]
+\figures {
+  <6\\>
+}
+@end lilypond
 
-@c @snippets
-@c  This probably isn't notation, but rather adjusting output.  I guess this
-@c  should be converted to a snippet?  -cds
-Accidentals and plus signs can appear before or after the numbers,
-depending on the @code{figuredBassAlterationDirection} and
-@code{figuredBassPlusDirection}
-properties
-
-@c  TODO Need to set predefined commands for these directions as well. -cs
-@lilypond
+@item
+\!
+@tab
+End of continuation line
+@tab
+@lilypond[line-width=1.5\cm]
+<<
   \figures {
-    <6\+> <5+> <6 4-> r
-    \set figuredBassAlterationDirection = #RIGHT
-    <6\+> <5+> <6 4-> r
-    \set figuredBassPlusDirection = #LEFT
-    <6\+> <5+> <6 4-> r
-    \set figuredBassAlterationDirection = #LEFT
-    <6\+> <5+> <6 4-> r
+    \bassFigureExtendersOn
+    <6 4> <6 4> <6\! 4\!> <6 4>
   }
+  {
+    \clef bass
+    d d c c
+  }
+>>
 @end lilypond
 
+@end multitable
+
+
+
+@predefined
+@cindex figured bass extender lines
+@code{\bassFigureExtendersOn},
+@code{\bassFigureExtendersOff}.
+
+
+@snippets
+@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+{changing-the-positions-of-figured-bass-alterations.ly}
+
 @seealso
 @c Music Glossary:
 @c @rglos{}.
@@ -790,9 +919,9 @@ properties
 @c @file{}.
 
 Snippets:
-@rlsr{Figured Bass}.
+@rlsr{Chords}.
 
-@c Internals Reference:
+Internals Reference:
 @rinternals{NewBassFigure},
 @rinternals{BassFigureAlignment},
 @rinternals{BassFigureLine},
@@ -818,8 +947,8 @@ of the figures is independent of the notes on the staff.
   }
   \new FiguredBass {
     \figuremode {
-      <4>4 <6 10>8 s8
-      <4 6>4 <4 6>
+      <4>4 <10 6>8 s8
+      <6 4>4 <6 4>
     }
   }
 >>
@@ -834,44 +963,49 @@ Figured bass can also be added to @code{Staff} contexts
 directly.  In this case, the vertical position of the
 figures is adjusted automatically.
 
-@c  TODO change to use predefined command once it is added to
-@c  property-init.ly  -cds
 @lilypond[verbatim,ragged-right,fragment,quote]
 <<
   \new Staff = myStaff
   \figuremode {
-    \override Staff.BassFigureAlignmentPositioning #'direction = #DOWN
-    <4>4 <6 10>8 s8
-    <4 6>4 <4 6>
+    <4>4 <10 6>8 s8
+    <6 4>4 <6 4>
   }
   %% Put notes on same Staff as figures
   \context Staff = myStaff
-  \relative c'' {
-    c4 c'8 r8 c,4 c'
+  {
+    \clef bass
+    c4 c'8 r8 c4 c'
   }
 >>
 @end lilypond
 
 
-@ignore
-@c I don't understand this -cs
-When using continuation lines, common figures are always put in the
-same vertical position.  When this is unwanted, you can insert a rest.
-The rest will clear any previous alignment.  For
-example, you can write
+When added in a Staff context, figured bass can be displayed above
+or below the staff.
 
-@example
-<4 6>8 r8
-@end example
+@lilypond[verbatim,ragged-right,fragment,quote]
+<<
+  \new Staff = myStaff
+  \figuremode {
+    <4>4 <10 6>8 s8
+    \bassFigureStaffAlignmentDown
+    <6 4>4 <6 4>
+  }
+  %% Put notes on same Staff as figures
+  \context Staff = myStaff
+  {
+    \clef bass
+    c4 c'8 r8 c4 c'
+  }
+>>
+@end lilypond
 
-@noindent
-instead of
-@example
-<4 6>4
-@end example
-@end ignore
 
-@c @predefined
+@predefined
+@cindex figured bass alignment
+@code{\bassFigureStaffAlignmentDown},
+@code{\bassFigureStaffAlignmentUp},
+@code{\bassFigureStaffAlignmentNeutral}.
 
 @c @snippets
 
@@ -891,8 +1025,8 @@ instead of
 @c Installed Files:
 @c @file{}.
 
-@c Snippets:
-@rlsr{Figured Bass}.
+Snippets:
+@rlsr{Chords}.
 
 Internals Reference:
 @rinternals{NewBassFigure},
@@ -915,7 +1049,7 @@ the bass line.
     \repeat unfold 4 {f16. g32} f8. es16 d8 es
   }
   \figures {
-    \set useBassFigureExtenders = ##t
+    \bassFigureExtendersOn
     % The extenders are correct here, with the same rhythm as the bass
     \repeat unfold 4 {<6 4->16. <6 4->32}
     <5>8. r16 <6>8 <6\! 5->
@@ -927,22 +1061,39 @@ the bass line.
     \repeat unfold 4 {f16. g32} f8. es16 d8 es
   }
   \figures {
-    \set useBassFigureExtenders = ##t
+    \bassFigureExtendersOn
     % The extenders are incorrect here, even though the timing is the same
     <6 4->4 <6 4->4
-    %\repeat unfold 4 {<6 4->16. <6 4->32}
     <5>8. r16 <6>8 <6\! 5->
   }
 >>
 @end lilypond
 
-@c I have no idea what this means -cds
-@c A predefined command for changing this has been proposed -cds
-When using figured bass above the staff with extender lines and
-@code{implicitBassFigures} the lines may become swapped around.
-Maintaining order consistently will be impossible when multiple figures
-have overlapping extender lines.  To avoid this problem, please
-use @code{stacking-dir} on @code{BassFigureAlignment}.
+When using extender lines, adjacent figures with the same number in
+a different figure location can cause the figure positions to invert.
 
+@lilypond[verbatim,ragged-right,fragment,quote,relative=1]
+<<
+ { fis g g, e' }
+  \figures {
+    \bassFigureExtendersOn
+    <6 5> <5\! 4> < 5 _!> <6>
+  }
+>>
+@end lilypond
+
+To avoid this problem, simply turn on extenders after the figure that
+begins the extender line and turn them off at the end of the extender line.
+
+@lilypond[verbatim,ragged-right,fragment,quote,relative=1]
+<<
+ { fis g g, e' }
+  \figures {
+    <6 5> <5 4>
+    \bassFigureExtendersOn
+    < 5 _!> <6>
+    \bassFigureExtendersOff
+  }
+>>
+@end lilypond
 
-@seealso