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