@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @end ignore @node Pitches @section Pitches @lilypondfile[quote,ragged-right,line-width=16\cm,staffsize=16] {pitches-headword.ly} This section discusses how to specify the pitch of notes. There are three steps to this process: input, modifying, and output. @menu * Writing pitches:: * Changing multiple pitches:: * Displaying pitches:: * Note heads:: @end menu @node Writing pitches @subsection Writing pitches This section discusses how to input pitches. @menu * Absolute octave entry:: * Relative octave entry:: * Accidentals:: * Note names in other languages:: @end menu @node Absolute octave entry @unnumberedsubsubsec Absolute octave entry @cindex pitch names @cindex pitches A pitch name is specified using lowercase letters@tie{}@code{a} through@tie{}@code{g}. An ascending C-major scale is engraved with @lilypond[verbatim,quote,ragged-right,fragment] \clef bass c d e f g a b c' @end lilypond There are two different ways to enter these note names with regard to octave placement: absolute and relative. The relative mode will in most cases be the most convenient, but the absolute mode is more fundamental and will be presented first. @cindex absolute @cindex absolute octave specification In absolute mode, every note is placed explicitly in a specific octave. The note names @code{c} to @code{b} are engraved in the octave below middle C, as in the previous example. @lilypond[verbatim,quote,ragged-right,fragment] \clef treble c1 \clef bass c1 @end lilypond @funindex ' @funindex , If a note should be in another octave than this, an octave specification must be given. It takes the form of a series of single quote@tie{}(@code{'}) or comma@tie{}(@code{,}) characters. Each@tie{}@code{'} raises the pitch by one octave; each@tie{}@code{,} lowers the pitch by an octave. @lilypond[verbatim,quote,ragged-right,fragment] \clef treble c' c'' e' g d'' d' d c \clef bass c, c,, e, g d,, d, d c @end lilypond @seealso Snippets: @lsrdir{pitches}. Internals reference: @internalsref{LedgerLineSpanner}, @internalsref{NoteHead}. @node Relative octave entry @unnumberedsubsubsec Relative octave entry @cindex relative @cindex relative octave specification @funindex \relative The absolute mode requires a lot of octave specifications, which not only becomes tedious but also easily leads to errors. Therefore, it is usually more convenient to let notes be entered relative to the previous note. This is done with the relative mode. @example \relative @var{startpitch} @var{musicexpr} @end example In relative mode, each note is assumed to be as close to the previous note as possible. This means that the octave of notes that appear in @var{musicexpr} are calculated as follows: @itemize @item The pitch of the first note is relative to @code{\relative @var{startpitch} }. @item If no octave changing marks are used, the basic interval between a note and the one that precedes it is always taken to be a fourth or less. @item This distance is determined without regarding alterations or the actual sounding pitches; a @code{fisis} following a @code{ceses} will be put above the @code{ceses}. In other words, a doubly-augmented fourth is considered a smaller interval than a diminished fifth, even though the doubly-augmented fourth spans seven semitones while the diminished fifth only spans six semitones. @item The octave changing marks@tie{}@code{'} and@tie{}@code{,} can be added to raise or lower the pitch by an extra octave from the basic interval. @item Multiple octave changing marks can be used. @code{''}@tie{}will raise the pitch by two octaves. @end itemize Here is the relative mode shown in action: @lilypond[verbatim,quote,ragged-right,fragment] \relative c'' { b c d c b c bes a } @end lilypond Octave changing marks are used for intervals greater than a fourth: @lilypond[verbatim,quote,ragged-right,fragment] \relative c'' { c g c f, c' a, e'' } @end lilypond A note sequence without a single octave mark can nevertheless span large intervals: @lilypond[verbatim,quote,ragged-right,fragment] \relative c { c f b e a d g } @end lilypond If the preceding item is a chord, the first note of the chord is used as the reference point for the octave placement of a following note or chord: @lilypond[verbatim,quote,ragged-right,fragment] \relative c' { c c } @end lilypond The @var{startpitch} (after @code{\relative}) is a note name in absolute mode. In principle it can be any note name, but common practice is to use@tie{}@code{c} in various octave positions. When octaves are specified as above by adding@tie{}@code{'} and@tie{}@code{,} to pitch names, it is easy to accidentally put a pitch in the wrong octave. The relative octave mode prevents 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; in relative mode, a single error puts the rest of the piece off by one octave. LilyPond examines pitches based on the note names -- in other words, an augmented fourth is @emph{not} treated the same as a diminished fifth. If we begin at a C, then an F-sharp will be placed higher than the C, while a G-flat will be placed lower than the C. @lilypond[verbatim,quote,ragged-right,fragment,relative=2] c2 fis c2 ges @end lilypond @seealso Snippets: @lsrdir{pitches}. @refbugs The relative conversion will not affect @code{\transpose}, @code{\chordmode} or @code{\relative} sections in its argument. To use relative within transposed music, an additional @code{\relative} must be placed inside @code{\transpose}. @c DEPRECATED If no @var{startpitch} is specified for @code{\relative}, then@tie{}@code{c'} is assumed. However, this is a deprecated option and may disappear in future versions, so its use is discouraged. @node Accidentals @unnumberedsubsubsec 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. 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}.} @cindex note names, Dutch @cindex note names, default A @notation{sharp} pitch is made by adding @code{is} to the name, and a @notation{flat} pitch by adding @code{es}. As you might expect, a @notation{double sharp} or @notation{double flat} is made by adding @code{isis} or @code{eses}. This syntax derived from note naming conventions in Nordic and Germanic languages, like German and Dutch. To use other names for accidentals, see @ref{Note names in other languages}. @lilypond[verbatim,quote,ragged-right,fragment,relative=2] a2 ais a aes a2 aisis a aeses @end lilypond @noindent These are the Dutch note names. In Dutch, @code{aes} is contracted to @code{as}, but both forms are accepted. Similarly, both @code{es} and @code{ees} are accepted: @lilypond[verbatim,quote,ragged-right,fragment,relative=2] a2 as e es @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: @lilypond[verbatim,quote,ragged-right,fragment,relative=2] a4 aes a2 @end lilypond @cindex accidental, reminder @cindex accidental, cautionary @cindex accidental, parenthesized @cindex reminder accidental @funindex ? @cindex cautionary accidental @cindex parenthesized accidental @funindex ! Normally accidentals are printed automatically, but you may also 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 be used to produce natural signs, too. @lilypond[verbatim,quote,ragged-right,fragment,relative=1] cis cis cis! cis? c c? c! c @end lilypond @cindex quarter tones @cindex semi-flats, semi-sharps Half-flats and half-sharps are formed by adding @code{eh} and @code{ih}; the following is a series of Cs with increasing pitches @lilypond[verbatim,quote,ragged-right,fragment,relative=2] \set Staff.extraNatural = ##f ceseh ceh cih cisih @end lilypond Micro tones are also exported to the MIDI file. @commonprop @lilypondfile[quote,ragged-right,texidoc]{pitches/preventing-extra-naturals-from-being-automatically-added.ly} @lilypondfile[quote,ragged-right,texidoc]{pitches/dodecaphonic-style-accidentals-for-each-note-including-naturals.ly} @lilypondfile[quote,ragged-right,texidoc]{pitches/makam.ly} @seealso Music Glossary: @rglos{sharp}, @rglos{flat}, @rglos{double sharp}, @rglos{double flat}. Learning Manual: @rlearning{Accidentals and key signatures}. Notation Reference: @ref{Automatic accidentals}, @ref{Musica ficta accidentals}, @ref{Note names in other languages}. Snippets: @lsrdir{pitches}. @refbugs There are no generally accepted standards for denoting three-quarter flats, so LilyPond's symbol does not conform to any standard. @node Note names in other languages @unnumberedsubsubsec Note names in other languages There are predefined sets of note names for various other languages. To use them, include the language specific init file. For example, add @code{\include "english.ly"} to the top of the input file. The available language files and the note names they define are: @cindex note names, other languages @example @multitable @columnfractions .2 .6 .05 .05 .05 .05 @headitem Language @tab Note names @tab sharp @tab flat @tab double sharp @tab double flat @item nederlands.ly @tab c d e f g a bes b @tab -is @tab -es @tab -isis @tab -eses @item english.ly @tab c d e f g a bf b @tab -s/-sharp @tab -f/-flat @tab -ss/-x/-sharpsharp @tab -ff/-flatflat @item deutsch.ly @tab c d e f g a b h @tab -is @tab -es @tab -isis @tab -eses @item norsk.ly @tab c d e f g a b h @tab -iss/-is @tab -ess/-es @tab -ississ/-isis @tab -essess/-eses @item svenska.ly @tab c d e f g a b h @tab -iss @tab -ess @tab -ississ @tab -essess @item suomi.ly @tab c d e f g a b h @tab -is @tab -es @tab -isis @tab -eses @item italiano.ly @tab do re mi fa sol la sib si @tab -d @tab -b @tab -dd @tab -bb @item catalan.ly @tab do re mi fa sol la sib si @tab -d/-s @tab -b @tab -dd/-ss @tab -bb @item espanol.ly @tab do re mi fa sol la sib si @tab -s @tab -b @tab -ss @tab -bb @item portugues.ly @tab do re mi fa sol la sib si @tab -s @tab -b @tab -ss @tab -bb @item vlaams.ly @tab do re mi fa sol la sib si @tab -k @tab -b @tab -kk @tab -bb @end multitable @end example @noindent Note that in Dutch, German, Norwegian, and Swedish, the flat alterations of@tie{}@code{a} like for example @code{aes} and @code{aeses} are usually contracted to @code{as} and @code{ases} (or more commonly @code{asas}). Sometimes only these contracted names are defined in the corresponding language files (this also applies to the suffixes for quartertones below). @noindent Some music uses microtones whose alterations are fractions of a @q{normal} sharp or flat. The note names for quartertones defined in the various language files are listed in the following table. Here the prefixes @q{semi-} and @q{sesqui-} mean @q{half} and @q{one and a half}, respectively. For the other languages no special names have been defined yet. @example @multitable @columnfractions .2 .6 .05 .05 .05 .05 @headitem Language @tab Note names @tab semi- @tab semi- @tab sesqui- @tab sesqui- @item nederlands.ly @tab c d e f g a bes b @tab -ih @tab -eh @tab -isih @tab -eseh @item english.ly @tab c d e f g a bf b @tab -qs @tab -qf @tab -tqs @tab -tqf @item deutsch.ly @tab c d e f g a b h @tab -ih @tab -eh @tab -isih @tab -eseh @c @item norsk.ly @c @tab c d e f g a b h @c @item svenska.ly @c @tab c d e f g a b h @item italiano.ly @tab do re mi fa sol la sib si @tab -sd @tab -sb @tab -dsd @tab -bsb @c @item catalan.ly @c @tab do re mi fa sol la sib si @c @item espanol.ly @c @tab do re mi fa sol la sib si @item portugues.ly @tab do re mi fa sol la sib si @tab -sqt @tab -bqt @tab -stqt @tab -btqt @end multitable @end example @seealso Snippets: @lsrdir{pitches}. @node Changing multiple pitches @subsection Changing multiple pitches This section discusses how to modify pitches. @menu * Octave check:: * Transpose:: @end menu @node Octave check @unnumberedsubsubsec Octave check @cindex octave check In relative mode, it is easy to forget an octave changing mark. Octave checks make such errors easier to correct. A note may be followed by @code{=}@var{quotes} to indicate what its absolute octave should be. In the following example, @example \relative c'' @{ c g d='' @} @end example @noindent the@tie{}@code{d} will generate a warning, because a@tie{}@code{d''} is expected, as indicated by the octave check @code{=''}, but a @code{d'} is found, since both @code{c}-@code{g} and @code{g}-@code{d} without octavation marks are descending fourths. In the output, the octave is corrected to be a@tie{}@code{d''} and the next note is calculated relative to@tie{}@code{d''} instead of@tie{}@code{d'}. There is also an octave check that produces no visible output. The syntax is: @example @var{pitch} \octave @var{controlpitch} @end example @noindent where @var{pitch} is a regular note within a music expression in relative mode and @var{controlpitch} is a pitch in absolute mode. This checks that @var{pitch} lies within the octave surrounding @var{controlpitch}, i.e. not more than a fourth above or below it. If this is not the case, a warning is printed and the octave is corrected. The @var{controlpitch} is not printed as a note. In the example below, the first check passes without incident, since the@tie{}@code{e} (in @code{relative} mode) is within the octave range of@tie{}@code{a'}. However, the second check produces a warning, since the@tie{}@code{e} is not within the octave range of@tie{}@code{b'}. The warning message is printed, and the octave is adjusted so that the following notes are in the correct octave once again. @example \relative c' @{ e \octave a' \octave b' @} @end example The octave of a note following an @code{\octave} check is determined with respect to the note preceding it, as modified by the outcome of the octave check. In the next fragment, the first note, an@tie{}@code{e'}, lies within the octave of@tie{}@code{b}, and the @code{\octave} check passes successfully. The second note is then calculated relative to (absolute)@tie{}@code{e'}, which yields an@tie{}@code{a'}, above middle@tie{}C. In this case, the check had no influence on the output of the piece. The second @code{\octave} check fails: @code{a'}@tie{}is not within the range of@tie{}@code{b}. A warning is issued, and the last note is calculated relative to@tie{}@code{a}, not to@tie{}@code{a'}, and we get a@tie{}@code{d'}. Without the last @code{\octave} check, the last note would have been a@tie{}@code{d''}. @lilypond[verbatim,quote,ragged-right,fragment] \relative c' { e \octave b a \octave b d } @end lilypond @seealso Snippets: @lsrdir{pitches}. @node Transpose @unnumberedsubsubsec Transpose @cindex transpose @cindex transposition of pitches @funindex \transpose A music expression can be transposed with @code{\transpose}. The syntax is @example \transpose @var{from} @var{to} @var{musicexpr} @end example This means that @var{musicexpr} is transposed by the interval between the pitches @var{from} and @var{to}: any note with pitch @var{from} is changed to @var{to} and any other note is transposed by the same interval. Consider a piece written in the key of D-major. If this piece is a little too low for its performer, it can be transposed up to E-major with @example \transpose d e @dots{} @end example Consider a part written for violin (a C instrument). If this part is to be played on the A clarinet (for which an A is notated as a C, and thus sounds a minor third lower than notated), the following transposition will produce the appropriate part: @example \transpose a c @dots{} @end example @code{\transpose} will also transpose key signatures: @lilypond[verbatim,quote,ragged-right] mus = { \key d \major cis d fis g } \new Staff { \clef "F" \mus \clef "G" \transpose c g' \mus \transpose c f' \mus } @end lilypond @code{\transpose} distinguishes between enharmonic pitches: both @code{\transpose c cis} or @code{\transpose c des} will transpose up half a tone. The first version will print sharps and the notes will remain on the same scale step, the second version will print flats on the scale step above. @lilypond[verbatim,quote,ragged-right] mus = \relative c' { c d e f } \new Staff { \transpose c cis { \mus } \transpose c des { \mus } } @end lilypond @code{\transpose} may also be used to input written notes for a transposing instrument. The previous examples show how to enter pitches in C (or @notation{concert pitch}) and typeset them for a transposing instrument, but the opposite is also possible if you for example have a set of instrumental parts and want to print a conductor's score. For example, when entering music for a B-flat trumpet which begins on a notated E (concert D), one would write: @example musicInBflat = @{ e4 @dots{} @} \transpose c bes \musicInBflat @end example To print this music in F (e.g., rearranging to a french horn) you would wrap the existing music with another @code{\transpose} @example musicInBflat = @{ e4 @dots{} @} \transpose f c @{ \transpose c bes \musicInBflat @} @end example @commonprop @lilypondfile[quote,ragged-right,texidoc] {pitches/transposing-pitches-with-minimum-accidentals-smart-transpose.ly} @seealso Snippets: @lsrdir{pitches}. Internals reference: @internalsref{TransposedMusic}. @refbugs If you want to use both @code{\transpose} and @code{\relative}, you must put @code{\transpose} outside of @code{\relative}, since @code{\relative} will have no effect on music that appears inside a @code{\transpose}. See the previous example. @node Displaying pitches @subsection Displaying pitches This section discusses how to alter the output of pitches. @menu * Clef:: * Key signature:: * Ottava brackets:: * Instrument transpositions:: * Automatic accidentals:: * Ambitus:: @end menu @node Clef @unnumberedsubsubsec Clef @funindex \clef @cindex G clef @cindex C clef @cindex F clef @cindex treble clef @cindex violin clef @cindex alto clef @cindex tenor clef @cindex bass clef @cindex french clef @cindex soprano clef @cindex mezzosoprano clef @cindex baritone clef @cindex varbaritone clef @cindex subbass clef The clef is set with the @code{\clef} @var{clefname} command: @lilypond[verbatim,quote,ragged-right,fragment,relative=1] \clef treble c2 c \clef alto c2 c \clef tenor c2 c \clef bass c2 c @end lilypond The clef can also be changed inside the staff: @lilypond[verbatim,quote,ragged-right,fragment] \new PianoStaff << \new Staff { \time 2/4 \clef treble r16 \clef bass e g c' e' e g c' } \new Staff { \clef bass c,8 r \clef treble g''4 } >> @end lilypond These same clef symbols are used in different positions on the staff to change the range of notes shown by that staff. The treble (alto, bass) clef is always positioned to show the line on which a@tie{}@code{g'} (@code{c'}, @code{f}) note is printed. Supported clefs include @multitable @columnfractions .4 .6 @headitem Clef @tab Position @item @code{treble, violin, G, G2} @tab G clef (g') on 2nd line @item @code{alto, C} @tab C clef (c') on 3rd line @item @code{tenor} @tab C clef (c') on 4th line @item @code{bass, F} @tab F clef (f) on 4th line @item @code{french} @tab G clef (g') on 1st line, so-called French violin clef @item @code{soprano} @tab C clef (c') on 1st line @item @code{mezzosoprano} @tab C clef (c') on 2nd line @item @code{baritone} @tab C clef (c') on 5th line @item @code{varbaritone} @tab F clef (f) on 3rd line @item @code{subbass} @tab F clef (f) on 5th line @item @code{percussion} @tab percussion clef @item @code{tab} @tab tablature clef @end multitable Further supported clefs are described under @ref{Ancient clefs}. By adding @code{_8} or @code{^8} to the clef name, the clef is transposed one octave down or up, respectively, and @code{_15} and @code{^15} transposes by two octaves. The argument @var{clefname} must be enclosed in quotes when it contains underscores or digits. For example, @cindex choral tenor clef @lilypond[verbatim,quote,ragged-right,fragment,relative=1] \clef "G_8" c4 @end lilypond @commonprop @lilypondfile[quote,ragged-right,texidoc] {pitches/clefs-commonly-tweaked-properties.ly} @seealso Notation Reference: @ref{Ancient clefs}. Snippets: @lsrdir{pitches}. Internals reference: @internalsref{Clef}. @node Key signature @unnumberedsubsubsec Key signature @cindex key signature @funindex \key @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. 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}.} The key signature indicates the tonality in which a piece is played. It is denoted by a set of alterations (flats or sharps) at the start of the staff. Setting or changing the key signature is done with the @code{\key} command: @example \key @var{pitch} @var{type} @end example @funindex \minor @funindex \major @funindex \minor @funindex \ionian @funindex \locrian @funindex \aeolian @funindex \mixolydian @funindex \lydian @funindex \phrygian @funindex \dorian @cindex church modes Here, @var{type} should be @code{\major} or @code{\minor} to get @var{pitch}-major or @var{pitch}-minor, respectively. You may also use the standard mode names (also called @q{church modes}): @code{\ionian}, @code{\locrian}, @code{\aeolian}, @code{\mixolydian}, @code{\lydian}, @code{\phrygian}, and @code{\dorian}. @lilypond[verbatim,quote,ragged-right,fragment,relative=2] \key g \major f1 fis @end lilypond @commonprop @lilypondfile[quote,ragged-right,texidoc] {pitches/preventing-natural-signs-from-being-printed-when-the-key-signature-changes.ly} @lilypondfile[quote,ragged-right,texidoc] {pitches/non-traditional-key-signatures.ly} @lilypondfile[quote,ragged-right,texidoc] {pitches/dodecaphonic-style-accidentals-for-each-note-including-naturals.ly} @seealso Music Glossary: @rglos{church mode}, @rglos{scordatura}. Learning Manual: @rlearning{Accidentals and key signatures}. Snippets: @lsrdir{pitches}. Internals reference: @internalsref{KeyCancellation}, @internalsref{KeySignature}, @internalsref{Key_engraver}. @node Ottava brackets @unnumberedsubsubsec Ottava brackets @cindex ottava @cindex 15ma @cindex 8va @cindex 8ve @cindex octavation @notation{Ottava brackets} introduce an extra transposition of an octave for the staff: @lilypond[verbatim,quote,ragged-right,fragment,relative=2] a'2 b #(set-octavation 1) a b #(set-octavation 0) a b @end lilypond The @code{set-octavation} function also takes -1 (for 8va bassa), 2@tie{}(for 15ma), and -2 (for 15ma bassa) as arguments. Internally the function sets the properties @code{ottavation} (e.g., to @code{"8va"} or @code{"8vb"}) and @code{middleCPosition}. To override the text of the bracket, set @code{ottavation} after invoking @code{set-octavation}, i.e., @lilypond[verbatim,quote,ragged-right,fragment,relative=2] #(set-octavation 1) \set Staff.ottavation = #"8" c' @end lilypond @seealso Music Glossary: @rglos{ottava}. Snippets: @lsrdir{pitches}. Internals reference: @internalsref{OttavaBracket}. @refbugs @code{set-octavation} will get confused when clef changes happen during an octavation bracket. @node Instrument transpositions @unnumberedsubsubsec Instrument transpositions @cindex transposition, MIDI @cindex transposition, instrument The key of a @notation{transposing instrument} can be specified. This applies to many wind instruments, for example, clarinets (B-flat, A, and E-flat), horn (F) and trumpet (B-flat, C, D, and E-flat). The transposition is entered with the command @example \transposition @var{pitch} @end example @noindent where @var{pitch} specifies the key in which the instrument plays. For example, a part for B-flat clarinet would include @example \transposition bes @end example This command sets the property @code{instrumentTransposition}. The value of this property is used for MIDI output and quotations. MIDI output is transposed to play at concert pitch, and cue notes and quotations are automatically transposed to the key of the instrument in which they are quoted. For more information about quotations, see @ref{Quoting other voices}. The pitch to use for @code{\transposition} should correspond to the real sound heard when a@tie{}@code{c'} written on the staff is played by the transposing instrument. @code{\transposition} should be used when the music is entered from an orchestral part written for the instrument. For example, in classical horn parts, the tuning of the instrument is often changed during a piece. Here are a few notes for a violin and a B-flat clarinet where the parts have been entered using the notes and key as they appear in each part or the conductor's score: @lilypond[verbatim,quote,ragged-right] \new GrandStaff << \new Staff = "Violin I" { \set Staff.instrumentName = "Vln" \set Staff.midiInstrument="violin" \key c \major \transposition c g'4( c''8) r c'' r c''4 } \new Staff = "Clarinet" { \set Staff.instrumentName = "Cl" \set Staff.midiInstrument="clarinet" \key d \major \transposition bes a'4( d''8) r d'' r d''4 } >> @end lilypond Without the @code{\transposition} command the MIDI output of this music would play the notes a tone apart; with it the notes are played correctly in unison. However, when entering the notes of a score in concert pitch, when all voices are entered in C, they may be prefaced by (the default) @code{\transposition c'}: @example clarinet = @{ \transposition c' ... @} saxophone = @{ \transposition c' ... @} @end example @noindent to serve as a reminder that these parts are written in C. @seealso Notation Reference: @ref{Quoting other voices}, @ref{Transpose}. Snippets: @lsrdir{pitches}. @node Automatic accidentals @unnumberedsubsubsec Automatic accidentals @cindex automatic accidentals Common rules for typesetting accidentals have been placed in a function. This function is called as follows @funindex set-accidental-style @example \new Staff << #(set-accidental-style 'voice) @{ @dots{} @} >> @end example @c FIXME: check the context stuff below @c -does it *really* work? @c -the default contexts as specified in @c scm/music-function.scm seem to be different -vv If no context name is supplied, the accidental style applies to the @code{Staff} by default. Optionally, the function can take the context for which the style should be changed as a second argument: @example #(set-accidental-style 'STYLE #('CONTEXT)) @end example The following accidental styles are supported. To demonstrate each style, we use the following example: @lilypond[verbatim,quote,ragged-right] musicA = { << \relative c' { cis'8 fis, d'4 8 f bis4 | cis2. 4 | } \\ \relative c' { ais'2 cis, | fis8 b a4 cis2 | } >> } musicB = { \clef bass \new Voice { \voiceTwo \relative c' { 4 \change Staff = up cis' \change Staff = down \change Staff = up dis' | \change Staff = down 4 gis 2 | } } } \new PianoStaff { << \context Staff = "up" { %%% change the next line as desired: %#(set-accidental-style 'default) \musicA } \context Staff = "down" { %%% change the next line as desired: %#(set-accidental-style 'default) \musicB } >> } @end lilypond @c don't use verbatim in this table. @table @code @item default This is the default typesetting behavior. It corresponds to eighteenth-century common practice: Accidentals are remembered to the end of the measure in which they occur and only on their own octave. Thus, in the example below, no natural signs are printed before the@tie{}@code{b} in the second measure or the last@tie{}@code{c}: @lilypond[quote,ragged-right] musicA = { << \relative c' { cis'8 fis, d'4 8 f bis4 | cis2. 4 | } \\ \relative c' { ais'2 cis, | fis8 b a4 cis2 | } >> } musicB = { \clef bass \new Voice { \voiceTwo \relative c' { 4 \change Staff = up cis' \change Staff = down \change Staff = up dis' | \change Staff = down 4 gis 2 | } } } \new PianoStaff { << \context Staff = "up" { %#(set-accidental-style 'default) \musicA } \context Staff = "down" { %#(set-accidental-style 'default) \musicB } >> } @end lilypond @item voice The normal behavior is to remember the accidentals on Staff-level. This variable, however, typesets accidentals individually for each voice. Apart from that, the rule is similar to @code{default}. As a result, accidentals from one voice do not get canceled in other voices, which is often an unwanted result: in the following example, it is hard to determine whether the second@tie{}@code{a} should be played natural or sharp. The @code{voice} option should therefore be used only if the voices are to be read solely by individual musicians. If the staff is to be used by one musician (e.g., a conductor or in a piano score) then @code{modern} or @code{modern-cautionary} should be used instead. @lilypond[quote,ragged-right] musicA = { << \relative c' { cis'8 fis, d'4 8 f bis4 | cis2. 4 | } \\ \relative c' { ais'2 cis, | fis8 b a4 cis2 | } >> } musicB = { \clef bass \new Voice { \voiceTwo \relative c' { 4 \change Staff = up cis' \change Staff = down \change Staff = up dis' | \change Staff = down 4 gis 2 | } } } \new PianoStaff { << \context Staff = "up" { #(set-accidental-style 'voice) \musicA } \context Staff = "down" { #(set-accidental-style 'voice) \musicB } >> } @end lilypond @item modern @funindex modern style accidentals This rule corresponds to the common practice in the twentieth century. It prints the same accidentals as @code{default}, with two exceptions which serve to avoid ambiguity: after temporary accidentals, cancellation marks are printed also in the following measure (for notes in the same octave) and, in the same measure, for notes in other octaves. Hence the naturals before the@tie{}@code{b} and the@tie{}@code{c} in the second measure of the upper staff: @lilypond[quote,ragged-right] musicA = { << \relative c' { cis'8 fis, d'4 8 f bis4 | cis2. 4 | } \\ \relative c' { ais'2 cis, | fis8 b a4 cis2 | } >> } musicB = { \clef bass \new Voice { \voiceTwo \relative c' { 4 \change Staff = up cis' \change Staff = down \change Staff = up dis' | \change Staff = down 4 gis 2 | } } } \new PianoStaff { << \context Staff = "up" { #(set-accidental-style 'modern) \musicA } \context Staff = "down" { #(set-accidental-style 'modern) \musicB } >> } @end lilypond @item modern-cautionary @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}. @lilypond[quote,ragged-right] musicA = { << \relative c' { cis'8 fis, d'4 8 f bis4 | cis2. 4 | } \\ \relative c' { ais'2 cis, | fis8 b a4 cis2 | } >> } musicB = { \clef bass \new Voice { \voiceTwo \relative c' { 4 \change Staff = up cis' \change Staff = down \change Staff = up dis' | \change Staff = down 4 gis 2 | } } } \new PianoStaff { << \context Staff = "up" { #(set-accidental-style 'modern-cautionary) \musicA } \context Staff = "down" { #(set-accidental-style 'modern-cautionary) \musicB } >> } @end lilypond @item modern-voice @funindex modern-voice This rule is used for multivoice accidentals to be read both by musicians playing one voice and musicians playing all voices. Accidentals are typeset for each voice, but they @emph{are} canceled across voices in the same @code{Staff}. Hence, the@tie{}@code{a} in the last measure is canceled because the previous cancellation was in a different voice, and the@tie{}@code{d} in the lower staff is canceled because of the accidental in a different voice in the previous measure: @lilypond[quote,ragged-right] musicA = { << \relative c' { cis'8 fis, d'4 8 f bis4 | cis2. 4 | } \\ \relative c' { ais'2 cis, | fis8 b a4 cis2 | } >> } musicB = { \clef bass \new Voice { \voiceTwo \relative c' { 4 \change Staff = up cis' \change Staff = down \change Staff = up dis' | \change Staff = down 4 gis 2 | } } } \new PianoStaff { << \context Staff = "up" { #(set-accidental-style 'modern-voice) \musicA } \context Staff = "down" { #(set-accidental-style 'modern-voice) \musicB } >> } @end lilypond @funindex modern-voice-cautionary @item modern-voice-cautionary This rule is the same as @code{modern-voice}, but with the extra accidentals (the ones not typeset by @code{voice}) typeset as cautionaries. Even though all accidentals typeset by @code{default} @emph{are} typeset by this variable, some of them are typeset as cautionaries. @lilypond[quote,ragged-right] musicA = { << \relative c' { cis'8 fis, d'4 8 f bis4 | cis2. 4 | } \\ \relative c' { ais'2 cis, | fis8 b a4 cis2 | } >> } musicB = { \clef bass \new Voice { \voiceTwo \relative c' { 4 \change Staff = up cis' \change Staff = down \change Staff = up dis' | \change Staff = down 4 gis 2 | } } } \new PianoStaff { << \context Staff = "up" { #(set-accidental-style 'modern-voice-cautionary) \musicA } \context Staff = "down" { #(set-accidental-style 'modern-voice-cautionary) \musicB } >> } @end lilypond @item piano @funindex piano accidentals This rule reflects twentieth-century practice for piano notation. Its behavior is very similar to @code{modern} style, but here accidentals also get canceled across the staves in the same GrandStaff or PianoStaff, hence all the cancellations of the final notes. This accidental style takes place in a GrandStaff context. However, you have to explicitly set it for @emph{each} individual Staff of the GrandStaff: @example \new GrandStaff @{ << \new Staff = "up" @{ << #(set-accidental-style 'piano) @{ @dots{} @} >> @} \new Staff = "down" @{ << #(set-accidental-style 'piano) @{ @dots{} @} >> @} >> @} @end example @lilypond[quote,ragged-right] musicA = { << \relative c' { cis'8 fis, d'4 8 f bis4 | cis2. 4 | } \\ \relative c' { ais'2 cis, | fis8 b a4 cis2 | } >> } musicB = { \clef bass \new Voice { \voiceTwo \relative c' { 4 \change Staff = up cis' \change Staff = down \change Staff = up dis' | \change Staff = down 4 gis 2 | } } } \new PianoStaff { << \context Staff = "up" { #(set-accidental-style 'piano) \musicA } \context Staff = "down" { #(set-accidental-style 'piano) \musicB } >> } @end lilypond @item piano-cautionary @funindex #(set-accidental-style 'piano-cautionary) Same as @code{#(set-accidental-style 'piano)} but with the extra accidentals typeset as cautionaries. @lilypond[quote,ragged-right] musicA = { << \relative c' { cis'8 fis, d'4 8 f bis4 | cis2. 4 | } \\ \relative c' { ais'2 cis, | fis8 b a4 cis2 | } >> } musicB = { \clef bass \new Voice { \voiceTwo \relative c' { 4 \change Staff = up cis' \change Staff = down \change Staff = up dis' | \change Staff = down 4 gis 2 | } } } \new PianoStaff { << \context Staff = "up" { #(set-accidental-style 'piano-cautionary) \musicA } \context Staff = "down" { #(set-accidental-style 'piano-cautionary) \musicB } >> } @end lilypond @item no-reset @funindex no-reset accidental style This is the same as @code{default} but with accidentals lasting @q{forever} and not only within the same measure: @lilypond[quote,ragged-right] musicA = { << \relative c' { cis'8 fis, d'4 8 f bis4 | cis2. 4 | } \\ \relative c' { ais'2 cis, | fis8 b a4 cis2 | } >> } musicB = { \clef bass \new Voice { \voiceTwo \relative c' { 4 \change Staff = up cis' \change Staff = down \change Staff = up dis' | \change Staff = down 4 gis 2 | } } } \new PianoStaff { << \context Staff = "up" { #(set-accidental-style 'no-reset) \musicA } \context Staff = "down" { #(set-accidental-style 'no-reset) \musicB } >> } @end lilypond @item forget @funindex forget accidental style This is the opposite of @code{no-reset}: Accidentals are not remembered at all -- and hence all accidentals are typeset relative to the key signature, regardless of what was before in the music: @lilypond[quote,ragged-right] musicA = { << \relative c' { cis'8 fis, d'4 8 f bis4 | cis2. 4 | } \\ \relative c' { ais'2 cis, | fis8 b a4 cis2 | } >> } musicB = { \clef bass \new Voice { \voiceTwo \relative c' { 4 \change Staff = up cis' \change Staff = down \change Staff = up dis' | \change Staff = down 4 gis 2 | } } } \new PianoStaff { << \context Staff = "up" { #(set-accidental-style 'forget) \musicA } \context Staff = "down" { #(set-accidental-style 'forget) \musicB } >> } @end lilypond @end table @seealso Snippets: @lsrdir{pitches}. Internals reference: @internalsref{Accidental_engraver}, @internalsref{Accidental}, @internalsref{AccidentalSuggestion}, @internalsref{AccidentalPlacement}, @internalsref{GrandStaff} and @internalsref{PianoStaff}, @internalsref{Staff}. @refbugs Simultaneous notes are considered to be entered in sequential mode. This means that in a chord the accidentals are typeset as if the notes in the chord happen one at a time, in the order in which they appear in the input file. This is a problem when accidentals in a chord depend on each other, which does not happen for the default accidental style. The problem can be solved by manually inserting@tie{}@code{!} and@tie{}@code{?} for the problematic notes. @node Ambitus @unnumberedsubsubsec Ambitus @cindex ambitus The term @notation{ambitus} or @notation{ambit} denotes a range of pitches for a given voice in a part of music. It may also denote the pitch range that a musical instrument is capable of playing. Ambits are printed on vocal parts, so performers can easily determine if it matches their capabilities. Ambits are denoted at the beginning of a piece near the initial clef. The range is graphically specified by two note heads that represent the minimum and maximum pitch. Accidentals are only printed if they are not part of the key signature. @lilypond[verbatim,quote,ragged-right] \layout { \context { \Voice \consists Ambitus_engraver } } \relative c'' { aes c e2 cis,2 } @end lilypond @commonprop @lilypondfile[quote,ragged-right,texidoc] {pitches/adding-ambiti-per-voice.ly} @lilypondfile[quote,ragged-right,texidoc] {pitches/ambiti-multiple-voices.ly} @seealso Snippets: @lsrdir{pitches}. Internals reference: @internalsref{Ambitus}, @internalsref{AmbitusLine}, @internalsref{AmbitusNoteHead}, @internalsref{AmbitusAccidental}, @internalsref{Ambitus_engraver}, @internalsref{Staff}, @internalsref{Voice}. @refbugs There is no collision handling in the case of multiple per-voice ambitus. @node Note heads @subsection Note heads @menu * Easy notation note heads:: * Shape note heads:: * Improvisation:: * Special noteheads:: @end menu @node Easy notation note heads @unnumberedsubsubsec Easy notation note heads @cindex note heads, practice @cindex note heads, easy notation @cindex easy notation @cindex Hal Leonard The @q{easy play} note head includes a note name inside the head. It is used in music for beginners @lilypond[verbatim,quote,ragged-right,fragment,staffsize=26] \setEasyHeads c'2 e'4 f' | g'1 @end lilypond The command @code{\setEasyHeads} overrides settings for the @code{NoteHead} object. To make the letters readable, it has to be printed in a large font size. To print with a larger font, see @ref{Setting the staff size}. @refcommands @funindex \setEasyHeads @code{\setEasyHeads} @seealso Notation Reference: @ref{Setting the staff size}. Snippets: @lsrdir{pitches}, Internals reference: @internalsref{NoteHead}. @node Shape note heads @unnumberedsubsubsec Shape note heads @cindex note heads, shape In shape note head notation, the shape of the note head corresponds to the harmonic function of a note in the scale. This notation was popular in nineteenth-century American song books. Shape note heads can be produced by setting @code{\aikenHeads} or @code{\sacredHarpHeads}, depending on the style desired. @lilypond[verbatim,fragment,relative=1] \aikenHeads c8 d4 e8 a2 g1 \sacredHarpHeads c,8 d4 e8 a2 g1 @end lilypond Shapes are typeset according to the step in the scale, where the base of the scale is determined by the @code{\key} command. @funindex \key @funindex shapeNoteStyles @funindex \aikenHeads @funindex \sacredHarpHeads Shape note heads are implemented through the @code{shapeNoteStyles} property. Its value is a vector of symbols. The k-th element indicates the style to use for the k-th step of the scale. Arbitrary combinations are possible, e.g.: @lilypond[verbatim,fragment,relative=1] \set shapeNoteStyles = ##(cross triangle fa #f mensural xcircle diamond) c8 d4 e8 a2 g1 @end lilypond @commonprop @lilypondfile[quote,ragged-right,texidoc] {pitches/applying-noteheads-styles-depending-on-the-step-of-the-scale.ly} @seealso Snippets: @lsrdir{pitches}. @node Improvisation @unnumberedsubsubsec Improvisation Improvisation is sometimes denoted with slashed note heads. Such note heads can be created by adding a @code{Pitch_squash_engraver} to the @code{Voice} context. Then, the following command @example \set squashedPosition = #0 \override NoteHead #'style = #'slash @end example @noindent switches on the slashes. There are shortcuts @code{\improvisationOn} (and an accompanying @code{\improvisationOff}) for this command sequence. They are used in the following example: @lilypond[verbatim,quote,ragged-right] \new Voice \with { \consists Pitch_squash_engraver } \transpose c c' { e8 e g a a16(bes)(a8) g \improvisationOn e8 ~e2~e8 f4 fis8 ~fis2 \improvisationOff a16(bes) a8 g e } @end lilypond @seealso Snippets: @lsrdir{pitches}. Internals reference: @internalsref{Pitch_squash_engraver} and @internalsref{Voice}. @node Special noteheads @unnumberedsubsubsec Special noteheads @cindex note heads, special Different noteheads are used by various instruments for various meanings -- crosses are used for @q{parlato} with vocalists, stopped notes on guitar; diamonds are used for harmonics on string instruments, etc. There is a shorthand (@code{\harmonic}) for diamond shapes; the other notehead styles are produced by tweaking the property: @lilypond[verbatim,quote,ragged-right,fragment,relative=1] c4 d \override NoteHead #'style = #'cross e f \revert NoteHead #'style e d @end lilypond @noindent To see all notehead styles, please see @ref{Note head styles}. @seealso Snippets: @lsrdir{pitches}. Notation Reference: @ref{Note head styles}. Internals reference: @internalsref{NoteHead}.