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