Guide, node Updating translation committishes..
@end ignore
-@c \version "2.12.0"
+@c \version "2.19.53"
@node Pitches
* Relative octave entry::
* Accidentals::
* Note names in other languages::
-* Non-Western note names and accidentals::
@end menu
engraved in the octave below middle C.
@c don't use c' here.
-@lilypond[verbatim,quote,fragment]
-\clef bass
-c d e f
-g a b c
-d e f g
+@lilypond[verbatim,quote]
+{
+ \clef bass
+ c4 d e f
+ g4 a b c
+ d4 e f g
+}
@end lilypond
@cindex octave changing mark
pitch by one octave; each@tie{}@code{,} lowers the pitch by an
octave.
-@lilypond[verbatim,quote,fragment]
-\clef treble
-c' c'' e' g
-d'' d' d c
-\clef bass
-c, c,, e, g
-d,, d, d c
+@lilypond[verbatim,quote]
+{
+ \clef treble
+ c'4 e' g' c''
+ c'4 g b c'
+ \clef bass
+ c,4 e, g, c
+ c,4 g,, b,, c,
+}
+@end lilypond
+
+@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:
@cindex relative octave entry
@cindex octave entry, relative
@cindex relative octave specification
-@cindex ocatve specification, relative
+@cindex octave specification, relative
-@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}
In relative mode, each note is assumed to be as close to the
previous note as possible. This means that the octave of each
-pitch inside @var{musicexpr} is calculated as follows:
+pitch inside @code{@var{musicexpr}} is calculated as follows:
@itemize
@item
@item
The pitch of the first note is relative to
-@code{@var{startpitch}}. @var{startpitch} is specified in
-absolute octave mode, and it is recommended that it be a octave of
-@code{c}.
+@code{@var{startpitch}}. @code{@var{startpitch}} is specified in
+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
}
@end lilypond
+In complex situations, it is sometimes useful to get back to a
+certain pitch regardless of what happened before. This can be
+done using @code{\resetRelativeOctave}:
+
+@lilypond[verbatim,quote]
+\relative {
+ <<
+ { c''2 d }
+ \\
+ { e,,2 f }
+ >>
+ \resetRelativeOctave c''
+ c2
+}
+@end lilypond
+
+@funindex \resetRelativeOctave
+
@seealso
Music Glossary:
Internals Reference:
@rinternals{RelativeOctaveMusic}.
-
@cindex relative octave entry and transposition
@cindex transposition and relative octave entry
@funindex \transpose
-@funindex transpose
@funindex \chordmode
-@funindex chordmode
@funindex \relative
-@funindex relative
-
-
-@c DEPRECATED
-If no @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
@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]
-{preventing-extra-naturals-from-being-automatically-added.ly}
+@lilypondfile[verbatim,quote,texidoc,doctitle,ragged-right]
+{hiding-accidentals-on-tied-notes-at-the-start-of-a-new-system.ly}
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{preventing-extra-naturals-from-being-automatically-added.ly}
@seealso
Music Glossary:
@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
+quarter-tone accidentals, so LilyPond's symbols do not conform to
any standard.
-
@node Note names in other languages
@unnumberedsubsubsec Note names in other languages
@cindex language, pitch names in other
There are predefined sets of note and accidental names for various
-other languages. To use them, include the language-specific init
-file listed below. For example, to use English note names, add
-@code{@w{\include "english.ly"}} to the input file.
+other languages. Selecting the note name language is usually done
+at the beginning of the file; the following example is written
+using Italian note names:
-@warning{Because some other include files (such as @code{@w{predefined-fretboards.ly}})
-use default (Nederlands) note names, the @code{@bs{}include}
-command for the language file should be placed after all other
-LilyPond distribution files.}
+@lilypond[quote,verbatim]
+\language "italiano"
-The available language files and the note names they define are:
+\relative {
+ do' re mi sib
+}
+@end lilypond
+
+The available languages and the note names they define are:
@quotation
-@multitable {@file{nederlands.ly}} {do re mi fa sol la sib si}
-@headitem Language File
+@multitable {@code{nederlands}} {do re/re mi fa sol la sib si}
+@headitem Language
@tab Note Names
-@item @file{nederlands.ly}
+@item @code{nederlands}
@tab c d e f g a bes b
-@item @file{arabic.ly}
- @tab do re mi fa sol la sib si
-@item @file{catalan.ly}
+@item @code{catalan}
@tab do re mi fa sol la sib si
-@item @file{deutsch.ly}
+@item @code{deutsch}
@tab c d e f g a b h
-@item @file{english.ly}
+@item @code{english}
@tab c d e f g a bf b
-@item @file{espanol.ly}
+@item @code{espanol} or @code{español}
@tab do re mi fa sol la sib si
-@item @file{italiano.ly}
+@item @code{français}
+ @tab do ré/re mi fa sol la sib si
+@item @code{italiano}
@tab do re mi fa sol la sib si
-@item @file{norsk.ly}
+@item @code{norsk}
@tab c d e f g a b h
-@item @file{portugues.ly}
+@item @code{portugues}
@tab do re mi fa sol la sib si
-@item @file{suomi.ly}
+@item @code{suomi}
@tab c d e f g a b h
-@item @file{svenska.ly}
+@item @code{svenska}
@tab c d e f g a b h
-@item @file{vlaams.ly}
+@item @code{vlaams}
@tab do re mi fa sol la sib si
@end multitable
@end quotation
-@noindent
-and the accidental suffixes they define are:
+In addition to note names, accidental suffixes may
+also vary depending on the language:
@quotation
-@multitable {@file{nederlands.ly}} {-s/-sharp} {-ess/-es} {-ss/-x/-sharpsharp} {-essess/-eses}
-@headitem Language File
+@multitable {@code{nederlands}} {-@code{s}/-@code{-sharp}} {-@code{f}/-@code{-flat}} {-@code{ss}/-@code{x}/-@code{-sharpsharp}} {-@code{ff}/-@code{-flatflat}}
+@headitem Language
@tab sharp @tab flat @tab double sharp @tab double flat
-@item @file{nederlands.ly}
- @tab -is @tab -es @tab -isis @tab -eses
-@item @file{arabic.ly}
- @tab -d @tab -b @tab -dd @tab -bb
-@item @file{catalan.ly}
- @tab -d/-s @tab -b @tab -dd/-ss @tab -bb
-@item @file{deutsch.ly}
- @tab -is @tab -es @tab -isis @tab -eses
-@item @file{english.ly}
- @tab -s/-sharp @tab -f/-flat @tab -ss/-x/-sharpsharp
- @tab -ff/-flatflat
-@item @file{espanol.ly}
- @tab -s @tab -b @tab -ss/-x @tab -bb
-@item @file{italiano.ly}
- @tab -d @tab -b @tab -dd @tab -bb
-@item @file{norsk.ly}
- @tab -iss/-is @tab -ess/-es @tab -ississ/-isis
- @tab -essess/-eses
-@item @file{portugues.ly}
- @tab -s @tab -b @tab -ss @tab -bb
-@item @file{suomi.ly}
- @tab -is @tab -es @tab -isis @tab -eses
-@item @file{svenska.ly}
- @tab -iss @tab -ess @tab -ississ @tab -essess
-@item @file{vlaams.ly}
- @tab -k @tab -b @tab -kk @tab -bb
+@item @code{nederlands}
+ @tab -@code{is} @tab -@code{es} @tab -@code{isis} @tab -@code{eses}
+@item @code{catalan}
+ @tab -@code{d}/-@code{s} @tab -@code{b} @tab -@code{dd}/-@code{ss} @tab -@code{bb}
+@item @code{deutsch}
+ @tab -@code{is} @tab -@code{es} @tab -@code{isis} @tab -@code{eses}
+@item @code{english}
+ @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{français}
+ @tab -@code{d} @tab -@code{b} @tab -@code{dd}/-@code{x} @tab -@code{bb}
+@item @code{italiano}
+ @tab -@code{d} @tab -@code{b} @tab -@code{dd} @tab -@code{bb}
+@item @code{norsk}
+ @tab -@code{iss}/-@code{is} @tab -@code{ess}/-@code{es} @tab -@code{ississ}/-@code{isis}
+ @tab -@code{essess}/-@code{eses}
+@item @code{portugues}
+ @tab -@code{s} @tab -@code{b} @tab -@code{ss} @tab -@code{bb}
+@item @code{suomi}
+ @tab -@code{is} @tab -@code{es} @tab -@code{isis} @tab -@code{eses}
+@item @code{svenska}
+ @tab -@code{iss} @tab -@code{ess} @tab -@code{ississ} @tab -@code{essess}
+@item @code{vlaams}
+ @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
@cindex sesqui-flat
Some music uses microtones whose alterations are fractions of a
-@q{normal} sharp or flat. The note names for quarter-tones
-defined in the various language files are listed in the following
-table. Here the prefixes @notation{semi-} and @notation{sesqui-}
-mean @q{half} and @q{one and a half}, respectively. For the other
-languages, no special names have been defined yet.
+@q{normal} sharp or flat. The following table lists note names
+for quarter-tone accidentals in various languages; here the prefixes
+@notation{semi-} and @notation{sesqui-} respectively
+mean @q{half} and @q{one and a half}. Languages that do not
+appear in this table do not provide special note names yet.
@quotation
-@multitable {@file{nederlands.ly}} {@b{semi-sharp}} {@b{semi-flat}} {@b{sesqui-sharp}} {@b{sesqui-flat}}
-@headitem Language File
+@multitable {@code{nederlands}} {@b{semi-sharp}} {@b{semi-flat}} {@b{sesqui-sharp}} {@b{sesqui-flat}}
+@headitem Language
@tab semi-sharp @tab semi-flat @tab sesqui-sharp @tab sesqui-flat
-@item @file{nederlands.ly}
+@item @code{nederlands}
@tab -ih @tab -eh @tab -isih @tab -eseh
-@item @file{arabic.ly}
- @tab -sd @tab -sb @tab -dsd @tab -bsb
-@item @file{deutsch.ly}
+@item @code{deutsch}
@tab -ih @tab -eh @tab -isih @tab -eseh
-@item @file{english.ly}
+@item @code{english}
@tab -qs @tab -qf @tab -tqs @tab -tqf
-@item @file{espanol.ly}
+@item @code{espanol} or @code{español}
@tab -cs @tab -cb @tab -tcs @tab -tcb
-@item @file{italiano.ly}
+@item @code{français}
+ @tab -sd @tab -sb @tab -dsd @tab -bsb
+@item @code{italiano}
@tab -sd @tab -sb @tab -dsd @tab -bsb
-@item @file{portugues.ly}
+@item @code{portugues}
@tab -sqt @tab -bqt @tab -stqt @tab -btqt
@end multitable
@end quotation
+Most languages presented here are commonly associated with
+Western classical music, also referred to as
+@notation{Common Practice Period}. However, alternate
+pitches and tuning systems are also supported: see
+@ref{Common notation for non-Western music}.
@seealso
Music Glossary:
-@rglos{Pitch names}.
-
-Snippets:
-@rlsr{Pitches}.
-
-
-@node Non-Western note names and accidentals
-@unnumberedsubsubsec Non-Western note names and accidentals
-
-Many non-Western musics (and some Western folk and
-traditional musics) employ alternative or extended tuning
-systems that do not fit readily into standard classical
-notation.
-
-In some cases standard notation is still used, with the
-pitch differences being implicit. For example, Arabic
-music is notated with standard semitone and quarter-tone
-accidentals, with the precise pitch alterations being
-determined by context. Others require extended or unique
-notations.
-
-@notation{Turkish classical music}, or Ottoman music,
-employs melodic forms known as @notation{makamlar}, whose
-intervals are based on 1/9 divisions of the whole tone.
-From a modern notational point of view, it is convenient
-to use the standard Western staff notes (c, d, e, ...)
-with special accidentals unique to Turkish music. These
-accidentals are defined in @file{makam.ly} (to locate this
-file on your system, see
-@rlearning{Other sources of information}). The following
-table gives their names, the accidental suffix that must
-be added to notes, and their pitch alteration as a
-fraction of one whole tone.
-
-@c TODO: can we include the actual accidentals in this table?
-@quotation
-@multitable {@b{büyük mücenneb (sharp)}} {@b{suffix}} {@b{pitch alteration}}
-@headitem Accidental name
- @tab suffix @tab pitch alteration
-
-@item büyük mücenneb (sharp)
- @tab -bm @tab +8/9
-@item kücük mücenneb (sharp)
- @tab -k @tab +5/9
-@item bakiye (sharp)
- @tab -b @tab +4/9
-@item koma (sharp)
- @tab -c @tab +1/9
-
-@item koma (flat)
- @tab -fc @tab -1/9
-@item bakiye (flat)
- @tab -fb @tab -4/9
-@item kücük mücenneb (flat)
- @tab -fk @tab -5/9
-@item büyük mücenneb (flat)
- @tab -fbm @tab -8/9
-@end multitable
-@end quotation
-
-For further information on Turkish classical music and
-makamlar, see @ref{Turkish classical music}.
+@rglos{Pitch names},
+@rglos{Common Practice Period}.
+Notation Reference:
+@ref{Common notation for non-Western music}.
-@snippets
+Installed Files:
+@file{scm/define-note-names.scm}.
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{makam-example.ly}
+Snippets:
+@rlsr{Pitches}.
@node Changing multiple pitches
@menu
* Octave checks::
* Transpose::
+* Inversion::
+* Retrograde::
+* Modal transformations::
@end menu
@node Octave checks
@funindex =
@funindex \octaveCheck
-@funindex octaveCheck
@funindex controlpitch
In relative mode, it is easy to forget an octave changing mark.
correction.
@lilypond[verbatim,quote]
-\relative c'' {
- c2 d='4 d
+\relative {
+ c''2 d='4 d
e2 f
}
@end lilypond
The octave of notes may also be checked with the
-@code{\octaveCheck}@tie{}@var{controlpitch} command.
-@var{controlpitch} is specified in absolute mode. This checks
-that the interval between the previous note and the
-@var{controlpitch} is within a fourth (i.e., the normal
+@code{\octaveCheck@tie{}@var{controlpitch}} command.
+@code{@var{controlpitch}} is specified in absolute mode. This
+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 @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}.
@cindex notes, transposition of
@funindex \transpose
-@funindex transpose
A music expression can be transposed with @code{\transpose}. The
syntax is
@end example
@noindent
-This means that @var{musicexpr} is transposed by the interval
-between the pitches @var{frompitch} and @var{topitch}: any note
-with pitch @var{frompitch} is changed to @var{topitch} and any
-other note is transposed by the same interval. Both pitches are
-entered in absolute mode.
+This means that @code{@var{musicexpr}} is transposed by the
+interval between the pitches @code{@var{frompitch}} and
+@code{@var{topitch}}: any note with pitch @code{@var{frompitch}}
+is changed to @code{@var{topitch}} and any other note is
+transposed by the same interval. Both pitches are entered in
+absolute mode.
@warning{Music inside a @code{@bs{}transpose} block is absolute
unless a @code{@bs{}relative} is included in the block.}
@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},
+@ref{Inversion},
+@ref{Modal transformations},
@ref{Relative octave entry},
-@ref{Instrument transpositions}.
+@ref{Retrograde}.
Snippets:
@rlsr{Pitches}.
Internals Reference:
@rinternals{TransposedMusic}.
-
@funindex \transpose
-@funindex transpose
@funindex \chordmode
-@funindex chordmode
@funindex \relative
-@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 inversion
+@cindex operation, inversion
+@funindex \inversion
+
+A music expression can be inverted and transposed in a single
+operation with:
+
+@example
+\inversion @var{around-pitch} @var{to-pitch} @var{musicexpr}
+@end example
+
+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' d e f }
+\new Staff {
+ \music
+ \inversion d' d' \music
+ \inversion d' ees' \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},
+@ref{Retrograde},
+@ref{Transpose}.
+
+
+@node Retrograde
+@unnumberedsubsubsec Retrograde
+
+@cindex retrograde transformation
+@cindex transformation, retrograde
+@cindex operation, retrograde
+@funindex \retrograde
+
+A music expression can be reversed to produce its retrograde:
+
+@lilypond[verbatim,quote]
+music = \relative { c'8. ees16( fis8. a16 b8.) gis16 f8. d16 }
+
+\new Staff {
+ \music
+ \retrograde \music
+}
+@end lilypond
+
+@knownissues
+@code{\retrograde} is a rather simple tool. Since many events are
+@q{mirrored} rather than exchanged, tweaks and directional
+modifiers for opening spanners need to be added at the matching
+closing spanners: @code{^(} needs to be ended by @code{^)}, every
+@code{\<} or @code{\cresc} needs to be ended by @code{\!} or
+@code{\endcr}, every @code{\>} or @code{\decr} needs to be ended
+by @code{\enddecr}. Property-changing commands/overrides with a
+lasting effect will likely cause surprises.
+
+@seealso
+Notation Reference:
+@ref{Inversion},
+@ref{Modal transformations},
+@ref{Transpose}.
+
+
+@node Modal transformations
+@unnumberedsubsubsec Modal transformations
+
+@cindex modal transformations
+@cindex transformations, modal
+@cindex operations, modal
+
+In a musical composition that is based on a scale, a motif is
+frequently transformed in various ways. It may be
+@notation{transposed} to start at different places in the scale or
+it may be @notation{inverted} around a pivot point in the scale.
+It may also be reversed to produce its @notation{retrograde}, see
+@ref{Retrograde}.
+
+@warning{Any note that does not lie within the given scale will be
+left untransformed.}
+
+@subsubsubheading Modal transposition
+
+@cindex modal transposition
+@cindex transposition, modal
+@cindex operation, transposition
+@funindex \modalTranspose
+
+A motif can be transposed within a given scale with:
+
+@example
+\modalTranspose @var{from-pitch} @var{to-pitch} @var{scale} @var{motif}
+@end example
+
+The notes of @var{motif} are shifted within the @var{scale} by the
+number of scale degrees given by the interval between @var{to-pitch}
+and @var{from-pitch}:
+
+@lilypond[verbatim,quote]
+diatonicScale = \relative { c' d e f g a b }
+motif = \relative { c'8 d e f g a b c }
+
+\new Staff {
+ \motif
+ \modalTranspose c f \diatonicScale \motif
+ \modalTranspose c b, \diatonicScale \motif
+}
+@end lilypond
+
+An ascending scale of any length and with any intervals may be
+specified:
+
+@lilypond[verbatim,quote]
+pentatonicScale = \relative { ges aes bes des ees }
+motif = \relative { ees'8 des ges,4 <ges' bes,> <ges bes,> }
+
+\new Staff {
+ \motif
+ \modalTranspose ges ees' \pentatonicScale \motif
+}
+@end lilypond
+
+When used with a chromatic scale @code{\modalTranspose} has a
+similar effect to @code{\transpose}, but with the ability to
+specify the names of the notes to be used:
+
+@lilypond[verbatim,quote]
+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
+ \transpose c f \motif
+ \modalTranspose c f \chromaticScale \motif
+}
+@end lilypond
+
+@subsubsubheading Modal inversion
+
+@cindex modal inversion
+@cindex inversion, modal
+@cindex operation, modal inversion
+@funindex \modalInversion
+
+A motif can be inverted within a given scale around a given pivot
+note and transposed in a single operation with:
+
+@example
+\modalInversion @var{around-pitch} @var{to-pitch} @var{scale} @var{motif}
+@end example
+
+The notes of @var{motif} are placed the same number of scale degrees
+from the @var{around-pitch} note within the @var{scale}, but in the
+opposite direction, and the result is then shifted within the
+@var{scale} by the number of scale degrees given by the interval between
+@var{to-pitch} and @var{around-pitch}.
+
+So to simply invert around a note in the scale use the same value for
+@var{around-pitch} and @var{to-pitch}:
+
+@lilypond[verbatim,quote]
+octatonicScale = \relative { ees' f fis gis a b c d }
+motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 }
+
+\new Staff {
+ \motif
+ \modalInversion fis' fis' \octatonicScale \motif
+}
+@end lilypond
+
+To invert around a pivot between two notes in the scale, invert around
+one of the notes and then transpose by one scale degree. The two notes
+specified can be interpreted as bracketing the pivot point:
+
+@lilypond[verbatim,quote]
+scale = \relative { c' g' }
+motive = \relative { c' c g' c, }
+
+\new Staff {
+ \motive
+ \modalInversion c' g' \scale \motive
+}
+@end lilypond
+
+The combined operation of inversion and retrograde produce the
+retrograde-inversion:
+
+@lilypond[verbatim,quote]
+octatonicScale = \relative { ees' f fis gis a b c d }
+motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 }
+
+\new Staff {
+ \motif
+ \retrograde \modalInversion c' c' \octatonicScale \motif
+}
+@end lilypond
+
+@seealso
+Notation Reference:
+@ref{Inversion},
+@ref{Retrograde},
+@ref{Transpose}.
+
@node Displaying pitches
@subsection Displaying 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,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,relative=1]
+@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
-\clef varbaritone
-c2 c
-\clef subbass
-c2 c
+For the full range of possible clef names see @ref{Clef styles}.
-\break
+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}.
-\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
By adding@tie{}@code{_8} or@tie{}@code{^8} to the clef name, the
-clef is transposed one octave down or up, respectively,
+clef is transposed one octave down or up respectively,
and@tie{}@code{_15} and@tie{}@code{^15} transpose by two octaves.
-Clef names containing non-alphabetic characters must be enclosed
-in quotes.
+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
-\clef "G_8"
-c2 c
+c'2 c'
\clef "bass^15"
-c2 c
-\clef "F^15"
-c2 c
+c'2 c'
+\clef "alto_2"
+c'2 c'
+\clef "G_8"
+c'2 c'
+\clef "F^5"
+c'2 c'
@end lilypond
-Some special purpose clefs are described in @ref{Mensural clefs},
-@ref{Gregorian clefs}, @ref{Default tablatures}, @ref{Custom
-tablatures}, and @ref{Basic percussion notation}.
+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
+
+@noindent
+To be more precise, it is not the @code{\clef} command itself that
+prints a clef. Instead, it sets or changes a property of the
+@code{Clef_engraver}, which then decides by its own whether to
+display a clef or not in the current staff. The @code{forceClef}
+property overrides this decision locally to re-print a clef once.
+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{Gregorian clefs},
@ref{Default tablatures},
@ref{Custom tablatures},
-@ref{Basic percussion notation}.
+@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
@cindex key signature
@funindex \key
-@funindex key
@c duplicated in Key signature and Accidentals
@warning{New users are sometimes confused about accidentals and
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)
@end example
@funindex \major
-@funindex major
@funindex \minor
-@funindex minor
@funindex \ionian
-@funindex ionian
@funindex \locrian
-@funindex locrian
@funindex \aeolian
-@funindex aeolian
@funindex \mixolydian
-@funindex mixolydian
@funindex \lydian
-@funindex lydian
@funindex \phrygian
-@funindex phrygian
@funindex \dorian
-@funindex dorian
@cindex church modes
@cindex modes
@cindex dorian
@noindent
-Here, @var{mode} should be @code{\major} or @code{\minor} to get a
-key signature of @var{pitch}-major or @var{pitch}-minor,
-respectively. You may also use the standard mode names, also
-called @notation{church modes}: @code{\ionian}, @code{\dorian},
-@code{\phrygian}, @code{\lydian}, @code{\mixolydian},
-@code{\aeolian}, and @code{\locrian}.
+Here, @code{@var{mode}} should be @code{\major} or @code{\minor}
+to get a key signature of @code{@var{pitch}}-major or
+@code{@var{pitch}}-minor, respectively. You may also use the
+standard mode names, also called @notation{church modes}:
+@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}.
@funindex set-octavation
@funindex \ottava
-@funindex ottava
@notation{Ottava brackets} introduce an extra transposition of an
octave for the staff:
-@lilypond[verbatim,quote,relative=2]
-a'2 b
-\ottava #1
-a b
-\ottava #0
-a 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
-The @code{ottava} function also takes -1 (for 8va bassa),
-2@tie{}(for 15ma), and -2 (for 15ma bassa) as arguments.
-
-
@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:
@cindex MIDI transposition
@funindex \transposition
-@funindex transposition
When typesetting scores that involve transposing instruments, some
parts can be typeset in a different pitch than the
@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.
+example, a clarinetist may be required to 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
-
-\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, d'4 <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, d'4 <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, d'4 <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
}
>>
@funindex modern
This rule corresponds to the common practice in the twentieth
-century. It prints the same accidentals as @code{default}, with
-two exceptions that serve to avoid ambiguity: after temporary
+century. It omits some extra natural signs, which were
+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 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, d'4 <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, d'4 <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, d'4 <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, d'4 <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, d'4 <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, d'4 <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" {
+ \musicB
+ }
+ >>
+}
+@end lilypond
+
+
+@item choral
+
+@cindex accidental style, choral
+@cindex accidentals, choral
+@cindex choral accidental style
+@cindex choral accidentals
+
+@funindex choral
+
+This rule is a combination of the @code{modern-voice} and the @code{piano}
+style. It shows all accidentals required for singers that only follow their
+own voice, as well as additional accidentals for readers that follow all
+voices of an entire @code{ChoirStaff} simultaneously.
+
+This accidental style applies to the current @code{ChoirStaff} by default.
+
+@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 ChoirStaff {
+ <<
+ \context Staff = "up" {
+ \accidentalStyle choral
+ \musicA
+ }
+ \context Staff = "down" {
+ \musicB
+ }
+ >>
+}
+@end lilypond
+
+@item choral-cautionary
+
+@cindex accidentals, choral cautionary
+@cindex cautionary accidentals, choral
+@cindex choral cautionary accidentals
+@cindex accidental style, choral cautionary
+@cindex cautionary accidental style, choral
+@cindex choral cautionary accidental style
+
+@funindex choral-cautionary
+
+This is the same as @code{choral} but with the extra accidentals
+typeset as cautionaries.
+
+@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 ChoirStaff {
+ <<
+ \context Staff = "up" {
+ \accidentalStyle choral-cautionary
\musicA
}
\context Staff = "down" {
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, d'4 <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, d'4 <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, d'4 <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, d'4 <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, d'4 <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
}
>>
@funindex teaching
This rule is intended for students, and makes it easy to create
-scale sheets with automagically created cautionary accidentals.
+scale sheets with automatically created cautionary accidentals.
Accidentals are printed like with @code{modern}, but cautionary
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, d'4 <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, d'4 <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
}
>>
This is the opposite of @code{no-reset}: Accidentals are not
remembered at all -- and hence all accidentals are typeset
relative to the key signature, regardless of what came before in
-the music. Unlike @code{dodecaphonic}, this rule never prints
-any naturals.
+the music.
@lilypond[quote]
musicA = {
<<
- \relative c' {
- cis'8 fis, d'4 <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
}
>>
@end lilypond
@end table
-@snippets
-
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{dodecaphonic-style-accidentals-for-each-note-including-naturals.ly}
-
-
@seealso
Snippets:
@rlsr{Pitches}.
@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 considered to be entered in sequential
-mode. This means that in a chord the accidentals are typeset as
-if the notes in the chord happen one at a time, in the order in
-which they appear in the input file. This is a problem when
-accidentals in a chord depend on each other, which does not happen
-for the default accidental style. The problem can be solved by
-manually inserting@tie{}@code{!} and@tie{}@code{?} for the
-problematic notes.
-
+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{!}
+or@tie{}@code{?} may be required when the same note name occurs
+simultaneously with different alterations, as in @samp{<f! fis!>}.
Cautionary cancellation of accidentals is done by looking at previous measure.
However, in the @code{\alternative} block following a @code{\repeat volta N}
@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,quote,texidoc,doctitle]
+{changing-the-ambitus-gap.ly}
@seealso
Music Glossary:
@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
-There is also a shorthand for diamond shapes which can be used
-only inside chords:
+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 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
Notation Reference:
@ref{Note head styles},
-@ref{Chorded notes}.
+@ref{Chorded notes},
+@ref{Indicating harmonics and dampened notes}.
Internals Reference:
@rinternals{note-event},
@cindex practice note heads
@cindex note heads, easy notation
@cindex easy notation
-@cindex Hal Leonard
@cindex beginners' music
@cindex music, beginners'
@cindex easy play note heads
@cindex note heads, easy play
@funindex \easyHeadsOn
-@funindex easyHeadsOn
@funindex \easyHeadsOff
-@funindex easyHeadsOff
The @q{easy play} note head includes a note name inside the head.
It is used in music for beginners. To make the letters readable,
@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}.
@cindex shape notes
@cindex Aiken shape note heads
@cindex sacred harp note heads
+@cindex note heads, Southern Harmony
+@cindex Southern Harmony note heads
+@cindex Funk shape note heads
+@cindex note heads, Funk
+@cindex note heads, Harmonica Sacra
+@cindex Harmonica Sacra note heads
+@cindex Christian Harmony note heads
+@cindex note heads, Christian Harmony
+@cindex Walker shape note heads
+@cindex note heads, Walker
-@funindex \key
-@funindex key
@funindex \aikenHeads
-@funindex aikenHeads
@funindex \sacredHarpHeads
-@funindex sacredHarpHeads
+@funindex \southernHarmonyHeads
+@funindex \funkHeads
+@funindex \walkerHeads
In shape note head notation, the shape of the note head
corresponds to the harmonic function of a note in the scale. This
notation was popular in nineteenth-century American song books.
-Shape note heads can be produced:
+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 g a b c
-\sacredHarpHeads
-c, d e f g a b c
+@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
-Shapes are typeset according to the step in the scale, where the
-base of the scale is determined by the @code{\key} command.
+@funindex \key
+@funindex \aikenHeadsMinor
+@funindex \sacredHarpHeadsMinor
+@funindex \southernHarmonyHeadsMinor
+@funindex \funkHeadsMinor
+@funindex \walkerHeadsMinor
+
+Shapes are typeset according to the step in the scale, where the base
+of the scale is determined by the @code{\key} command. When writing
+in a minor key, the scale step can be determined from the relative
+major:
+
+@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
@predefined
@code{\aikenHeads},
-@code{\sacredHarpHeads}.
+@code{\aikenHeadsMinor},
+@code{\funkHeads},
+@code{\funkHeadsMinor},
+@code{\sacredHarpHeads},
+@code{\sacredHarpHeadsMinor},
+@code{\southernHarmonyHeads},
+@code{\southernHarmonyHeadsMinor},
+@code{\walkerHeads},
+@code{\walkerHeadsMinor}.
@endpredefined
@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}.
@cindex note heads, slashed
@funindex \improvisationOn
-@funindex improvisationOn
@funindex \improvisationOff
-@funindex improvisationOff
Improvisation is sometimes denoted with slashed note heads, where
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}.
@rinternals{Pitch_squash_engraver},
@rinternals{Voice},
@rinternals{RhythmicStaff}.
-
-