]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/notation/pitches.itely
Release: bump VERSION.
[lilypond.git] / Documentation / notation / pitches.itely
index 58982672577932fbec7f3bc20e1022885cf73d87..2f7b822d9bc3cb7c5685a5d3ee31702a3ecfc90f 100644 (file)
@@ -7,7 +7,7 @@
     Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.17.6"
+@c \version "2.19.2"
 
 
 @node Pitches
@@ -87,6 +87,18 @@ octave.
 }
 @end lilypond
 
+@funindex absolute
+@funindex \absolute
+Music can be marked explicitly as being in absolute octave
+notation by preceding it with @code{\absolute}:
+
+@example
+\absolute @var{musicexpr}
+@end example
+
+will be interpreted in absolute octave entry mode regardless of
+the context it appears in.
+
 @seealso
 Music Glossary:
 @rglos{Pitch names}.
@@ -107,13 +119,13 @@ Snippets:
 @funindex relative
 @funindex \relative
 
-When octaves are specified in absolute mode it is easy to
-accidentally put a pitch in the wrong octave.  Relative octave
-mode reduces these errors since most of the time it is not
-necessary to indicate any octaves at all.  Furthermore, in
-absolute mode a single mistake may be difficult to spot, while in
-relative mode a single error puts the rest of the piece off by one
-octave.
+Absolute octave entry requires specifying the octave for every
+single note.  Relative octave entry, in contrast, specifies each
+octave in relation to the last note: changing one note's octave
+will affect all of the following notes.
+
+Relative note mode has to be entered explicitly using the
+@code{\relative} command:
 
 @example
 \relative @var{startpitch} @var{musicexpr}
@@ -143,8 +155,27 @@ octaves.
 @item
 The pitch of the first note is relative to
 @code{@var{startpitch}}.  @code{@var{startpitch}} is specified in
