lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Drum Kit Writing


From: Tim Sawyer
Subject: Re: Drum Kit Writing
Date: Tue, 18 Apr 2006 19:18:03 +0100
User-agent: KMail/1.8.3

Hi Naomi,

Here's what I do.  (If anyone has any better ideas, please shout!)  Bear in 
mind I'm using lilypond-book to produce multiple small snippets of music for 
a tutor book.

\begin[staffsize=20]{lilypond}
\version "2.6.0"
#(define mydrums '((bassdrum default #f -3)(sidestick xcircle #f 1)(snare 
default #f 1)(closedhihat cross "stopped" 3)(hihat cross #f 3)(openhihat 
cross "open" 3)(pedalhihat cross #f -5)(ridecymbal cross #f 5)      
(crashcymbal xcircle #f 5)(highfloortom default #f -1)(lowmidtom default #f 
2)(himidtom default #f 3)))
up = \drummode { \repeat "percent" 3 { hh8 hh8 << hh8 sn8 >> hh8 hh8 hh8 << 
hh8 sn8 >> hh8  } hh8 hh8 << hh8 sn8 >> hh8 sn8 sn8 sn8 sn8 \bar "||" }
down = \drummode { \repeat "percent" 3 { bd4 r4 bd4 r4 } bd4 r4 r2 }
\score
{
\new DrumStaff
<<
  \time 4/4
  \set Staff.instrument = "1."
  \set Staff.minimumVerticalExtent = #'(-6 . 7)
  \clef percussion
  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
  \new DrumVoice { \voiceOne \up }
  \new DrumVoice { \voiceTwo \down }
>>
}
\end{lilypond}

(This example also puts toms on what I'm told are the new "standard" positions 
on the stave.)

Here's a simple 12/8 example:

\begin[staffsize=20]{lilypond}
\version "2.6.0"
up = \drummode { sn8 sn8 sn8 sn8 sn8 sn8 sn8 sn8 sn8 sn8 sn8 sn8 sn4. sn4. 
sn4. sn16 sn sn8 sn8 sn16 sn sn8 sn8 sn4 sn8 sn4 sn8 sn4 sn8 sn4. \oneVoice 
r4. r2. \bar "|." }
down = \drummode { bd4. bd4. bd4. bd4. bd4. bd4. bd4. bd4. bd4. bd4. bd4. bd4. 
bd4.  }
\score
{

\new DrumStaff
<<
  \time 12/8
  \set Staff.instrument = "9."
  \set Staff.minimumVerticalExtent = #'(-6 . 7)
  \clef percussion
  \new DrumVoice { \voiceOne \up }
  \new DrumVoice { \voiceTwo \down }
  \bar "|."
>>
}
\end{lilypond}

Notice the use of \oneVoice to make the rests at the end in the middle of the 
stave.

You can move rests on a given voice to a particular vertical position using 
\override Voice.Rest #'staff-position = #0, where the number at the end is 
the position.  I used -4 on bass drum parts where I need to.

I've had the odd extra treble clef staves too sometimes, usually down to an 
error in my code somewhere.  

Congrats on the wedding!

Tim.








reply via email to

[Prev in Thread] Current Thread [Next in Thread]