X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Fpitches.itely;h=a327ec19d7d9269f98387513c419b694fecec091;hb=494eeee84250c19b433cbbc49f415878d9f01172;hp=c9e99f5eb712cf4e0af4255fe14be40a73b45eea;hpb=2784264fda1124e0db8fb9b1385905e48e2650b9;p=lilypond.git diff --git a/Documentation/notation/pitches.itely b/Documentation/notation/pitches.itely index c9e99f5eb7..a327ec19d7 100644 --- a/Documentation/notation/pitches.itely +++ b/Documentation/notation/pitches.itely @@ -7,7 +7,7 @@ Guide, node Updating translation committishes.. @end ignore -@c \version "2.16.0" +@c \version "2.19.22" @node Pitches @@ -79,14 +79,39 @@ octave. @lilypond[verbatim,quote] { \clef treble - c'4 c'' e' g - d''4 d' d c + c'4 e' g' c'' + c'4 g b c' \clef bass - c,4 c,, e, g - d,,4 d, d c + c,4 e, g, c + c,4 g,, b,, c, } @end lilypond +@funindex fixed +@funindex \fixed +Common octave marks can be entered just once on a reference pitch +after @code{\fixed} placed before the music. Pitches inside +@code{\fixed} only need @code{'} or@tie{}@code{,} marks +when they are above or below the octave of the reference pitch. + +@lilypond[verbatim,quote] +{ + \fixed c' { + \clef treble + c4 e g c' + c4 g, b, c + } + \clef bass + \fixed c, { + c4 e g c' + c4 g, b, c + } +} +@end lilypond + +Pitches in the music expression following @code{\fixed} are +unaffected by any enclosing @code{\relative}, discussed next. + @seealso Music Glossary: @rglos{Pitch names}. @@ -107,13 +132,13 @@ Snippets: @funindex relative @funindex \relative -When octaves are specified in absolute mode it is easy to -accidentally put a pitch in the wrong octave. Relative octave -mode reduces these errors since most of the time it is not -necessary to indicate any octaves at all. Furthermore, in -absolute mode a single mistake may be difficult to spot, while in -relative mode a single error puts the rest of the piece off by one -octave. +Absolute octave entry requires specifying the octave for every +single note. Relative octave entry, in contrast, specifies each +octave in relation to the last note: changing one note's octave +will affect all of the following notes. + +Relative note mode has to be entered explicitly using the +@code{\relative} command: @example \relative @var{startpitch} @var{musicexpr} @@ -143,14 +168,33 @@ octaves. @item The pitch of the first note is relative to @code{@var{startpitch}}. @code{@var{startpitch}} is specified in -absolute octave mode, and it is recommended that it be a octave of -@code{c}. +absolute octave mode. Which choices are meaningful? + +@table @asis +@item an octave of @code{c} +Identifying middle C with @code{c'} is quite basic, so finding +octaves of @code{c} tends to be straightforward. If your music +starts with @code{gis} above @code{c'''}, you'd write something +like @code{\relative c''' @{ gis' @dots{} @}} + +@item an octave of the first note inside +Writing @code{\relative gis''' @{ gis @dots{} @}} makes it easy to +determine the absolute pitch of the first note inside. + +@item no explicit starting pitch +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 @@ -162,8 +206,8 @@ Octave changing marks are used for intervals greater than a fourth: @lilypond[verbatim,quote] -\relative c'' { - c g c f, +\relative { + c'' g c f, c' a, e'' c } @end lilypond @@ -172,20 +216,21 @@ A note sequence without a single octave mark can nevertheless span 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 @@ -207,12 +252,12 @@ Music inside a @code{\transpose} block is absolute unless a @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 } } } @@ -229,8 +274,8 @@ relative to the preceding one. Examine the next example carefully, paying attention to the @code{c} notes. @lilypond[verbatim,quote] -\relative c' { - c +\relative { + c' @@ -246,17 +291,14 @@ double-diminished fifth, regardless of the number of semitones that each interval contains. @lilypond[verbatim,quote] -\relative c'' { - c2 fis +\relative { + c''2 fis c2 ges b2 eisis b2 feses } @end lilypond -One consequence of these rules is that the first note inside -@code{@w{\relative f}} music is interpreted just the same as -if it was written in absolute pitch mode. @seealso Music Glossary: @@ -283,12 +325,6 @@ Internals Reference: @funindex \relative @funindex relative -@c DEPRECATED -If no @code{@var{startpitch}} is specified for @code{\relative}, -then@tie{}@code{c'} is assumed. However, this is a deprecated -option and may disappear in future versions, so its use is -discouraged. - @node Accidentals @unnumberedsubsubsec Accidentals @@ -299,11 +335,11 @@ discouraged. @c duplicated in Key signature and Accidentals @warning{New users are sometimes confused about accidentals and -key signatures. In LilyPond, note names are the raw input; key -signatures and clefs determine how this raw input is displayed. +key signatures. In LilyPond, note names specify pitches; key +signatures and clefs determine how these pitches are displayed. An unaltered note like@tie{}@code{c} means @q{C natural}, regardless of the key signature or clef. For more information, -see @rlearning{Accidentals and key signatures}.} +see @rlearning{Pitches and key signatures}.} @cindex note names, Dutch @cindex note names, default @@ -328,10 +364,9 @@ for accidentals, see @ref{Note names in other languages}. ais1 aes aisis aeses @end lilypond -A natural will cancel the effect of an accidental or key -signature. However, naturals are not encoded into the note name -syntax with a suffix; a natural pitch is shown as a simple note -name: +A natural pitch is entered as a simple note name; no suffix is +required. A natural sign will be printed when needed to cancel +the effect of an earlier accidental or key signature. @lilypond[verbatim,quote,relative=2] a4 aes a2 @@ -366,8 +401,7 @@ print them manually. A reminder accidental can be forced by adding an exclamation mark@tie{}@code{!} after the pitch. A cautionary accidental (i.e., an accidental within parentheses) can be obtained by adding the question mark@tie{}@code{?} after the -pitch. These extra accidentals can also be used to produce -natural signs. +pitch. @lilypond[verbatim,quote,relative=2] cis cis cis! cis? c c c! c? @@ -379,8 +413,8 @@ cis cis cis! cis? c c c! c? Accidentals on tied notes are only printed at the beginning of a new system: -@lilypond[verbatim,quote,relative=2] -cis1~ cis~ +@lilypond[verbatim,quote,relative=2,ragged-right] +cis1~ 1~ \break cis @end lilypond @@ -404,7 +438,7 @@ Music Glossary: @rglos{quarter tone}. Learning Manual: -@rlearning{Accidentals and key signatures}. +@rlearning{Pitches and key signatures}. Notation Reference: @ref{Automatic accidentals}, @@ -445,8 +479,8 @@ using Italian note names: @lilypond[quote,verbatim] \language "italiano" -\relative do' { - do re mi sib +\relative { + do' re mi sib } @end lilypond @@ -464,9 +498,9 @@ The available languages and the note names they define are: @tab c d e f g a b h @item @code{english} @tab c d e f g a bf b -@item @code{espanol} +@item @code{espanol} or @code{español} @tab do re mi fa sol la sib si -@item @code{italiano} +@item @code{italiano} or @code{français} @tab do re mi fa sol la sib si @item @code{norsk} @tab c d e f g a b h @@ -485,33 +519,33 @@ In addition to note names, accidental suffixes may also vary depending on the language: @quotation -@multitable {@code{nederlands}} {-s/-sharp} {-ess/-es} {-ss/-x/-sharpsharp} {-essess/-eses} +@multitable {@code{nederlands}} {-@code{s}/-@code{-sharp}} {-@code{ess}/-@code{es}} {-@code{ss}/-@code{x}/-@code{-sharpsharp}} {-@code{essess}/-@code{eses}} @headitem Language @tab sharp @tab flat @tab double sharp @tab double flat @item @code{nederlands} - @tab -is @tab -es @tab -isis @tab -eses + @tab -@code{is} @tab -@code{es} @tab -@code{isis} @tab -@code{eses} @item @code{catalan} - @tab -d/-s @tab -b @tab -dd/-ss @tab -bb + @tab -@code{d}/-@code{s} @tab -@code{b} @tab -@code{dd}/-@code{ss} @tab -@code{bb} @item @code{deutsch} - @tab -is @tab -es @tab -isis @tab -eses + @tab -@code{is} @tab -@code{es} @tab -@code{isis} @tab -@code{eses} @item @code{english} - @tab -s/-sharp @tab -f/-flat @tab -ss/-x/-sharpsharp - @tab -ff/-flatflat -@item @code{espanol} - @tab -s @tab -b @tab -ss/-x @tab -bb -@item @code{italiano} - @tab -d @tab -b @tab -dd @tab -bb + @tab -@code{s}/-@code{-sharp} @tab -@code{f}/-@code{-flat} @tab -@code{ss}/-@code{x}/-@code{-sharpsharp} + @tab -@code{ff}/-@code{-flatflat} +@item @code{espanol} or @code{español} + @tab -@code{s} @tab -@code{b} @tab -@code{ss}/-@code{x} @tab -@code{bb} +@item @code{italiano} or @code{français} + @tab -@code{d} @tab -@code{b} @tab -@code{dd} @tab -@code{bb} @item @code{norsk} - @tab -iss/-is @tab -ess/-es @tab -ississ/-isis - @tab -essess/-eses + @tab -@code{iss}/-@code{is} @tab -@code{ess}/-@code{es} @tab -@code{ississ}/-@code{isis} + @tab -@code{essess}/-@code{eses} @item @code{portugues} - @tab -s @tab -b @tab -ss @tab -bb + @tab -@code{s} @tab -@code{b} @tab -@code{ss} @tab -@code{bb} @item @code{suomi} - @tab -is @tab -es @tab -isis @tab -eses + @tab -@code{is} @tab -@code{es} @tab -@code{isis} @tab -@code{eses} @item @code{svenska} - @tab -iss @tab -ess @tab -ississ @tab -essess + @tab -@code{iss} @tab -@code{ess} @tab -@code{ississ} @tab -@code{essess} @item @code{vlaams} - @tab -k @tab -b @tab -kk @tab -bb + @tab -@code{k} @tab -@code{b} @tab -@code{kk} @tab -@code{bb} @end multitable @end quotation @@ -551,9 +585,9 @@ appear in this table do not provide special note names yet. @tab -ih @tab -eh @tab -isih @tab -eseh @item @code{english} @tab -qs @tab -qf @tab -tqs @tab -tqf -@item @code{espanol} +@item @code{espanol} or @code{español} @tab -cs @tab -cb @tab -tcs @tab -tcb -@item @code{italiano} +@item @code{italiano} or @code{français} @tab -sd @tab -sb @tab -dsd @tab -bsb @item @code{portugues} @tab -sqt @tab -bqt @tab -stqt @tab -btqt @@ -618,8 +652,8 @@ octave @code{d''} instead of @code{d'} as indicated by the octave correction. @lilypond[verbatim,quote] -\relative c'' { - c2 d='4 d +\relative { + c''2 d='4 d e2 f } @end lilypond @@ -634,8 +668,8 @@ printed, but the previous note is not changed. Future notes are relative to the @code{@var{controlpitch}}. @lilypond[verbatim,quote] -\relative c'' { - c2 d +\relative { + c''2 d \octaveCheck c' e2 f } @@ -645,8 +679,8 @@ Compare the two bars below. The first and third @code{\octaveCheck} 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' @@ -704,9 +738,9 @@ automatically transposed as well. @lilypond[verbatim,quote] \transpose d e { - \relative c' { + \relative { \key d \major - d4 fis a d + d'4 fis a d } } @end lilypond @@ -721,9 +755,9 @@ part will be produced with: @lilypond[verbatim,quote] \transpose a c' { - \relative c' { + \relative { \key c \major - c4 d e g + c'4 d e g } } @end lilypond @@ -740,7 +774,7 @@ the notes will remain on the same scale step, the second version 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 } @@ -832,7 +866,7 @@ The @code{@var{musicexpr}} is inverted interval-by-interval around @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 @@ -841,7 +875,7 @@ music = \relative c' { c d e f } @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 +or be first converted to absolute form by enclosing them in a @code{\relative} block.} @seealso @@ -863,7 +897,7 @@ Notation Reference: 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 @@ -919,8 +953,8 @@ number of scale degrees given by the interval between @var{to-pitch} 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 @@ -933,8 +967,8 @@ An ascending scale of any length and with any intervals may be specified: @lilypond[verbatim,quote] -pentatonicScale = \relative c' { ges aes bes des ees } -motif = \relative c' { ees8 des ges,4 } +pentatonicScale = \relative { ges aes bes des ees } +motif = \relative { ees'8 des ges,4 } \new Staff { \motif @@ -947,8 +981,8 @@ 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' { 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 @@ -982,8 +1016,8 @@ 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 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 @@ -996,8 +1030,8 @@ 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' { c g' } -motive = \relative c' { c c g' c, } +scale = \relative { c' g' } +motive = \relative { c' c g' c, } \new Staff { \motive @@ -1009,8 +1043,8 @@ The combined operation of inversion and retrograde produce the 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 @@ -1079,8 +1113,16 @@ This section discusses how to alter the output of pitches. @funindex \clef @funindex clef -The clef may be altered. Middle C is shown in every example. The -following clef names can (but do not need to) be enclosed in quotes. +Without any explicit command, the default clef for LilyPond is the +treble (or @emph{G}) clef. + +@lilypond[verbatim,quote,relative=1,ragged-right] +c2 c +@end lilypond + +However, the clef can be changed by using the @code{\clef} command and +an appropriate clef name. @emph{Middle C} is shown in each of the +following examples. @lilypond[verbatim,quote,relative=1] \clef treble @@ -1093,40 +1135,23 @@ c2 c c2 c @end lilypond -Other clefs include: - -@lilypond[verbatim,quote,relative=1] -\clef french -c2 c -\clef soprano -c2 c -\clef mezzosoprano -c2 c -\clef baritone -c2 c +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 varbaritone -c2 c -\clef subbass -c2 c -\clef percussion -c2 c - -\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 @@ -1151,14 +1176,73 @@ c2 c 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} @@ -1170,15 +1254,33 @@ Notation Reference: @ref{Custom tablatures}, @ref{Formatting cue notes}. +Installed Files: +@file{scm/parser-clef.scm}. + Snippets: @rlsr{Pitches}. Internals Reference: @rinternals{Clef_engraver}, @rinternals{Clef}, -@rinternals{OctavateEight}, +@rinternals{ClefModifier}, @rinternals{clef-interface}. +@knownissues +Ottavation numbers attached to clefs are treated as separate +grobs. So any @code{\override} done to the @var{Clef} will also +need to be applied, as a separate @code{\override}, to the +@var{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 @@ -1194,7 +1296,7 @@ key signatures. In LilyPond, note names are the raw input; key signatures and clefs determine how this raw input is displayed. An unaltered note like@tie{}@code{c} means @q{C natural}, regardless of the key signature or clef. For more information, -see @rlearning{Accidentals and key signatures}.} +see @rlearning{Pitches and key signatures}.} The key signature indicates the tonality in which a piece is played. It is denoted by a set of alterations (flats or sharps) @@ -1250,6 +1352,37 @@ 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,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 @@ -1259,13 +1392,14 @@ fis @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}. @@ -1276,7 +1410,6 @@ Internals Reference: @rinternals{Key_performer}, @rinternals{KeyCancellation}, @rinternals{KeySignature}, -@rinternals{key-cancellation-interface}, @rinternals{key-signature-interface}. @@ -1315,6 +1448,12 @@ a2 b @lilypondfile[verbatim,quote,texidoc,doctitle] {ottava-text.ly} +@lilypondfile[verbatim,quote,texidoc,doctitle] +{adding-an-ottava-marking-to-a-single-voice.ly} + +@lilypondfile[verbatim,quote,texidoc,doctitle] +{modifying-the-ottava-spanner-slope.ly} + @seealso Music Glossary: @rglos{octavation}. @@ -1393,21 +1532,34 @@ playing in unison. @end lilypond The @code{\transposition} may be changed during a piece. For -example, a clarinetist may switch from an A clarinet to a B-flat -clarinet. +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 -<>^\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 @@ -1443,7 +1595,7 @@ accidental style to use. This function is called as follows: @example \new Staff << - \accidentalStyle "voice" + \accidentalStyle voice @{ @dots{} @} >> @end example @@ -1456,7 +1608,7 @@ scope the style should be changed. For example, to use the same 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 @@ -1466,12 +1618,12 @@ each style, we use the following example: @lilypond[verbatim,quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -1481,8 +1633,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -1499,11 +1651,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "default" + \accidentalStyle default \musicA } \context Staff = "down" { - \accidentalStyle "default" + \accidentalStyle default \musicB } >> @@ -1519,7 +1671,7 @@ both staves. << \context Staff = "up" @{ %%% change the next line as desired: - \accidentalStyle #'Score "default" + \accidentalStyle Score.default \musicA @} \context Staff = "down" @{ @@ -1549,12 +1701,12 @@ last@tie{}@code{c}: @lilypond[quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -1564,8 +1716,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -1582,11 +1734,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "default" + \accidentalStyle default \musicA } \context Staff = "down" { - \accidentalStyle "default" + \accidentalStyle default \musicB } >> @@ -1622,12 +1774,12 @@ individual musicians. If the staff is to be used by one musician @lilypond[quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -1637,8 +1789,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -1655,11 +1807,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "voice" + \accidentalStyle voice \musicA } \context Staff = "down" { - \accidentalStyle "voice" + \accidentalStyle voice \musicB } >> @@ -1688,12 +1840,12 @@ the upper staff: @lilypond[quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -1703,8 +1855,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -1721,11 +1873,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "modern" + \accidentalStyle modern \musicA } \context Staff = "down" { - \accidentalStyle "modern" + \accidentalStyle modern \musicB } >> @@ -1742,22 +1894,20 @@ musicB = { @funindex modern-cautionary -This rule is similar to @code{modern}, but the @q{extra} -accidentals (the ones not typeset by @code{default}) are typeset -as cautionary accidentals. They are by default printed with -parentheses, but they can also be printed in reduced size by -defining the @code{cautionary-style} property of -@code{AccidentalSuggestion}. +This rule is similar to @code{modern}, but the @q{extra} accidentals +are printed as cautionary accidentals (with parentheses). They can also +be printed at a different size by overriding +@code{AccidentalCautionary}'s @code{font-size} property. @lilypond[quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -1767,8 +1917,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -1785,11 +1935,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "modern-cautionary" + \accidentalStyle modern-cautionary \musicA } \context Staff = "down" { - \accidentalStyle "modern-cautionary" + \accidentalStyle modern-cautionary \musicB } >> @@ -1819,12 +1969,12 @@ accidental in a different voice in the previous measure: @lilypond[quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -1834,8 +1984,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -1852,11 +2002,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "modern-voice" + \accidentalStyle modern-voice \musicA } \context Staff = "down" { - \accidentalStyle "modern-voice" + \accidentalStyle modern-voice \musicB } >> @@ -1880,12 +2030,12 @@ typeset as cautionaries. @lilypond[quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -1895,8 +2045,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -1913,11 +2063,11 @@ musicB = { \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 } >> @@ -1945,12 +2095,12 @@ This accidental style applies to the current @code{GrandStaff} or @lilypond[quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -1960,8 +2110,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -1978,7 +2128,7 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "piano" + \accidentalStyle piano \musicA } \context Staff = "down" { @@ -2005,12 +2155,12 @@ typeset as cautionaries. @lilypond[quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -2020,8 +2170,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -2038,7 +2188,7 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "piano-cautionary" + \accidentalStyle piano-cautionary \musicA } \context Staff = "down" { @@ -2064,12 +2214,12 @@ if the note is immediately repeated. @lilypond[quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -2079,8 +2229,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -2097,11 +2247,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "neo-modern" + \accidentalStyle neo-modern \musicA } \context Staff = "down" { - \accidentalStyle "neo-modern" + \accidentalStyle neo-modern \musicB } >> @@ -2115,18 +2265,20 @@ musicB = { @funindex neo-modern-cautionary -This rule is similar to @code{neo-modern}, but the extra -accidentals are printed as cautionary accidentals. +This rule is similar to @code{neo-modern}, but the @q{extra} accidentals +are printed as cautionary accidentals (with parentheses). They can also +be printed at a different size by overriding +@code{AccidentalCautionary}'s @code{font-size} property. @lilypond[quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -2136,8 +2288,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -2154,11 +2306,11 @@ musicB = { \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 } >> @@ -2181,12 +2333,12 @@ but they are canceled across voices in the same @code{Staff}. @lilypond[quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -2196,8 +2348,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -2214,11 +2366,11 @@ musicB = { \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 } >> @@ -2238,12 +2390,12 @@ accidentals are printed as cautionary accidentals. @lilypond[quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -2253,8 +2405,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -2271,11 +2423,11 @@ musicB = { \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 } >> @@ -2298,12 +2450,130 @@ including natural signs. @lilypond[quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | + cis2. 4 | + } + \\ + \relative { + ais'2 cis, | + fis8 b a4 cis2 | + } + >> +} + +musicB = { + \clef bass + \new Voice { + \voiceTwo \relative { + 8[ + \change Staff = up + cis' cis + \change Staff = down + ] + \showStaffSwitch + \change Staff = up + dis'4 | + \change Staff = down + 4 gis 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 8 f bis4 | + cis2. 4 | + } + \\ + \relative { + ais'2 cis, | + fis8 b a4 cis2 | + } + >> +} + +musicB = { + \clef bass + \new Voice { + \voiceTwo \relative { + 8[ + \change Staff = up + cis' cis + \change Staff = down + ] + \showStaffSwitch + \change Staff = up + dis'4 | + \change Staff = down + 4 gis 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 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -2313,8 +2583,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -2331,11 +2601,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "dodecaphonic" + \accidentalStyle dodecaphonic-first \musicA } \context Staff = "down" { - \accidentalStyle "dodecaphonic" + \accidentalStyle dodecaphonic-first \musicB } >> @@ -2359,12 +2629,12 @@ key signature, except if the note is immediately repeated. @lilypond[quote,staffsize=18] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -2374,8 +2644,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -2393,12 +2663,12 @@ musicB = { << \context Staff = "up" { \key fis \minor - \accidentalStyle "teaching" + \accidentalStyle teaching \musicA } \context Staff = "down" { \key fis \minor - \accidentalStyle "teaching" + \accidentalStyle teaching \musicB } >> @@ -2420,12 +2690,12 @@ This is the same as @code{default} but with accidentals lasting @lilypond[quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -2435,8 +2705,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -2453,11 +2723,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "no-reset" + \accidentalStyle no-reset \musicA } \context Staff = "down" { - \accidentalStyle "no-reset" + \accidentalStyle no-reset \musicB } >> @@ -2479,12 +2749,12 @@ the music. @lilypond[quote] musicA = { << - \relative c' { - cis'8 fis, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -2494,8 +2764,8 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8[ + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down @@ -2512,11 +2782,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "forget" + \accidentalStyle forget \musicA } \context Staff = "down" { - \accidentalStyle "forget" + \accidentalStyle forget \musicB } >> @@ -2559,7 +2829,7 @@ not need a natural sign: @lilypond[quote] { - \accidentalStyle "modern" + \accidentalStyle modern \time 2/4 \repeat volta 2 { c'2 @@ -2575,13 +2845,13 @@ The following work-around can be used: define a function that locally changes the accidental style to @code{forget}: @lilypond[verbatim,quote] -forget = #(define-music-function (parser location music) (ly:music?) #{ - \accidentalStyle "forget" +forget = #(define-music-function (music) (ly:music?) #{ + \accidentalStyle forget #music - \accidentalStyle "modern" + \accidentalStyle modern #}) { - \accidentalStyle "modern" + \accidentalStyle modern \time 2/4 \repeat volta 2 { c'2 @@ -2620,8 +2890,8 @@ printed if they are not part of the key signature. } } -\relative c'' { - aes c e2 +\relative { + aes' c e2 cis,1 } @end lilypond @@ -2696,13 +2966,13 @@ The appearance of note heads may be altered: @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 @@ -2735,11 +3005,10 @@ As synonyms for @code{\xNote}, @code{\xNotesOn} and @code{\xNotesOff}, @code{\deadNote}, @code{\deadNotesOn} and @code{\deadNotesOff} can be used. The term @notation{dead note} is commonly used by guitarists. -There is also a shorthand for diamond shapes which can be used -only inside chords: +There is also a similar shorthand for diamond shapes: @lilypond[verbatim,quote,relative=2] -2 4 +2 4 f\harmonic @end lilypond @predefined @@ -2972,8 +3241,8 @@ rhythm. Such note heads can be created: e8 e g a a16( bes) a8 g \improvisationOn e8 ~ - e2 ~ e8 f4 f8 ~ - f2 + 2 ~ 8 f4 f8 ~ + 2 \improvisationOff a16( bes) a8 g e }