-absolute octave mode, and it is recommended that it be a octave of
-@code{c}.
+absolute octave mode.  Which choices are meaningful?
+
+@table @asis
+@item an octave of @code{c}
+Identifying middle C with @code{c'} is quite basic, so finding
+octaves of @code{c} tends to be straightforward.  If your music
+starts with @code{gis} above @code{c'''}, you'd write something
+like @code{\relative c''' @{ gis' @dots{} @}}
+
+@item an octave of the first note inside
+Writing @code{\relative gis''' @{ gis @dots{} @}} makes it easy to
+determine the absolute pitch of the first note inside.
+
+@item no explicit starting pitch
+This (namely writing @code{\relative @{ gis''' @dots{} @}}) can be
+viewed as a compact version of the previous option: the first note
+inside is written in absolute pitch itself.  This happens to be
+equivalent to choosing @code{f} as the reference pitch.
+@end table
+
+The documentation will usually employ the first option.
 @end itemize
 
 Here is the relative mode shown in action:
@@ -283,12 +314,6 @@ Internals Reference:
 @funindex \relative
 @funindex relative
 
-@c DEPRECATED
-If no @code{@var{startpitch}} is specified for @code{\relative},
-then@tie{}@code{c'} is assumed.  However, this is a deprecated
-option and may disappear in future versions, so its use is
-discouraged.
-
 
 @node Accidentals
 @unnumberedsubsubsec Accidentals
@@ -299,11 +324,11 @@ discouraged.
 
 @c duplicated in Key signature and Accidentals
 @warning{New users are sometimes confused about accidentals and
-key signatures.  In LilyPond, note names are the raw input; key
-signatures and clefs determine how this raw input is displayed.
+key signatures.  In LilyPond, note names specify pitches; key
+signatures and clefs determine how these pitches are displayed.
 An unaltered note like@tie{}@code{c} means @q{C natural},
 regardless of the key signature or clef.  For more information,
-see @rlearning{Accidentals and key signatures}.}
+see @rlearning{Pitches and key signatures}.}
 
 @cindex note names, Dutch
 @cindex note names, default
@@ -328,10 +353,9 @@ for accidentals, see @ref{Note names in other languages}.
 ais1 aes aisis aeses
 @end lilypond
 
-A natural will cancel the effect of an accidental or key
-signature.  However, naturals are not encoded into the note name
-syntax with a suffix; a natural pitch is shown as a simple note
-name:
+A natural pitch is entered as a simple note name; no suffix is
+required.  A natural sign will be printed when needed to cancel
+the effect of an earlier accidental or key signature.
 
 @lilypond[verbatim,quote,relative=2]
 a4 aes a2
@@ -366,8 +390,7 @@ print them manually.  A reminder accidental can be forced by
 adding an exclamation mark@tie{}@code{!} after the pitch.  A
 cautionary accidental (i.e., an accidental within parentheses) can
 be obtained by adding the question mark@tie{}@code{?} after the
-pitch.  These extra accidentals can also be used to produce
-natural signs.
+pitch.
 
 @lilypond[verbatim,quote,relative=2]
 cis cis cis! cis? c c c! c?
@@ -379,8 +402,8 @@ cis cis cis! cis? c c c! c?
 Accidentals on tied notes are only printed at the beginning of a
 new system:
 
-@lilypond[verbatim,quote,relative=2]
-cis1~ cis~
+@lilypond[verbatim,quote,relative=2,ragged-right]
+cis1~ 1~
 \break
 cis
 @end lilypond
@@ -404,7 +427,7 @@ Music Glossary:
 @rglos{quarter tone}.
 
 Learning Manual:
-@rlearning{Accidentals and key signatures}.
+@rlearning{Pitches and key signatures}.
 
 Notation Reference:
 @ref{Automatic accidentals},
@@ -464,9 +487,9 @@ The available languages and the note names they define are:
   @tab c d e f g a b h
 @item @code{english}
   @tab c d e f g a bf b
-@item @code{espanol}
+@item @code{espanol} or @code{español}
   @tab do re mi fa sol la sib si
-@item @code{italiano}
+@item @code{italiano} or @code{français}
   @tab do re mi fa sol la sib si
 @item @code{norsk}
   @tab c d e f g a b h
@@ -485,7 +508,7 @@ In addition to note names, accidental suffixes may
 also vary depending on the language:
 
 @quotation
-@multitable {@code{nederlands}} {-s/-sharp} {-ess/-es} {-ss/-x/-sharpsharp} {-essess/-eses}
+@multitable {@code{nederlands}} {-s/--sharp} {-ess/-es} {-ss/-x/--sharpsharp} {-essess/-eses}
 @headitem Language
   @tab sharp @tab flat @tab double sharp @tab double flat
 @item @code{nederlands}
@@ -495,11 +518,11 @@ also vary depending on the language:
 @item @code{deutsch}
   @tab -is @tab -es @tab -isis @tab -eses
 @item @code{english}
-  @tab -s/-sharp @tab -f/-flat @tab -ss/-x/-sharpsharp
-    @tab -ff/-flatflat
-@item @code{espanol}
+  @tab -s/--sharp @tab -f/--flat @tab -ss/-x/--sharpsharp
+    @tab -ff/--flatflat
+@item @code{espanol} or @code{español}
   @tab -s @tab -b @tab -ss/-x @tab -bb
-@item @code{italiano}
+@item @code{italiano} or @code{français}
   @tab -d @tab -b @tab -dd @tab -bb
 @item @code{norsk}
   @tab -iss/-is @tab -ess/-es @tab -ississ/-isis
@@ -551,9 +574,9 @@ appear in this table do not provide special note names yet.
   @tab -ih @tab -eh @tab -isih @tab -eseh
 @item @code{english}
   @tab -qs @tab -qf @tab -tqs @tab -tqf
-@item @code{espanol}
+@item @code{espanol} or @code{español}
   @tab -cs @tab -cb @tab -tcs @tab -tcb
-@item @code{italiano}
+@item @code{italiano} or @code{français}
   @tab -sd @tab -sb @tab -dsd @tab -bsb
 @item @code{portugues}
   @tab -sqt @tab -bqt @tab -stqt @tab -btqt
@@ -1079,8 +1102,16 @@ This section discusses how to alter the output of pitches.
 @funindex \clef
 @funindex clef
 
-The clef may be altered.  Middle C is shown in every example.  The
-following clef names can (but do not need to) be enclosed in quotes.
+Without any explicit command, the default clef for LilyPond is the
+treble (or @emph{G}) clef.
+
+@lilypond[verbatim,quote,relative=1,ragged-right]
+c2 c
+@end lilypond
+
+However, the clef can be changed by using the @code{\clef} command and
+an appropriate clef name.  @emph{Middle C} is shown in each of the
+following examples.
 
 @lilypond[verbatim,quote,relative=1]
 \clef treble
@@ -1093,36 +1124,17 @@ c2 c
 c2 c
 @end lilypond
 
-Other clefs include:
-
-@lilypond[verbatim,quote,relative=1]
-\clef french
-c2 c
-\clef soprano
-c2 c
-\clef mezzosoprano
-c2 c
-\clef baritone
-c2 c
-
-\break
+For the full range of possible clef names see @ref{Clef styles}.
 
-\clef varbaritone
-c2 c
-\clef subbass
-c2 c
-\clef percussion
-c2 c
+Specialized clefs, such as those used in @emph{Ancient} music, are
+described in @ref{Mensural clefs} and @ref{Gregorian clefs}.  Music that
+requires tablature clefs is discussed in @ref{Default tablatures} and
+@ref{Custom tablatures}.
 
-\break
-
-\clef G   % synonym for treble
-c2 c
-\clef F   % synonym for bass
-c2 c
-\clef C   % synonym for alto
-c2 c
-@end lilypond
+@cindex Cue clefs
+@cindex Clefs with cue notes
+For mixing clefs when using cue notes, see the @code{\cueClef} and
+@code{\cueDuringWithClef} commands in @ref{Formatting cue notes}.
 
 @cindex transposing clef
 @cindex clef, transposing
@@ -1166,14 +1178,60 @@ c2 c
 The pitches are displayed as if the numeric argument were
 given without parentheses/brackets.
 
-Some special purpose clefs are described in @ref{Mensural clefs},
-@ref{Gregorian clefs}, @ref{Default tablatures}, and @ref{Custom
-tablatures}.  For mixing different clefs when using cue notes within a
-score, see the @code{\cueClef} and @code{\cueDuringWithClef} functions
-in @ref{Formatting cue notes}.
+By default, a clef change taking place at a line break will cause
+the new clef symbol to be printed at the end of the previous line,
+as a @emph{warning} clef, as well as the beginning of the next.
+This @emph{warning} clef can be suppressed.
 
-@snippets
+@lilypond[verbatim,quote,relative=1]
+\clef treble { c2 c } \break
+\clef bass { c2 c } \break
+\clef alto
+  \set Staff.explicitClefVisibility = #end-of-line-invisible
+  { c2 c } \break
+  \unset Staff.explicitClefVisibility
+\clef bass { c2 c } \break
+@end lilypond
+
+By default, a clef that has previously been printed will not be
+re-printed if the same @code{\clef} command is issued again and
+will be ignored.  The the command
+@code{\set Staff.forceClef = ##t} changes this behaviour.
 
+@lilypond[verbatim,quote,relative=1]
+  \clef treble
+  c1
+  \clef treble
+  c1
+  \set Staff.forceClef = ##t
+  c1
+  \clef treble
+  c1
+@end lilypond
+
+When there is a manual clef change, the glyph of the changed clef
+will be smaller than normal.  This behaviour can be overridden.
+
+@lilypond[verbatim,quote,relative=1]
+  \clef "treble"
+  c1
+  \clef "bass"
+  c1
+  \clef "treble"
+  c1
+  \override Staff.Clef.full-size-change = ##t
+  \clef "bass"
+  c1
+  \clef "treble"
+  c1
+  \revert Staff.Clef.full-size-change
+  \clef "bass"
+  c1
+  \clef "treble"
+  c1
+@end lilypond
+
+@snippets
 @lilypondfile[verbatim,quote,texidoc,doctitle]
 {tweaking-clef-properties.ly}
 
@@ -1185,25 +1243,28 @@ Notation Reference:
 @ref{Custom tablatures},
 @ref{Formatting cue notes}.
 
+Installed Files:
+@file{scm/parser-clef.scm}.
+
 Snippets:
 @rlsr{Pitches}.
 
 Internals Reference:
 @rinternals{Clef_engraver},
 @rinternals{Clef},
-@rinternals{OctavateEight},
+@rinternals{ClefModifier},
 @rinternals{clef-interface}.
 
 @knownissues
-Ottavation numbers attached to clefs are treated as separate grobs.  So
-any @code{\override} done to the @var{Clef} will also need to be
-applied, as a separate @code{\override}, to the @var{OctavateEight}
-grob.
+Ottavation numbers attached to clefs are treated as separate
+grobs.  So any @code{\override} done to the @var{Clef} will also
+need to be applied, as a separate @code{\override}, to the
+@var{ClefModifier} grob.
 
-@lilypond[fragment,quote,relative=1]
+@lilypond[fragment,quote,verbatim,relative=1]
 \new Staff \with {
-  \override OctavateEight.color = #red
   \override Clef.color = #blue
+  \override ClefModifier.color = #red
 }
 
 \clef "treble_8" c4
@@ -1224,7 +1285,7 @@ key signatures.  In LilyPond, note names are the raw input; key
 signatures and clefs determine how this raw input is displayed.
 An unaltered note like@tie{}@code{c} means @q{C natural},
 regardless of the key signature or clef.  For more information,
-see @rlearning{Accidentals and key signatures}.}
+see @rlearning{Pitches and key signatures}.}
 
 The key signature indicates the tonality in which a piece is
 played.  It is denoted by a set of alterations (flats or sharps)
