1 @c -*- coding: utf-8; mode: texinfo; -*-
3 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
5 When revising a translation, copy the HEAD committish of the
6 version that you are working on. See TRANSLATION for details.
15 * Common notation for percussion::
18 @node Common notation for percussion
19 @subsection Common notation for percussion
21 Rhythmic music is primarily used for percussion and drum notation, but it can
22 also be used to show the rhythms of melodies.
25 * References for percussion::
26 * Basic percussion notation::
28 * Pitched percussion::
30 * Custom percussion staves::
34 @node References for percussion
35 @unnumberedsubsubsec References for percussion
41 @item Some percussion may be notated on a rhythmic staff; this is
42 discussed in @ref{Showing melody rhythms}, and
43 @ref{Instantiating new staves}.
45 @item MIDI output is discussed in a separate section; please see
46 @ref{Percussion in MIDI}.
53 @ref{Showing melody rhythms},
54 @ref{Instantiating new staves}.
55 @ref{Percussion in MIDI}.
61 @node Basic percussion notation
62 @unnumberedsubsubsec Basic percussion notation
67 Percussion notes may be entered in @code{\drummode} mode, which is
68 similar to the standard mode for entering notes. The simplest way
69 to enter percussion notes is to use the @code{\drums} command,
70 which creates the correct context and entry mode for percussion:
72 @lilypond[quote,verbatim]
78 This is shorthand for:
80 @lilypond[quote,verbatim]
88 Each piece of percussion has a full name and an abbreviated name,
89 and both can be used in input files. The full list of percussion
90 note names may be found in @ref{Percussion notes}.
92 Note that the normal notation of pitches (such as @code{cis4}) in
93 a @code{DrumStaff} context will cause an error message.
94 Percussion clefs are added automatically to a @code{DrumStaff}
95 contex, but other clefs may also be used.
97 There are a few issues concerning MIDI support for percussion
98 instruments; for details please see @ref{Percussion in MIDI}.
103 @ref{Percussion in MIDI},
104 @ref{Percussion notes}.
107 @file{ly/@/drumpitch@/-init@/.ly}
114 @unnumberedsubsubsec Drum rolls
116 Drum rolls are indicated with three slashes across the stem. For
117 quarter notes or longer the three slashes are shown explicitly,
118 eighth notes are shown with two slashes (the beam being the
119 third), and drum rolls shorter than eighths have one stem slash to
120 supplement the beams. This is achieved with the tremolo notation,
121 @code{:32}, as described in @ref{Tremolo repeats}. Here is an
122 example of some snare rolls:
124 @lilypond[quote,verbatim]
127 sn16 sn8 sn16 sn8 sn8:32 ~
134 Sticking can be indicated by placing @code{^"R"} or @code{^"L"}
135 after the note. The @code{staff-padding} property may be
136 overridden to achieve a pleasing baseline.
138 @lilypond[quote,verbatim]
141 sn16 ^"L" sn^"R" sn^"L" sn^"L" sn^"R" sn^"L" sn^"R" sn^"R"
152 @node Pitched percussion
153 @unnumberedsubsubsec Pitched percussion
155 Certain pitched percussion instruments (e.g. xylophone,
156 vibraphone, and timpani) are written using normal staves.
157 This is covered in other sections of the manual.
161 @c TODO: possibly link to an alternate section of NR 3.5, if
162 @c "percussion in MIDI" gets a separate subsubsection for
163 @c pitched percussion sounds. -gp
165 @ref{Percussion in MIDI}.
171 @node Percussion staves
172 @unnumberedsubsubsec Percussion staves
177 A percussion part for more than one instrument typically uses a
178 multiline staff where each position in the staff refers to one
179 piece of percussion. To typeset the music, the notes must be
180 interpreted in @code{DrumStaff} and @code{DrumVoice} context.
182 @lilypond[quote,verbatim]
184 crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat
187 bassdrum4 snare8 bd r bd sn4
190 \new DrumVoice { \voiceOne \up }
191 \new DrumVoice { \voiceTwo \down }
195 The above example shows verbose polyphonic notation. The short
196 polyphonic notation, described in @rlearning{I'm hearing Voices},
197 can also be used if the voices are instantiated by hand first.
200 @lilypond[quote,verbatim]
202 \new DrumVoice = "1" { s1*2 }
203 \new DrumVoice = "2" { s1*2 }
207 \repeat unfold 16 hh16
215 There are also other layout possibilities. To use these, set the
216 property @code{drumStyleTable} in context @code{DrumVoice}. The
217 following variables have been predefined:
219 @c FIXME: decide what to do about this table. (ie verbatim or not)
223 This is the default. It typesets a typical drum kit on a
226 @lilypond[quote,line-width=10.0\cm]
228 cymc cyms cymr hh hhc hho hhho hhp
229 cb hc bd sn ss tomh tommh tomml toml tomfh tomfl }
231 cymc cyms cymr hh hhc hho hhho hhp \break
232 cb hc bd sn ss tomh tommh tomml toml tomfh tomfl s16 }
234 << \new DrumStaff \with {
236 \remove Time_signature_engraver
237 \override Stem #'transparent = ##t
238 \override Stem #'Y-extent = ##f
239 \override VerticalAxisGroup #'minimum-Y-extent = #'(-4.0 . 5.0)
246 \override LyricText #'font-family = #'typewriter
247 \override BarNumber #'transparent =##T
253 The drum scheme supports six different toms. When there are fewer
254 toms, simply select the toms that produce the desired result. For
255 example, to get toms on the three middle lines you use
256 @code{tommh}, @code{tomml}, and @code{tomfh}.
259 This typesets timbales on a two line staff:
261 @lilypond[quote,ragged-right]
262 nam = \lyricmode { timh ssh timl ssl cb }
263 mus = \drummode { timh ssh timl ssl cb s16 }
266 \new DrumStaff \with {
268 \remove Time_signature_engraver
269 \override Stem #'transparent = ##t
270 \override Stem #'Y-extent = ##f
271 \override StaffSymbol #'line-count = #2
272 \override StaffSymbol #'staff-space = #2
273 \override VerticalAxisGroup #'minimum-Y-extent = #'(-3.0 . 4.0)
274 drumStyleTable = #timbales-style
277 \override LyricText #'font-family = #'typewriter
284 This typesets congas on a two line staff:
286 @lilypond[quote,ragged-right]
287 nam = \lyricmode { cgh cgho cghm ssh cgl cglo cglm ssl }
288 mus = \drummode { cgh cgho cghm ssh cgl cglo cglm ssl s16 }
291 \new DrumStaff \with {
293 \remove Time_signature_engraver
294 drumStyleTable = #congas-style
295 \override StaffSymbol #'line-count = #2
297 %% this sucks; it will lengthen stems.
298 \override StaffSymbol #'staff-space = #2
299 \override Stem #'transparent = ##t
300 \override Stem #'Y-extent = ##f
303 \override LyricText #'font-family = #'typewriter
310 This typesets bongos on a two line staff:
312 @lilypond[quote,ragged-right]
313 nam = \lyricmode { boh boho bohm ssh bol bolo bolm ssl }
314 mus = \drummode { boh boho bohm ssh bol bolo bolm ssl s16 }
317 \new DrumStaff \with {
319 \remove Time_signature_engraver
320 \override StaffSymbol #'line-count = #2
321 drumStyleTable = #bongos-style
323 %% this sucks; it will lengthen stems.
324 \override StaffSymbol #'staff-space = #2
325 \override Stem #'transparent = ##t
326 \override Stem #'Y-extent = ##f
329 \override LyricText #'font-family = #'typewriter
335 @item percussion-style
336 To typeset all kinds of simple percussion on one line staves:
338 @lilypond[quote,ragged-right]
339 nam = \lyricmode { tri trio trim gui guis guil cb cl tamb cab mar hc }
340 mus = \drummode { tri trio trim gui guis guil cb cl tamb cab mar hc s16 }
343 \new DrumStaff \with{
345 drumStyleTable = #percussion-style
346 \override StaffSymbol #'line-count = #1
347 \remove Time_signature_engraver
348 \override Stem #'transparent = ##t
349 \override Stem #'Y-extent = ##f
352 \override LyricText #'font-family = #'typewriter
360 @node Custom percussion staves
361 @unnumberedsubsubsec Custom percussion staves
363 If you do not like any of the predefined lists you can define your
364 own list at the top of your file.
366 @lilypond[quote,verbatim]
368 (bassdrum default #f -1)
371 (pedalhihat xcircle "stopped" 2)
372 (lowtom diamond #f 3)))
373 up = \drummode { hh8 hh hh hh hhp4 hhp }
374 down = \drummode { bd4 sn bd toml8 toml }
377 \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
378 \new DrumVoice { \voiceOne \up }
379 \new DrumVoice { \voiceTwo \down }
386 FIXME: MOVE ALL THESE TO LSR! -gp
388 Here are some examples:
390 Two Woodblocks, entered with wbh (high woodblock) and wbl (low woodblock)
392 @lilypond[quote,verbatim]
393 % These lines define the position of the woodblocks in the stave;
394 % if you like, you can change it or you can use special note heads
395 % for the woodblocks.
396 #(define mydrums '((hiwoodblock default #t 3)
397 (lowoodblock default #t -2)))
400 % This defines a staff with only two lines.
401 % It also defines the positions of the two lines.
402 \override Staff.StaffSymbol #'line-positions = #'(-2 3)
404 % This is neccessary; if not entered, the barline would be too short!
405 \override Staff.BarLine #'bar-size = #3
409 \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
411 % with this you load your new drum style table
416 wbl8 wbl16 wbl wbh8-> wbl |
417 wbl8 wbl16 wbh-> ~ wbh wbl16 r8 |
422 Note that in this special case the length of the barline must
423 altered with @code{\override Staff.BarLine #'bar-size #number}.
424 Otherwise it would be too short. And you have also to define the
425 positions of the two stafflines. For more information about these
426 delicate things have a look at @ref{Staff symbol}.
428 A tambourine, entered with @q{tamb}:
430 @lilypond[quote,verbatim]
431 #(define mydrums '((tambourine default #t 0)))
434 \override Staff.StaffSymbol #'line-positions = #'( 0 )
435 \override Staff.BarLine #'bar-size = #3
436 \set DrumStaff.instrumentName = #"Tambourine"
441 \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
445 tamb8. tamb16 tamb8 tamb tamb tamb |
446 tamb4. tamb8 tamb tamb |
447 % the trick with the scaled duration and the shorter rest
448 % is neccessary for the correct ending of the trill-span!
449 tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan |
454 Music for Tam-Tam (entered with @q{tt}):
456 @lilypond[quote,verbatim]
457 #(define mydrums '((tamtam default #t 0)))
460 \override Staff.StaffSymbol #'line-positions = #'( 0 )
461 \override Staff.BarLine #'bar-size = #3
462 \set DrumStaff.instrumentName = #"Tamtam"
467 \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
470 tt 1 \pp \laissezVibrer
475 Two different bells, entered with @q{cb} (cowbell) and @q{rb} (ridebell)
477 @lilypond[quote,verbatim]
478 #(define mydrums '((ridebell default #t 3)
479 (cowbell default #t -2)))
482 \override DrumStaff.StaffSymbol #'line-positions = #'(-2 3)
483 \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
484 \override Staff.BarLine #'bar-size = #3
485 \set DrumStaff.instrumentName = #"Different Bells"
492 rb8 rb cb cb16 rb-> ~ |
493 rb16 rb8 rb16 cb8 cb |
498 Here a short example taken from Stravinsky's @q{L'histoire du Soldat}.
500 @lilypond[quote,verbatim]
501 #(define mydrums '((bassdrum default #t 4)
502 (snare default #t -4)
503 (tambourine default #t 0)))
513 \context DrumVoice <<
517 \stemDown sn8 \stemUp tamb s8 |
519 \stemUp tamb8 \stemDown sn8 \stemUp sn16 \stemDown sn \stemUp sn8 |
520 \stemDown sn8 \stemUp tamb s8 |
521 \stemUp sn4 s8 \stemUp tamb
529 s4 bd8 s2*2 s4 bd8 s4 bd8 s8
540 \set DrumStaff.instrumentName = \markup {
544 "caisse claire s. timbre"
547 \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
552 \set DrumStaff.instrumentName = #"Grosse Caisse"
553 \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
565 @rinternals{DrumStaff},
566 @rinternals{DrumVoice}.
569 @c TODO: check name -gp
571 @unnumberedsubsubsec Ghost notes
573 Ghost notes for drums and percussion may be created using the
574 @code{\parenthesize} command detailed in @ref{Parentheses}.
575 However, the default @code{\drummode} does not include the
576 @code{Parenthesis_engraver} plugin which allows this.
578 @lilypond[quote,ragged-right,verbatim,fragment]
579 \new DrumStaff \with {
580 \consists "Parenthesis_engraver"
583 \context DrumVoice = "1" { s1 }
584 \context DrumVoice = "2" { s1 }
588 hh8[ hh] <hh sn> hh16
589 < \parenthesize sn > hh
590 < \parenthesize sn > hh8 <hh sn> hh
601 Also note that you must add chords (@code{< >} brackets)
602 around each @code{\parenthesize} statement.