1 @c -*- coding: utf-8; mode: texinfo; -*-
3 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
5 When revising a translation, copy the HEAD committish of the
6 version that you are working on. See TRANSLATION for details.
13 @lilypondfile[quote,ragged-right,line-width=16\cm,staffsize=16]
16 This section discusses how to specify the pitch of notes. There
17 are three steps to this process: input, modifying, and output.
21 * Changing multiple pitches::
22 * Displaying pitches::
28 @subsection Writing pitches
30 This section discusses how to input pitches.
33 * Absolute octave entry::
34 * Relative octave entry::
36 * Note names in other languages::
40 @node Absolute octave entry
41 @unnumberedsubsubsec Absolute octave entry
46 @c don't use @samp here because that might get confused with
48 A pitch name is specified using lowercase letters@tie{}@code{a}
49 through@tie{}@code{g}. An ascending C-major scale is engraved
52 @lilypond[verbatim,quote,ragged-right,fragment]
57 There are two different ways to enter these note names with regard
58 to octave placement: absolute and relative. The relative mode
59 will in most cases be the most convenient, but the absolute mode
60 is more fundamental and will be presented first.
63 @cindex absolute octave specification
65 In absolute mode, every note is placed explicitly in a certain
66 octave. The note names @code{c} to @code{b} are engraved in the
67 octave below middle C, as in the previous example.
69 @lilypond[verbatim,quote,ragged-right,fragment]
79 If a note should be in another octave than this, an octave
80 specification must be given. It takes the form of a series of
81 single quote@tie{}(@code{'}) or comma@tie{}(@code{,}) characters.
82 Each@tie{}@code{'} raises the pitch by one octave;
83 each@tie{}@code{,} lowers the pitch by an octave.
85 @lilypond[verbatim,quote,ragged-right,fragment]
87 c' c'' e' g d'' d' d c
89 c, c,, e, g d,, d, d c
94 Snippets: @lsrdir{pitches}.
96 Internals reference: @internalsref{LedgerLineSpanner},
97 @internalsref{NoteHead}.
100 @node Relative octave entry
101 @unnumberedsubsubsec Relative octave entry
104 @cindex relative octave specification
107 The absolute mode requires a lot of octave specifications, which
108 not only becomes tedious but also easily leads to errors.
109 Therefore, it is usually more convenient to let notes be entered
110 relative to the previous note. This is done with the relative
114 \relative @var{startpitch} @var{musicexpr}
117 In relative mode, each note is assumed to be as close to the
118 previous note as possible. This means that the octave of notes
119 that appear in @var{musicexpr} are calculated as follows:
123 The pitch of the first note is relative to @code{\relative
127 If no octave changing marks are used, the basic interval between a
128 note and the one that precedes it is always taken to be a fourth
132 This distance is determined without regarding alterations or the
133 actual sounding pitches; a @code{fisis} following a @code{ceses}
134 will be put above the @code{ceses}. In other words, a
135 doubly-augmented fourth is considered a smaller interval than a
136 diminished fifth, even though the doubly-augmented fourth spans
137 seven semitones while the diminished fifth only spans six
141 The octave changing marks@tie{}@code{'} and@tie{}@code{,} can be
142 added to raise or lower the pitch by an extra octave from the
146 Multiple octave changing marks can be used. @code{''}@tie{}will
147 raise the pitch by two octaves.
151 Here is the relative mode shown in action:
153 @lilypond[verbatim,quote,ragged-right,fragment]
159 Octave changing marks are used for intervals greater than a
162 @lilypond[verbatim,quote,ragged-right,fragment]
168 A note sequence without a single octave mark can nevertheless span
171 @lilypond[verbatim,quote,ragged-right,fragment]
177 If the preceding item is a chord, the first note of the chord is
178 used as the reference point for the octave placement of a
179 following note or chord:
181 @lilypond[verbatim,quote,ragged-right,fragment]
189 The @var{startpitch} (after @code{\relative}) is a note name in
190 absolute mode. In principle it can be any note name, but common
191 practice is to use@tie{}@code{c} in various octave positions.
193 When octaves are specified as above by adding@tie{}@code{'}
194 and@tie{}@code{,} to pitch names, it is easy to accidentally put a
195 pitch in the wrong octave. The relative octave mode prevents
196 these errors since most of the time it is not necessary to
197 indicate any octaves at all. Furthermore, in absolute mode, a
198 single mistake may be difficult to spot; in relative mode, a
199 single error puts the rest of the piece off by one octave.
201 LilyPond examines pitches based on the note names -- in other
202 words, an augmented fourth is @emph{not} treated the same as a
203 diminished fifth. If we begin at a C, then an F-sharp will be
204 placed higher than the C, while a G-flat will be placed lower than
207 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
214 Snippets: @lsrdir{pitches}.
219 The relative conversion will not affect @code{\transpose},
220 @code{\chordmode} or @code{\relative} sections in its argument.
221 To use relative within transposed music, an additional
222 @code{\relative} must be placed inside @code{\transpose}.
225 If no @var{startpitch} is specified for @code{\relative},
226 then@tie{}@code{c'} is assumed. However, this is a deprecated
227 option and may disappear in future versions, so its use is
233 @unnumberedsubsubsec Accidentals
235 @warning{New users are sometimes confused about accidentals and
236 key signatures. In LilyPond, note names are the raw input; key
237 signatures and clefs determine how this raw input is displayed.
238 An unaltered note like@tie{}@code{c} means @q{C natural},
239 regardless of the key signature or clef. For more information,
240 see @rlearning{Accidentals and key signatures}.}
242 @cindex note names, Dutch
243 @cindex note names, default
245 A @notation{sharp} pitch is made by adding @code{is} to the name,
246 and a @notation{flat} pitch by adding @code{es}. As you might
247 expect, a @notation{double sharp} or @notation{double flat} is
248 made by adding @code{isis} or @code{eses}. This syntax derived
249 from note naming conventions in Nordic and Germanic languages,
250 like German and Dutch. To use other names for accidentals, see
251 @ref{Note names in other languages}.
253 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
259 These are the Dutch note names. In Dutch, @code{aes} is
260 contracted to @code{as}, but both forms are accepted. Similarly,
261 both @code{es} and @code{ees} are accepted:
263 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
267 A natural will cancel the effect of an accidental or key
268 signature. However, naturals are not encoded into the note name
269 syntax with a suffix; a natural pitch is shown as a simple note
272 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
277 @cindex accidental, reminder
278 @cindex accidental, cautionary
279 @cindex accidental, parenthesized
280 @cindex reminder accidental
282 @cindex cautionary accidental
283 @cindex parenthesized accidental
286 Normally accidentals are printed automatically, but you may also
287 print them manually. A reminder accidental can be forced by
288 adding an exclamation mark@tie{}@code{!} after the pitch. A
289 cautionary accidental (i.e., an accidental within parentheses) can
290 be obtained by adding the question mark@tie{}@code{?} after the
291 pitch. These extra accidentals can be used to produce natural
294 @lilypond[verbatim,quote,ragged-right,fragment,relative=1]
295 cis cis cis! cis? c c? c! c
299 @cindex quarter tones
300 @cindex semi-flats, semi-sharps
302 Half-flats and half-sharps are formed by adding @code{eh} and
303 @code{ih}; the following is a series of Cs with increasing
306 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
307 \set Staff.extraNatural = ##f
311 Micro tones are also exported to the MIDI file.
316 In accordance with standard typesetting rules, a natural sign is
317 printed before a sharp or flat if a previous accidental needs to
318 be canceled. To change this behavior, use
320 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
322 \set Staff.extraNatural = ##f
329 Music Glossary: @rglos{sharp}, @rglos{flat}, @rglos{double sharp},
332 Notation Reference: @ref{Automatic accidentals},
333 @ref{Musica ficta accidentals}.
335 Snippets: @lsrdir{pitches}.
340 There are no generally accepted standards for denoting
341 three-quarter flats, so LilyPond's symbol does not conform to any
346 @node Note names in other languages
347 @unnumberedsubsubsec Note names in other languages
349 There are predefined sets of note names for various other
350 languages. To use them, include the language specific init file.
351 For example, add @code{\include "english.ly"} to the top of the
352 input file. The available language files and the note names they
355 @cindex note names, other languages
358 @multitable @columnfractions .2 .6 .05 .05 .05 .05
361 @tab sharp @tab flat @tab double sharp @tab double flat
363 @tab c d e f g a bes b
364 @tab -is @tab -es @tab -isis @tab -eses
366 @tab c d e f g a bf b
367 @tab -s/-sharp @tab -f/-flat @tab -ss/-x/-sharpsharp
371 @tab -is @tab -es @tab -isis @tab -eses
374 @tab -iss/-is @tab -ess/-es @tab -ississ/-isis
378 @tab -iss @tab -ess @tab -ississ @tab -essess
381 @tab -is @tab -es @tab -isis @tab -eses
383 @tab do re mi fa sol la sib si
384 @tab -d @tab -b @tab -dd @tab -bb
386 @tab do re mi fa sol la sib si
387 @tab -d/-s @tab -b @tab -dd/-ss @tab -bb
389 @tab do re mi fa sol la sib si
390 @tab -s @tab -b @tab -ss @tab -bb
392 @tab do re mi fa sol la sib si
393 @tab -s @tab -b @tab -ss @tab -bb
395 @tab do re mi fa sol la sib si
396 @tab -k @tab -b @tab -kk @tab -bb
401 Note that in Dutch, German, Norwegian, and Swedish, the flat
402 alterations of@tie{}@code{a} like for example @code{aes} and
403 @code{aeses} are usually contracted to @code{as} and @code{ases}
404 (or more commonly @code{asas}). Sometimes only these contracted
405 names are defined in the corresponding language files (this also
406 applies to the suffixes for quartertones below).
409 Some music uses microtones whose alterations are fractions of a
410 @q{normal} sharp or flat. The note names for quartertones defined
411 in the various language files are listed in the following table.
412 Here the prefixes @q{semi-} and @q{sesqui-} mean @q{half} and
413 @q{one and a half}, respectively. For the other languages no
414 special names have been defined yet.
417 @c What about Turkish Maquam music and similar microtonal systems?
419 @c Note that the term "three-quarter-sharp/-flat" used in
420 @c lilypond's source code is actually misleading since the
421 @c alteration is in fact one and a half of a regular sharp/flat.
422 @c Whence the naming "sesqui-sharp/-flat" used below.
425 @multitable @columnfractions .2 .6 .05 .05 .05 .05
428 @tab semi- @tab semi- @tab sesqui- @tab sesqui-
431 @tab c d e f g a bes b
432 @tab -ih @tab -eh @tab -isih @tab -eseh
434 @tab c d e f g a bf b
435 @tab -qs @tab -qf @tab -tqs @tab -tqf
438 @tab -ih @tab -eh @tab -isih @tab -eseh
440 @c @tab c d e f g a b h
442 @c @tab c d e f g a b h
444 @tab do re mi fa sol la sib si
445 @tab -sd @tab -sb @tab -dsd @tab -bsb
447 @c @tab do re mi fa sol la sib si
449 @c @tab do re mi fa sol la sib si
451 @tab do re mi fa sol la sib si
452 @tab -sqt @tab -bqt @tab -stqt @tab -btqt
458 Snippets: @lsrdir{pitches}.
461 @node Changing multiple pitches
462 @subsection Changing multiple pitches
464 This section discusses how to modify pitches.
472 @unnumberedsubsubsec Octave check
476 In relative mode, it is easy to forget an octave changing mark.
477 Octave checks make such errors easier to correct. A note may be
478 followed by @code{=}@var{quotes} to indicate what its absolute
479 octave should be. In the following example,
482 \relative c'' @{ c g d='' @}
486 the@tie{}@code{d} will generate a warning, because
487 a@tie{}@code{d''} is expected, as indicated by the octave check
488 @code{=''}, but a @code{d'} is found, since both @code{c}-@code{g}
489 and @code{g}-@code{d} without octavation marks are descending
490 fourths. In the output, the octave is corrected to be
491 a@tie{}@code{d''} and the next note is calculated relative
492 to@tie{}@code{d''} instead of@tie{}@code{d'}.
494 There is also an octave check that produces no visible output.
498 @var{pitch} \octave @var{controlpitch}
502 where @var{pitch} is a regular note within a music expression in
503 relative mode and @var{controlpitch} is a pitch in absolute mode.
504 This checks that @var{pitch} lies within the octave surrounding
505 @var{controlpitch}, i.e. not more than a fourth above or below it.
506 If this is not the case, a warning is printed and the octave is
507 corrected. The @var{controlpitch} is not printed as a note.
509 In the example below, the first check passes without incident,
510 since the@tie{}@code{e} (in @code{relative} mode) is within the
511 octave range of@tie{}@code{a'}. However, the second check
512 produces a warning, since the@tie{}@code{e} is not within the
513 octave range of@tie{}@code{b'}. The warning message is printed,
514 and the octave is adjusted so that the following notes are in the
515 correct octave once again.
526 The octave of a note following an @code{\octave} check is
527 determined with respect to the note preceding it, as modified by
528 the outcome of the octave check. In the next fragment, the first
529 note, an@tie{}@code{e'}, lies within the octave of@tie{}@code{b},
530 and the @code{\octave} check passes successfully. The second note
531 is then calculated relative to (absolute)@tie{}@code{e'}, which
532 yields an@tie{}@code{a'}, above middle@tie{}C. In this case, the
533 check had no influence on the output of the piece.
535 The second @code{\octave} check fails: @code{a'}@tie{}is not
536 within the range of@tie{}@code{b}. A warning is issued, and the
537 last note is calculated relative to@tie{}@code{a}, not
538 to@tie{}@code{a'}, and we get a@tie{}@code{d'}. Without the last
539 @code{\octave} check, the last note would have been
542 @lilypond[verbatim,quote,ragged-right,fragment]
554 Snippets: @lsrdir{pitches}.
558 @unnumberedsubsubsec Transpose
561 @cindex transposition of pitches
564 A music expression can be transposed with @code{\transpose}. The
568 \transpose @var{from} @var{to} @var{musicexpr}
571 This means that @var{musicexpr} is transposed by the interval
572 between the pitches @var{from} and @var{to}: any note with pitch
573 @var{from} is changed to @var{to} and any other note is transposed
574 by the same interval.
576 Consider a piece written in the key of D-major. If this piece is
577 a little too low for its performer, it can be transposed up to
581 \transpose d e @dots{}
584 Consider a part written for violin (a C instrument). If this part
585 is to be played on the A clarinet (for which an A is notated as a
586 C, and thus sounds a minor third lower than notated), the
587 following transposition will produce the appropriate part:
590 \transpose a c @dots{}
593 @code{\transpose} will also transpose key signatures:
595 @lilypond[verbatim,quote,ragged-right]
596 mus = { \key d \major cis d fis g }
605 @code{\transpose} distinguishes between enharmonic pitches: both
606 @code{\transpose c cis} or @code{\transpose c des} will transpose
607 up half a tone. The first version will print sharps and the notes
608 will remain on the same scale step, the second version will print
609 flats on the scale step above.
611 @lilypond[verbatim,quote,ragged-right]
614 \transpose c cis { \relative c' \mus }
615 \transpose c des { \relative c' \mus }
619 @code{\transpose} may also be used to input written notes for a
620 transposing instrument. The previous examples show how to enter
621 pitches in C (or @notation{concert pitch}) and typeset them for a
622 transposing instrument, but the opposite is also possible if you
623 for example have a set of instrumental parts and want to print a
624 conductor's score. For example, when entering music for a B-flat
625 trumpet which begins on a notated E (concert D), one would write:
628 musicInBflat = @{ e4 @dots{} @}
629 \transpose c bes \musicInBflat
632 To print this music in F (e.g., rearranging to a french horn) you
633 would wrap the existing music with another @code{\transpose}
636 musicInBflat = @{ e4 @dots{} @}
637 \transpose f c @{ \transpose c bes \musicInBflat @}
642 Snippets: @lsrdir{pitches}, @lsr{scheme,
643 transpose-pitches-with-minimum-accidentals.ly}.
645 Internals reference: @internalsref{TransposedMusic}.
649 If you want to use both @code{\transpose} and @code{\relative},
650 you must put @code{\transpose} outside of @code{\relative}, since
651 @code{\relative} will have no effect on music that appears inside
652 a @code{\transpose}. See the previous example.
655 @node Displaying pitches
656 @subsection Displaying pitches
658 This section discusses how to alter the output of pitches.
664 * Instrument transpositions::
665 * Automatic accidentals::
670 @unnumberedsubsubsec Clef
684 @cindex mezzosoprano clef
685 @cindex baritone clef
686 @cindex varbaritone clef
689 The clef is set with the @code{\clef} @var{clefname}
692 @lilypond[verbatim,quote,ragged-right,fragment]
695 % treble clef by default
709 The clef can also be changed inside the staff:
711 @lilypond[verbatim,quote,ragged-right,fragment]
729 These same clef symbols are used in different positions on the
730 staff to change the range of notes shown by that staff. The
731 treble (alto, bass) clef is always positioned to show the line on
732 which a@tie{}@code{g'} (@code{c'}, @code{f}) note is printed.
734 Supported clefs include
736 @multitable @columnfractions .4 .6
737 @headitem Clef @tab Position
738 @item @code{treble, violin, G, G2} @tab
739 G clef (g') on 2nd line
740 @item @code{alto, C} @tab
741 C clef (c') on 3rd line
742 @item @code{tenor} @tab
743 C clef (c') on 4th line
744 @item @code{bass, F} @tab
745 F clef (f) on 4th line
746 @item @code{french} @tab
747 G clef (g') on 1st line, so-called French violin clef
748 @item @code{soprano} @tab
749 C clef (c') on 1st line
750 @item @code{mezzosoprano} @tab
751 C clef (c') on 2nd line
752 @item @code{baritone} @tab
753 C clef (c') on 5th line
754 @item @code{varbaritone} @tab
755 F clef (f) on 3rd line
756 @item @code{subbass} @tab
757 F clef (f) on 5th line
758 @item @code{percussion} @tab
760 @item @code{tab} @tab
764 Further supported clefs are described under @ref{Ancient clefs}.
766 By adding @code{_8} or @code{^8} to the clef name, the clef is
767 transposed one octave down or up, respectively, and @code{_15} and
768 @code{^15} transposes by two octaves. The argument @var{clefname}
769 must be enclosed in quotes when it contains underscores or digits.
772 @cindex choral tenor clef
774 @lilypond[verbatim,quote,ragged-right,fragment,relative=1]
780 When a clef change takes place at a line break the new clef symbol
781 is printed at both the end of the previous line and the beginning
782 of the new line by default. If the warning clef at the end of the
783 previous line in not required it can be suppressed by setting the
784 @code{explicitClefVisibility} Staff property to the value
785 @var{end-of-line-invisible}: @code{\set
786 Staff.explicitClefVisibility = #end-of-line-invisible} The default
787 behaviour can be recovered with @code{\unset
788 Staff.explicitClefVisibility}
790 The command @code{\clef "treble_8"} is equivalent to setting
791 @code{clefGlyph}, @code{clefPosition} (which controls the Y
792 position of the clef), @code{middleCPosition} and
793 @code{clefOctavation}. A clef is printed when either the
794 @code{clefGlyph}, @code{clefPosition} or @code{clefOctavation}
795 properties are changed. Note that changing the glyph, the
796 position of the clef, or the octavation, does not in itself change
797 the position of subsequent notes on the staff: the position of
798 middle C must also be specified to do this. The positional
799 parameters are relative to the staff centre line, positive numbers
800 displacing upwards, counting 1 for each line and space. The
801 clefOctavation value would normally be set to 7, -7, 15 or -15,
802 but other values are not invalid.
804 The following examples show the possibilities when setting these
805 properties manually. First some manual changes which preserve the
806 standard relative positioning of clefs and notes:
808 @lilypond[verbatim,quote,ragged-right]
810 % The default treble clef
812 % The standard bass clef
813 \set Staff.clefGlyph = #"clefs.F"
814 \set Staff.clefPosition = #2
815 \set Staff.middleCPosition = #6
818 \set Staff.clefGlyph = #"clefs.C"
819 \set Staff.clefPosition = #4
820 \set Staff.middleCPosition = #4
822 % The standard choral tenor clef
823 \set Staff.clefGlyph = #"clefs.G"
824 \set Staff.clefPosition = #-2
825 \set Staff.clefOctavation = #-7
826 \set Staff.middleCPosition = #1
828 % A non-standard clef
829 \set Staff.clefPosition = #0
830 \set Staff.clefOctavation = #0
831 \set Staff.middleCPosition = #-4
836 and some which do not:
838 @lilypond[verbatim,quote,ragged-right]
840 \set Staff.clefGlyph = #"clefs.F"
841 \set Staff.clefPosition = #2
843 \set Staff.clefGlyph = #"clefs.G"
845 \set Staff.clefGlyph = #"clefs.C"
847 \set Staff.clefOctavation = #7
849 \set Staff.clefOctavation = #0
850 \set Staff.clefPosition = #0
852 \set Staff.middleCPosition = #4
859 Notation Reference: @ref{Ancient clefs}.
861 Snippets: @lsrdir{pitches}.
863 Internals reference: @internalsref{Clef}.
867 @unnumberedsubsubsec Key signature
869 @cindex key signature
872 @warning{New users are sometimes confused about accidentals and
873 key signatures. In LilyPond, note names are the raw input; key
874 signatures and clefs determine how this raw input is displayed.
875 An unaltered note like@tie{}@code{c} means @q{C natural},
876 regardless of the key signature or clef. For more information,
877 see @rlearning{Accidentals and key signatures}.}
879 The key signature indicates the tonality in which a piece is
880 played. It is denoted by a set of alterations (flats or sharps)
881 at the start of the staff.
883 Setting or changing the key signature is done with the @code{\key}
887 \key @var{pitch} @var{type}
896 @funindex \mixolydian
902 Here, @var{type} should be @code{\major} or @code{\minor} to get
903 @var{pitch}-major or @var{pitch}-minor, respectively. You may
904 also use the standard mode names (also called @q{church modes}):
905 @code{\ionian}, @code{\locrian}, @code{\aeolian},
906 @code{\mixolydian}, @code{\lydian}, @code{\phrygian}, and
909 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
918 A natural sign is printed to cancel any previous accidentals.
921 @lilypond[verbatim,quote,ragged-right,fragment,relative=2]
926 \set Staff.printKeyCancellation = ##f
933 The @code{\key} command sets the context property
934 @code{Staff.keySignature}. Non-standard key signatures can be
935 specified by setting this property directly. The format of this
939 \set Staff.keySignature =
940 #'((@var{octave} . @var{step}) . @var{alter})
944 where, for each element in the list, @var{octave} specifies the
945 octave (0 being the octave from middle C to the B above),
946 @var{step} specifies the note within the octave (0 means C and 6
947 means B), and @var{alter} is @code{,SHARP} @code{,FLAT}
948 @code{,DOUBLE-SHARP} etc. (Note the leading comma.) Here is an
949 example of a possible key signature for generating a whole-tone
952 @lilypond[verbatim,quote,ragged-right]
955 \set Staff.keySignature =
956 #`(((0 . 3) . ,SHARP) ((0 . 5) . ,FLAT) ((0 . 6) . ,FLAT))
964 Music Glossary: @rglos{church mode}, @rglos{scordatura}.
966 Snippets: @lsrdir{pitches},
967 FIXME link to snippet 248,
968 FIXME link to a snippet about scordatura.
970 Internals reference: @internalsref{KeyCancellation},
971 @internalsref{KeySignature}, @internalsref{Key_engraver}.
974 @node Ottava brackets
975 @unnumberedsubsubsec Ottava brackets
983 @notation{Ottava brackets} introduce an extra transposition of an
984 octave for the staff:
986 @lilypond[verbatim,quote,ragged-right,fragment]
996 The @code{set-octavation} function also takes -1 (for 8va bassa),
997 2@tie{}(for 15ma), and -2 (for 15ma bassa) as arguments.
998 Internally the function sets the properties @code{ottavation}
999 (e.g., to @code{"8va"} or @code{"8vb"}) and
1000 @code{middleCPosition}. To override the text of the bracket, set
1001 @code{ottavation} after invoking @code{set-octavation}, i.e.,
1003 @lilypond[verbatim,quote,ragged-right]
1006 \set Staff.ottavation = #"8"
1014 Snippets: @lsrdir{pitches}.
1016 Internals reference: @internalsref{OttavaBracket}.
1021 @code{set-octavation} will get confused when clef changes happen
1022 during an octavation bracket.
1025 @node Instrument transpositions
1026 @unnumberedsubsubsec Instrument transpositions
1028 @cindex transposition, MIDI
1029 @cindex transposition, instrument
1031 The key of a @notation{transposing instrument} can be specified.
1032 This applies to many wind instruments, for example, clarinets
1033 (B-flat, A, and E-flat), horn (F) and trumpet (B-flat, C, D, and
1036 The transposition is entered with the command
1039 \transposition @var{pitch}
1043 where @var{pitch} specifies the key in which the instrument plays.
1044 For example, a part for B-flat clarinet would include
1050 This command sets the property @code{instrumentTransposition}.
1051 The value of this property is used for MIDI output and quotations.
1052 MIDI output is transposed to play at concert pitch, and cue notes
1053 and quotations are automatically transposed to the key of the
1054 instrument in which they are quoted. For more information about
1055 quotations, see @ref{Quoting other voices}.
1057 The pitch to use for @code{\transposition} should correspond to
1058 the real sound heard when a@tie{}@code{c'} written on the staff is
1059 played by the transposing instrument. @code{\transposition}
1060 should be used when the music is entered from an orchestral part
1061 written for the instrument. For example, in classical horn parts,
1062 the tuning of the instrument is often changed during a piece.
1063 Here are a few notes for a violin and a B-flat clarinet where the
1064 parts have been entered using the notes and key as they appear in
1065 each part or the conductor's score:
1067 @lilypond[verbatim,quote,ragged-right]
1069 \new Staff = "Violin I" {
1070 \set Staff.instrumentName = "Vln"
1071 \set Staff.midiInstrument="violin"
1074 g'4( c''8) r c'' r c''4
1076 \new Staff = "Clarinet" {
1077 \set Staff.instrumentName = "Cl"
1078 \set Staff.midiInstrument="clarinet"
1081 a'4( d''8) r d'' r d''4
1086 Without the @code{\transposition} command the MIDI output of this
1087 music would play the notes a tone apart; with it the notes are
1088 played correctly in unison.
1090 However, when entering the notes of a score in concert pitch, when
1091 all voices are entered in C, they may be prefaced by (the default)
1092 @code{\transposition c'}:
1106 to serve as a reminder that these parts are written in C.
1111 Notation Reference: @ref{Quoting other voices}, @ref{Transpose}.
1113 Snippets: @lsrdir{pitches}.
1116 @node Automatic accidentals
1117 @unnumberedsubsubsec Automatic accidentals
1118 @cindex automatic accidentals
1120 Common rules for typesetting accidentals have been placed in a
1121 function. This function is called as follows
1123 @funindex set-accidental-style
1127 #(set-accidental-style 'voice)
1132 @c TODO: check the context stuff below
1133 @c -does it *really* work?
1134 @c -the default contexts as specified in
1135 @c scm/music-function.scm seem to be different -vv
1137 If no context name is supplied, the accidental style applies to
1138 the @code{Staff} by default. Optionally, the function can take
1139 the context for which the style should be changed as a second
1143 #(set-accidental-style 'STYLE #('CONTEXT))
1146 The following accidental styles are supported. To demonstrate
1147 each style, we use the following example:
1149 @lilypond[verbatim,quote,ragged-right]
1153 cis'8 fis, d'4 <a cis>8 f bis4 |
1167 \voiceTwo \relative c' {
1171 \change Staff = down
1175 \change Staff = down
1176 <fis, a cis>4 gis <f a d>2 |
1183 \context Staff = "up" {
1184 %%% change the next line as desired:
1185 %#(set-accidental-style 'default)
1188 \context Staff = "down" {
1189 %%% change the next line as desired:
1190 %#(set-accidental-style 'default)
1197 @c don't use verbatim in this table.
1200 This is the default typesetting behavior. It corresponds to
1201 eighteenth-century common practice: Accidentals are remembered to
1202 the end of the measure in which they occur and only on their own
1203 octave. Thus, in the example below, no natural signs are printed
1204 before the@tie{}@code{b} in the second measure or the
1207 @lilypond[quote,ragged-right]
1211 cis'8 fis, d'4 <a cis>8 f bis4 |
1225 \voiceTwo \relative c' {
1229 \change Staff = down
1233 \change Staff = down
1234 <fis, a cis>4 gis <f a d>2 |
1241 \context Staff = "up" {
1242 %#(set-accidental-style 'default)
1245 \context Staff = "down" {
1246 %#(set-accidental-style 'default)
1254 The normal behavior is to remember the accidentals on
1255 Staff-level. This variable, however, typesets accidentals
1256 individually for each voice. Apart from that, the rule is similar
1259 As a result, accidentals from one voice do not get canceled in
1260 other voices, which is often an unwanted result: in the following
1261 example, it is hard to determine whether the second@tie{}@code{a}
1262 should be played natural or sharp. The @code{voice} option should
1263 therefore be used only if the voices are to be read solely by
1264 individual musicians. If the staff is to be used by one musician
1265 (e.g., a conductor or in a piano score) then @code{modern} or
1266 @code{modern-cautionary} should be used instead.
1269 @lilypond[quote,ragged-right]
1273 cis'8 fis, d'4 <a cis>8 f bis4 |
1287 \voiceTwo \relative c' {
1291 \change Staff = down
1295 \change Staff = down
1296 <fis, a cis>4 gis <f a d>2 |
1303 \context Staff = "up" {
1304 #(set-accidental-style 'voice)
1307 \context Staff = "down" {
1308 #(set-accidental-style 'voice)
1316 @funindex modern style accidentals
1318 This rule corresponds to the common practice in the twentieth
1319 century. It prints the same accidentals as @code{default}, with
1320 two exceptions which serve to avoid ambiguity: after temporary
1321 accidentals, cancellation marks are printed also in the following
1322 measure (for notes in the same octave) and, in the same measure,
1323 for notes in other octaves. Hence the naturals before
1324 the@tie{}@code{b} and the@tie{}@code{c} in the second measure of
1327 @lilypond[quote,ragged-right]
1331 cis'8 fis, d'4 <a cis>8 f bis4 |
1345 \voiceTwo \relative c' {
1349 \change Staff = down
1353 \change Staff = down
1354 <fis, a cis>4 gis <f a d>2 |
1361 \context Staff = "up" {
1362 #(set-accidental-style 'modern)
1365 \context Staff = "down" {
1366 #(set-accidental-style 'modern)
1373 @item modern-cautionary
1374 @funindex modern-cautionary
1376 This rule is similar to @code{modern}, but the @q{extra}
1377 accidentals (the ones not typeset by @code{default}) are typeset
1378 as cautionary accidentals. They are by default printed with
1379 parentheses, but they can also be printed in reduced size by
1380 defining the @code{cautionary-style} property of
1381 @code{AccidentalSuggestion}.
1384 @lilypond[quote,ragged-right]
1388 cis'8 fis, d'4 <a cis>8 f bis4 |
1402 \voiceTwo \relative c' {
1406 \change Staff = down
1410 \change Staff = down
1411 <fis, a cis>4 gis <f a d>2 |
1418 \context Staff = "up" {
1419 #(set-accidental-style 'modern-cautionary)
1422 \context Staff = "down" {
1423 #(set-accidental-style 'modern-cautionary)
1431 @funindex modern-voice
1433 This rule is used for multivoice accidentals to be read both by
1434 musicians playing one voice and musicians playing all voices.
1435 Accidentals are typeset for each voice, but they @emph{are}
1436 canceled across voices in the same @internalsref{Staff}. Hence,
1437 the@tie{}@code{a} in the last measure is canceled because the
1438 previous cancellation was in a different voice, and
1439 the@tie{}@code{d} in the lower staff is canceled because of the
1440 accidental in a different voice in the previous measure:
1443 @lilypond[quote,ragged-right]
1447 cis'8 fis, d'4 <a cis>8 f bis4 |
1461 \voiceTwo \relative c' {
1465 \change Staff = down
1469 \change Staff = down
1470 <fis, a cis>4 gis <f a d>2 |
1477 \context Staff = "up" {
1478 #(set-accidental-style 'modern-voice)
1481 \context Staff = "down" {
1482 #(set-accidental-style 'modern-voice)
1489 @funindex modern-voice-cautionary
1490 @item modern-voice-cautionary
1492 This rule is the same as @code{modern-voice}, but with the extra
1493 accidentals (the ones not typeset by @code{voice}) typeset
1494 as cautionaries. Even though all accidentals typeset by
1495 @code{default} @emph{are} typeset by this variable,
1496 some of them are typeset as cautionaries.
1498 @lilypond[quote,ragged-right]
1502 cis'8 fis, d'4 <a cis>8 f bis4 |
1516 \voiceTwo \relative c' {
1520 \change Staff = down
1524 \change Staff = down
1525 <fis, a cis>4 gis <f a d>2 |
1532 \context Staff = "up" {
1533 #(set-accidental-style 'modern-voice-cautionary)
1536 \context Staff = "down" {
1537 #(set-accidental-style 'modern-voice-cautionary)
1545 @funindex piano accidentals
1547 This rule reflects twentieth-century practice for piano notation.
1548 Its behavior is very similar to @code{modern} style, but here
1549 accidentals also get canceled across the staves in the same
1550 GrandStaff or PianoStaff, hence all the cancellations of the final
1553 This accidental style takes place in a GrandStaff context.
1554 However, you have to explicitly set it for @emph{each} individual
1555 Staff of the GrandStaff:
1559 \new GrandStaff @{ <<
1560 \new Staff = "up" @{ <<
1561 #(set-accidental-style 'piano)
1564 \new Staff = "down" @{ <<
1565 #(set-accidental-style 'piano)
1571 @lilypond[quote,ragged-right]
1575 cis'8 fis, d'4 <a cis>8 f bis4 |
1589 \voiceTwo \relative c' {
1593 \change Staff = down
1597 \change Staff = down
1598 <fis, a cis>4 gis <f a d>2 |
1605 \context Staff = "up" {
1606 #(set-accidental-style 'piano)
1609 \context Staff = "down" {
1610 #(set-accidental-style 'piano)
1617 @item piano-cautionary
1618 @funindex #(set-accidental-style 'piano-cautionary)
1620 Same as @code{#(set-accidental-style 'piano)} but with the extra
1621 accidentals typeset as cautionaries.
1623 @lilypond[quote,ragged-right]
1627 cis'8 fis, d'4 <a cis>8 f bis4 |
1641 \voiceTwo \relative c' {
1645 \change Staff = down
1649 \change Staff = down
1650 <fis, a cis>4 gis <f a d>2 |
1657 \context Staff = "up" {
1658 #(set-accidental-style 'piano-cautionary)
1661 \context Staff = "down" {
1662 #(set-accidental-style 'piano-cautionary)
1670 @funindex no-reset accidental style
1672 This is the same as @code{default} but with accidentals lasting
1673 @q{forever} and not only within the same measure:
1675 @lilypond[quote,ragged-right]
1679 cis'8 fis, d'4 <a cis>8 f bis4 |
1693 \voiceTwo \relative c' {
1697 \change Staff = down
1701 \change Staff = down
1702 <fis, a cis>4 gis <f a d>2 |
1709 \context Staff = "up" {
1710 #(set-accidental-style 'no-reset)
1713 \context Staff = "down" {
1714 #(set-accidental-style 'no-reset)
1722 @funindex forget accidental style
1724 This is the opposite of @code{no-reset}: Accidentals are not
1725 remembered at all -- and hence all accidentals are typeset
1726 relative to the key signature, regardless of what was before in
1729 @lilypond[quote,ragged-right]
1733 cis'8 fis, d'4 <a cis>8 f bis4 |
1747 \voiceTwo \relative c' {
1751 \change Staff = down
1755 \change Staff = down
1756 <fis, a cis>4 gis <f a d>2 |
1763 \context Staff = "up" {
1764 #(set-accidental-style 'forget)
1767 \context Staff = "down" {
1768 #(set-accidental-style 'forget)
1779 Snippets: @lsrdir{pitches}.
1781 Internals reference: @internalsref{Accidental_engraver},
1782 @internalsref{Accidental}, @internalsref{AccidentalSuggestion},
1783 @internalsref{AccidentalPlacement}, @internalsref{GrandStaff} and
1784 @internalsref{PianoStaff}.
1789 Simultaneous notes are considered to be entered in sequential
1790 mode. This means that in a chord the accidentals are typeset as
1791 if the notes in the chord happen one at a time, in the order in
1792 which they appear in the input file. This is a problem when
1793 accidentals in a chord depend on each other, which does not happen
1794 for the default accidental style. The problem can be solved by
1795 manually inserting@tie{}@code{!} and@tie{}@code{?} for the
1800 @unnumberedsubsubsec Ambitus
1803 The term @notation{ambitus} or @notation{ambit} denotes a range of
1804 pitches for a given voice in a part of music. It may also denote
1805 the pitch range that a musical instrument is capable of playing.
1806 Ambits are printed on vocal parts, so performers can easily
1807 determine if it meets their capabilities.
1809 Ambits are denoted at the beginning of a piece near the initial
1810 clef. The range is graphically specified by two note heads that
1811 represent the minimum and maximum pitch. To print such ambits,
1812 add the @code{Ambitus_engraver} to the @code{Voice} context, for
1815 @lilypond[verbatim,quote,ragged-right]
1819 \consists Ambitus_engraver
1823 \relative \new Staff {
1828 If you have multiple voices in a single staff and you want a
1829 single ambitus per staff rather than per voice, add the
1830 @code{Ambitus_engraver} to the @code{Staff} context rather than to
1831 the @code{Voice} context:
1833 @lilypond[verbatim,quote,ragged-right]
1835 \consists "Ambitus_engraver"
1839 \remove "Ambitus_engraver"
1841 \override Ambitus #'X-offset = #-1.0
1846 \remove "Ambitus_engraver"
1855 This example uses one advanced feature,
1858 \override Ambitus #'X-offset = #-1.0
1862 This code moves the ambitus to the left. The same effect could
1863 have been achieved with @code{extra-offset}, but then the
1864 formatting system would not reserve space for the moved object.
1868 Snippets: @lsrdir{pitches},
1869 @lsr{vocal,ambitus@/.ly}.
1871 Internals reference: @internalsref{Ambitus},
1872 @internalsref{AmbitusLine}, @internalsref{AmbitusNoteHead},
1873 @internalsref{AmbitusAccidental}, @internalsref{Ambitus_engraver},
1874 @internalsref{Staff} and @internalsref{Voice}.
1879 There is no collision handling in the case of multiple per-voice
1884 @subsection Note heads
1887 * Easy notation note heads::
1888 * Shape note heads::
1890 * Special noteheads::
1893 @node Easy notation note heads
1894 @unnumberedsubsubsec Easy notation note heads
1896 @cindex note heads, practice
1897 @cindex note heads, easy notation
1898 @cindex easy notation
1901 The @q{easy play} note head includes a note name inside the head.
1902 It is used in music for beginners
1904 @lilypond[verbatim,quote,ragged-right,fragment,staffsize=26]
1910 The command @code{\setEasyHeads} overrides settings for the
1911 @code{NoteHead} object. To make the letters readable, it
1912 has to be printed in a large font size. To print with a larger
1913 font, see @ref{Setting the staff size}.
1917 @funindex \setEasyHeads
1918 @code{\setEasyHeads}
1922 Snippets: @lsrdir{pitches},
1924 Internals reference: @internalsref{NoteHead}.
1927 @node Shape note heads
1928 @unnumberedsubsubsec Shape note heads
1930 @cindex note heads, shape
1932 In shape note head notation, the shape of the note head
1933 corresponds to the harmonic function of a note in the scale. This
1934 notation was popular in nineteenth-century American song books.
1936 Shape note heads can be produced by setting @code{\aikenHeads} or
1937 @code{\sacredHarpHeads}, depending on the style desired.
1939 @lilypond[verbatim,fragment,relative=1]
1946 Shapes are typeset according to the step in the scale, where
1947 the base of the scale is determined by the @code{\key} command.
1950 @funindex shapeNoteStyles
1951 @funindex \aikenHeads
1952 @funindex \sacredHarpHeads
1954 Shape note heads are implemented through the
1955 @code{shapeNoteStyles} property. Its value is a vector of
1956 symbols. The k-th element indicates the style to use for the k-th
1957 step of the scale. Arbitrary combinations are possible, e.g.:
1959 @lilypond[verbatim,fragment,relative=1]
1960 \set shapeNoteStyles =
1961 ##(cross triangle fa #f mensural xcircle diamond)
1967 Snippets: @lsrdir{pitches}.
1971 @unnumberedsubsubsec Improvisation
1973 Improvisation is sometimes denoted with slashed note heads. Such
1974 note heads can be created by adding a @code{Pitch_squash_engraver}
1975 to the @code{Voice} context. Then, the following command
1978 \set squashedPosition = #0
1979 \override NoteHead #'style = #'slash
1983 switches on the slashes.
1985 There are shortcuts @code{\improvisationOn} (and an accompanying
1986 @code{\improvisationOff}) for this command sequence. They are
1987 used in the following example:
1989 @lilypond[verbatim,quote,ragged-right]
1991 \consists Pitch_squash_engraver
1993 e8 e g a a16(bes)(a8) g
2005 Snippets: @lsrdir{pitches}.
2007 Internals reference: @internalsref{Pitch_squash_engraver} and
2008 @internalsref{Voice}.
2010 @node Special noteheads
2011 @unnumberedsubsubsec Special noteheads
2013 @cindex note heads, special
2015 Different noteheads are used by various instruments for various
2016 meanings -- crosses are used for @q{parlato} with vocalists,
2017 stopped notes on guitar; diamonds are used for harmonics on string
2018 instruments, etc. There is a shorthand (@code{\harmonic}) for
2019 diamond shapes; the other notehead styles are produced by tweaking
2022 @lilypond[verbatim,quote,ragged-right,fragment,relative=1]
2024 \override NoteHead #'style = #'cross
2026 \revert NoteHead #'style
2027 e d <c f\harmonic> <d a'\harmonic>
2031 To see all notehead styles, please see @ref{Note head styles}.
2036 Snippets: @lsrdir{pitches}.
2038 Internals reference: @internalsref{NoteHead}.