]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/notation/pitches.itely
Merge branch 'stable/2.16' into staging
[lilypond.git] / Documentation / notation / pitches.itely
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3    Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
4
5     When revising a translation, copy the HEAD committish of the
6     version that you are working on.  For details, see the Contributors'
7     Guide, node Updating translation committishes..
8 @end ignore
9
10 @c \version "2.16.0"
11
12
13 @node Pitches
14 @section Pitches
15
16 @lilypondfile[quote]{pitches-headword.ly}
17
18 This section discusses how to specify the pitch of notes.  There
19 are three steps to this process: input, modification, and output.
20
21 @menu
22 * Writing pitches::
23 * Changing multiple pitches::
24 * Displaying pitches::
25 * Note heads::
26 @end menu
27
28
29 @node Writing pitches
30 @subsection Writing pitches
31
32 This section discusses how to input pitches.  There are two
33 different ways to place notes in octaves: absolute and relative
34 mode.  In most cases, relative mode will be more convenient.
35
36 @menu
37 * Absolute octave entry::
38 * Relative octave entry::
39 * Accidentals::
40 * Note names in other languages::
41 @end menu
42
43
44 @node Absolute octave entry
45 @unnumberedsubsubsec Absolute octave entry
46
47 @cindex pitch names
48 @cindex pitches
49 @cindex absolute
50 @cindex absolute octave specification
51 @cindex octave specification, absolute
52 @cindex absolute octave entry
53 @cindex octave entry, absolute
54
55 A pitch name is specified using lowercase letters@tie{}@code{a}
56 through@tie{}@code{g}.  The note names @code{c} to @code{b} are
57 engraved in the octave below middle C.
58
59 @c don't use c' here.
60 @lilypond[verbatim,quote]
61 {
62   \clef bass
63   c4 d e f
64   g4 a b c
65   d4 e f g
66 }
67 @end lilypond
68
69 @cindex octave changing mark
70
71 @funindex '
72 @funindex ,
73
74 Other octaves may be specified with a single quote@tie{}(@code{'})
75 or comma@tie{}(@code{,}) character.  Each@tie{}@code{'} raises the
76 pitch by one octave; each@tie{}@code{,} lowers the pitch by an
77 octave.
78
79 @lilypond[verbatim,quote]
80 {
81   \clef treble
82   c'4 c'' e' g
83   d''4 d' d c
84   \clef bass
85   c,4 c,, e, g
86   d,,4 d, d c
87 }
88 @end lilypond
89
90 @seealso
91 Music Glossary:
92 @rglos{Pitch names}.
93
94 Snippets:
95 @rlsr{Pitches}.
96
97
98 @node Relative octave entry
99 @unnumberedsubsubsec Relative octave entry
100
101 @cindex relative
102 @cindex relative octave entry
103 @cindex octave entry, relative
104 @cindex relative octave specification
105 @cindex octave specification, relative
106
107 @funindex relative
108 @funindex \relative
109
110 When octaves are specified in absolute mode it is easy to
111 accidentally put a pitch in the wrong octave.  Relative octave
112 mode reduces these errors since most of the time it is not
113 necessary to indicate any octaves at all.  Furthermore, in
114 absolute mode a single mistake may be difficult to spot, while in
115 relative mode a single error puts the rest of the piece off by one
116 octave.
117
118 @example
119 \relative @var{startpitch} @var{musicexpr}
120 @end example
121
122 In relative mode, each note is assumed to be as close to the
123 previous note as possible.  This means that the octave of each
124 pitch inside @code{@var{musicexpr}} is calculated as follows:
125
126 @itemize
127 @item
128 If no octave changing mark is used on a pitch, its octave is
129 calculated so that the interval with the previous note is less
130 than a fifth.  This interval is determined without considering
131 accidentals.
132
133 @item
134 An octave changing mark@tie{}@code{'} or@tie{}@code{,} can be
135 added to respectively raise or lower a pitch by an extra octave,
136 relative to the pitch calculated without an octave mark.
137
138 @item
139 Multiple octave changing marks can be used.  For example,
140 @code{''}@tie{}and@tie{}@code{,,} will alter the pitch by two
141 octaves.
142
143 @item
144 The pitch of the first note is relative to
145 @code{@var{startpitch}}.  @code{@var{startpitch}} is specified in
146 absolute octave mode, and it is recommended that it be a octave of
147 @code{c}.
148 @end itemize
149
150 Here is the relative mode shown in action:
151
152 @lilypond[verbatim,quote]
153 \relative c {
154   \clef bass
155   c d e f
156   g a b c
157   d e f g
158 }
159 @end lilypond
160
161 Octave changing marks are used for intervals greater than a
162 fourth:
163
164 @lilypond[verbatim,quote]
165 \relative c'' {
166   c g c f,
167   c' a, e'' c
168 }
169 @end lilypond
170
171 A note sequence without a single octave mark can nevertheless span
172 large intervals:
173
174 @lilypond[verbatim,quote]
175 \relative c {
176   c f b e
177   a d g c
178 }
179 @end lilypond
180
181 When @code{\relative} blocks are nested, the innermost
182 @code{\relative} block applies.
183
184 @lilypond[verbatim,quote]
185 \relative c' {
186   c d e f
187   \relative c'' {
188     c d e f
189   }
190 }
191 @end lilypond
192
193 @code{\relative} has no effect on @code{\chordmode} blocks.
194
195 @lilypond[verbatim,quote]
196 \new Staff {
197   \relative c''' {
198     \chordmode { c1 }
199   }
200   \chordmode { c1 }
201 }
202 @end lilypond
203
204 @code{\relative} is not allowed inside of @code{\chordmode} blocks.
205
206 Music inside a @code{\transpose} block is absolute unless a
207 @code{\relative} is included.
208
209 @lilypond[verbatim,quote]
210 \relative c' {
211   d e
212   \transpose f g {
213     d e
214     \relative c' {
215       d e
216     }
217   }
218 }
219 @end lilypond
220
221
222 @cindex chords and relative octave entry
223 @cindex relative octave entry and chords
224
225 If the preceding item is a chord, the first note of the chord is
226 used as the reference point for the octave placement of a
227 following note or chord.  Inside chords, the next note is always
228 relative to the preceding one.  Examine the next example
229 carefully, paying attention to the @code{c} notes.
230
231 @lilypond[verbatim,quote]
232 \relative c' {
233   c
234   <c e g>
235   <c' e g'>
236   <c, e, g''>
237 }
238 @end lilypond
239
240 As explained above, the octave of pitches is calculated only with
241 the note names, regardless of any alterations.  Therefore, an
242 E-double-sharp following a B will be placed higher, while an
243 F-double-flat will be placed lower.  In other words, a
244 double-augmented fourth is considered a smaller interval than a
245 double-diminished fifth, regardless of the number of semitones
246 that each interval contains.
247
248 @lilypond[verbatim,quote]
249 \relative c'' {
250   c2 fis
251   c2 ges
252   b2 eisis
253   b2 feses
254 }
255 @end lilypond
256
257 One consequence of these rules is that the first note inside
258 @code{@w{\relative f}} music is interpreted just the same as
259 if it was written in absolute pitch mode.
260
261 @seealso
262 Music Glossary:
263 @rglos{fifth},
264 @rglos{interval},
265 @rglos{Pitch names}.
266
267 Notation Reference:
268 @ref{Octave checks}.
269
270 Snippets:
271 @rlsr{Pitches}.
272
273 Internals Reference:
274 @rinternals{RelativeOctaveMusic}.
275
276 @cindex relative octave entry and transposition
277 @cindex transposition and relative octave entry
278
279 @funindex \transpose
280 @funindex transpose
281 @funindex \chordmode
282 @funindex chordmode
283 @funindex \relative
284 @funindex relative
285
286 @c DEPRECATED
287 If no @code{@var{startpitch}} is specified for @code{\relative},
288 then@tie{}@code{c'} is assumed.  However, this is a deprecated
289 option and may disappear in future versions, so its use is
290 discouraged.
291
292
293 @node Accidentals
294 @unnumberedsubsubsec Accidentals
295
296 @cindex accidental
297 @cindex key signature
298 @cindex clef
299
300 @c duplicated in Key signature and Accidentals
301 @warning{New users are sometimes confused about accidentals and
302 key signatures.  In LilyPond, note names are the raw input; key
303 signatures and clefs determine how this raw input is displayed.
304 An unaltered note like@tie{}@code{c} means @q{C natural},
305 regardless of the key signature or clef.  For more information,
306 see @rlearning{Accidentals and key signatures}.}
307
308 @cindex note names, Dutch
309 @cindex note names, default
310 @cindex default note names
311 @cindex sharp
312 @cindex flat
313 @cindex double sharp
314 @cindex sharp, double
315 @cindex double flat
316 @cindex flat, double
317 @cindex natural sign
318 @cindex natural pitch
319
320 A @notation{sharp} pitch is made by adding @code{is} to the note
321 name, and a @notation{flat} pitch by adding @code{es}.  As you
322 might expect, a @notation{double sharp} or @notation{double flat}
323 is made by adding @code{isis} or @code{eses}.  This syntax is
324 derived from Dutch note naming conventions.  To use other names
325 for accidentals, see @ref{Note names in other languages}.
326
327 @lilypond[verbatim,quote,relative=2]
328 ais1 aes aisis aeses
329 @end lilypond
330
331 A natural will cancel the effect of an accidental or key
332 signature.  However, naturals are not encoded into the note name
333 syntax with a suffix; a natural pitch is shown as a simple note
334 name:
335
336 @lilypond[verbatim,quote,relative=2]
337 a4 aes a2
338 @end lilypond
339
340 @cindex quarter tones
341 @cindex semi-flats
342 @cindex semi-sharps
343
344 Quarter tones may be added; the following is a series of Cs with
345 increasing pitches:
346
347 @lilypond[verbatim,quote,relative=2]
348 ceseh1 ces ceh c cih cis cisih
349 @end lilypond
350
351
352
353 @cindex accidental, reminder
354 @cindex accidental, cautionary
355 @cindex accidental, parenthesized
356 @cindex reminder accidental
357 @cindex cautionary accidental
358 @cindex parenthesized accidental
359
360 @funindex ?
361 @funindex !
362
363
364 Normally accidentals are printed automatically, but you may also
365 print them manually.  A reminder accidental can be forced by
366 adding an exclamation mark@tie{}@code{!} after the pitch.  A
367 cautionary accidental (i.e., an accidental within parentheses) can
368 be obtained by adding the question mark@tie{}@code{?} after the
369 pitch.  These extra accidentals can also be used to produce
370 natural signs.
371
372 @lilypond[verbatim,quote,relative=2]
373 cis cis cis! cis? c c c! c?
374 @end lilypond
375
376 @cindex accidental on tied note
377 @cindex tied note, accidental
378
379 Accidentals on tied notes are only printed at the beginning of a
380 new system:
381
382 @lilypond[verbatim,quote,relative=2]
383 cis1~ cis~
384 \break
385 cis
386 @end lilypond
387
388
389 @snippets
390
391 @lilypondfile[verbatim,quote,texidoc,doctitle,ragged-right]
392 {hiding-accidentals-on-tied-notes-at-the-start-of-a-new-system.ly}
393
394 @lilypondfile[verbatim,quote,texidoc,doctitle]
395 {preventing-extra-naturals-from-being-automatically-added.ly}
396
397 @seealso
398 Music Glossary:
399 @rglos{sharp},
400 @rglos{flat},
401 @rglos{double sharp},
402 @rglos{double flat},
403 @rglos{Pitch names},
404 @rglos{quarter tone}.
405
406 Learning Manual:
407 @rlearning{Accidentals and key signatures}.
408
409 Notation Reference:
410 @ref{Automatic accidentals},
411 @ref{Annotational accidentals (musica ficta)},
412 @ref{Note names in other languages}.
413
414 Snippets:
415 @rlsr{Pitches}.
416
417 Internals Reference:
418 @rinternals{Accidental_engraver},
419 @rinternals{Accidental},
420 @rinternals{AccidentalCautionary},
421 @rinternals{accidental-interface}.
422
423 @cindex accidental, quarter-tone
424 @cindex quarter-tone accidental
425
426 @knownissues
427 There are no generally accepted standards for denoting
428 quarter-tone accidentals, so LilyPond's symbol does not conform to
429 any standard.
430
431
432 @node Note names in other languages
433 @unnumberedsubsubsec Note names in other languages
434
435 @cindex note names, other languages
436 @cindex pitch names, other languages
437 @cindex language, note names in other
438 @cindex language, pitch names in other
439
440 There are predefined sets of note and accidental names for various
441 other languages.  Selecting the note name language is usually done
442 at the beginning of the file; the following example is written
443 using Italian note names:
444
445 @lilypond[quote,verbatim]
446 \language "italiano"
447
448 \relative do' {
449   do re mi sib
450 }
451 @end lilypond
452
453 The available languages and the note names they define are:
454
455 @quotation
456 @multitable {@code{nederlands}} {do re mi fa sol la sib si}
457 @headitem Language
458   @tab Note Names
459 @item @code{nederlands}
460   @tab c d e f g a bes b
461 @item @code{catalan}
462   @tab do re mi fa sol la sib si
463 @item @code{deutsch}
464   @tab c d e f g a b h
465 @item @code{english}
466   @tab c d e f g a bf b
467 @item @code{espanol}
468   @tab do re mi fa sol la sib si
469 @item @code{italiano}
470   @tab do re mi fa sol la sib si
471 @item @code{norsk}
472   @tab c d e f g a b h
473 @item @code{portugues}
474   @tab do re mi fa sol la sib si
475 @item @code{suomi}
476   @tab c d e f g a b h
477 @item @code{svenska}
478   @tab c d e f g a b h
479 @item @code{vlaams}
480   @tab do re mi fa sol la sib si
481 @end multitable
482 @end quotation
483
484 In addition to note names, accidental suffixes may
485 also vary depending on the language:
486
487 @quotation
488 @multitable {@code{nederlands}} {-s/-sharp} {-ess/-es} {-ss/-x/-sharpsharp} {-essess/-eses}
489 @headitem Language
490   @tab sharp @tab flat @tab double sharp @tab double flat
491 @item @code{nederlands}
492   @tab -is @tab -es @tab -isis @tab -eses
493 @item @code{catalan}
494   @tab -d/-s @tab -b @tab -dd/-ss @tab -bb
495 @item @code{deutsch}
496   @tab -is @tab -es @tab -isis @tab -eses
497 @item @code{english}
498   @tab -s/-sharp @tab -f/-flat @tab -ss/-x/-sharpsharp
499     @tab -ff/-flatflat
500 @item @code{espanol}
501   @tab -s @tab -b @tab -ss/-x @tab -bb
502 @item @code{italiano}
503   @tab -d @tab -b @tab -dd @tab -bb
504 @item @code{norsk}
505   @tab -iss/-is @tab -ess/-es @tab -ississ/-isis
506     @tab -essess/-eses
507 @item @code{portugues}
508   @tab -s @tab -b @tab -ss @tab -bb
509 @item @code{suomi}
510   @tab -is @tab -es @tab -isis @tab -eses
511 @item @code{svenska}
512   @tab -iss @tab -ess @tab -ississ @tab -essess
513 @item @code{vlaams}
514   @tab -k @tab -b @tab -kk @tab -bb
515 @end multitable
516 @end quotation
517
518 In Dutch, @code{aes} is contracted to @code{as}, but both forms
519 are accepted in LilyPond.  Similarly, both @code{es} and
520 @code{ees} are accepted.  This also applies to
521 @code{aeses}@tie{}/@tie{}@code{ases} and
522 @code{eeses}@tie{}/@tie{}@code{eses}.  Sometimes only these
523 contracted names are defined in the corresponding language files.
524
525 @lilypond[verbatim,quote,relative=2]
526 a2 as e es a ases e eses
527 @end lilypond
528
529
530 @cindex microtones
531 @cindex semi-sharp
532 @cindex semi-flat
533 @cindex sesqui-sharp
534 @cindex sesqui-flat
535
536 Some music uses microtones whose alterations are fractions of a
537 @q{normal} sharp or flat.  The following table lists note names
538 for quarter-tone accidentals in various languages; here the prefixes
539 @notation{semi-} and @notation{sesqui-} respectively
540 mean @q{half} and @q{one and a half}.  Languages that do not
541 appear in this table do not provide special note names yet.
542
543 @quotation
544 @multitable {@code{nederlands}} {@b{semi-sharp}} {@b{semi-flat}} {@b{sesqui-sharp}} {@b{sesqui-flat}}
545 @headitem Language
546   @tab semi-sharp @tab semi-flat @tab sesqui-sharp @tab sesqui-flat
547
548 @item @code{nederlands}
549   @tab -ih @tab -eh @tab -isih @tab -eseh
550 @item @code{deutsch}
551   @tab -ih @tab -eh @tab -isih @tab -eseh
552 @item @code{english}
553   @tab -qs @tab -qf @tab -tqs @tab -tqf
554 @item @code{espanol}
555   @tab -cs @tab -cb @tab -tcs @tab -tcb
556 @item @code{italiano}
557   @tab -sd @tab -sb @tab -dsd @tab -bsb
558 @item @code{portugues}
559   @tab -sqt @tab -bqt @tab -stqt @tab -btqt
560 @end multitable
561 @end quotation
562
563 Most languages presented here are commonly associated with
564 Western classical music, also referred to as
565 @notation{Common Practice Period}.  However, alternate
566 pitches and tuning systems are also supported: see
567 @ref{Common notation for non-Western music}.
568
569 @seealso
570 Music Glossary:
571 @rglos{Pitch names},
572 @rglos{Common Practice Period}.
573
574 Notation Reference:
575 @ref{Common notation for non-Western music}.
576
577 Installed Files:
578 @file{scm/define-note-names.scm}.
579
580 Snippets:
581 @rlsr{Pitches}.
582
583
584 @node Changing multiple pitches
585 @subsection Changing multiple pitches
586
587 This section discusses how to modify pitches.
588
589 @menu
590 * Octave checks::
591 * Transpose::
592 * Inversion::
593 * Retrograde::
594 * Modal transformations::
595 @end menu
596
597 @node Octave checks
598 @unnumberedsubsubsec Octave checks
599
600 @cindex octave correction
601 @cindex octave check
602 @cindex control pitch
603
604 @funindex =
605 @funindex \octaveCheck
606 @funindex octaveCheck
607 @funindex controlpitch
608
609 In relative mode, it is easy to forget an octave changing mark.
610 Octave checks make such errors easier to find by displaying a
611 warning and correcting the octave if a note is found in an
612 unexpected octave.
613
614 To check the octave of a note, specify the absolute octave after
615 the @code{=}@tie{}symbol.  This example will generate a warning
616 (and change the pitch) because the second note is the absolute
617 octave @code{d''} instead of @code{d'} as indicated by the octave
618 correction.
619
620 @lilypond[verbatim,quote]
621 \relative c'' {
622   c2 d='4 d
623   e2 f
624 }
625 @end lilypond
626
627 The octave of notes may also be checked with the
628 @code{\octaveCheck@tie{}@var{controlpitch}} command.
629 @code{@var{controlpitch}} is specified in absolute mode.  This
630 checks that the interval between the previous note and the
631 @code{@var{controlpitch}} is within a fourth (i.e., the normal
632 calculation of relative mode).  If this check fails, a warning is
633 printed, but the previous note is not changed.  Future notes are
634 relative to the @code{@var{controlpitch}}.
635
636 @lilypond[verbatim,quote]
637 \relative c'' {
638   c2 d
639   \octaveCheck c'
640   e2 f
641 }
642 @end lilypond
643
644 Compare the two bars below.  The first and third @code{\octaveCheck}
645 checks fail, but the second one does not fail.
646
647 @lilypond[verbatim,quote]
648 \relative c'' {
649   c4 f g f
650
651   c4
652   \octaveCheck c'
653   f
654   \octaveCheck c'
655   g
656   \octaveCheck c'
657   f
658 }
659 @end lilypond
660
661 @seealso
662 Snippets:
663 @rlsr{Pitches}.
664
665 Internals Reference:
666 @rinternals{RelativeOctaveCheck}.
667
668
669 @node Transpose
670 @unnumberedsubsubsec Transpose
671
672 @cindex transpose
673 @cindex transposing
674 @cindex transposition
675 @cindex transposition of pitches
676 @cindex transposition of notes
677 @cindex pitches, transposition of
678 @cindex notes, transposition of
679
680 @funindex \transpose
681 @funindex transpose
682
683 A music expression can be transposed with @code{\transpose}.  The
684 syntax is
685
686 @example
687 \transpose @var{frompitch} @var{topitch} @var{musicexpr}
688 @end example
689
690 @noindent
691 This means that @code{@var{musicexpr}} is transposed by the
692 interval between the pitches @code{@var{frompitch}} and
693 @code{@var{topitch}}: any note with pitch @code{@var{frompitch}}
694 is changed to @code{@var{topitch}} and any other note is
695 transposed by the same interval.  Both pitches are entered in
696 absolute mode.
697
698 @warning{Music inside a @code{@bs{}transpose} block is absolute
699 unless a @code{@bs{}relative} is included in the block.}
700
701 Consider a piece written in the key of D-major.  It can be
702 transposed up to E-major; note that the key signature is
703 automatically transposed as well.
704
705 @lilypond[verbatim,quote]
706 \transpose d e {
707   \relative c' {
708     \key d \major
709     d4 fis a d
710   }
711 }
712 @end lilypond
713
714 @cindex transposing instruments
715 @cindex instruments, transposing
716
717 If a part written in C (normal @notation{concert pitch}) is to be
718 played on the A clarinet (for which an A is notated as a C and
719 thus sounds a minor third lower than notated), the appropriate
720 part will be produced with:
721
722 @lilypond[verbatim,quote]
723 \transpose a c' {
724   \relative c' {
725     \key c \major
726     c4 d e g
727   }
728 }
729 @end lilypond
730
731 @noindent
732 Note that we specify @w{@code{\key c \major}} explicitly.  If we
733 do not specify a key signature, the notes will be transposed but
734 no key signature will be printed.
735
736 @code{\transpose} distinguishes between enharmonic pitches: both
737 @w{@code{\transpose c cis}} or @w{@code{\transpose c des}} will
738 transpose up a semitone.  The first version will print sharps and
739 the notes will remain on the same scale step, the second version
740 will print flats on the scale step above.
741
742 @lilypond[verbatim,quote]
743 music = \relative c' { c d e f }
744 \new Staff {
745   \transpose c cis { \music }
746   \transpose c des { \music }
747 }
748 @end lilypond
749
750
751 @code{\transpose} may also be used in a different way, to input
752 written notes for a transposing instrument.  The previous examples
753 show how to enter pitches in C (or @notation{concert pitch}) and
754 typeset them for a transposing instrument, but the opposite is
755 also possible if you for example have a set of instrumental parts
756 and want to print a conductor's score.  For example, when entering
757 music for a B-flat trumpet that begins on a notated E (concert D),
758 one would write:
759
760 @example
761 musicInBflat = @{ e4 @dots{} @}
762 \transpose c bes, \musicInBflat
763 @end example
764
765 @noindent
766 To print this music in F (e.g., rearranging to a French horn) you
767 could wrap the existing music with another @code{\transpose}:
768
769 @example
770 musicInBflat = @{ e4 @dots{} @}
771 \transpose f c' @{ \transpose c bes, \musicInBflat @}
772 @end example
773
774 @noindent
775 For more information about transposing instruments,
776 see @ref{Instrument transpositions}.
777
778
779 @snippets
780
781 @lilypondfile[verbatim,quote,texidoc,doctitle]
782 {transposing-pitches-with-minimum-accidentals-smart-transpose.ly}
783
784 @seealso
785 Notation Reference:
786 @ref{Instrument transpositions},
787 @ref{Inversion},
788 @ref{Modal transformations},
789 @ref{Relative octave entry},
790 @ref{Retrograde}.
791
792 Snippets:
793 @rlsr{Pitches}.
794
795 Internals Reference:
796 @rinternals{TransposedMusic}.
797
798 @funindex \transpose
799 @funindex transpose
800 @funindex \chordmode
801 @funindex chordmode
802 @funindex \relative
803 @funindex relative
804
805 @knownissues
806 The relative conversion will not affect @code{\transpose},
807 @code{\chordmode} or @code{\relative} sections in its argument.  To use
808 relative mode within transposed music, an additional @code{\relative}
809 must be placed inside @code{\transpose}.
810
811 Triple accidentals will not be printed if using @code{\transpose}. An
812 @q{enharmonically equivalent} pitch will be used instead (e.g. d-flat
813 rather than e-triple-flat).
814
815
816 @node Inversion
817 @unnumberedsubsubsec Inversion
818
819 @cindex inversion
820 @cindex operation, inversion
821 @funindex \inversion
822
823 A music expression can be inverted and transposed in a single
824 operation with:
825
826 @example
827 \inversion @var{around-pitch} @var{to-pitch} @var{musicexpr}
828 @end example
829
830 The @code{@var{musicexpr}} is inverted interval-by-interval around
831 @code{@var{around-pitch}}, and then transposed so that
832 @code{@var{around-pitch}} is mapped to @code{@var{to-pitch}}.
833
834 @lilypond[verbatim,quote]
835 music = \relative c' { c d e f }
836 \new Staff {
837   \music
838   \inversion d' d' \music
839   \inversion d' ees' \music
840 }
841 @end lilypond
842
843 @warning{Motifs to be inverted should be expressed in absolute form
844 or be first converted to absolute form by enclosing them in a 
845 @code{\relative} block.}
846
847 @seealso
848 Notation Reference:
849 @ref{Modal transformations},
850 @ref{Retrograde},
851 @ref{Transpose}.
852
853
854 @node Retrograde
855 @unnumberedsubsubsec Retrograde
856
857 @cindex retrograde transformation
858 @cindex transformation, retrograde
859 @cindex operation, retrograde
860 @funindex \retrograde
861 @funindex retrograde
862
863 A music expression can be reversed to produce its retrograde:
864
865 @lilypond[verbatim,quote]
866 music = \relative c' { c8. ees16( fis8. a16 b8.) gis16 f8. d16 }
867
868 \new Staff {
869   \music
870   \retrograde \music
871 }
872 @end lilypond
873
874 @knownissues
875 Manual ties inside @code{\retrograde} will be broken and
876 generate warnings.  Some ties can be generated automatically
877 by enabling @ref{Automatic note splitting}.
878
879 @seealso
880 Notation Reference:
881 @ref{Inversion},
882 @ref{Modal transformations},
883 @ref{Transpose}.
884
885
886 @node Modal transformations
887 @unnumberedsubsubsec Modal transformations
888
889 @cindex modal transformations
890 @cindex transformations, modal
891 @cindex operations, modal
892
893 In a musical composition that is based on a scale, a motif is
894 frequently transformed in various ways.  It may be
895 @notation{transposed} to start at different places in the scale or
896 it may be @notation{inverted} around a pivot point in the scale.
897 It may also be reversed to produce its @notation{retrograde}, see
898 @ref{Retrograde}.
899
900 @warning{Any note that does not lie within the given scale will be
901 left untransformed.}
902
903 @subsubsubheading Modal transposition
904
905 @cindex modal transposition
906 @cindex transposition, modal
907 @cindex operation, transposition
908 @funindex \modalTranspose
909 @funindex modalTranspose
910
911 A motif can be transposed within a given scale with:
912
913 @example
914 \modalTranspose @var{from-pitch} @var{to-pitch} @var{scale} @var{motif}
915 @end example
916
917 The notes of @var{motif} are shifted within the @var{scale} by the
918 number of scale degrees given by the interval between @var{to-pitch}
919 and @var{from-pitch}:
920
921 @lilypond[verbatim,quote]
922 diatonicScale = \relative c' { c d e f g a b }
923 motif = \relative c' { c8 d e f g a b c }
924
925 \new Staff {
926   \motif
927   \modalTranspose c f \diatonicScale \motif
928   \modalTranspose c b, \diatonicScale \motif
929 }
930 @end lilypond
931
932 An ascending scale of any length and with any intervals may be
933 specified:
934
935 @lilypond[verbatim,quote]
936 pentatonicScale = \relative c' { ges aes bes des ees }
937 motif = \relative c' { ees8 des ges,4 <ges' bes,> <ges bes,> }
938
939 \new Staff {
940   \motif
941   \modalTranspose ges ees' \pentatonicScale \motif
942 }
943 @end lilypond
944
945 When used with a chromatic scale @code{\modalTranspose} has a
946 similar effect to @code{\transpose}, but with the ability to
947 specify the names of the notes to be used:
948
949 @lilypond[verbatim,quote]
950 chromaticScale = \relative c' { c cis d dis e f fis g gis a ais b }
951 motif = \relative c' { c8 d e f g a b c }
952
953 \new Staff {
954   \motif
955   \transpose c f \motif
956   \modalTranspose c f \chromaticScale \motif
957 }
958 @end lilypond
959
960 @subsubsubheading Modal inversion
961
962 @cindex modal inversion
963 @cindex inversion, modal
964 @cindex operation, modal inversion
965 @funindex \modalInversion
966 @funindex modalInversion
967
968 A motif can be inverted within a given scale around a given pivot
969 note and transposed in a single operation with:
970
971 @example
972 \modalInversion @var{around-pitch} @var{to-pitch} @var{scale} @var{motif}
973 @end example
974
975 The notes of @var{motif} are placed the same number of scale degrees
976 from the @var{around-pitch} note within the @var{scale}, but in the
977 opposite direction, and the result is then shifted within the
978 @var{scale} by the number of scale degrees given by the interval between
979 @var{to-pitch} and @var{around-pitch}.
980
981 So to simply invert around a note in the scale use the same value for
982 @var{around-pitch} and @var{to-pitch}:
983
984 @lilypond[verbatim,quote]
985 octatonicScale = \relative c' { ees f fis gis a b c d }
986 motif = \relative c' { c8. ees16 fis8. a16 b8. gis16 f8. d16 }
987
988 \new Staff {
989   \motif
990   \modalInversion fis' fis' \octatonicScale \motif
991 }
992 @end lilypond
993
994 To invert around a pivot between two notes in the scale, invert around
995 one of the notes and then transpose by one scale degree.  The two notes
996 specified can be interpreted as bracketing the pivot point:
997
998 @lilypond[verbatim,quote]
999 scale = \relative c' { c g' }
1000 motive = \relative c' { c c g' c, }
1001
1002 \new Staff {
1003   \motive
1004   \modalInversion c' g' \scale \motive
1005 }
1006 @end lilypond
1007
1008 The combined operation of inversion and retrograde produce the
1009 retrograde-inversion:
1010
1011 @lilypond[verbatim,quote]
1012 octatonicScale = \relative c' { ees f fis gis a b c d }
1013 motif = \relative c' { c8. ees16 fis8. a16 b8. gis16 f8. d16 }
1014
1015 \new Staff {
1016   \motif
1017   \retrograde \modalInversion c' c' \octatonicScale \motif
1018 }
1019 @end lilypond
1020
1021 @seealso
1022 Notation Reference:
1023 @ref{Inversion},
1024 @ref{Retrograde},
1025 @ref{Transpose}.
1026
1027
1028 @node Displaying pitches
1029 @subsection Displaying pitches
1030
1031 This section discusses how to alter the output of pitches.
1032
1033 @menu
1034 * Clef::
1035 * Key signature::
1036 * Ottava brackets::
1037 * Instrument transpositions::
1038 * Automatic accidentals::
1039 * Ambitus::
1040 @end menu
1041
1042
1043 @node Clef
1044 @unnumberedsubsubsec Clef
1045
1046 @cindex G clef
1047 @cindex C clef
1048 @cindex F clef
1049 @cindex treble clef
1050 @cindex violin clef
1051 @cindex alto clef
1052 @cindex tenor clef
1053 @cindex bass clef
1054 @cindex french clef
1055 @cindex soprano clef
1056 @cindex mezzosoprano clef
1057 @cindex baritone clef
1058 @cindex varbaritone clef
1059 @cindex subbass clef
1060 @cindex clef
1061 @cindex ancient clef
1062 @cindex clef, ancient
1063 @cindex clef, G
1064 @cindex clef, C
1065 @cindex clef, F
1066 @cindex clef, treble
1067 @cindex clef, violin
1068 @cindex clef, alto
1069 @cindex clef, tenor
1070 @cindex clef, bass
1071 @cindex clef, french
1072 @cindex clef, soprano
1073 @cindex clef, mezzosoprano
1074 @cindex clef, baritone
1075 @cindex clef, varbaritone
1076 @cindex clef, subbass
1077
1078
1079 @funindex \clef
1080 @funindex clef
1081
1082 The clef may be altered.  Middle C is shown in every example.  The
1083 following clef names can (but do not need to) be enclosed in quotes.
1084
1085 @lilypond[verbatim,quote,relative=1]
1086 \clef treble
1087 c2 c
1088 \clef alto
1089 c2 c
1090 \clef tenor
1091 c2 c
1092 \clef bass
1093 c2 c
1094 @end lilypond
1095
1096 Other clefs include:
1097
1098 @lilypond[verbatim,quote,relative=1]
1099 \clef french
1100 c2 c
1101 \clef soprano
1102 c2 c
1103 \clef mezzosoprano
1104 c2 c
1105 \clef baritone
1106 c2 c
1107
1108 \break
1109
1110 \clef varbaritone
1111 c2 c
1112 \clef subbass
1113 c2 c
1114 \clef percussion
1115 c2 c
1116
1117 \break
1118
1119 \clef G   % synonym for treble
1120 c2 c
1121 \clef F   % synonym for bass
1122 c2 c
1123 \clef C   % synonym for alto
1124 c2 c
1125 @end lilypond
1126
1127 @cindex transposing clef
1128 @cindex clef, transposing
1129 @cindex octave transposition
1130 @cindex choral tenor clef
1131 @cindex tenor clef, choral
1132
1133 By adding@tie{}@code{_8} or@tie{}@code{^8} to the clef name, the
1134 clef is transposed one octave down or up respectively,
1135 and@tie{}@code{_15} and@tie{}@code{^15} transpose by two octaves.
1136 Other integers can be used if required.  Clef names containing
1137 non-alphabetic characters must be enclosed in quotes
1138
1139 @lilypond[verbatim,quote,relative=1]
1140 \clef treble
1141 c2 c
1142 \clef "treble_8"
1143 c2 c
1144 \clef "bass^15"
1145 c2 c
1146 \clef "alto_2"
1147 c2 c
1148 \clef "G_8"
1149 c2 c
1150 \clef "F^5"
1151 c2 c
1152 @end lilypond
1153
1154 Some special purpose clefs are described in @ref{Mensural clefs},
1155 @ref{Gregorian clefs}, @ref{Default tablatures}, and @ref{Custom
1156 tablatures}.  For mixing different clefs when using cue notes within a
1157 score, see the @code{\cueClef} and @code{\cueDuringWithClef} functions
1158 in @ref{Formatting cue notes}.
1159
1160 @snippets
1161
1162 @lilypondfile[verbatim,quote,texidoc,doctitle]
1163 {tweaking-clef-properties.ly}
1164
1165 @seealso
1166 Notation Reference:
1167 @ref{Mensural clefs},
1168 @ref{Gregorian clefs},
1169 @ref{Default tablatures},
1170 @ref{Custom tablatures},
1171 @ref{Formatting cue notes}.
1172
1173 Snippets:
1174 @rlsr{Pitches}.
1175
1176 Internals Reference:
1177 @rinternals{Clef_engraver},
1178 @rinternals{Clef},
1179 @rinternals{OctavateEight},
1180 @rinternals{clef-interface}.
1181
1182
1183 @node Key signature
1184 @unnumberedsubsubsec Key signature
1185
1186 @cindex key signature
1187
1188 @funindex \key
1189 @funindex key
1190
1191 @c duplicated in Key signature and Accidentals
1192 @warning{New users are sometimes confused about accidentals and
1193 key signatures.  In LilyPond, note names are the raw input; key
1194 signatures and clefs determine how this raw input is displayed.
1195 An unaltered note like@tie{}@code{c} means @q{C natural},
1196 regardless of the key signature or clef.  For more information,
1197 see @rlearning{Accidentals and key signatures}.}
1198
1199 The key signature indicates the tonality in which a piece is
1200 played.  It is denoted by a set of alterations (flats or sharps)
1201 at the start of the staff.  The key signature may be altered:
1202
1203 @example
1204 \key @var{pitch} @var{mode}
1205 @end example
1206
1207 @funindex \major
1208 @funindex major
1209 @funindex \minor
1210 @funindex minor
1211 @funindex \ionian
1212 @funindex ionian
1213 @funindex \locrian
1214 @funindex locrian
1215 @funindex \aeolian
1216 @funindex aeolian
1217 @funindex \mixolydian
1218 @funindex mixolydian
1219 @funindex \lydian
1220 @funindex lydian
1221 @funindex \phrygian
1222 @funindex phrygian
1223 @funindex \dorian
1224 @funindex dorian
1225
1226 @cindex church modes
1227 @cindex modes
1228 @cindex major
1229 @cindex minor
1230 @cindex ionian
1231 @cindex locrian
1232 @cindex aeolian
1233 @cindex mixolydian
1234 @cindex lydian
1235 @cindex phrygian
1236 @cindex dorian
1237
1238 @noindent
1239 Here, @code{@var{mode}} should be @code{\major} or @code{\minor}
1240 to get a key signature of @code{@var{pitch}}-major or
1241 @code{@var{pitch}}-minor, respectively.  You may also use the
1242 standard mode names, also called @notation{church modes}:
1243 @code{\ionian}, @code{\dorian}, @code{\phrygian}, @code{\lydian},
1244 @code{\mixolydian}, @code{\aeolian}, and @code{\locrian}.
1245
1246 @lilypond[verbatim,quote,relative=2]
1247 \key g \major
1248 fis1
1249 f
1250 fis
1251 @end lilypond
1252
1253
1254 @snippets
1255
1256 @lilypondfile[verbatim,quote,texidoc,doctitle]
1257 {preventing-natural-signs-from-being-printed-when-the-key-signature-changes.ly}
1258
1259 @lilypondfile[verbatim,quote,texidoc,doctitle]
1260 {non-traditional-key-signatures.ly}
1261
1262 @seealso
1263 Music Glossary:
1264 @rglos{church mode},
1265 @rglos{scordatura}.
1266
1267 Learning Manual:
1268 @rlearning{Accidentals and key signatures}.
1269
1270 Snippets:
1271 @rlsr{Pitches}.
1272
1273 Internals Reference:
1274 @rinternals{KeyChangeEvent},
1275 @rinternals{Key_engraver},
1276 @rinternals{Key_performer},
1277 @rinternals{KeyCancellation},
1278 @rinternals{KeySignature},
1279 @rinternals{key-cancellation-interface},
1280 @rinternals{key-signature-interface}.
1281
1282
1283 @node Ottava brackets
1284 @unnumberedsubsubsec Ottava brackets
1285
1286 @cindex ottava
1287 @cindex 15ma
1288 @cindex 8va
1289 @cindex 8ve
1290 @cindex octavation
1291
1292 @funindex set-octavation
1293 @funindex \ottava
1294 @funindex ottava
1295
1296 @notation{Ottava brackets} introduce an extra transposition of an
1297 octave for the staff:
1298
1299 @lilypond[verbatim,quote,relative=2]
1300 a2 b
1301 \ottava #-2
1302 a2 b
1303 \ottava #-1
1304 a2 b
1305 \ottava #0
1306 a2 b
1307 \ottava #1
1308 a2 b
1309 \ottava #2
1310 a2 b
1311 @end lilypond
1312
1313 @snippets
1314
1315 @lilypondfile[verbatim,quote,texidoc,doctitle]
1316 {ottava-text.ly}
1317
1318 @seealso
1319 Music Glossary:
1320 @rglos{octavation}.
1321
1322 Snippets:
1323 @rlsr{Pitches}.
1324
1325 Internals Reference:
1326 @rinternals{Ottava_spanner_engraver},
1327 @rinternals{OttavaBracket},
1328 @rinternals{ottava-bracket-interface}.
1329
1330
1331 @node Instrument transpositions
1332 @unnumberedsubsubsec Instrument transpositions
1333
1334 @cindex transposition, MIDI
1335 @cindex transposition, instrument
1336 @cindex transposing instrument
1337 @cindex MIDI
1338 @cindex MIDI transposition
1339
1340 @funindex \transposition
1341 @funindex transposition
1342
1343 When typesetting scores that involve transposing instruments, some
1344 parts can be typeset in a different pitch than the
1345 @notation{concert pitch}.  In these cases, the key of the
1346 @notation{transposing instrument} should be specified; otherwise
1347 the MIDI output and cues in other parts will produce incorrect
1348 pitches.  For more information about quotations, see
1349 @ref{Quoting other voices}.
1350
1351 @example
1352 \transposition @var{pitch}
1353 @end example
1354
1355 The pitch to use for @code{\transposition} should correspond to
1356 the real sound heard when a@tie{}@code{c'} written on the staff is
1357 played by the transposing instrument.  This pitch is entered in
1358 absolute mode, so an instrument that produces a real sound which
1359 is one tone higher than the printed music should use
1360 @w{@code{\transposition d'}}.  @code{\transposition} should
1361 @emph{only} be used if the pitches are @emph{not} being entered in
1362 concert pitch.
1363
1364 Here are a few notes for violin and B-flat clarinet where the
1365 parts have been entered using the notes and key as they appear in
1366 each part of the conductor's score.  The two instruments are
1367 playing in unison.
1368
1369 @lilypond[verbatim,quote]
1370 \new GrandStaff <<
1371   \new Staff = "violin" {
1372     \relative c'' {
1373       \set Staff.instrumentName = #"Vln"
1374       \set Staff.midiInstrument = #"violin"
1375       % not strictly necessary, but a good reminder
1376       \transposition c'
1377
1378       \key c \major
1379       g4( c8) r c r c4
1380     }
1381   }
1382   \new Staff = "clarinet" {
1383     \relative c'' {
1384       \set Staff.instrumentName = \markup { Cl (B\flat) }
1385       \set Staff.midiInstrument = #"clarinet"
1386       \transposition bes
1387
1388       \key d \major
1389       a4( d8) r d r d4
1390     }
1391   }
1392 >>
1393 @end lilypond
1394
1395 The @code{\transposition} may be changed during a piece.  For
1396 example, a clarinetist may switch from an A clarinet to a B-flat
1397 clarinet.
1398
1399 @lilypond[verbatim,quote,relative=2]
1400 \set Staff.instrumentName = #"Cl (A)"
1401 \key a \major
1402 \transposition a
1403 c d e f
1404 \textLengthOn
1405 <>^\markup { Switch to B\flat clarinet }
1406 R1
1407
1408 \key bes \major
1409 \transposition bes
1410 c2 g
1411 @end lilypond
1412
1413 @seealso
1414 Music Glossary:
1415 @rglos{concert pitch},
1416 @rglos{transposing instrument}.
1417
1418 Notation Reference:
1419 @ref{Quoting other voices},
1420 @ref{Transpose}.
1421
1422 Snippets:
1423 @rlsr{Pitches}.
1424
1425
1426 @node Automatic accidentals
1427 @unnumberedsubsubsec Automatic accidentals
1428
1429 @cindex accidental style
1430 @cindex accidental style, default
1431 @cindex accidentals
1432 @cindex accidentals, automatic
1433 @cindex automatic accidentals
1434 @cindex default accidental style
1435
1436 @funindex \accidentalStyle
1437 @funindex voice
1438 @funindex default
1439
1440 There are many different conventions on how to typeset
1441 accidentals.  LilyPond provides a function to specify which
1442 accidental style to use.  This function is called as follows:
1443
1444 @example
1445 \new Staff <<
1446   \accidentalStyle "voice"
1447   @{ @dots{} @}
1448 >>
1449 @end example
1450
1451 The accidental style applies to the current @code{Staff} by
1452 default (with the exception of the styles @code{piano} and
1453 @code{piano-cautionary}, which are explained below).  Optionally,
1454 the function can take a second argument that determines in which
1455 scope the style should be changed.  For example, to use the same
1456 style in all staves of the current @code{StaffGroup}, use:
1457
1458 @example
1459 \accidentalStyle #'StaffGroup "voice"
1460 @end example
1461
1462 The following accidental styles are supported.  To demonstrate
1463 each style, we use the following example:
1464
1465
1466 @lilypond[verbatim,quote]
1467 musicA = {
1468   <<
1469     \relative c' {
1470       cis'8 fis, bes4 <a cis>8 f bis4 |
1471       cis2. <c, g'>4 |
1472     }
1473     \\
1474     \relative c' {
1475       ais'2 cis, |
1476       fis8 b a4 cis2 |
1477     }
1478   >>
1479 }
1480
1481 musicB = {
1482   \clef bass
1483   \new Voice {
1484     \voiceTwo \relative c' {
1485       <fis, a cis>8[ <fis a cis>
1486       \change Staff = up
1487       cis' cis
1488       \change Staff = down
1489       <fis, a> <fis a>]
1490       \showStaffSwitch
1491       \change Staff = up
1492       dis'4 |
1493       \change Staff = down
1494       <fis, a cis>4 gis <f a d>2 |
1495     }
1496   }
1497 }
1498
1499 \new PianoStaff {
1500   <<
1501     \context Staff = "up" {
1502       \accidentalStyle "default"
1503       \musicA
1504     }
1505     \context Staff = "down" {
1506       \accidentalStyle "default"
1507       \musicB
1508     }
1509   >>
1510 }
1511 @end lilypond
1512
1513 Note that the last lines of this example can be replaced by the
1514 following, as long as the same accidental style should be used in
1515 both staves.
1516
1517 @example
1518 \new PianoStaff @{
1519   <<
1520     \context Staff = "up" @{
1521       %%% change the next line as desired:
1522       \accidentalStyle #'Score "default"
1523       \musicA
1524     @}
1525     \context Staff = "down" @{
1526       \musicB
1527     @}
1528   >>
1529 @}
1530 @end example
1531
1532
1533 @c don't use verbatim in this table.
1534 @table @code
1535 @item default
1536
1537 @cindex default accidental style
1538 @cindex accidental style, default
1539
1540 @funindex default
1541
1542 This is the default typesetting behavior.  It corresponds to
1543 eighteenth-century common practice: accidentals are remembered to
1544 the end of the measure in which they occur and only in their own
1545 octave.  Thus, in the example below, no natural signs are printed
1546 before the@tie{}@code{b} in the second measure or the
1547 last@tie{}@code{c}:
1548
1549 @lilypond[quote]
1550 musicA = {
1551   <<
1552     \relative c' {
1553       cis'8 fis, bes4 <a cis>8 f bis4 |
1554       cis2. <c, g'>4 |
1555     }
1556     \\
1557     \relative c' {
1558       ais'2 cis, |
1559       fis8 b a4 cis2 |
1560     }
1561   >>
1562 }
1563
1564 musicB = {
1565   \clef bass
1566   \new Voice {
1567     \voiceTwo \relative c' {
1568       <fis, a cis>8[ <fis a cis>
1569       \change Staff = up
1570       cis' cis
1571       \change Staff = down
1572       <fis, a> <fis a>]
1573       \showStaffSwitch
1574       \change Staff = up
1575       dis'4 |
1576       \change Staff = down
1577       <fis, a cis>4 gis <f a d>2 |
1578     }
1579   }
1580 }
1581
1582 \new PianoStaff {
1583   <<
1584     \context Staff = "up" {
1585       \accidentalStyle "default"
1586       \musicA
1587     }
1588     \context Staff = "down" {
1589       \accidentalStyle "default"
1590       \musicB
1591     }
1592   >>
1593 }
1594 @end lilypond
1595
1596 @item voice
1597
1598 @cindex accidental style, voice
1599 @cindex voice accidental style
1600 @cindex accidental style, modern
1601 @cindex modern accidental style
1602 @cindex accidental style, modern-cautionary
1603 @cindex modern-cautionary accidental style
1604
1605 @funindex voice
1606
1607 The normal behavior is to remember the accidentals at
1608 @code{Staff}-level.  In this style, however, accidentals are
1609 typeset individually for each voice.  Apart from that, the rule is
1610 similar to @code{default}.
1611
1612 As a result, accidentals from one voice do not get canceled in
1613 other voices, which is often an unwanted result: in the following
1614 example, it is hard to determine whether the second@tie{}@code{a}
1615 should be played natural or sharp.  The @code{voice} option should
1616 therefore be used only if the voices are to be read solely by
1617 individual musicians.  If the staff is to be used by one musician
1618 (e.g., a conductor or in a piano score) then @code{modern} or
1619 @code{modern-cautionary} should be used instead.
1620
1621
1622 @lilypond[quote]
1623 musicA = {
1624   <<
1625     \relative c' {
1626       cis'8 fis, bes4 <a cis>8 f bis4 |
1627       cis2. <c, g'>4 |
1628     }
1629     \\
1630     \relative c' {
1631       ais'2 cis, |
1632       fis8 b a4 cis2 |
1633     }
1634   >>
1635 }
1636
1637 musicB = {
1638   \clef bass
1639   \new Voice {
1640     \voiceTwo \relative c' {
1641       <fis, a cis>8[ <fis a cis>
1642       \change Staff = up
1643       cis' cis
1644       \change Staff = down
1645       <fis, a> <fis a>]
1646       \showStaffSwitch
1647       \change Staff = up
1648       dis'4 |
1649       \change Staff = down
1650       <fis, a cis>4 gis <f a d>2 |
1651     }
1652   }
1653 }
1654
1655 \new PianoStaff {
1656   <<
1657     \context Staff = "up" {
1658       \accidentalStyle "voice"
1659       \musicA
1660     }
1661     \context Staff = "down" {
1662       \accidentalStyle "voice"
1663       \musicB
1664     }
1665   >>
1666 }
1667 @end lilypond
1668
1669 @item modern
1670
1671 @cindex accidentals, modern style
1672 @cindex modern style accidentals
1673
1674 @funindex modern
1675
1676 This rule corresponds to the common practice in the twentieth
1677 century.  It omits some extra natural signs, which were
1678 traditionally prefixed to a sharp following a double sharp,
1679 or a flat following a double flat.  The @code{modern} rule
1680 prints the same accidentals as @code{default}, with
1681 two additions that serve to avoid ambiguity: after temporary
1682 accidentals, cancellation marks are printed also in the following
1683 measure (for notes in the same octave) and, in the same measure,
1684 for notes in other octaves.  Hence the naturals before
1685 the@tie{}@code{b} and the@tie{}@code{c} in the second measure of
1686 the upper staff:
1687
1688 @lilypond[quote]
1689 musicA = {
1690   <<
1691     \relative c' {
1692       cis'8 fis, bes4 <a cis>8 f bis4 |
1693       cis2. <c, g'>4 |
1694     }
1695     \\
1696     \relative c' {
1697       ais'2 cis, |
1698       fis8 b a4 cis2 |
1699     }
1700   >>
1701 }
1702
1703 musicB = {
1704   \clef bass
1705   \new Voice {
1706     \voiceTwo \relative c' {
1707       <fis, a cis>8[ <fis a cis>
1708       \change Staff = up
1709       cis' cis
1710       \change Staff = down
1711       <fis, a> <fis a>]
1712       \showStaffSwitch
1713       \change Staff = up
1714       dis'4 |
1715       \change Staff = down
1716       <fis, a cis>4 gis <f a d>2 |
1717     }
1718   }
1719 }
1720
1721 \new PianoStaff {
1722   <<
1723     \context Staff = "up" {
1724       \accidentalStyle "modern"
1725       \musicA
1726     }
1727     \context Staff = "down" {
1728       \accidentalStyle "modern"
1729       \musicB
1730     }
1731   >>
1732 }
1733 @end lilypond
1734
1735 @item modern-cautionary
1736
1737 @cindex accidentals, modern cautionary style
1738 @cindex modern accidental style
1739 @cindex modern cautionary accidental style
1740 @cindex modern style accidentals
1741 @cindex modern style cautionary accidentals
1742
1743 @funindex modern-cautionary
1744
1745 This rule is similar to @code{modern}, but the @q{extra}
1746 accidentals (the ones not typeset by @code{default}) are typeset
1747 as cautionary accidentals.  They are by default printed with
1748 parentheses, but they can also be printed in reduced size by
1749 defining the @code{cautionary-style} property of
1750 @code{AccidentalSuggestion}.
1751
1752 @lilypond[quote]
1753 musicA = {
1754   <<
1755     \relative c' {
1756       cis'8 fis, bes4 <a cis>8 f bis4 |
1757       cis2. <c, g'>4 |
1758     }
1759     \\
1760     \relative c' {
1761       ais'2 cis, |
1762       fis8 b a4 cis2 |
1763     }
1764   >>
1765 }
1766
1767 musicB = {
1768   \clef bass
1769   \new Voice {
1770     \voiceTwo \relative c' {
1771       <fis, a cis>8[ <fis a cis>
1772       \change Staff = up
1773       cis' cis
1774       \change Staff = down
1775       <fis, a> <fis a>]
1776       \showStaffSwitch
1777       \change Staff = up
1778       dis'4 |
1779       \change Staff = down
1780       <fis, a cis>4 gis <f a d>2 |
1781     }
1782   }
1783 }
1784
1785 \new PianoStaff {
1786   <<
1787     \context Staff = "up" {
1788       \accidentalStyle "modern-cautionary"
1789       \musicA
1790     }
1791     \context Staff = "down" {
1792       \accidentalStyle "modern-cautionary"
1793       \musicB
1794     }
1795   >>
1796 }
1797 @end lilypond
1798
1799 @item modern-voice
1800
1801 @cindex accidental style, modern
1802 @cindex accidentals, modern
1803 @cindex accidentals, multivoice
1804 @cindex modern accidental style
1805 @cindex modern accidentals
1806 @cindex multivoice accidentals
1807
1808 @funindex modern-voice
1809
1810 This rule is used for multivoice accidentals to be read both by
1811 musicians playing one voice and musicians playing all voices.
1812 Accidentals are typeset for each voice, but they @emph{are}
1813 canceled across voices in the same @code{Staff}.  Hence,
1814 the@tie{}@code{a} in the last measure is canceled because the
1815 previous cancellation was in a different voice, and
1816 the@tie{}@code{d} in the lower staff is canceled because of the
1817 accidental in a different voice in the previous measure:
1818
1819 @lilypond[quote]
1820 musicA = {
1821   <<
1822     \relative c' {
1823       cis'8 fis, bes4 <a cis>8 f bis4 |
1824       cis2. <c, g'>4 |
1825     }
1826     \\
1827     \relative c' {
1828       ais'2 cis, |
1829       fis8 b a4 cis2 |
1830     }
1831   >>
1832 }
1833
1834 musicB = {
1835   \clef bass
1836   \new Voice {
1837     \voiceTwo \relative c' {
1838       <fis, a cis>8[ <fis a cis>
1839       \change Staff = up
1840       cis' cis
1841       \change Staff = down
1842       <fis, a> <fis a>]
1843       \showStaffSwitch
1844       \change Staff = up
1845       dis'4 |
1846       \change Staff = down
1847       <fis, a cis>4 gis <f a d>2 |
1848     }
1849   }
1850 }
1851
1852 \new PianoStaff {
1853   <<
1854     \context Staff = "up" {
1855       \accidentalStyle "modern-voice"
1856       \musicA
1857     }
1858     \context Staff = "down" {
1859       \accidentalStyle "modern-voice"
1860       \musicB
1861     }
1862   >>
1863 }
1864 @end lilypond
1865
1866 @cindex accidental style, cautionary, modern voice
1867 @cindex accidental style, modern voice cautionary
1868 @cindex accidental style, voice, modern cautionary
1869
1870 @funindex modern-voice-cautionary
1871
1872 @item modern-voice-cautionary
1873
1874 This rule is the same as @code{modern-voice}, but with the extra
1875 accidentals (the ones not typeset by @code{voice}) typeset as
1876 cautionaries.  Even though all accidentals typeset by
1877 @code{default} @emph{are} typeset with this rule, some of them are
1878 typeset as cautionaries.
1879
1880 @lilypond[quote]
1881 musicA = {
1882   <<
1883     \relative c' {
1884       cis'8 fis, bes4 <a cis>8 f bis4 |
1885       cis2. <c, g'>4 |
1886     }
1887     \\
1888     \relative c' {
1889       ais'2 cis, |
1890       fis8 b a4 cis2 |
1891     }
1892   >>
1893 }
1894
1895 musicB = {
1896   \clef bass
1897   \new Voice {
1898     \voiceTwo \relative c' {
1899       <fis, a cis>8[ <fis a cis>
1900       \change Staff = up
1901       cis' cis
1902       \change Staff = down
1903       <fis, a> <fis a>]
1904       \showStaffSwitch
1905       \change Staff = up
1906       dis'4 |
1907       \change Staff = down
1908       <fis, a cis>4 gis <f a d>2 |
1909     }
1910   }
1911 }
1912
1913 \new PianoStaff {
1914   <<
1915     \context Staff = "up" {
1916       \accidentalStyle "modern-voice-cautionary"
1917       \musicA
1918     }
1919     \context Staff = "down" {
1920       \accidentalStyle "modern-voice-cautionary"
1921       \musicB
1922     }
1923   >>
1924 }
1925 @end lilypond
1926
1927 @item piano
1928
1929 @cindex accidental style, piano
1930 @cindex accidentals, piano
1931 @cindex piano accidental style
1932 @cindex piano accidentals
1933
1934 @funindex piano
1935
1936 This rule reflects twentieth-century practice for piano notation.
1937 Its behavior is very similar to @code{modern} style, but here
1938 accidentals also get canceled across the staves in the same
1939 @code{GrandStaff} or @code{PianoStaff}, hence all the
1940 cancellations of the final notes.
1941
1942 This accidental style applies to the current @code{GrandStaff} or
1943 @code{PianoStaff} by default.
1944
1945 @lilypond[quote]
1946 musicA = {
1947   <<
1948     \relative c' {
1949       cis'8 fis, bes4 <a cis>8 f bis4 |
1950       cis2. <c, g'>4 |
1951     }
1952     \\
1953     \relative c' {
1954       ais'2 cis, |
1955       fis8 b a4 cis2 |
1956     }
1957   >>
1958 }
1959
1960 musicB = {
1961   \clef bass
1962   \new Voice {
1963     \voiceTwo \relative c' {
1964       <fis, a cis>8[ <fis a cis>
1965       \change Staff = up
1966       cis' cis
1967       \change Staff = down
1968       <fis, a> <fis a>]
1969       \showStaffSwitch
1970       \change Staff = up
1971       dis'4 |
1972       \change Staff = down
1973       <fis, a cis>4 gis <f a d>2 |
1974     }
1975   }
1976 }
1977
1978 \new PianoStaff {
1979   <<
1980     \context Staff = "up" {
1981       \accidentalStyle "piano"
1982       \musicA
1983     }
1984     \context Staff = "down" {
1985       \musicB
1986     }
1987   >>
1988 }
1989 @end lilypond
1990
1991 @item piano-cautionary
1992
1993 @cindex accidentals, piano cautionary
1994 @cindex cautionary accidentals, piano
1995 @cindex piano cautionary accidentals
1996 @cindex accidental style, piano cautionary
1997 @cindex cautionary accidental style, piano
1998 @cindex piano cautionary accidental style
1999
2000 @funindex piano-cautionary
2001
2002 This is the same as @code{piano} but with the extra accidentals
2003 typeset as cautionaries.
2004
2005 @lilypond[quote]
2006 musicA = {
2007   <<
2008     \relative c' {
2009       cis'8 fis, bes4 <a cis>8 f bis4 |
2010       cis2. <c, g'>4 |
2011     }
2012     \\
2013     \relative c' {
2014       ais'2 cis, |
2015       fis8 b a4 cis2 |
2016     }
2017   >>
2018 }
2019
2020 musicB = {
2021   \clef bass
2022   \new Voice {
2023     \voiceTwo \relative c' {
2024       <fis, a cis>8[ <fis a cis>
2025       \change Staff = up
2026       cis' cis
2027       \change Staff = down
2028       <fis, a> <fis a>]
2029       \showStaffSwitch
2030       \change Staff = up
2031       dis'4 |
2032       \change Staff = down
2033       <fis, a cis>4 gis <f a d>2 |
2034     }
2035   }
2036 }
2037
2038 \new PianoStaff {
2039   <<
2040     \context Staff = "up" {
2041       \accidentalStyle "piano-cautionary"
2042       \musicA
2043     }
2044     \context Staff = "down" {
2045       \musicB
2046     }
2047   >>
2048 }
2049 @end lilypond
2050
2051
2052 @item neo-modern
2053
2054 @cindex neo-modern accidental style
2055 @cindex accidental style, neo-modern
2056
2057 @funindex neo-modern
2058
2059 This rule reproduces a common practice in contemporary music:
2060 accidentals are printed like with @code{modern}, but they are printed
2061 again if the same note appears later in the same measure -- except
2062 if the note is immediately repeated.
2063
2064 @lilypond[quote]
2065 musicA = {
2066   <<
2067     \relative c' {
2068       cis'8 fis, bes4 <a cis>8 f bis4 |
2069       cis2. <c, g'>4 |
2070     }
2071     \\
2072     \relative c' {
2073       ais'2 cis, |
2074       fis8 b a4 cis2 |
2075     }
2076   >>
2077 }
2078
2079 musicB = {
2080   \clef bass
2081   \new Voice {
2082     \voiceTwo \relative c' {
2083       <fis, a cis>8[ <fis a cis>
2084       \change Staff = up
2085       cis' cis
2086       \change Staff = down
2087       <fis, a> <fis a>]
2088       \showStaffSwitch
2089       \change Staff = up
2090       dis'4 |
2091       \change Staff = down
2092       <fis, a cis>4 gis <f a d>2 |
2093     }
2094   }
2095 }
2096
2097 \new PianoStaff {
2098   <<
2099     \context Staff = "up" {
2100       \accidentalStyle "neo-modern"
2101       \musicA
2102     }
2103     \context Staff = "down" {
2104       \accidentalStyle "neo-modern"
2105       \musicB
2106     }
2107   >>
2108 }
2109 @end lilypond
2110
2111 @item neo-modern-cautionary
2112
2113 @cindex neo-modern-cautionary accidental style
2114 @cindex accidental style, neo-modern-cautionary
2115
2116 @funindex neo-modern-cautionary
2117
2118 This rule is similar to @code{neo-modern}, but the extra
2119 accidentals are printed as cautionary accidentals.
2120
2121 @lilypond[quote]
2122 musicA = {
2123   <<
2124     \relative c' {
2125       cis'8 fis, bes4 <a cis>8 f bis4 |
2126       cis2. <c, g'>4 |
2127     }
2128     \\
2129     \relative c' {
2130       ais'2 cis, |
2131       fis8 b a4 cis2 |
2132     }
2133   >>
2134 }
2135
2136 musicB = {
2137   \clef bass
2138   \new Voice {
2139     \voiceTwo \relative c' {
2140       <fis, a cis>8[ <fis a cis>
2141       \change Staff = up
2142       cis' cis
2143       \change Staff = down
2144       <fis, a> <fis a>]
2145       \showStaffSwitch
2146       \change Staff = up
2147       dis'4 |
2148       \change Staff = down
2149       <fis, a cis>4 gis <f a d>2 |
2150     }
2151   }
2152 }
2153
2154 \new PianoStaff {
2155   <<
2156     \context Staff = "up" {
2157       \accidentalStyle "neo-modern-cautionary"
2158       \musicA
2159     }
2160     \context Staff = "down" {
2161       \accidentalStyle "neo-modern-cautionary"
2162       \musicB
2163     }
2164   >>
2165 }
2166 @end lilypond
2167
2168
2169 @item neo-modern-voice
2170
2171 @cindex neo-modern-voice accidental style
2172 @cindex accidental style, neo-modern-voice
2173
2174 @funindex neo-modern-voice
2175
2176 This rule is used for multivoice accidentals to be read both by
2177 musicians playing one voice and musicians playing all voices.
2178 Accidentals are typeset for each voice as with @code{neo-modern},
2179 but they are canceled across voices in the same @code{Staff}.
2180
2181 @lilypond[quote]
2182 musicA = {
2183   <<
2184     \relative c' {
2185       cis'8 fis, bes4 <a cis>8 f bis4 |
2186       cis2. <c, g'>4 |
2187     }
2188     \\
2189     \relative c' {
2190       ais'2 cis, |
2191       fis8 b a4 cis2 |
2192     }
2193   >>
2194 }
2195
2196 musicB = {
2197   \clef bass
2198   \new Voice {
2199     \voiceTwo \relative c' {
2200       <fis, a cis>8[ <fis a cis>
2201       \change Staff = up
2202       cis' cis
2203       \change Staff = down
2204       <fis, a> <fis a>]
2205       \showStaffSwitch
2206       \change Staff = up
2207       dis'4 |
2208       \change Staff = down
2209       <fis, a cis>4 gis <f a d>2 |
2210     }
2211   }
2212 }
2213
2214 \new PianoStaff {
2215   <<
2216     \context Staff = "up" {
2217       \accidentalStyle "neo-modern-voice"
2218       \musicA
2219     }
2220     \context Staff = "down" {
2221       \accidentalStyle "neo-modern-voice"
2222       \musicB
2223     }
2224   >>
2225 }
2226 @end lilypond
2227
2228 @item neo-modern-voice-cautionary
2229
2230 @cindex neo-modern-voice-cautionary accidental style
2231 @cindex accidental style, neo-modern-voice-cautionary
2232
2233 @funindex neo-modern-voice-cautionary
2234
2235 This rule is similar to @code{neo-modern-voice}, but the extra
2236 accidentals are printed as cautionary accidentals.
2237
2238 @lilypond[quote]
2239 musicA = {
2240   <<
2241     \relative c' {
2242       cis'8 fis, bes4 <a cis>8 f bis4 |
2243       cis2. <c, g'>4 |
2244     }
2245     \\
2246     \relative c' {
2247       ais'2 cis, |
2248       fis8 b a4 cis2 |
2249     }
2250   >>
2251 }
2252
2253 musicB = {
2254   \clef bass
2255   \new Voice {
2256     \voiceTwo \relative c' {
2257       <fis, a cis>8[ <fis a cis>
2258       \change Staff = up
2259       cis' cis
2260       \change Staff = down
2261       <fis, a> <fis a>]
2262       \showStaffSwitch
2263       \change Staff = up
2264       dis'4 |
2265       \change Staff = down
2266       <fis, a cis>4 gis <f a d>2 |
2267     }
2268   }
2269 }
2270
2271 \new PianoStaff {
2272   <<
2273     \context Staff = "up" {
2274       \accidentalStyle "neo-modern-voice-cautionary"
2275       \musicA
2276     }
2277     \context Staff = "down" {
2278       \accidentalStyle "neo-modern-voice-cautionary"
2279       \musicB
2280     }
2281   >>
2282 }
2283 @end lilypond
2284
2285 @item dodecaphonic
2286
2287 @cindex dodecaphonic accidental style
2288 @cindex dodecaphonic style, neo-modern
2289
2290 @funindex dodecaphonic
2291
2292 This rule reflects a practice introduced by composers at
2293 the beginning of the 20th century, in an attempt to
2294 abolish the hierarchy between natural and non-natural notes.
2295 With this style, @emph{every} note gets an accidental sign,
2296 including natural signs.
2297
2298 @lilypond[quote]
2299 musicA = {
2300   <<
2301     \relative c' {
2302       cis'8 fis, bes4 <a cis>8 f bis4 |
2303       cis2. <c, g'>4 |
2304     }
2305     \\
2306     \relative c' {
2307       ais'2 cis, |
2308       fis8 b a4 cis2 |
2309     }
2310   >>
2311 }
2312
2313 musicB = {
2314   \clef bass
2315   \new Voice {
2316     \voiceTwo \relative c' {
2317       <fis, a cis>8[ <fis a cis>
2318       \change Staff = up
2319       cis' cis
2320       \change Staff = down
2321       <fis, a> <fis a>]
2322       \showStaffSwitch
2323       \change Staff = up
2324       dis'4 |
2325       \change Staff = down
2326       <fis, a cis>4 gis <f a d>2 |
2327     }
2328   }
2329 }
2330
2331 \new PianoStaff {
2332   <<
2333     \context Staff = "up" {
2334       \accidentalStyle "dodecaphonic"
2335       \musicA
2336     }
2337     \context Staff = "down" {
2338       \accidentalStyle "dodecaphonic"
2339       \musicB
2340     }
2341   >>
2342 }
2343 @end lilypond
2344
2345
2346 @item teaching
2347
2348 @cindex teaching accidental style
2349 @cindex accidental style, teaching
2350
2351 @funindex teaching
2352
2353 This rule is intended for students, and makes it easy to create
2354 scale sheets with automatically created cautionary accidentals.
2355 Accidentals are printed like with @code{modern}, but cautionary
2356 accidentals are added for all sharp or flat tones specified by the
2357 key signature, except if the note is immediately repeated.
2358
2359 @lilypond[quote,staffsize=18]
2360 musicA = {
2361   <<
2362     \relative c' {
2363       cis'8 fis, bes4 <a cis>8 f bis4 |
2364       cis2. <c, g'>4 |
2365     }
2366     \\
2367     \relative c' {
2368       ais'2 cis, |
2369       fis8 b a4 cis2 |
2370     }
2371   >>
2372 }
2373
2374 musicB = {
2375   \clef bass
2376   \new Voice {
2377     \voiceTwo \relative c' {
2378       <fis, a cis>8[ <fis a cis>
2379       \change Staff = up
2380       cis' cis
2381       \change Staff = down
2382       <fis, a> <fis a>]
2383       \showStaffSwitch
2384       \change Staff = up
2385       dis'4 |
2386       \change Staff = down
2387       <fis, a cis>4 gis <f a d>2 |
2388     }
2389   }
2390 }
2391
2392 \new PianoStaff {
2393   <<
2394     \context Staff = "up" {
2395       \key fis \minor
2396       \accidentalStyle "teaching"
2397       \musicA
2398     }
2399     \context Staff = "down" {
2400       \key fis \minor
2401       \accidentalStyle "teaching"
2402       \musicB
2403     }
2404   >>
2405 }
2406 @end lilypond
2407
2408
2409
2410 @item no-reset
2411
2412 @cindex accidental style, no reset
2413 @cindex no reset accidental style
2414
2415 @funindex no-reset
2416
2417 This is the same as @code{default} but with accidentals lasting
2418 @q{forever} and not only within the same measure:
2419
2420 @lilypond[quote]
2421 musicA = {
2422   <<
2423     \relative c' {
2424       cis'8 fis, bes4 <a cis>8 f bis4 |
2425       cis2. <c, g'>4 |
2426     }
2427     \\
2428     \relative c' {
2429       ais'2 cis, |
2430       fis8 b a4 cis2 |
2431     }
2432   >>
2433 }
2434
2435 musicB = {
2436   \clef bass
2437   \new Voice {
2438     \voiceTwo \relative c' {
2439       <fis, a cis>8[ <fis a cis>
2440       \change Staff = up
2441       cis' cis
2442       \change Staff = down
2443       <fis, a> <fis a>]
2444       \showStaffSwitch
2445       \change Staff = up
2446       dis'4 |
2447       \change Staff = down
2448       <fis, a cis>4 gis <f a d>2 |
2449     }
2450   }
2451 }
2452
2453 \new PianoStaff {
2454   <<
2455     \context Staff = "up" {
2456       \accidentalStyle "no-reset"
2457       \musicA
2458     }
2459     \context Staff = "down" {
2460       \accidentalStyle "no-reset"
2461       \musicB
2462     }
2463   >>
2464 }
2465 @end lilypond
2466
2467 @item forget
2468
2469 @cindex forget accidental style
2470 @cindex accidental style, forget
2471
2472 @funindex forget
2473
2474 This is the opposite of @code{no-reset}: Accidentals are not
2475 remembered at all -- and hence all accidentals are typeset
2476 relative to the key signature, regardless of what came before in
2477 the music.
2478
2479 @lilypond[quote]
2480 musicA = {
2481   <<
2482     \relative c' {
2483       cis'8 fis, bes4 <a cis>8 f bis4 |
2484       cis2. <c, g'>4 |
2485     }
2486     \\
2487     \relative c' {
2488       ais'2 cis, |
2489       fis8 b a4 cis2 |
2490     }
2491   >>
2492 }
2493
2494 musicB = {
2495   \clef bass
2496   \new Voice {
2497     \voiceTwo \relative c' {
2498       <fis, a cis>8[ <fis a cis>
2499       \change Staff = up
2500       cis' cis
2501       \change Staff = down
2502       <fis, a> <fis a>]
2503       \showStaffSwitch
2504       \change Staff = up
2505       dis'4 |
2506       \change Staff = down
2507       <fis, a cis>4 gis <f a d>2 |
2508     }
2509   }
2510 }
2511
2512 \new PianoStaff {
2513   <<
2514     \context Staff = "up" {
2515       \accidentalStyle "forget"
2516       \musicA
2517     }
2518     \context Staff = "down" {
2519       \accidentalStyle "forget"
2520       \musicB
2521     }
2522   >>
2523 }
2524 @end lilypond
2525 @end table
2526
2527 @seealso
2528 Snippets:
2529 @rlsr{Pitches}.
2530
2531 Internals Reference:
2532 @rinternals{Accidental},
2533 @rinternals{Accidental_engraver},
2534 @rinternals{GrandStaff},
2535 @rinternals{PianoStaff},
2536 @rinternals{Staff},
2537 @rinternals{AccidentalSuggestion},
2538 @rinternals{AccidentalPlacement},
2539 @rinternals{accidental-suggestion-interface}.
2540
2541 @cindex accidentals and simultaneous notes
2542 @cindex simultaneous notes and accidentals
2543 @cindex accidentals in chords
2544 @cindex chords, accidentals in
2545
2546 @knownissues
2547 Simultaneous notes are not considered in the automatic
2548 determination of accidentals; only previous notes and the key
2549 signature are considered.  Forcing accidentals with@tie{}@code{!}
2550 or@tie{}@code{?} may be required when the same note name occurs
2551 simultaneously with different alterations, as in @samp{<f! fis!>}.
2552
2553 Cautionary cancellation of accidentals is done by looking at previous measure.
2554 However, in the @code{\alternative} block following a @code{\repeat volta N}
2555 section, one would expect the cancellation being calculated using the previous
2556 @emph{played} measure, not previous @emph{printed} measure.
2557 In the following example, the natural @code{c} in the second alternative does
2558 not need a natural sign:
2559
2560 @lilypond[quote]
2561 {
2562   \accidentalStyle "modern"
2563   \time 2/4
2564   \repeat volta 2 {
2565     c'2
2566   }
2567   \alternative {
2568      cis'
2569      c'
2570   }
2571 }
2572 @end lilypond
2573
2574 The following work-around can be used: define a function that locally changes
2575 the accidental style to @code{forget}:
2576
2577 @lilypond[verbatim,quote]
2578 forget = #(define-music-function (parser location music) (ly:music?) #{
2579   \accidentalStyle "forget"
2580   #music
2581   \accidentalStyle "modern"
2582 #})
2583 {
2584   \accidentalStyle "modern"
2585   \time 2/4
2586   \repeat volta 2 {
2587     c'2
2588   }
2589   \alternative {
2590      cis'
2591      \forget c'
2592   }
2593 }
2594 @end lilypond
2595
2596
2597 @node Ambitus
2598 @unnumberedsubsubsec Ambitus
2599
2600 @cindex ambitus
2601 @cindex range of pitches
2602 @cindex pitch range
2603
2604 The term @notation{ambitus} (pl. ambitus) denotes a range of
2605 pitches for a given voice in a part of music.  It may also denote
2606 the pitch range that a musical instrument is capable of playing.
2607 Ambitus are printed on vocal parts so that performers can easily
2608 determine if it matches their capabilities.
2609
2610 Ambitus are denoted at the beginning of a piece near the initial
2611 clef.  The range is graphically specified by two note heads that
2612 represent the lowest and highest pitches.  Accidentals are only
2613 printed if they are not part of the key signature.
2614
2615 @lilypond[verbatim,quote]
2616 \layout {
2617   \context {
2618     \Voice
2619     \consists "Ambitus_engraver"
2620   }
2621 }
2622
2623 \relative c'' {
2624   aes c e2
2625   cis,1
2626 }
2627 @end lilypond
2628
2629
2630 @snippets
2631
2632 @lilypondfile[verbatim,quote,texidoc,doctitle]
2633 {adding-ambitus-per-voice.ly}
2634
2635 @lilypondfile[verbatim,quote,texidoc,doctitle]
2636 {ambitus-with-multiple-voices.ly}
2637
2638 @lilypondfile[verbatim,quote,texidoc,doctitle]
2639 {changing-the-ambitus-gap.ly}
2640
2641 @seealso
2642 Music Glossary:
2643 @rglos{ambitus}.
2644
2645 Snippets:
2646 @rlsr{Pitches}.
2647
2648 Internals Reference:
2649 @rinternals{Ambitus_engraver},
2650 @rinternals{Voice},
2651 @rinternals{Staff},
2652 @rinternals{Ambitus},
2653 @rinternals{AmbitusAccidental},
2654 @rinternals{AmbitusLine},
2655 @rinternals{AmbitusNoteHead},
2656 @rinternals{ambitus-interface}.
2657
2658 @knownissues
2659 There is no collision handling in the case of multiple per-voice
2660 ambitus.
2661
2662
2663 @node Note heads
2664 @subsection Note heads
2665
2666 This section suggests ways of altering note heads.
2667
2668 @menu
2669 * Special note heads::
2670 * Easy notation note heads::
2671 * Shape note heads::
2672 * Improvisation::
2673 @end menu
2674
2675 @node Special note heads
2676 @unnumberedsubsubsec Special note heads
2677
2678 @cindex note heads, special
2679 @cindex note heads, cross
2680 @cindex note heads, diamond
2681 @cindex note heads, parlato
2682 @cindex note heads, harmonic
2683 @cindex note heads, guitar
2684 @cindex special note heads
2685 @cindex cross note heads
2686 @cindex diamond note heads
2687 @cindex parlato note heads
2688 @cindex harmonic note heads
2689 @cindex guitar note heads
2690 @cindex note head styles
2691 @cindex styles, note heads
2692
2693 @funindex cross
2694
2695 The appearance of note heads may be altered:
2696
2697 @lilypond[verbatim,quote,relative=2]
2698 c4 b
2699 \override NoteHead #'style = #'cross
2700 c4 b
2701 \revert NoteHead #'style
2702 a b
2703 \override NoteHead #'style = #'harmonic
2704 a b
2705 \revert NoteHead #'style
2706 c4 d e f
2707 @end lilypond
2708
2709 To see all note head styles, see @ref{Note head styles}.
2710
2711 The @code{cross} style is used to represent a variety of musical
2712 intentions.  The following generic predefined commands modify the
2713 note head in both staff and tablature contexts and can be used to
2714 represent any musical meaning:
2715
2716 @lilypond[verbatim,quote,relative=2]
2717 c4 b
2718 \xNotesOn
2719  a b c4 b
2720 \xNotesOff
2721 c4 d
2722 @end lilypond
2723
2724 The music function form of this predefined command may be used
2725 inside and outside chords to generate crossed note heads in both
2726 staff and tablature contexts:
2727
2728 @lilypond[verbatim,quote,relative=2]
2729 c4 b
2730 \xNote { e f }
2731 c b < g \xNote c f > b
2732 @end lilypond
2733
2734 As synonyms for @code{\xNote}, @code{\xNotesOn} and @code{\xNotesOff},
2735 @code{\deadNote}, @code{\deadNotesOn} and @code{\deadNotesOff} can
2736 be used.  The term @notation{dead note} is commonly used by guitarists.
2737
2738 There is also a shorthand for diamond shapes which can be used
2739 only inside chords:
2740
2741 @lilypond[verbatim,quote,relative=2]
2742 <c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic>
2743 @end lilypond
2744
2745 @predefined
2746 @code{\harmonic},
2747 @code{\xNotesOn},
2748 @code{\xNotesOff},
2749 @code{\xNote}.
2750 @endpredefined
2751
2752 @seealso
2753 Snippets:
2754 @rlsr{Pitches}.
2755
2756 Notation Reference:
2757 @ref{Note head styles},
2758 @ref{Chorded notes},
2759 @ref{Indicating harmonics and dampened notes}.
2760
2761 Internals Reference:
2762 @rinternals{note-event},
2763 @rinternals{Note_heads_engraver},
2764 @rinternals{Ledger_line_engraver},
2765 @rinternals{NoteHead},
2766 @rinternals{LedgerLineSpanner},
2767 @rinternals{note-head-interface},
2768 @rinternals{ledger-line-spanner-interface}.
2769
2770
2771 @node Easy notation note heads
2772 @unnumberedsubsubsec Easy notation note heads
2773
2774 @cindex note heads, practice
2775 @cindex practice note heads
2776 @cindex note heads, easy notation
2777 @cindex easy notation
2778 @cindex beginners' music
2779 @cindex music, beginners'
2780 @cindex easy play note heads
2781 @cindex note heads, easy play
2782
2783 @funindex \easyHeadsOn
2784 @funindex easyHeadsOn
2785 @funindex \easyHeadsOff
2786 @funindex easyHeadsOff
2787
2788 The @q{easy play} note head includes a note name inside the head.
2789 It is used in music for beginners.  To make the letters readable,
2790 it should be printed in a large font size.  To print with a larger
2791 font, see @ref{Setting the staff size}.
2792
2793 @lilypond[verbatim,quote]
2794 #(set-global-staff-size 26)
2795 \relative c' {
2796   \easyHeadsOn
2797   c2 e4 f
2798   g1
2799   \easyHeadsOff
2800   c,1
2801 }
2802 @end lilypond
2803
2804
2805 @predefined
2806 @code{\easyHeadsOn},
2807 @code{\easyHeadsOff}.
2808 @endpredefined
2809
2810
2811 @snippets
2812
2813 @lilypondfile[verbatim,quote,texidoc,doctitle]
2814 {numbers-as-easy-note-heads.ly}
2815
2816 @seealso
2817 Notation Reference:
2818 @ref{Setting the staff size}.
2819
2820 Snippets:
2821 @rlsr{Pitches}.
2822
2823 Internals Reference:
2824 @rinternals{note-event},
2825 @rinternals{Note_heads_engraver},
2826 @rinternals{NoteHead},
2827 @rinternals{note-head-interface}.
2828
2829
2830 @node Shape note heads
2831 @unnumberedsubsubsec Shape note heads
2832
2833 @cindex note heads, shape
2834 @cindex note heads, Aiken
2835 @cindex note heads, sacred harp
2836 @cindex shape notes
2837 @cindex Aiken shape note heads
2838 @cindex sacred harp note heads
2839 @cindex note heads, Southern Harmony
2840 @cindex Southern Harmony note heads
2841 @cindex Funk shape note heads
2842 @cindex note heads, Funk
2843 @cindex note heads, Harmonica Sacra
2844 @cindex Harmonica Sacra note heads
2845 @cindex Christian Harmony note heads
2846 @cindex note heads, Christian Harmony
2847 @cindex Walker shape note heads
2848 @cindex note heads, Walker
2849
2850 @funindex \aikenHeads
2851 @funindex aikenHeads
2852 @funindex \sacredHarpHeads
2853 @funindex sacredHarpHeads
2854 @funindex \southernHarmonyHeads
2855 @funindex southernHarmonyHeads
2856 @funindex \funkHeads
2857 @funindex funkHeads
2858 @funindex \walkerHeads
2859 @funindex walkerHeads
2860
2861 In shape note head notation, the shape of the note head
2862 corresponds to the harmonic function of a note in the scale.  This
2863 notation was popular in nineteenth-century American song books.
2864 Shape note heads can be produced in Sacred Harp, Southern Harmony,
2865 Funk (Harmonica Sacra), Walker, and Aiken (Christian Harmony) styles:
2866
2867 @lilypond[verbatim,quote,relative=2]
2868 \aikenHeads
2869 c, d e f g2 a b1 c \break
2870 \sacredHarpHeads
2871 c,4 d e f g2 a b1 c \break
2872 \southernHarmonyHeads
2873 c,4 d e f g2 a b1 c \break
2874 \funkHeads
2875 c,4 d e f g2 a b1 c \break
2876 \walkerHeads
2877 c,4 d e f g2 a b1 c \break
2878 @end lilypond
2879
2880 @funindex \key
2881 @funindex key
2882 @funindex \aikenHeadsMinor
2883 @funindex aikenHeadsMinor
2884 @funindex \sacredHarpHeadsMinor
2885 @funindex sacredHarpHeadsMinor
2886 @funindex \southernHarmonyHeadsMinor
2887 @funindex southernHarmonyHeadsMinor
2888 @funindex \funkHeadsMinor
2889 @funindex funkHeadsMinor
2890 @funindex \walkerHeadsMinor
2891 @funindex walkerHeadsMinor
2892
2893 Shapes are typeset according to the step in the scale, where the base
2894 of the scale is determined by the @code{\key} command.  When writing
2895 in a minor key, the scale step can be determined from the relative
2896 major:
2897
2898 @lilypond[verbatim,quote,relative=2]
2899 \key a \minor
2900 \aikenHeads
2901 a b c d e2 f g1 a \break
2902 \aikenHeadsMinor
2903 a,4 b c d e2 f g1 a \break
2904 \sacredHarpHeadsMinor
2905 a,2 b c d \break
2906 \southernHarmonyHeadsMinor
2907 a2 b c d \break
2908 \funkHeadsMinor
2909 a2 b c d \break
2910 \walkerHeadsMinor
2911 a2 b c d \break
2912
2913 @end lilypond
2914
2915
2916 @predefined
2917 @code{\aikenHeads},
2918 @code{\aikenHeadsMinor},
2919 @code{\funkHeads},
2920 @code{\funkHeadsMinor},
2921 @code{\sacredHarpHeads},
2922 @code{\sacredHarpHeadsMinor},
2923 @code{\southernHarmonyHeads},
2924 @code{\southernHarmonyHeadsMinor},
2925 @code{\walkerHeads},
2926 @code{\walkerHeadsMinor}.
2927 @endpredefined
2928
2929
2930 @snippets
2931
2932 @lilypondfile[verbatim,quote,texidoc,doctitle]
2933 {applying-note-head-styles-depending-on-the-step-of-the-scale.ly}
2934
2935 To see all note head styles, see @ref{Note head styles}.
2936
2937 @seealso
2938 Snippets:
2939 @rlsr{Pitches}.
2940
2941 Notation Reference:
2942 @ref{Note head styles}.
2943
2944 Internals Reference:
2945 @rinternals{note-event},
2946 @rinternals{Note_heads_engraver},
2947 @rinternals{NoteHead},
2948 @rinternals{note-head-interface}.
2949
2950
2951 @node Improvisation
2952 @unnumberedsubsubsec Improvisation
2953
2954 @cindex improvisation
2955 @cindex slashed note heads
2956 @cindex note heads, improvisation
2957 @cindex note heads, slashed
2958
2959 @funindex \improvisationOn
2960 @funindex improvisationOn
2961 @funindex \improvisationOff
2962 @funindex improvisationOff
2963
2964 Improvisation is sometimes denoted with slashed note heads, where
2965 the performer may choose any pitch but should play the specified
2966 rhythm.  Such note heads can be created:
2967
2968 @lilypond[verbatim,quote,relative=2]
2969 \new Voice \with {
2970   \consists "Pitch_squash_engraver"
2971 } {
2972   e8 e g a a16( bes) a8 g
2973   \improvisationOn
2974   e8 ~
2975   e2 ~ e8 f4 f8 ~
2976   f2
2977   \improvisationOff
2978   a16( bes) a8 g e
2979 }
2980 @end lilypond
2981
2982 @predefined
2983 @code{\improvisationOn},
2984 @code{\improvisationOff}.
2985 @endpredefined
2986
2987 @seealso
2988 Snippets:
2989 @rlsr{Pitches}.
2990
2991 Internals Reference:
2992 @rinternals{Pitch_squash_engraver},
2993 @rinternals{Voice},
2994 @rinternals{RhythmicStaff}.