[Top][All Lists]
[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.