Guide, node Updating translation committishes..
@end ignore
-@c \version "2.14.0"
+@c \version "2.19.22"
@node Pitches
@lilypond[verbatim,quote]
{
\clef treble
- c'4 c'' e' g
- d''4 d' d c
+ c'4 e' g' c''
+ c'4 g b c'
\clef bass
- c,4 c,, e, g
- d,,4 d, d c
+ c,4 e, g, c
+ c,4 g,, b,, c,
}
@end lilypond
+@funindex fixed
+@funindex \fixed
+Common octave marks can be entered just once on a reference pitch
+after @code{\fixed} placed before the music. Pitches inside
+@code{\fixed} only need @code{'} or@tie{}@code{,} marks
+when they are above or below the octave of the reference pitch.
+
+@lilypond[verbatim,quote]
+{
+ \fixed c' {
+ \clef treble
+ c4 e g c'
+ c4 g, b, c
+ }
+ \clef bass
+ \fixed c, {
+ c4 e g c'
+ c4 g, b, c
+ }
+}
+@end lilypond
+
+Pitches in the music expression following @code{\fixed} are
+unaffected by any enclosing @code{\relative}, discussed next.
@seealso
Music Glossary:
@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}
@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
+The form @code{\relative @{ gis''' @dots{} @}} serves
+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 last option.
@end itemize
Here is the relative mode shown in action:
@lilypond[verbatim,quote]
-\relative c {
+\relative {
\clef bass
c d e f
g a b c
fourth:
@lilypond[verbatim,quote]
-\relative c'' {
- c g c f,
+\relative {
+ c'' g c f,
c' a, e'' c
}
@end lilypond
large intervals:
@lilypond[verbatim,quote]
-\relative c {
+\relative {
c f b e
a d g c
}
@end lilypond
When @code{\relative} blocks are nested, the innermost
-@code{\relative} block applies.
+@code{\relative} block starts with its own reference pitch
+independently of the outer @code{\relative}.
@lilypond[verbatim,quote]
-\relative c' {
- c d e f
- \relative c'' {
- c d e f
+\relative {
+ c' d e f
+ \relative {
+ c'' d e f
}
}
@end lilypond
@code{\relative} is included.
@lilypond[verbatim,quote]
-\relative c' {
- d e
+\relative {
+ d' e
\transpose f g {
d e
- \relative c' {
- d e
+ \relative {
+ d' e
}
}
}
carefully, paying attention to the @code{c} notes.
@lilypond[verbatim,quote]
-\relative c' {
- c
+\relative {
+ c'
<c e g>
<c' e g'>
<c, e, g''>
that each interval contains.
@lilypond[verbatim,quote]
-\relative c'' {
- c2 fis
+\relative {
+ c''2 fis
c2 ges
b2 eisis
b2 feses
Internals Reference:
@rinternals{RelativeOctaveMusic}.
-
@cindex relative octave entry and transposition
@cindex transposition and relative octave entry
@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
@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
derived from Dutch note naming conventions. To use other names
for accidentals, see @ref{Note names in other languages}.
-@lilypond[verbatim,quote,relative=2]
-ais1 aes aisis aeses
+@lilypond[verbatim,quote,fragment]
+\relative c'' { 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
+@lilypond[verbatim,quote,fragment]
+\relative c'' { a4 aes a2 }
@end lilypond
@cindex quarter tones
Quarter tones may be added; the following is a series of Cs with
increasing pitches:
-@lilypond[verbatim,quote,relative=2]
-ceseh1 ces ceh c cih cis cisih
+@lilypond[verbatim,quote,fragment]
+\relative c'' { ceseh1 ces ceh c cih cis cisih }
@end lilypond
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?
+@lilypond[verbatim,quote,fragment]
+\relative c'' { cis cis cis! cis? c c c! c? }
@end lilypond
@cindex accidental on tied note
Accidentals on tied notes are only printed at the beginning of a
new system:
-@lilypond[verbatim,quote,relative=2]
-cis1~ cis~
-\break
-cis
+@lilypond[verbatim,quote,fragment,ragged-right]
+\relative c'' {
+ cis1~ 1~
+ \break
+ cis
+}
@end lilypond
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle,ragged-right]
+@lilypondfile[verbatim,quote,texidoc,doctitle,ragged-right]
{hiding-accidentals-on-tied-notes-at-the-start-of-a-new-system.ly}
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{preventing-extra-naturals-from-being-automatically-added.ly}
@seealso
@rglos{quarter tone}.
Learning Manual:
-@rlearning{Accidentals and key signatures}.
+@rlearning{Pitches and key signatures}.
Notation Reference:
@ref{Automatic accidentals},
@rinternals{AccidentalCautionary},
@rinternals{accidental-interface}.
-
@cindex accidental, quarter-tone
@cindex quarter-tone accidental
@knownissues
-
There are no generally accepted standards for denoting
quarter-tone accidentals, so LilyPond's symbol does not conform to
any standard.
-
@node Note names in other languages
@unnumberedsubsubsec Note names in other languages
@lilypond[quote,verbatim]
\language "italiano"
-\relative do' {
- do re mi sib
+\relative {
+ do' re mi sib
}
@end lilypond
@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
also vary depending on the language:
@quotation
-@multitable {@code{nederlands}} {-s/-sharp} {-ess/-es} {-ss/-x/-sharpsharp} {-essess/-eses}
+@multitable {@code{nederlands}} {-@code{s}/-@code{-sharp}} {-@code{ess}/-@code{es}} {-@code{ss}/-@code{x}/-@code{-sharpsharp}} {-@code{essess}/-@code{eses}}
@headitem Language
@tab sharp @tab flat @tab double sharp @tab double flat
@item @code{nederlands}
- @tab -is @tab -es @tab -isis @tab -eses
+ @tab -@code{is} @tab -@code{es} @tab -@code{isis} @tab -@code{eses}
@item @code{catalan}
- @tab -d/-s @tab -b @tab -dd/-ss @tab -bb
+ @tab -@code{d}/-@code{s} @tab -@code{b} @tab -@code{dd}/-@code{ss} @tab -@code{bb}
@item @code{deutsch}
- @tab -is @tab -es @tab -isis @tab -eses
+ @tab -@code{is} @tab -@code{es} @tab -@code{isis} @tab -@code{eses}
@item @code{english}
- @tab -s/-sharp @tab -f/-flat @tab -ss/-x/-sharpsharp
- @tab -ff/-flatflat
-@item @code{espanol}
- @tab -s @tab -b @tab -ss/-x @tab -bb
-@item @code{italiano}
- @tab -d @tab -b @tab -dd @tab -bb
+ @tab -@code{s}/-@code{-sharp} @tab -@code{f}/-@code{-flat} @tab -@code{ss}/-@code{x}/-@code{-sharpsharp}
+ @tab -@code{ff}/-@code{-flatflat}
+@item @code{espanol} or @code{español}
+ @tab -@code{s} @tab -@code{b} @tab -@code{ss}/-@code{x} @tab -@code{bb}
+@item @code{italiano} or @code{français}
+ @tab -@code{d} @tab -@code{b} @tab -@code{dd} @tab -@code{bb}
@item @code{norsk}
- @tab -iss/-is @tab -ess/-es @tab -ississ/-isis
- @tab -essess/-eses
+ @tab -@code{iss}/-@code{is} @tab -@code{ess}/-@code{es} @tab -@code{ississ}/-@code{isis}
+ @tab -@code{essess}/-@code{eses}
@item @code{portugues}
- @tab -s @tab -b @tab -ss @tab -bb
+ @tab -@code{s} @tab -@code{b} @tab -@code{ss} @tab -@code{bb}
@item @code{suomi}
- @tab -is @tab -es @tab -isis @tab -eses
+ @tab -@code{is} @tab -@code{es} @tab -@code{isis} @tab -@code{eses}
@item @code{svenska}
- @tab -iss @tab -ess @tab -ississ @tab -essess
+ @tab -@code{iss} @tab -@code{ess} @tab -@code{ississ} @tab -@code{essess}
@item @code{vlaams}
- @tab -k @tab -b @tab -kk @tab -bb
+ @tab -@code{k} @tab -@code{b} @tab -@code{kk} @tab -@code{bb}
@end multitable
@end quotation
@code{eeses}@tie{}/@tie{}@code{eses}. Sometimes only these
contracted names are defined in the corresponding language files.
-@lilypond[verbatim,quote,relative=2]
-a2 as e es a ases e eses
+@lilypond[verbatim,quote,fragment]
+\relative c'' { a2 as e es a ases e eses }
@end lilypond
@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
pitches and tuning systems are also supported: see
@ref{Common notation for non-Western music}.
-
@seealso
Music Glossary:
@rglos{Pitch names},
correction.
@lilypond[verbatim,quote]
-\relative c'' {
- c2 d='4 d
+\relative {
+ c''2 d='4 d
e2 f
}
@end lilypond
checks that the interval between the previous note and the
@code{@var{controlpitch}} is within a fourth (i.e., the normal
calculation of relative mode). If this check fails, a warning is
-printed, but the previous note is not changed. Future notes are
-relative to the @code{@var{controlpitch}}.
+printed. While the previous note itself is not changed, future
+notes are relative to the corrected value.
@lilypond[verbatim,quote]
-\relative c'' {
- c2 d
+\relative {
+ c''2 d
\octaveCheck c'
e2 f
}
checks fail, but the second one does not fail.
@lilypond[verbatim,quote]
-\relative c'' {
- c4 f g f
+\relative {
+ c''4 f g f
c4
\octaveCheck c'
}
@end lilypond
-
@seealso
Snippets:
@rlsr{Pitches}.
@lilypond[verbatim,quote]
\transpose d e {
- \relative c' {
+ \relative {
\key d \major
- d4 fis a d
+ d'4 fis a d
}
}
@end lilypond
@lilypond[verbatim,quote]
\transpose a c' {
- \relative c' {
+ \relative {
\key c \major
- c4 d e g
+ c'4 d e g
}
}
@end lilypond
will print flats on the scale step above.
@lilypond[verbatim,quote]
-music = \relative c' { c d e f }
+music = \relative { c' d e f }
\new Staff {
\transpose c cis { \music }
\transpose c des { \music }
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{transposing-pitches-with-minimum-accidentals-smart-transpose.ly}
-
@seealso
Notation Reference:
@ref{Instrument transpositions},
Internals Reference:
@rinternals{TransposedMusic}.
-
@funindex \transpose
@funindex transpose
@funindex \chordmode
@funindex relative
@knownissues
-
The relative conversion will not affect @code{\transpose},
-@code{\chordmode} or @code{\relative} sections in its argument.
-To use relative mode within transposed music, an additional
-@code{\relative} must be placed inside @code{\transpose}.
+@code{\chordmode} or @code{\relative} sections in its argument. To use
+relative mode within transposed music, an additional @code{\relative}
+must be placed inside @code{\transpose}.
+
+Triple accidentals will not be printed if using @code{\transpose}. An
+@q{enharmonically equivalent} pitch will be used instead (e.g. d-flat
+rather than e-triple-flat).
+
@node Inversion
@unnumberedsubsubsec Inversion
@cindex operation, inversion
@funindex \inversion
-A music expression can be inverted with:
+A music expression can be inverted and transposed in a single
+operation with:
@example
-\inversion @var{from-pitch} @var{to-pitch} @var{musicexpr}
+\inversion @var{around-pitch} @var{to-pitch} @var{musicexpr}
@end example
-The @code{@var{musicexpr}} is inverted interval-by-interval,
-and then transposed so that @code{@var{from-pitch}} is mapped
-to @code{@var{to-pitch}}.
+The @code{@var{musicexpr}} is inverted interval-by-interval around
+@code{@var{around-pitch}}, and then transposed so that
+@code{@var{around-pitch}} is mapped to @code{@var{to-pitch}}.
@lilypond[verbatim,quote]
-music = \relative c' { c d e f }
+music = \relative { c' d e f }
\new Staff {
\music
\inversion d' d' \music
}
@end lilypond
+@warning{Motifs to be inverted should be expressed in absolute form
+or be first converted to absolute form by enclosing them in a
+@code{\relative} block.}
+
@seealso
Notation Reference:
@ref{Modal transformations},
A music expression can be reversed to produce its retrograde:
@lilypond[verbatim,quote]
-music = \relative c' { c8. ees16( fis8. a16 b8.) gis16 f8. d16 }
+music = \relative { c'8. ees16( fis8. a16 b8.) gis16 f8. d16 }
\new Staff {
\music
@warning{Any note that does not lie within the given scale will be
left untransformed.}
-@subsubheading Modal transposition
+@subsubsubheading Modal transposition
@cindex modal transposition
@cindex transposition, modal
and @var{from-pitch}:
@lilypond[verbatim,quote]
-diatonicScale = \relative c' { c d e f g a b }
-motif = \relative c' { c8 d e f g a b c }
+diatonicScale = \relative { c' d e f g a b }
+motif = \relative { c'8 d e f g a b c }
\new Staff {
\motif
specified:
@lilypond[verbatim,quote]
-pentatonicScale = \relative c' { ges aes bes des ees }
-motif = \relative c' { ees8 des ges,4 <ges' bes,> <ges bes,> }
+pentatonicScale = \relative { ges aes bes des ees }
+motif = \relative { ees'8 des ges,4 <ges' bes,> <ges bes,> }
\new Staff {
\motif
specify the names of the notes to be used:
@lilypond[verbatim,quote]
-chromaticScale = \relative c' { c cis d dis e f fis g gis a ais b }
-motif = \relative c' { c8 d e f g a b c }
+chromaticScale = \relative { c' cis d dis e f fis g gis a ais b }
+motif = \relative { c'8 d e f g a b c }
\new Staff {
\motif
}
@end lilypond
-@subsubheading Modal inversion
+@subsubsubheading Modal inversion
@cindex modal inversion
@cindex inversion, modal
@var{around-pitch} and @var{to-pitch}:
@lilypond[verbatim,quote]
-octatonicScale = \relative c' { ees f fis gis a b c d }
-motif = \relative c' { c8. ees16 fis8. a16 b8. gis16 f8. d16 }
+octatonicScale = \relative { ees' f fis gis a b c d }
+motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 }
\new Staff {
\motif
specified can be interpreted as bracketing the pivot point:
@lilypond[verbatim,quote]
-scale = \relative c' { c g' }
-motive = \relative c' { c c g' c, }
+scale = \relative { c' g' }
+motive = \relative { c' c g' c, }
\new Staff {
\motive
retrograde-inversion:
@lilypond[verbatim,quote]
-octatonicScale = \relative c' { ees f fis gis a b c d }
-motif = \relative c' { c8. ees16 fis8. a16 b8. gis16 f8. d16 }
+octatonicScale = \relative { ees' f fis gis a b c d }
+motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 }
\new Staff {
\motif
@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]
+@lilypond[verbatim,quote,fragment,ragged-right]
+c'2 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,fragment]
\clef treble
-c2 c
+c'2 c'
\clef alto
-c2 c
+c'2 c'
\clef tenor
-c2 c
+c'2 c'
\clef bass
-c2 c
+c'2 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
+For the full range of possible clef names see @ref{Clef styles}.
-\break
-
-\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
@cindex octave transposition
+@cindex optional octave transposition
+@cindex octave transposition, optional
@cindex choral tenor clef
@cindex tenor clef, choral
Other integers can be used if required. Clef names containing
non-alphabetic characters must be enclosed in quotes
-@lilypond[verbatim,quote,relative=1]
+@lilypond[verbatim,quote,fragment]
\clef treble
-c2 c
+c'2 c'
\clef "treble_8"
-c2 c
+c'2 c'
\clef "bass^15"
-c2 c
+c'2 c'
\clef "alto_2"
-c2 c
+c'2 c'
\clef "G_8"
-c2 c
+c'2 c'
\clef "F^5"
-c2 c
+c'2 c'
@end lilypond
-Some special purpose clefs are described in @ref{Mensural clefs},
-@ref{Gregorian clefs}, @ref{Default tablatures}, and @ref{Custom
-tablatures}.
+Optional octavation can be obtained by enclosing the numeric
+argument in parentheses or brackets:
-@snippets
+@lilypond[verbatim,quote,fragment]
+\clef "treble_(8)"
+c'2 c'
+\clef "bass^[15]"
+c'2 c'
+@end lilypond
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{tweaking-clef-properties.ly}
+The pitches are displayed as if the numeric argument were
+given without parentheses/brackets.
+
+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.
+
+@lilypond[verbatim,quote,fragment]
+\clef treble { c'2 c' } \break
+\clef bass { c'2 c' } \break
+\clef alto
+ \set Staff.explicitClefVisibility = #end-of-line-invisible
+ { c'2 c' } \break
+ \unset Staff.explicitClefVisibility
+\clef bass { c'2 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 command
+@code{\set Staff.forceClef = ##t} changes this behaviour.
+
+@lilypond[verbatim,quote,fragment]
+ \clef treble
+ c'1
+ \clef treble
+ c'1
+ \set Staff.forceClef = ##t
+ c'1
+ \clef treble
+ c'1
+@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,fragment]
+ \clef "treble"
+ c'1
+ \clef "bass"
+ c'1
+ \clef "treble"
+ c'1
+ \override Staff.Clef.full-size-change = ##t
+ \clef "bass"
+ c'1
+ \clef "treble"
+ c'1
+ \revert Staff.Clef.full-size-change
+ \clef "bass"
+ c'1
+ \clef "treble"
+ c'1
+@end lilypond
+@snippets
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{tweaking-clef-properties.ly}
@seealso
Notation Reference:
@ref{Mensural clefs},
@ref{Gregorian clefs},
@ref{Default tablatures},
-@ref{Custom tablatures}.
+@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{ClefModifier} grob.
+
+@lilypond[fragment,quote,verbatim]
+\new Staff \with {
+ \override Clef.color = #blue
+ \override ClefModifier.color = #red
+}
+
+\clef "treble_8" c'4
+@end lilypond
+
@node Key signature
@unnumberedsubsubsec Key signature
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)
@code{\ionian}, @code{\dorian}, @code{\phrygian}, @code{\lydian},
@code{\mixolydian}, @code{\aeolian}, and @code{\locrian}.
-@lilypond[verbatim,quote,relative=2]
-\key g \major
-fis1
-f
-fis
+@lilypond[verbatim,quote,fragment]
+\relative {
+ \key g \major
+ fis''1
+ f
+ fis
+}
+@end lilypond
+
+Additional modes can be defined, by listing the alterations
+for each scale step when the mode starts on C.
+
+@lilypond[verbatim,quote]
+freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)
+ (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))
+
+\relative {
+ \key c \freygish c'4 des e f
+ \bar "||" \key d \freygish d es fis g
+}
@end lilypond
+Accidentals in the key signature may be printed in octaves other
+than their traditional positions, or in multiple octaves, by
+using the @code{flat-positions} and @code{sharp-positions}
+properties of @code{KeySignature}. Entries in these properties
+specify the range of staff-positions where accidentals will be
+printed. If a single position is specified in an entry, the
+accidentals are placed within the octave ending at that staff
+position.
+
+@lilypond[verbatim, quote,fragment]
+\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''
+
+\override Staff.KeySignature.sharp-positions = #'(2)
+\bar "||" \key b \major b' fis' b'2
+@end lilypond
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{preventing-natural-signs-from-being-printed-when-the-key-signature-changes.ly}
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{non-traditional-key-signatures.ly}
@rglos{scordatura}.
Learning Manual:
-@rlearning{Accidentals and key signatures}.
+@rlearning{Pitches and key signatures}.
Snippets:
@rlsr{Pitches}.
@rinternals{Key_performer},
@rinternals{KeyCancellation},
@rinternals{KeySignature},
-@rinternals{key-cancellation-interface},
@rinternals{key-signature-interface}.
@notation{Ottava brackets} introduce an extra transposition of an
octave for the staff:
-@lilypond[verbatim,quote,relative=2]
-a2 b
-\ottava #-2
-a2 b
-\ottava #-1
-a2 b
-\ottava #0
-a2 b
-\ottava #1
-a2 b
-\ottava #2
-a2 b
+@lilypond[verbatim,quote]
+\relative a' {
+ a2 b
+ \ottava #-2
+ a2 b
+ \ottava #-1
+ a2 b
+ \ottava #0
+ a2 b
+ \ottava #1
+ a2 b
+ \ottava #2
+ a2 b
+}
@end lilypond
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@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:
@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
-s1*0^\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
Music Glossary:
@rglos{concert pitch},
@cindex automatic accidentals
@cindex default accidental style
-@funindex set-accidental-style
+@funindex \accidentalStyle
@funindex voice
@funindex default
@example
\new Staff <<
- #(set-accidental-style 'voice)
+ \accidentalStyle voice
@{ @dots{} @}
>>
@end example
style in all staves of the current @code{StaffGroup}, use:
@example
-#(set-accidental-style 'voice 'StaffGroup)
+\accidentalStyle StaffGroup.voice
@end example
The following accidental styles are supported. To demonstrate
@lilypond[verbatim,quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'default)
+ \accidentalStyle default
\musicA
}
\context Staff = "down" {
- #(set-accidental-style 'default)
+ \accidentalStyle default
\musicB
}
>>
<<
\context Staff = "up" @{
%%% change the next line as desired:
- #(set-accidental-style 'default 'Score)
+ \accidentalStyle Score.default
\musicA
@}
\context Staff = "down" @{
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'default)
+ \accidentalStyle default
\musicA
}
\context Staff = "down" {
- #(set-accidental-style 'default)
+ \accidentalStyle default
\musicB
}
>>
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'voice)
+ \accidentalStyle voice
\musicA
}
\context Staff = "down" {
- #(set-accidental-style 'voice)
+ \accidentalStyle voice
\musicB
}
>>
This rule corresponds to the common practice in the twentieth
century. It omits some extra natural signs, which were
-traditionally prefixed to accidentals that reduce or reverse
-the direction of a previous alteration. The @code{modern} rule
+traditionally prefixed to a sharp following a double sharp,
+or a flat following a double flat. The @code{modern} rule
prints the same accidentals as @code{default}, with
-two exceptions that serve to avoid ambiguity: after temporary
+two additions that serve to avoid ambiguity: after temporary
accidentals, cancellation marks are printed also in the following
measure (for notes in the same octave) and, in the same measure,
for notes in other octaves. Hence the naturals before
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'modern)
+ \accidentalStyle modern
\musicA
}
\context Staff = "down" {
- #(set-accidental-style 'modern)
+ \accidentalStyle modern
\musicB
}
>>
@funindex modern-cautionary
-This rule is similar to @code{modern}, but the @q{extra}
-accidentals (the ones not typeset by @code{default}) are typeset
-as cautionary accidentals. They are by default printed with
-parentheses, but they can also be printed in reduced size by
-defining the @code{cautionary-style} property of
-@code{AccidentalSuggestion}.
+This rule is similar to @code{modern}, but the @q{extra} accidentals
+are printed as cautionary accidentals (with parentheses). They can also
+be printed at a different size by overriding
+@code{AccidentalCautionary}'s @code{font-size} property.
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'modern-cautionary)
+ \accidentalStyle modern-cautionary
\musicA
}
\context Staff = "down" {
- #(set-accidental-style 'modern-cautionary)
+ \accidentalStyle modern-cautionary
\musicB
}
>>
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'modern-voice)
+ \accidentalStyle modern-voice
\musicA
}
\context Staff = "down" {
- #(set-accidental-style 'modern-voice)
+ \accidentalStyle modern-voice
\musicB
}
>>
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'modern-voice-cautionary)
+ \accidentalStyle modern-voice-cautionary
\musicA
}
\context Staff = "down" {
- #(set-accidental-style 'modern-voice-cautionary)
+ \accidentalStyle modern-voice-cautionary
\musicB
}
>>
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'piano)
+ \accidentalStyle piano
\musicA
}
\context Staff = "down" {
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'piano-cautionary)
+ \accidentalStyle piano-cautionary
\musicA
}
\context Staff = "down" {
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'neo-modern)
+ \accidentalStyle neo-modern
\musicA
}
\context Staff = "down" {
- #(set-accidental-style 'neo-modern)
+ \accidentalStyle neo-modern
\musicB
}
>>
@funindex neo-modern-cautionary
-This rule is similar to @code{neo-modern}, but the extra
-accidentals are printed as cautionary accidentals.
+This rule is similar to @code{neo-modern}, but the @q{extra} accidentals
+are printed as cautionary accidentals (with parentheses). They can also
+be printed at a different size by overriding
+@code{AccidentalCautionary}'s @code{font-size} property.
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'neo-modern-cautionary)
+ \accidentalStyle neo-modern-cautionary
\musicA
}
\context Staff = "down" {
- #(set-accidental-style 'neo-modern-cautionary)
+ \accidentalStyle neo-modern-cautionary
\musicB
}
>>
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'neo-modern-voice)
+ \accidentalStyle neo-modern-voice
\musicA
}
\context Staff = "down" {
- #(set-accidental-style 'neo-modern-voice)
+ \accidentalStyle neo-modern-voice
\musicB
}
>>
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'neo-modern-voice-cautionary)
+ \accidentalStyle neo-modern-voice-cautionary
\musicA
}
\context Staff = "down" {
- #(set-accidental-style 'neo-modern-voice-cautionary)
+ \accidentalStyle neo-modern-voice-cautionary
\musicB
}
>>
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
+ cis2. <c, g'>4 |
+ }
+ \\
+ \relative {
+ ais'2 cis, |
+ fis8 b a4 cis2 |
+ }
+ >>
+}
+
+musicB = {
+ \clef bass
+ \new Voice {
+ \voiceTwo \relative {
+ <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
+ \musicA
+ }
+ \context Staff = "down" {
+ \accidentalStyle dodecaphonic
+ \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 {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
+ cis2. <c, g'>4 |
+ }
+ \\
+ \relative {
+ ais'2 cis, |
+ fis8 b a4 cis2 |
+ }
+ >>
+}
+
+musicB = {
+ \clef bass
+ \new Voice {
+ \voiceTwo \relative {
+ <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 {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'dodecaphonic)
+ \accidentalStyle dodecaphonic-first
\musicA
}
\context Staff = "down" {
- #(set-accidental-style 'dodecaphonic)
+ \accidentalStyle dodecaphonic-first
\musicB
}
>>
accidentals are added for all sharp or flat tones specified by the
key signature, except if the note is immediately repeated.
-@lilypond[quote]
+@lilypond[quote,staffsize=18]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
<<
\context Staff = "up" {
\key fis \minor
- #(set-accidental-style 'teaching)
+ \accidentalStyle teaching
\musicA
}
\context Staff = "down" {
\key fis \minor
- #(set-accidental-style 'teaching)
+ \accidentalStyle teaching
\musicB
}
>>
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'no-reset)
+ \accidentalStyle no-reset
\musicA
}
\context Staff = "down" {
- #(set-accidental-style 'no-reset)
+ \accidentalStyle no-reset
\musicB
}
>>
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, bes4 <a cis>8 f bis4 |
+ \relative {
+ cis''8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
- \relative c' {
+ \relative {
ais'2 cis, |
fis8 b a4 cis2 |
}
musicB = {
\clef bass
\new Voice {
- \voiceTwo \relative c' {
- <fis, a cis>8 <fis a cis>
+ \voiceTwo \relative {
+ <fis a cis>8[ <fis a cis>
\change Staff = up
cis' cis
\change Staff = down
- <fis, a> <fis a>
+ <fis, a> <fis a>]
\showStaffSwitch
\change Staff = up
dis'4 |
\new PianoStaff {
<<
\context Staff = "up" {
- #(set-accidental-style 'forget)
+ \accidentalStyle forget
\musicA
}
\context Staff = "down" {
- #(set-accidental-style 'forget)
+ \accidentalStyle forget
\musicB
}
>>
@rinternals{AccidentalPlacement},
@rinternals{accidental-suggestion-interface}.
-
@cindex accidentals and simultaneous notes
@cindex simultaneous notes and accidentals
@cindex accidentals in chords
@cindex chords, accidentals in
@knownissues
-
Simultaneous notes are not considered in the automatic
determination of accidentals; only previous notes and the key
signature are considered. Forcing accidentals with@tie{}@code{!}
@lilypond[quote]
{
- #(set-accidental-style 'modern)
+ \accidentalStyle modern
\time 2/4
\repeat volta 2 {
c'2
the accidental style to @code{forget}:
@lilypond[verbatim,quote]
-forget = #(define-music-function (parser location music) (ly:music?) #{
- #(set-accidental-style 'forget)
- $music
- #(set-accidental-style 'modern)
+forget = #(define-music-function (music) (ly:music?) #{
+ \accidentalStyle forget
+ #music
+ \accidentalStyle modern
#})
{
- #(set-accidental-style 'modern)
+ \accidentalStyle modern
\time 2/4
\repeat volta 2 {
c'2
}
@end lilypond
+
@node Ambitus
@unnumberedsubsubsec Ambitus
}
}
-\relative c'' {
- aes c e2
+\relative {
+ aes' c e2
cis,1
}
@end lilypond
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{adding-ambitus-per-voice.ly}
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{ambitus-with-multiple-voices.ly}
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{changing-the-ambitus-gap.ly}
-
@seealso
Music Glossary:
@rglos{ambitus}.
@rinternals{AmbitusNoteHead},
@rinternals{ambitus-interface}.
-
@knownissues
-
There is no collision handling in the case of multiple per-voice
ambitus.
The appearance of note heads may be altered:
-@lilypond[verbatim,quote,relative=2]
-c4 b
-\override NoteHead #'style = #'cross
-c4 b
-\revert NoteHead #'style
-a b
-\override NoteHead #'style = #'harmonic
-a b
-\revert NoteHead #'style
-c4 d e f
+@lilypond[verbatim,quote]
+\relative c'' {
+ c4 b
+ \override NoteHead.style = #'cross
+ c4 b
+ \revert NoteHead.style
+ a b
+ \override NoteHead.style = #'harmonic
+ a b
+ \revert NoteHead.style
+ c4 d e f
+}
@end lilypond
To see all note head styles, see @ref{Note head styles}.
note head in both staff and tablature contexts and can be used to
represent any musical meaning:
-@lilypond[verbatim,quote,relative=2]
-c4 b
-\xNotesOn
- a b c4 b
-\xNotesOff
-c4 d
+@lilypond[verbatim,quote]
+\relative {
+ c''4 b
+ \xNotesOn
+ a b c4 b
+ \xNotesOff
+ c4 d
+}
@end lilypond
The music function form of this predefined command may be used
inside and outside chords to generate crossed note heads in both
staff and tablature contexts:
-@lilypond[verbatim,quote,relative=2]
-c4 b
-\xNote { e f }
-c b < g \xNote c f > b
+@lilypond[verbatim,quote]
+\relative {
+ c''4 b
+ \xNote { e f }
+ c b < g \xNote c f > b
+}
@end lilypond
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>
+@lilypond[verbatim,quote]
+\relative c'' {
+ <c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic> f\harmonic
+}
@end lilypond
@predefined
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{numbers-as-easy-note-heads.ly}
-
@seealso
Notation Reference:
@ref{Setting the staff size}.
Shape note heads can be produced in Sacred Harp, Southern Harmony,
Funk (Harmonica Sacra), Walker, and Aiken (Christian Harmony) styles:
-@lilypond[verbatim,quote,relative=2]
-\aikenHeads
-c, d e f g2 a b1 c \break
-\sacredHarpHeads
-c,4 d e f g2 a b1 c \break
-\southernHarmonyHeads
-c,4 d e f g2 a b1 c \break
-\funkHeads
-c,4 d e f g2 a b1 c \break
-\walkerHeads
-c,4 d e f g2 a b1 c \break
+@lilypond[verbatim,quote]
+\relative c'' {
+ \aikenHeads
+ c, d e f g2 a b1 c \break
+ \sacredHarpHeads
+ c,4 d e f g2 a b1 c \break
+ \southernHarmonyHeads
+ c,4 d e f g2 a b1 c \break
+ \funkHeads
+ c,4 d e f g2 a b1 c \break
+ \walkerHeads
+ c,4 d e f g2 a b1 c \break
+}
@end lilypond
@funindex \key
in a minor key, the scale step can be determined from the relative
major:
-@lilypond[verbatim,quote,relative=2]
-\key a \minor
-\aikenHeads
-a b c d e2 f g1 a \break
-\aikenHeadsMinor
-a,4 b c d e2 f g1 a \break
-\sacredHarpHeadsMinor
-a,2 b c d \break
-\southernHarmonyHeadsMinor
-a2 b c d \break
-\funkHeadsMinor
-a2 b c d \break
-\walkerHeadsMinor
-a2 b c d \break
-
+@lilypond[verbatim,quote]
+\relative c'' {
+ \key a \minor
+ \aikenHeads
+ a b c d e2 f g1 a \break
+ \aikenHeadsMinor
+ a,4 b c d e2 f g1 a \break
+ \sacredHarpHeadsMinor
+ a,2 b c d \break
+ \southernHarmonyHeadsMinor
+ a2 b c d \break
+ \funkHeadsMinor
+ a2 b c d \break
+ \walkerHeadsMinor
+ a2 b c d \break
+}
@end lilypond
@snippets
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
+@lilypondfile[verbatim,quote,texidoc,doctitle]
{applying-note-head-styles-depending-on-the-step-of-the-scale.ly}
To see all note head styles, see @ref{Note head styles}.
-
@seealso
Snippets:
@rlsr{Pitches}.
the performer may choose any pitch but should play the specified
rhythm. Such note heads can be created:
-@lilypond[verbatim,quote,relative=2]
+@lilypond[verbatim,quote]
\new Voice \with {
\consists "Pitch_squash_engraver"
-} {
- e8 e g a a16( bes) a8 g
+} \relative {
+ e''8 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
}
@end lilypond
-
@predefined
@code{\improvisationOn},
@code{\improvisationOff}.
@endpredefined
-
@seealso
Snippets:
@rlsr{Pitches}.