Guide, node Updating translation committishes..
@end ignore
-@c \version "2.15.20"
+@c \version "2.19.21"
@node Pitches
}
@end lilypond
+@funindex absolute
+@funindex \absolute
+Music can be marked explicitly as being in absolute octave
+notation by preceding it with @code{\absolute}:
+
+@example
+\absolute @var{musicexpr}
+@end example
+
+will be interpreted in absolute octave entry mode regardless of
+the context it appears in.
+
@seealso
Music Glossary:
@rglos{Pitch names}.
@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 @{ gis''' @dots{} @}}
+
+@item an octave of the first note inside
+Writing @code{\relative @{ gis''' @dots{} @}} makes it easy to
+determine the absolute pitch of the first note inside.
+
+@item no explicit starting pitch
+This (namely writing @code{\relative @{ gis''' @dots{} @}}) can be
+viewed as a compact version of the previous option: the first note
+inside is written in absolute pitch itself. This happens to be
+equivalent to choosing @code{f} as the reference pitch.
+@end table
+
+The documentation will usually employ the first option.
@end itemize
Here is the relative mode shown in action:
@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
}
@code{\relative} block applies.
@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
@funindex \relative
@funindex relative
-@c DEPRECATED
-If no @code{@var{startpitch}} is specified for @code{\relative},
-then@tie{}@code{c'} is assumed. However, this is a deprecated
-option and may disappear in future versions, so its use is
-discouraged.
-
@node Accidentals
@unnumberedsubsubsec Accidentals
@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
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
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?
Accidentals on tied notes are only printed at the beginning of a
new system:
-@lilypond[verbatim,quote,relative=2]
-cis1~ cis~
+@lilypond[verbatim,quote,relative=2,ragged-right]
+cis1~ 1~
\break
cis
@end lilypond
@rglos{quarter tone}.
Learning Manual:
-@rlearning{Accidentals and key signatures}.
+@rlearning{Pitches and key signatures}.
Notation Reference:
@ref{Automatic accidentals},
@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}} {-s/--sharp} {-ess/-es} {-ss/-x/--sharpsharp} {-essess/-eses}
@headitem Language
@tab sharp @tab flat @tab double sharp @tab double flat
@item @code{nederlands}
@item @code{deutsch}
@tab -is @tab -es @tab -isis @tab -eses
@item @code{english}
- @tab -s/-sharp @tab -f/-flat @tab -ss/-x/-sharpsharp
- @tab -ff/-flatflat
-@item @code{espanol}
+ @tab -s/--sharp @tab -f/--flat @tab -ss/-x/--sharpsharp
+ @tab -ff/--flatflat
+@item @code{espanol} or @code{español}
@tab -s @tab -b @tab -ss/-x @tab -bb
-@item @code{italiano}
+@item @code{italiano} or @code{français}
@tab -d @tab -b @tab -dd @tab -bb
@item @code{norsk}
@tab -iss/-is @tab -ess/-es @tab -ississ/-isis
@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
correction.
@lilypond[verbatim,quote]
-\relative c'' {
- c2 d='4 d
+\relative {
+ c''2 d='4 d
e2 f
}
@end lilypond
relative to the @code{@var{controlpitch}}.
@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'
@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 }
@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,ragged-right]
+c2 c
+@end lilypond
+
+However, the clef can be changed by using the @code{\clef} command and
+an appropriate clef name. @emph{Middle C} is shown in each of the
+following examples.
@lilypond[verbatim,quote,relative=1]
\clef treble
c2 c
@end lilypond
-Other clefs include:
-
-@lilypond[verbatim,quote,relative=1]
-\clef french
-c2 c
-\clef soprano
-c2 c
-\clef mezzosoprano
-c2 c
-\clef baritone
-c2 c
-
-\break
+For the full range of possible clef names see @ref{Clef styles}.
-\clef varbaritone
-c2 c
-\clef subbass
-c2 c
-\clef percussion
-c2 c
+Specialized clefs, such as those used in @emph{Ancient} music, are
+described in @ref{Mensural clefs} and @ref{Gregorian clefs}. Music that
+requires tablature clefs is discussed in @ref{Default tablatures} and
+@ref{Custom tablatures}.
-\break
-
-\clef G % synonym for treble
-c2 c
-\clef F % synonym for bass
-c2 c
-\clef C % synonym for alto
-c2 c
-@end lilypond
+@cindex Cue clefs
+@cindex Clefs with cue notes
+For mixing clefs when using cue notes, see the @code{\cueClef} and
+@code{\cueDuringWithClef} commands in @ref{Formatting cue notes}.
@cindex transposing clef
@cindex clef, transposing
@cindex octave transposition
+@cindex optional octave transposition
+@cindex octave transposition, optional
@cindex choral tenor clef
@cindex tenor clef, choral
c2 c
@end lilypond
-Some special purpose clefs are described in @ref{Mensural clefs},
-@ref{Gregorian clefs}, @ref{Default tablatures}, and @ref{Custom
-tablatures}. For mixing different clefs when using cue notes within a
-score, see the @code{\cueClef} and @code{\cueDuringWithClef} functions
-in @ref{Formatting cue notes}.
+Optional octavation can be obtained by enclosing the numeric
+argument in parentheses or brackets:
-@snippets
+@lilypond[verbatim,quote,relative=1]
+\clef "treble_(8)"
+c2 c
+\clef "bass^[15]"
+c2 c
+@end lilypond
+
+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,relative=1]
+\clef treble { c2 c } \break
+\clef bass { c2 c } \break
+\clef alto
+ \set Staff.explicitClefVisibility = #end-of-line-invisible
+ { c2 c } \break
+ \unset Staff.explicitClefVisibility
+\clef bass { c2 c } \break
+@end lilypond
+
+By default, a clef that has previously been printed will not be
+re-printed if the same @code{\clef} command is issued again and
+will be ignored. The the command
+@code{\set Staff.forceClef = ##t} changes this behaviour.
+
+@lilypond[verbatim,quote,relative=1]
+ \clef treble
+ c1
+ \clef treble
+ c1
+ \set Staff.forceClef = ##t
+ c1
+ \clef treble
+ c1
+@end lilypond
+
+When there is a manual clef change, the glyph of the changed clef
+will be smaller than normal. This behaviour can be overridden.
+
+@lilypond[verbatim,quote,relative=1]
+ \clef "treble"
+ c1
+ \clef "bass"
+ c1
+ \clef "treble"
+ c1
+ \override Staff.Clef.full-size-change = ##t
+ \clef "bass"
+ c1
+ \clef "treble"
+ c1
+ \revert Staff.Clef.full-size-change
+ \clef "bass"
+ c1
+ \clef "treble"
+ c1
+@end lilypond
+
+@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
{tweaking-clef-properties.ly}
@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,relative=1]
+\new Staff \with {
+ \override Clef.color = #blue
+ \override ClefModifier.color = #red
+}
+
+\clef "treble_8" c4
+@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)
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,relative=0]
+\override Staff.KeySignature.flat-positions = #'((-5 . 5))
+\override Staff.KeyCancellation.flat-positions = #'((-5 . 5))
+\clef bass \key es \major es g bes d
+\clef treble \bar "||" \key es \major es g bes d
+
+\override Staff.KeySignature.sharp-positions = #'(2)
+\bar "||" \key b \major b fis b2
+@end lilypond
@snippets
@lilypondfile[verbatim,quote,texidoc,doctitle]
{non-traditional-key-signatures.ly}
+
@seealso
Music Glossary:
@rglos{church mode},
@rglos{scordatura}.
Learning Manual:
-@rlearning{Accidentals and key signatures}.
+@rlearning{Pitches and key signatures}.
Snippets:
@rlsr{Pitches}.
@rinternals{Key_performer},
@rinternals{KeyCancellation},
@rinternals{KeySignature},
-@rinternals{key-cancellation-interface},
@rinternals{key-signature-interface}.
@lilypondfile[verbatim,quote,texidoc,doctitle]
{ottava-text.ly}
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{adding-an-ottava-marking-to-a-single-voice.ly}
+
+@lilypondfile[verbatim,quote,texidoc,doctitle]
+{modifying-the-ottava-spanner-slope.ly}
+
@seealso
Music Glossary:
@rglos{octavation}.
@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
@example
\new Staff <<
- \accidentalStyle "voice"
+ \accidentalStyle voice
@{ @dots{} @}
>>
@end example
style in all staves of the current @code{StaffGroup}, use:
@example
-\accidentalStyle #'StaffGroup "voice"
+\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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "default"
+ \accidentalStyle default
\musicA
}
\context Staff = "down" {
- \accidentalStyle "default"
+ \accidentalStyle default
\musicB
}
>>
<<
\context Staff = "up" @{
%%% change the next line as desired:
- \accidentalStyle #'Score "default"
+ \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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "default"
+ \accidentalStyle default
\musicA
}
\context Staff = "down" {
- \accidentalStyle "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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "voice"
+ \accidentalStyle voice
\musicA
}
\context Staff = "down" {
- \accidentalStyle "voice"
+ \accidentalStyle 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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "modern"
+ \accidentalStyle modern
\musicA
}
\context Staff = "down" {
- \accidentalStyle "modern"
+ \accidentalStyle modern
\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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "modern-cautionary"
+ \accidentalStyle modern-cautionary
\musicA
}
\context Staff = "down" {
- \accidentalStyle "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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "modern-voice"
+ \accidentalStyle modern-voice
\musicA
}
\context Staff = "down" {
- \accidentalStyle "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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "modern-voice-cautionary"
+ \accidentalStyle modern-voice-cautionary
\musicA
}
\context Staff = "down" {
- \accidentalStyle "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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "neo-modern"
+ \accidentalStyle neo-modern
\musicA
}
\context Staff = "down" {
- \accidentalStyle "neo-modern"
+ \accidentalStyle neo-modern
\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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "neo-modern-cautionary"
+ \accidentalStyle neo-modern-cautionary
\musicA
}
\context Staff = "down" {
- \accidentalStyle "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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "neo-modern-voice"
+ \accidentalStyle neo-modern-voice
\musicA
}
\context Staff = "down" {
- \accidentalStyle "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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "neo-modern-voice-cautionary"
+ \accidentalStyle neo-modern-voice-cautionary
\musicA
}
\context Staff = "down" {
- \accidentalStyle "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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "dodecaphonic"
+ \accidentalStyle dodecaphonic-first
\musicA
}
\context Staff = "down" {
- \accidentalStyle "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
<<
\context Staff = "up" {
\key fis \minor
- \accidentalStyle "teaching"
+ \accidentalStyle teaching
\musicA
}
\context Staff = "down" {
\key fis \minor
- \accidentalStyle "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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "no-reset"
+ \accidentalStyle no-reset
\musicA
}
\context Staff = "down" {
- \accidentalStyle "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
\new PianoStaff {
<<
\context Staff = "up" {
- \accidentalStyle "forget"
+ \accidentalStyle forget
\musicA
}
\context Staff = "down" {
- \accidentalStyle "forget"
+ \accidentalStyle forget
\musicB
}
>>
@lilypond[quote]
{
- \accidentalStyle "modern"
+ \accidentalStyle modern
\time 2/4
\repeat volta 2 {
c'2
@lilypond[verbatim,quote]
forget = #(define-music-function (parser location music) (ly:music?) #{
- \accidentalStyle "forget"
- $music
- \accidentalStyle "modern"
+ \accidentalStyle forget
+ #music
+ \accidentalStyle modern
#})
{
- \accidentalStyle "modern"
+ \accidentalStyle modern
\time 2/4
\repeat volta 2 {
c'2
}
}
-\relative c'' {
- aes c e2
+\relative {
+ aes' c e2
cis,1
}
@end lilypond
@lilypond[verbatim,quote,relative=2]
c4 b
-\override NoteHead #'style = #'cross
+\override NoteHead.style = #'cross
c4 b
-\revert NoteHead #'style
+\revert NoteHead.style
a b
-\override NoteHead #'style = #'harmonic
+\override NoteHead.style = #'harmonic
a b
-\revert NoteHead #'style
+\revert NoteHead.style
c4 d e f
@end lilypond
@code{\deadNote}, @code{\deadNotesOn} and @code{\deadNotesOff} can
be used. The term @notation{dead note} is commonly used by guitarists.
-There is also a shorthand for diamond shapes which can be used
-only inside chords:
+There is also a similar shorthand for diamond shapes:
@lilypond[verbatim,quote,relative=2]
-<c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic>
+<c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic> f\harmonic
@end lilypond
@predefined
e8 e g a a16( bes) a8 g
\improvisationOn
e8 ~
- e2 ~ e8 f4 f8 ~
- f2
+ 2 ~ 8 f4 f8 ~
+ 2
\improvisationOff
a16( bes) a8 g e
}