@@ -1288,8 +1349,8 @@ freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)
     (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))
 
 \relative c' {
-  \key c\freygish c4 des e f
-  \bar "||" \key d\freygish d es fis g
+  \key c \freygish c4 des e f
+  \bar "||" \key d \freygish d es fis g
 }
 @end lilypond
 
@@ -1305,11 +1366,11 @@ position.
 @lilypond[verbatim, quote,relative=0]
 \override Staff.KeySignature.flat-positions = #'((-5 . 5))
 \override Staff.KeyCancellation.flat-positions = #'((-5 . 5))
-\clef bass \key es\major es g bes d
-\clef treble \bar "||" \key es\major es g bes d
+\clef bass \key es \major es g bes d
+\clef treble \bar "||" \key es \major es g bes d
 
 \override Staff.KeySignature.sharp-positions = #'(2)
-\bar "||" \key b\major b fis b2
+\bar "||" \key b \major b fis b2
 @end lilypond
 
 @snippets
@@ -1320,13 +1381,14 @@ position.
 @lilypondfile[verbatim,quote,texidoc,doctitle]
 {non-traditional-key-signatures.ly}
 
+
 @seealso
 Music Glossary:
 @rglos{church mode},
 @rglos{scordatura}.
 
 Learning Manual:
-@rlearning{Accidentals and key signatures}.
+@rlearning{Pitches and key signatures}.
 
 Snippets:
 @rlsr{Pitches}.
