X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fnotation%2Fpitches.itely;h=15af95d1405ba6ff626fd31ee912f7581f559274;hb=041cb33a404a829a8cdeeaebce17e45f613f10d8;hp=491e76f03c870d18f9f7ad664678242880779b88;hpb=a42aaa559b71ce5776795fa11a7e1df9110d85b7;p=lilypond.git diff --git a/Documentation/notation/pitches.itely b/Documentation/notation/pitches.itely index 491e76f03c..15af95d140 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.15.20" +@c \version "2.19.53" @node Pitches @@ -79,14 +79,37 @@ 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 +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: @@ -105,16 +128,15 @@ Snippets: @cindex relative octave specification @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} @@ -144,14 +166,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 @@ -163,8 +204,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 @@ -173,20 +214,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 @@ -208,12 +250,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 } } } @@ -230,8 +272,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' @@ -247,17 +289,32 @@ 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. +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: @@ -274,24 +331,12 @@ Snippets: 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 @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 @@ -303,11 +348,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,17 +373,16 @@ is made by adding @code{isis} or @code{eses}. This syntax is 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 @@ -348,8 +392,8 @@ a4 aes a2 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 @@ -370,11 +414,10 @@ 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? +@lilypond[verbatim,quote,fragment] +\relative c'' { cis cis cis! cis? c c c! c? } @end lilypond @cindex accidental on tied note @@ -383,10 +426,12 @@ 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~ -\break -cis +@lilypond[verbatim,quote,fragment,ragged-right] +\relative c'' { + cis1~ 1~ + \break + cis +} @end lilypond @@ -408,7 +453,7 @@ Music Glossary: @rglos{quarter tone}. Learning Manual: -@rlearning{Accidentals and key signatures}. +@rlearning{Pitches and key signatures}. Notation Reference: @ref{Automatic accidentals}, @@ -424,18 +469,15 @@ Internals Reference: @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 @@ -452,15 +494,15 @@ using Italian note names: @lilypond[quote,verbatim] \language "italiano" -\relative do' { - do re mi sib +\relative { + do' re mi sib } @end lilypond The available languages and the note names they define are: @quotation -@multitable {@code{nederlands}} {do re mi fa sol la sib si} +@multitable {@code{nederlands}} {do re/re mi fa sol la sib si} @headitem Language @tab Note Names @item @code{nederlands} @@ -471,8 +513,10 @@ 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{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 @code{norsk} @@ -492,33 +536,35 @@ 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{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 @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 + @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 -d @tab -b @tab -dd @tab -bb + @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 @@ -529,8 +575,8 @@ are accepted in LilyPond. Similarly, both @code{es} and @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 @@ -558,8 +604,10 @@ 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{français} + @tab -sd @tab -sb @tab -dsd @tab -bsb @item @code{italiano} @tab -sd @tab -sb @tab -dsd @tab -bsb @item @code{portugues} @@ -573,7 +621,6 @@ Western classical music, also referred to as pitches and tuning systems are also supported: see @ref{Common notation for non-Western music}. - @seealso Music Glossary: @rglos{Pitch names}, @@ -611,7 +658,6 @@ This section discusses how to modify pitches. @funindex = @funindex \octaveCheck -@funindex octaveCheck @funindex controlpitch In relative mode, it is easy to forget an octave changing mark. @@ -626,8 +672,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 @@ -638,12 +684,12 @@ The octave of notes may also be checked with the checks that the interval between the previous note and the @code{@var{controlpitch}} is within a fourth (i.e., the normal calculation of relative mode). If this check fails, a warning is -printed, but the previous note is not changed. Future notes are -relative to the @code{@var{controlpitch}}. +printed. While the previous note itself is not changed, future +notes are relative to the corrected value. @lilypond[verbatim,quote] -\relative c'' { - c2 d +\relative { + c''2 d \octaveCheck c' e2 f } @@ -653,8 +699,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' @@ -666,7 +712,6 @@ checks fail, but the second one does not fail. } @end lilypond - @seealso Snippets: @rlsr{Pitches}. @@ -687,7 +732,6 @@ Internals Reference: @cindex notes, transposition of @funindex \transpose -@funindex transpose A music expression can be transposed with @code{\transpose}. The syntax is @@ -713,9 +757,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 @@ -730,9 +774,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 @@ -749,7 +793,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 } @@ -790,7 +834,6 @@ see @ref{Instrument transpositions}. @lilypondfile[verbatim,quote,texidoc,doctitle] {transposing-pitches-with-minimum-accidentals-smart-transpose.ly} - @seealso Notation Reference: @ref{Instrument transpositions}, @@ -805,23 +848,18 @@ Snippets: 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}. Triple accidentals will not be printed if using @code{\transpose}. An -@q{enharmonically equivalent} pitch will be used instead (e.g. d-flat +@q{enharmonically equivalent} pitch will be used instead (e.g., d-flat rather than e-triple-flat). @@ -832,18 +870,19 @@ rather than e-triple-flat). @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 @@ -851,6 +890,10 @@ 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 +@code{\relative} block.} + @seealso Notation Reference: @ref{Modal transformations}, @@ -865,12 +908,11 @@ Notation Reference: @cindex transformation, retrograde @cindex operation, retrograde @funindex \retrograde -@funindex retrograde 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 @@ -879,9 +921,14 @@ music = \relative c' { c8. ees16( fis8. a16 b8.) gis16 f8. d16 } @end lilypond @knownissues -Manual ties inside @code{\retrograde} will be broken and -generate warnings. Some ties can be generated automatically -by enabling @ref{Automatic note splitting}. +@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: @@ -907,13 +954,12 @@ It may also be reversed to produce its @notation{retrograde}, see @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 @cindex operation, transposition @funindex \modalTranspose -@funindex modalTranspose A motif can be transposed within a given scale with: @@ -926,8 +972,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 @@ -940,8 +986,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 @@ -954,8 +1000,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 @@ -964,13 +1010,12 @@ motif = \relative c' { c8 d e f g a b c } } @end lilypond -@subsubheading Modal inversion +@subsubsubheading Modal inversion @cindex modal inversion @cindex inversion, modal @cindex operation, modal inversion @funindex \modalInversion -@funindex modalInversion A motif can be inverted within a given scale around a given pivot note and transposed in a single operation with: @@ -989,8 +1034,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 @@ -1003,8 +1048,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 @@ -1016,8 +1061,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 @@ -1084,56 +1129,46 @@ 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,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 - -\break - -\clef varbaritone -c2 c -\clef subbass -c2 c -\clef percussion -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 @@ -1143,29 +1178,95 @@ and@tie{}@code{_15} and@tie{}@code{^15} transpose by two octaves. Other integers can be used if required. Clef names containing non-alphabetic characters must be enclosed in quotes -@lilypond[verbatim,quote,relative=1] +@lilypond[verbatim,quote,fragment] \clef treble -c2 c +c'2 c' \clef "treble_8" -c2 c +c'2 c' \clef "bass^15" -c2 c +c'2 c' \clef "alto_2" -c2 c +c'2 c' \clef "G_8" -c2 c +c'2 c' \clef "F^5" -c2 c +c'2 c' @end lilypond -Some special purpose clefs are described in @ref{Mensural clefs}, -@ref{Gregorian clefs}, @ref{Default tablatures}, and @ref{Custom -tablatures}. 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,fragment] +\clef "treble_(8)" +c'2 c' +\clef "bass^[15]" +c'2 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,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} @@ -1177,15 +1278,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] +\new Staff \with { + \override Clef.color = #blue + \override ClefModifier.color = #red +} + +\clef "treble_8" c'4 +@end lilypond + @node Key signature @unnumberedsubsubsec Key signature @@ -1193,7 +1312,6 @@ Internals Reference: @cindex key signature @funindex \key -@funindex key @c duplicated in Key signature and Accidentals @warning{New users are sometimes confused about accidentals and @@ -1201,7 +1319,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) @@ -1212,23 +1330,14 @@ at the start of the staff. The key signature may be altered: @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 @@ -1250,13 +1359,46 @@ 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 @@ -1273,7 +1415,7 @@ Music Glossary: @rglos{scordatura}. Learning Manual: -@rlearning{Accidentals and key signatures}. +@rlearning{Pitches and key signatures}. Snippets: @rlsr{Pitches}. @@ -1284,7 +1426,6 @@ Internals Reference: @rinternals{Key_performer}, @rinternals{KeyCancellation}, @rinternals{KeySignature}, -@rinternals{key-cancellation-interface}, @rinternals{key-signature-interface}. @@ -1299,23 +1440,24 @@ Internals Reference: @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] -a2 b -\ottava #-2 -a2 b -\ottava #-1 -a2 b -\ottava #0 -a2 b -\ottava #1 -a2 b -\ottava #2 -a2 b +@lilypond[verbatim,quote] +\relative a' { + a2 b + \ottava #-2 + a2 b + \ottava #-1 + a2 b + \ottava #0 + a2 b + \ottava #1 + a2 b + \ottava #2 + a2 b +} @end lilypond @snippets @@ -1323,6 +1465,11 @@ 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: @@ -1347,7 +1494,6 @@ Internals Reference: @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 @@ -1377,49 +1523,59 @@ playing in unison. @lilypond[verbatim,quote] \new GrandStaff << - \new Staff = "violin" { - \relative c'' { - \set Staff.instrumentName = #"Vln" - \set Staff.midiInstrument = #"violin" - % not strictly necessary, but a good reminder - \transposition c' - - \key c \major - g4( c8) r c r c4 - } + \new Staff = "violin" \with { + instrumentName = #"Vln" + midiInstrument = #"violin" } - \new Staff = "clarinet" { - \relative c'' { - \set Staff.instrumentName = \markup { Cl (B\flat) } - \set Staff.midiInstrument = #"clarinet" - \transposition bes - - \key d \major - a4( d8) r d r d4 - } + \relative c'' { + % not strictly necessary, but a good reminder + \transposition c' + \key c \major + g4( c8) r c r c4 + } + \new Staff = "clarinet" \with { + instrumentName = \markup { Cl (B\flat) } + midiInstrument = #"clarinet" + } + \relative c'' { + \transposition bes + \key d \major + a4( d8) r d r d4 } >> @end lilypond The @code{\transposition} may be changed during a piece. For -example, a clarinetist may switch from an A clarinet to a B-flat -clarinet. - -@lilypond[verbatim,quote,relative=2] -\set Staff.instrumentName = #"Cl (A)" -\key a \major -\transposition a -c d e f -\textLengthOn -s1*0^\markup { Switch to B\flat clarinet } -R1 +example, a clarinetist may be required to switch from an A clarinet +to a B-flat clarinet. -\key bes \major -\transposition bes -c2 g +@lilypond[verbatim,quote] +flute = \relative c'' { + \key f \major + \cueDuring #"clarinet" #DOWN { + R1 _\markup\tiny "clarinet" + c4 f e d + R1 _\markup\tiny "clarinet" + } +} +clarinet = \relative c'' { + \key aes \major + \transposition a + aes4 bes c des + R1^\markup { muta in B\flat } + \key g \major + \transposition bes + d2 g, +} +\addQuote "clarinet" \clarinet +<< + \new Staff \with { instrumentName = #"Flute" } + \flute + \new Staff \with { instrumentName = #"Cl (A)" } + \clarinet +>> @end lilypond - @seealso Music Glossary: @rglos{concert pitch}, @@ -1453,7 +1609,7 @@ accidental style to use. This function is called as follows: @example \new Staff << - \accidentalStyle "voice" + \accidentalStyle voice @{ @dots{} @} >> @end example @@ -1466,7 +1622,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 @@ -1476,12 +1632,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 | } @@ -1491,12 +1647,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -1509,11 +1665,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "default" + \accidentalStyle default \musicA } \context Staff = "down" { - \accidentalStyle "default" + \accidentalStyle default \musicB } >> @@ -1529,7 +1685,7 @@ both staves. << \context Staff = "up" @{ %%% change the next line as desired: - \accidentalStyle #'Score "default" + \accidentalStyle Score.default \musicA @} \context Staff = "down" @{ @@ -1559,12 +1715,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 | } @@ -1574,12 +1730,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -1592,11 +1748,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "default" + \accidentalStyle default \musicA } \context Staff = "down" { - \accidentalStyle "default" + \accidentalStyle default \musicB } >> @@ -1632,12 +1788,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 | } @@ -1647,12 +1803,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -1665,11 +1821,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "voice" + \accidentalStyle voice \musicA } \context Staff = "down" { - \accidentalStyle "voice" + \accidentalStyle voice \musicB } >> @@ -1698,12 +1854,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 | } @@ -1713,12 +1869,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -1731,11 +1887,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "modern" + \accidentalStyle modern \musicA } \context Staff = "down" { - \accidentalStyle "modern" + \accidentalStyle modern \musicB } >> @@ -1752,22 +1908,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 | } @@ -1777,12 +1931,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -1795,11 +1949,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "modern-cautionary" + \accidentalStyle modern-cautionary \musicA } \context Staff = "down" { - \accidentalStyle "modern-cautionary" + \accidentalStyle modern-cautionary \musicB } >> @@ -1829,12 +1983,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 | } @@ -1844,12 +1998,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -1862,11 +2016,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "modern-voice" + \accidentalStyle modern-voice \musicA } \context Staff = "down" { - \accidentalStyle "modern-voice" + \accidentalStyle modern-voice \musicB } >> @@ -1890,12 +2044,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 | } @@ -1905,12 +2059,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -1923,11 +2077,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 } >> @@ -1955,12 +2109,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 | } @@ -1970,12 +2124,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -1988,7 +2142,7 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "piano" + \accidentalStyle piano \musicA } \context Staff = "down" { @@ -2015,12 +2169,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 | } @@ -2030,12 +2184,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -2048,7 +2202,130 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "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 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 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 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 ChoirStaff { + << + \context Staff = "up" { + \accidentalStyle choral-cautionary \musicA } \context Staff = "down" { @@ -2074,12 +2351,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 | } @@ -2089,12 +2366,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -2107,11 +2384,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "neo-modern" + \accidentalStyle neo-modern \musicA } \context Staff = "down" { - \accidentalStyle "neo-modern" + \accidentalStyle neo-modern \musicB } >> @@ -2125,18 +2402,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 | } @@ -2146,12 +2425,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -2164,11 +2443,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 } >> @@ -2191,12 +2470,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 | } @@ -2206,12 +2485,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -2224,11 +2503,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 } >> @@ -2248,12 +2527,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 | } @@ -2263,12 +2542,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -2281,11 +2560,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 } >> @@ -2308,12 +2587,70 @@ 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 c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -2323,12 +2660,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -2341,11 +2678,71 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "dodecaphonic" + \accidentalStyle dodecaphonic-no-repeat \musicA } \context Staff = "down" { - \accidentalStyle "dodecaphonic" + \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 { + 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-first + \musicA + } + \context Staff = "down" { + \accidentalStyle dodecaphonic-first \musicB } >> @@ -2366,15 +2763,15 @@ 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, bes4 8 f bis4 | + \relative { + cis''8 fis, bes4 8 f bis4 | cis2. 4 | } \\ - \relative c' { + \relative { ais'2 cis, | fis8 b a4 cis2 | } @@ -2384,12 +2781,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -2403,12 +2800,12 @@ musicB = { << \context Staff = "up" { \key fis \minor - \accidentalStyle "teaching" + \accidentalStyle teaching \musicA } \context Staff = "down" { \key fis \minor - \accidentalStyle "teaching" + \accidentalStyle teaching \musicB } >> @@ -2430,12 +2827,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 | } @@ -2445,12 +2842,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -2463,11 +2860,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "no-reset" + \accidentalStyle no-reset \musicA } \context Staff = "down" { - \accidentalStyle "no-reset" + \accidentalStyle no-reset \musicB } >> @@ -2489,12 +2886,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 | } @@ -2504,12 +2901,12 @@ musicA = { musicB = { \clef bass \new Voice { - \voiceTwo \relative c' { - 8 + \voiceTwo \relative { + 8[ \change Staff = up cis' cis \change Staff = down - + ] \showStaffSwitch \change Staff = up dis'4 | @@ -2522,11 +2919,11 @@ musicB = { \new PianoStaff { << \context Staff = "up" { - \accidentalStyle "forget" + \accidentalStyle forget \musicA } \context Staff = "down" { - \accidentalStyle "forget" + \accidentalStyle forget \musicB } >> @@ -2548,14 +2945,12 @@ Internals Reference: @rinternals{AccidentalPlacement}, @rinternals{accidental-suggestion-interface}. - @cindex accidentals and simultaneous notes @cindex simultaneous notes and accidentals @cindex accidentals in chords @cindex chords, accidentals in @knownissues - Simultaneous notes are not considered in the automatic determination of accidentals; only previous notes and the key signature are considered. Forcing accidentals with@tie{}@code{!} @@ -2571,7 +2966,7 @@ not need a natural sign: @lilypond[quote] { - \accidentalStyle "modern" + \accidentalStyle modern \time 2/4 \repeat volta 2 { c'2 @@ -2587,13 +2982,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" - $music - \accidentalStyle "modern" +forget = #(define-music-function (music) (ly:music?) #{ + \accidentalStyle forget + #music + \accidentalStyle modern #}) { - \accidentalStyle "modern" + \accidentalStyle modern \time 2/4 \repeat volta 2 { c'2 @@ -2605,6 +3000,7 @@ forget = #(define-music-function (parser location music) (ly:music?) #{ } @end lilypond + @node Ambitus @unnumberedsubsubsec Ambitus @@ -2631,8 +3027,8 @@ printed if they are not part of the key signature. } } -\relative c'' { - aes c e2 +\relative { + aes' c e2 cis,1 } @end lilypond @@ -2649,7 +3045,6 @@ printed if they are not part of the key signature. @lilypondfile[verbatim,quote,texidoc,doctitle] {changing-the-ambitus-gap.ly} - @seealso Music Glossary: @rglos{ambitus}. @@ -2667,9 +3062,7 @@ Internals Reference: @rinternals{AmbitusNoteHead}, @rinternals{ambitus-interface}. - @knownissues - There is no collision handling in the case of multiple per-voice ambitus. @@ -2708,16 +3101,18 @@ This section suggests ways of altering note heads. 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}. @@ -2727,33 +3122,38 @@ intentions. The following generic predefined commands modify the note head in both staff and tablature contexts and can be used to represent any musical meaning: -@lilypond[verbatim,quote,relative=2] -c4 b -\xNotesOn - a b c4 b -\xNotesOff -c4 d +@lilypond[verbatim,quote] +\relative { + c''4 b + \xNotesOn + a b c4 b + \xNotesOff + c4 d +} @end lilypond The music function form of this predefined command may be used inside and outside chords to generate crossed note heads in both staff and tablature contexts: -@lilypond[verbatim,quote,relative=2] -c4 b -\xNote { e f } -c b < g \xNote c f > b +@lilypond[verbatim,quote] +\relative { + c''4 b + \xNote { e f } + c b < g \xNote c f > b +} @end lilypond As synonyms for @code{\xNote}, @code{\xNotesOn} and @code{\xNotesOff}, @code{\deadNote}, @code{\deadNotesOn} and @code{\deadNotesOff} can be used. The term @notation{dead note} is commonly used by guitarists. -There is also a shorthand for diamond shapes which can be used -only inside chords: +There is also a similar shorthand for diamond shapes: -@lilypond[verbatim,quote,relative=2] -2 4 +@lilypond[verbatim,quote] +\relative c'' { + 2 4 f\harmonic +} @end lilypond @predefined @@ -2795,9 +3195,7 @@ Internals Reference: @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, @@ -2827,7 +3225,6 @@ font, see @ref{Setting the staff size}. @lilypondfile[verbatim,quote,texidoc,doctitle] {numbers-as-easy-note-heads.ly} - @seealso Notation Reference: @ref{Setting the staff size}. @@ -2863,15 +3260,10 @@ Internals Reference: @cindex note heads, Walker @funindex \aikenHeads -@funindex aikenHeads @funindex \sacredHarpHeads -@funindex sacredHarpHeads @funindex \southernHarmonyHeads -@funindex southernHarmonyHeads @funindex \funkHeads -@funindex funkHeads @funindex \walkerHeads -@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 @@ -2879,52 +3271,49 @@ notation was popular in nineteenth-century American song books. Shape note heads can be produced in Sacred Harp, Southern Harmony, Funk (Harmonica Sacra), Walker, and Aiken (Christian Harmony) styles: -@lilypond[verbatim,quote,relative=2] -\aikenHeads -c, d e f g2 a b1 c \break -\sacredHarpHeads -c,4 d e f g2 a b1 c \break -\southernHarmonyHeads -c,4 d e f g2 a b1 c \break -\funkHeads -c,4 d e f g2 a b1 c \break -\walkerHeads -c,4 d e f g2 a b1 c \break +@lilypond[verbatim,quote] +\relative c'' { + \aikenHeads + c, d e f g2 a b1 c \break + \sacredHarpHeads + c,4 d e f g2 a b1 c \break + \southernHarmonyHeads + c,4 d e f g2 a b1 c \break + \funkHeads + c,4 d e f g2 a b1 c \break + \walkerHeads + c,4 d e f g2 a b1 c \break +} @end lilypond @funindex \key -@funindex key @funindex \aikenHeadsMinor -@funindex aikenHeadsMinor @funindex \sacredHarpHeadsMinor -@funindex sacredHarpHeadsMinor @funindex \southernHarmonyHeadsMinor -@funindex southernHarmonyHeadsMinor @funindex \funkHeadsMinor -@funindex funkHeadsMinor @funindex \walkerHeadsMinor -@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=2] -\key a \minor -\aikenHeads -a b c d e2 f g1 a \break -\aikenHeadsMinor -a,4 b c d e2 f g1 a \break -\sacredHarpHeadsMinor -a,2 b c d \break -\southernHarmonyHeadsMinor -a2 b c d \break -\funkHeadsMinor -a2 b c d \break -\walkerHeadsMinor -a2 b c d \break - +@lilypond[verbatim,quote] +\relative c'' { + \key a \minor + \aikenHeads + a b c d e2 f g1 a \break + \aikenHeadsMinor + a,4 b c d e2 f g1 a \break + \sacredHarpHeadsMinor + a,2 b c d \break + \southernHarmonyHeadsMinor + a2 b c d \break + \funkHeadsMinor + a2 b c d \break + \walkerHeadsMinor + a2 b c d \break +} @end lilypond @@ -2949,7 +3338,6 @@ a2 b c d \break To see all note head styles, see @ref{Note head styles}. - @seealso Snippets: @rlsr{Pitches}. @@ -2973,35 +3361,31 @@ Internals Reference: @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}.