1 @c -*- coding: utf-8; mode: texinfo; -*-
3 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
5 When revising a translation, copy the HEAD committish of the
6 version that you are working on. For details, see the Contributors'
7 Guide, node Updating translation committishes..
16 * Common notation for percussion::
19 @node Common notation for percussion
20 @subsection Common notation for percussion
22 Rhythmic music is primarily used for percussion and drum notation, but it can
23 also be used to show the rhythms of melodies.
26 * References for percussion::
27 * Basic percussion notation::
29 * Pitched percussion::
31 * Custom percussion staves::
35 @node References for percussion
36 @unnumberedsubsubsec References for percussion
38 @c TODO add more references.
42 @item Some percussion may be notated on a rhythmic staff; this is
43 discussed in @ref{Showing melody rhythms}, and
44 @ref{Instantiating new staves}.
46 @item MIDI output is discussed in a separate section; please see
47 @ref{Percussion in MIDI}.
54 @ref{Showing melody rhythms},
55 @ref{Instantiating new staves}.
56 @ref{Percussion in MIDI}.
62 @node Basic percussion notation
63 @unnumberedsubsubsec Basic percussion notation
68 Percussion notes may be entered in @code{\drummode} mode, which is
69 similar to the standard mode for entering notes. The simplest way
70 to enter percussion notes is to use the @code{\drums} command,
71 which creates the correct context and entry mode for percussion:
73 @lilypond[quote,verbatim]
79 This is shorthand for:
81 @lilypond[quote,verbatim]
89 Each piece of percussion has a full name and an abbreviated name,
90 and both can be used in input files. The full list of percussion
91 note names may be found in @ref{Percussion notes}.
93 @cindex clef, percussion
94 @cindex percussion clef
96 Note that the normal notation of pitches (such as @code{cis4}) in a
97 @code{DrumStaff} context will cause an error message. Percussion clefs
98 are added automatically to a @code{DrumStaff} context but they can also
99 be set explicitly. Other clefs may be used as well.
101 @lilypond[quote,ragged-right,verbatim]
111 There are a few issues concerning MIDI support for percussion
112 instruments; for details please see @ref{Percussion in MIDI}.
117 @ref{Percussion in MIDI},
118 @ref{Percussion notes}.
121 @file{ly/drumpitch-init.ly}
128 @unnumberedsubsubsec Drum rolls
130 Drum rolls are indicated with three slashes across the stem. For
131 quarter notes or longer the three slashes are shown explicitly,
132 eighth notes are shown with two slashes (the beam being the
133 third), and drum rolls shorter than eighths have one stem slash to
134 supplement the beams. This is achieved with the tremolo notation,
135 as described in @ref{Tremolo repeats}.
137 @lilypond[quote,verbatim]
140 sn16 sn8 sn16 sn8 sn8:32 ~
147 Sticking can be indicated by placing placing markup for @code{"R"}
148 or @code{"L"} above or below notes, as discussed in
149 @ref{Direction and placement}. The @code{staff-padding} property
150 may be overridden to achieve a pleasing baseline.
152 @lilypond[quote,verbatim]
155 sn16^"L" sn^"R" sn^"L" sn^"L" sn^"R" sn^"L" sn^"R" sn^"R"
157 sn16_"L" sn_"R" sn_"L" sn_"L" sn_"R" sn_"L" sn_"R" sn_"R"
166 @ref{Tremolo repeats}.
172 @node Pitched percussion
173 @unnumberedsubsubsec Pitched percussion
175 Certain pitched percussion instruments (e.g. xylophone,
176 vibraphone, and timpani) are written using normal staves.
177 This is covered in other sections of the manual.
181 @c TODO: possibly link to an alternate section of NR 3.5, if
182 @c "percussion in MIDI" gets a separate subsubsection for
183 @c pitched percussion sounds. -gp
185 @ref{Percussion in MIDI}.
191 @node Percussion staves
192 @unnumberedsubsubsec Percussion staves
197 A percussion part for more than one instrument typically uses a
198 multiline staff where each position in the staff refers to one
199 piece of percussion. To typeset the music, the notes must be
200 interpreted in @code{DrumStaff} and @code{DrumVoice} context.
202 @lilypond[quote,verbatim]
204 crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat
207 bassdrum4 snare8 bd r bd sn4
210 \new DrumVoice { \voiceOne \up }
211 \new DrumVoice { \voiceTwo \down }
215 The above example shows verbose polyphonic notation. The short
216 polyphonic notation, described in @rlearning{I'm hearing Voices},
220 @lilypond[quote,verbatim]
225 \repeat unfold 16 hh16
233 There are also other layout possibilities. To use these, set the
234 property @code{drumStyleTable} in context @code{DrumVoice}. The
235 following variables have been predefined:
237 @c TODO: decide what to do about this table. (ie verbatim or not)
241 This is the default. It typesets a typical drum kit on a
244 @lilypond[quote,line-width=10.0\cm]
246 cymc cyms cymr hh hhc hho hhho hhp
247 cb hc bd sn ss tomh tommh tomml toml tomfh tomfl }
249 cymc cyms cymr hh hhc hho hhho hhp \break
250 cb hc bd sn ss tomh tommh tomml toml tomfh tomfl s16 }
252 << \new DrumStaff \with {
254 \remove Time_signature_engraver
255 \override Stem #'transparent = ##t
256 \override Flag #'transparent = ##t
257 \override Stem #'Y-extent = ##f
264 \override LyricText #'font-family = #'typewriter
265 \override BarNumber #'transparent =##T
271 The drum scheme supports six different toms. When there are fewer
272 toms, simply select the toms that produce the desired result. For
273 example, to get toms on the three middle lines you use
274 @code{tommh}, @code{tomml}, and @code{tomfh}.
277 This typesets timbales on a two line staff:
279 @lilypond[quote,ragged-right]
280 nam = \lyricmode { timh ssh timl ssl cb }
281 mus = \drummode { timh ssh timl ssl cb s16 }
284 \new DrumStaff \with {
286 \remove Time_signature_engraver
287 \override Stem #'transparent = ##t
288 \override Flag #'transparent = ##t
289 \override Stem #'Y-extent = ##f
290 \override StaffSymbol #'line-count = #2
291 \override StaffSymbol #'staff-space = #2
292 \override VerticalAxisGroup #'minimum-Y-extent = #'(-3.0 . 4.0)
293 drumStyleTable = #timbales-style
296 \override LyricText #'font-family = #'typewriter
303 This typesets congas on a two line staff:
305 @lilypond[quote,ragged-right]
306 nam = \lyricmode { cgh cgho cghm ssh cgl cglo cglm ssl }
307 mus = \drummode { cgh cgho cghm ssh cgl cglo cglm ssl s16 }
310 \new DrumStaff \with {
312 \remove Time_signature_engraver
313 drumStyleTable = #congas-style
314 \override StaffSymbol #'line-count = #2
316 %% this sucks; it will lengthen stems.
317 \override StaffSymbol #'staff-space = #2
318 \override Stem #'transparent = ##t
319 \override Flag #'transparent = ##t
320 \override Stem #'Y-extent = ##f
323 \override LyricText #'font-family = #'typewriter
330 This typesets bongos on a two line staff:
332 @lilypond[quote,ragged-right]
333 nam = \lyricmode { boh boho bohm ssh bol bolo bolm ssl }
334 mus = \drummode { boh boho bohm ssh bol bolo bolm ssl s16 }
337 \new DrumStaff \with {
339 \remove Time_signature_engraver
340 \override StaffSymbol #'line-count = #2
341 drumStyleTable = #bongos-style
343 %% this sucks; it will lengthen stems.
344 \override StaffSymbol #'staff-space = #2
345 \override Stem #'transparent = ##t
346 \override Flag #'transparent = ##t
347 \override Stem #'Y-extent = ##f
350 \override LyricText #'font-family = #'typewriter
356 @item percussion-style
357 To typeset all kinds of simple percussion on one line staves:
359 @lilypond[quote,ragged-right]
360 nam = \lyricmode { tri trio trim gui guis guil cb cl tamb cab mar hc }
361 mus = \drummode { tri trio trim gui guis guil cb cl tamb cab mar hc s16 }
364 \new DrumStaff \with{
366 drumStyleTable = #percussion-style
367 \override StaffSymbol #'line-count = #1
368 \remove Time_signature_engraver
369 \override Stem #'transparent = ##t
370 \override Flag #'transparent = ##t
371 \override Stem #'Y-extent = ##f
374 \override LyricText #'font-family = #'typewriter
382 @node Custom percussion staves
383 @unnumberedsubsubsec Custom percussion staves
385 If you do not like any of the predefined lists you can define your
386 own list at the top of your file.
388 @lilypond[quote,verbatim]
390 (bassdrum default #f -1)
393 (halfopenhihat cross "halfopen" 1)
394 (pedalhihat xcircle "stopped" 2)
395 (lowtom diamond #f 3)))
396 up = \drummode { hh8 hh hhho hhho hhp4 hhp }
397 down = \drummode { bd4 sn bd toml8 toml }
400 \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
401 \new DrumVoice { \voiceOne \up }
402 \new DrumVoice { \voiceTwo \down }
409 @c TODO: MOVE ALL THESE TO LSR! -gp
411 Here are some examples:
413 Two Woodblocks, entered with wbh (high woodblock) and wbl (low woodblock)
415 @lilypond[quote,verbatim]
416 % These lines define the position of the woodblocks in the stave;
417 % if you like, you can change it or you can use special note heads
418 % for the woodblocks.
419 #(define mydrums '((hiwoodblock default #t 3)
420 (lowoodblock default #t -2)))
423 % This defines a staff with only two lines.
424 % It also defines the positions of the two lines.
425 \override Staff.StaffSymbol #'line-positions = #'(-2 3)
427 % This is necessary; if not entered, the barline would be too short!
428 \override Staff.BarLine #'bar-extent = #'(-1.5 . 1.5)
432 \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
434 % with this you load your new drum style table
439 wbl8 wbl16 wbl wbh8-> wbl |
440 wbl8 wbl16 wbh-> ~ wbh wbl16 r8 |
445 Note that in this special case the length of the barline must
446 altered with @code{\override Staff.BarLine #'bar-extent #'(from . to)}.
447 Otherwise it would be too short. And you have also to define the
448 positions of the two stafflines. For more information about these
449 delicate things have a look at @ref{Staff symbol}.
451 A tambourine, entered with @q{tamb}:
453 @lilypond[quote,verbatim]
454 #(define mydrums '((tambourine default #t 0)))
457 \override Staff.StaffSymbol #'line-positions = #'( 0 )
458 \override Staff.BarLine #'bar-extent = #'(-1.5 . 1.5)
459 \set DrumStaff.instrumentName = #"Tambourine"
464 \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
468 tamb8. tamb16 tamb8 tamb tamb tamb |
469 tamb4. tamb8 tamb tamb |
470 % the trick with the scaled duration and the shorter rest
471 % is neccessary for the correct ending of the trill-span!
472 tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan |
477 Music for Tam-Tam (entered with @q{tt}):
479 @lilypond[quote,verbatim]
480 #(define mydrums '((tamtam default #t 0)))
483 \override Staff.StaffSymbol #'line-positions = #'( 0 )
484 \override Staff.BarLine #'bar-extent = #'(-1.5 . 1.5)
485 \set DrumStaff.instrumentName = #"Tamtam"
490 \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
493 tt 1 \pp \laissezVibrer
498 Two different bells, entered with @q{cb} (cowbell) and @q{rb} (ridebell)
500 @lilypond[quote,verbatim]
501 #(define mydrums '((ridebell default #t 3)
502 (cowbell default #t -2)))
505 \override DrumStaff.StaffSymbol #'line-positions = #'(-2 3)
506 \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
507 \override Staff.BarLine #'bar-extent = #'(-1.5 . 1.5)
508 \set DrumStaff.instrumentName = #"Different Bells"
515 rb8 rb cb cb16 rb-> ~ |
516 rb16 rb8 rb16 cb8 cb |
521 Here a short example taken from Stravinsky's @q{L'histoire du Soldat}.
523 @lilypond[quote,verbatim]
524 #(define mydrums '((bassdrum default #t 4)
525 (snare default #t -4)
526 (tambourine default #t 0)))
536 \context DrumVoice <<
540 \stemDown sn8 \stemUp tamb s8 |
542 \stemUp tamb8 \stemDown sn8 \stemUp sn16 \stemDown sn \stemUp sn8 |
543 \stemDown sn8 \stemUp tamb s8 |
544 \stemUp sn4 s8 \stemUp tamb
552 s4 bd8 s2*2 s4 bd8 s4 bd8 s8
563 \set DrumStaff.instrumentName = \markup {
567 "caisse claire s. timbre"
570 \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
575 \set DrumStaff.instrumentName = #"Grosse Caisse"
576 \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
588 @rinternals{DrumStaff},
589 @rinternals{DrumVoice}.
592 @c TODO: check name -gp
594 @unnumberedsubsubsec Ghost notes
596 Ghost notes for drums and percussion may be created using the
597 @code{\parenthesize} command detailed in @ref{Parentheses}.
598 However, the default @code{\drummode} does not include the
599 @code{Parenthesis_engraver} plugin which allows this.
601 @lilypond[quote,ragged-right,verbatim]
602 \new DrumStaff \with {
603 \consists "Parenthesis_engraver"
606 \context DrumVoice = "1" { s1 }
607 \context DrumVoice = "2" { s1 }
611 hh8[ hh] <hh sn> hh16
612 < \parenthesize sn > hh
613 < \parenthesize sn > hh8 <hh sn> hh
624 Also note that you must add chords (@code{< >} brackets)
625 around each @code{\parenthesize} statement.