@@ -1375,6 +1437,12 @@ a2 b
 @lilypondfile[verbatim,quote,texidoc,doctitle]
 {ottava-text.ly}
 
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{adding-an-ottava-marking-to-a-single-voice.ly}
+
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{modifying-the-ottava-spanner-slope.ly}
+
 @seealso
 Music Glossary:
 @rglos{octavation}.
@@ -1453,21 +1521,34 @@ playing in unison.
 @end lilypond
 
 The @code{\transposition} may be changed during a piece.  For
-example, a clarinetist may switch from an A clarinet to a B-flat
-clarinet.
-
-@lilypond[verbatim,quote,relative=2]
-\set Staff.instrumentName = #"Cl (A)"
-\key a \major
-\transposition a
-c d e f
-\textLengthOn
-<>^\markup { Switch to B\flat clarinet }
-R1
+example, a clarinetist may be required to switch from an A clarinet
+to a B-flat clarinet.
 
-\key bes \major
-\transposition bes
-c2 g
+@lilypond[verbatim,quote]
+flute = \relative c'' {
+  \key f \major
+  \cueDuring #"clarinet" #DOWN {
+    R1 _\markup\tiny "clarinet"
+    c4 f e d
+    R1 _\markup\tiny "clarinet"
+  }
+}
+clarinet = \relative c'' {
+  \key aes \major
+  \transposition a
+  aes4 bes c des
+  R1^\markup { muta in B\flat }
+  \key g \major
+  \transposition bes
+  d2 g,
+}
+\addQuote "clarinet" \clarinet
+<<
+  \new Staff \with { instrumentName = #"Flute" }
+    \flute
+  \new Staff \with { instrumentName = #"Cl (A)" }
+    \clarinet
+>>
 @end lilypond
 
 @seealso
@@ -2402,6 +2483,124 @@ musicB = {
 }
 @end lilypond
 
+@item dodecaphonic-no-repeat
+
+@cindex dodecaphonic accidental style
+@cindex dodecaphonic style, neo-modern
+
+@funindex dodecaphonic-no-repeat
+
+Like with the dodecaphonic accidental style @emph{every} note
+gets an accidental sign by default, but accidentals are
+suppressed for pitches immediately repeated within the same staff.
+
+@lilypond[quote]
+musicA = {
+  <<
+    \relative c' {
+      cis'8 fis, bes4 <a cis>8 f bis4 |
+      cis2. <c, g'>4 |
+    }
+    \\
+    \relative c' {
+      ais'2 cis, |
+      fis8 b a4 cis2 |
+    }
+  >>
+}
+
+musicB = {
+  \clef bass
+  \new Voice {
+    \voiceTwo \relative c' {
+      <fis, a cis>8[ <fis a cis>
+      \change Staff = up
+      cis' cis
+      \change Staff = down
+      <fis, a> <fis a>]
+      \showStaffSwitch
+      \change Staff = up
+      dis'4 |
+      \change Staff = down
+      <fis, a cis>4 gis <f a d>2 |
+    }
+  }
+}
+
+\new PianoStaff {
+  <<
+    \context Staff = "up" {
+      \accidentalStyle dodecaphonic-no-repeat
+      \musicA
+    }
+    \context Staff = "down" {
+      \accidentalStyle dodecaphonic-no-repeat
+      \musicB
+    }
+  >>
+}
+@end lilypond
+
+
+@item dodecaphonic-first
+
+@cindex dodecaphonic accidental style
+@cindex dodecaphonic style, neo-modern
+
+@funindex dodecaphonic-first
+
+Similar to the dodecaphonic accidental style @emph{every} pitch
+gets an accidental sign, but only the first time it is encountered
+in a measure.  Accidentals are only remembered for the actual octave
+but throughout voices.
+
+@lilypond[quote]
+musicA = {
+  <<
+    \relative c' {
+      cis'8 fis, bes4 <a cis>8 f bis4 |
+      cis2. <c, g'>4 |
+    }
+    \\
+    \relative c' {
+      ais'2 cis, |
+      fis8 b a4 cis2 |
+    }
+  >>
+}
+
+musicB = {
+  \clef bass
+  \new Voice {
+    \voiceTwo \relative c' {
+      <fis, a cis>8[ <fis a cis>
+      \change Staff = up
+      cis' cis
+      \change Staff = down
+      <fis, a> <fis a>]
+      \showStaffSwitch
+      \change Staff = up
+      dis'4 |
+      \change Staff = down
+      <fis, a cis>4 gis <f a d>2 |
+    }
+  }
+}
+
+\new PianoStaff {
+  <<
+    \context Staff = "up" {
+      \accidentalStyle dodecaphonic-first
+      \musicA
+    }
+    \context Staff = "down" {
+      \accidentalStyle dodecaphonic-first
+      \musicB
+    }
+  >>
+}
+@end lilypond
+
 
 @item teaching
 
@@ -2795,11 +2994,10 @@ As synonyms for @code{\xNote}, @code{\xNotesOn} and @code{\xNotesOff},
 @code{\deadNote}, @code{\deadNotesOn} and @code{\deadNotesOff} can
 be used.  The term @notation{dead note} is commonly used by guitarists.
 
-There is also a shorthand for diamond shapes which can be used
-only inside chords:
+There is also a similar shorthand for diamond shapes:
 
 @lilypond[verbatim,quote,relative=2]
-<c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic>
+<c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic> f\harmonic
 @end lilypond
 
 @predefined
@@ -3032,8 +3230,8 @@ rhythm.  Such note heads can be created:
   e8 e g a a16( bes) a8 g
   \improvisationOn
   e8 ~
-  e2 ~ e8 f4 f8 ~
-  f2
+  2 ~ 8 f4 f8 ~
+  2
   \improvisationOff
   a16( bes) a8 g e
 }