#### 3.9.3 Percussion staves

A percussion part for more than one instrument typically uses a multiline staff where each position in the staff refers to one piece of percussion.

To typeset the music, the notes must be interpreted in a DrumStaff and DrumVoice contexts

>          up = \drums { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat }
>          down = \drums { bassdrum4 snare8 bd r bd sn4 }
>          \score {
>            \new DrumStaff <<
>              \new DrumVoice { \voiceOne \up }
>              \new DrumVoice { \voiceTwo \down }
>            >>
>          }

The above example shows verbose polyphonic notation. The short polyphonic notation, described in Polyphony, can also be used if the DrumVoices are instantiated by hand first. For example,

>          \drums \new DrumStaff <<
>            \context DrumVoice = "1" {  s1 *2 }
>            \context DrumVoice = "2" {  s1 *2 }
>            {
>              bd4 sn4 bd4 sn4
>              <<
>                { \repeat unfold 16 hh16 }
>                \\
>                { bd4 sn4 bd4 sn4 }
>              >>
>            }
>          >>

There are also other layout possibilities. To use these, set the property `drumStyleTable` in context DrumVoice. The following variables have been predefined

`drums-style`
  is the default. It typesets a typical drum kit on a five-line staff

  The drum scheme supports six different toms. When there fewer toms, simply select the toms that produce the desired result, i.e. to get toms on the three middle lines you use `tommh`, `tomml` and `tomfh`.

`timbales-style`
  to typeset timbales on a two line staff

`congas-style`
  to typeset congas on a two line staff

`bongos-style`
  to typeset bongos on a two line staff

`percussion-style`
  to typeset all kinds of simple percussion on one line staves

If you do not like any of the predefined lists you can define your own list at the top of your file

>          #(define mydrums '(
>                  (bassdrum     default   #f        -1)
>                  (snare        default   #f        0)
>                  (hihat        cross     #f        1)
>                  (pedalhihat   xcircle   "stopped" 2)
>                  (lowtom	      diamond   #f       3)))
>          up = \drums { hh8 hh hh hh hhp4 hhp }
>          down = \drums { bd4 sn bd toml8 toml }
>          \score {
>            \new DrumStaff <<
>              \set DrumStaff.drumStyleTable
>                 = #(alist->hash-table mydrums)
>              \new DrumVoice { \voiceOne \up }
>              \new DrumVoice { \voiceTwo \down }
>            >>
>          }

##### See also

Init files: ly/drumpitch-init.ly.

Program reference: DrumStaff, DrumVoice.

##### Bugs

Because general MIDI does not contain rim shots, the sidestick is used for this purpose instead.

Read comments on this page, or add one. This page is for LilyPond-2.2.2 (stable-branch).