Next: Ghost notes, Previous: Percussion staves, Up: Common notation for percussion
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 = \drummode { hh8 hh hh hh hhp4 hhp }
down = \drummode { bd4 sn bd toml8 toml }
\new DrumStaff <<
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
\new DrumVoice { \voiceOne \up }
\new DrumVoice { \voiceTwo \down }
>>
FIXME: MOVE ALL THESE TO LSR! -gp
Here are some examples:
Two Woodblocks, entered with wbh (high woodblock) and wbl (low woodblock)
#(define mydrums '(
(hiwoodblock default #t 3)
(lowoodblock default #t -2)))
%% These lines define the position of the woodblocks in the stave, if You like, You can change it
% or You can use special note heads for the woodblocks.
woodstaff = { \override Staff.StaffSymbol #'line-positions = #'(-2 3)
% this defines a staff with only two lines. It also defines the positions of the two lines
\override Staff.BarLine #'bar-size = #3 }
%% this is neccessary. If not entered, the barline wuld be too short!
\new DrumStaff {
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
%% with this You load Your new drum style table
\woodstaff
\drummode {
\time 2/4
wbl8 wbl16 wbl wbh 8 -> wbl |
wbl 8 wbl16 wbh ~ -> wbh wbl 16 r8 |
}
}
Note that in this special case the length of the barline must
altered with \override Staff.BarLine #'bar-size #number.
Otherwise it would be too short. And You have also to define the
positions of the to stafflines. For more information about these
delicate things have a look at Staff symbol.
A tambourine, entered with "tamb":
% tambourine-music is entered with "tamb"
tambustaff = { \override Staff.StaffSymbol #'line-positions = #'( 0 )
\override Staff.BarLine #'bar-size = #3
\set DrumStaff.instrumentName="Tambourine"}
\new DrumStaff {
\tambustaff
% broken
% \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
\drummode { \time 6/8
\repeat "unfold" 2 { tamb8. tamb16 tamb8 tamb tamb tamb | }
tamb4. tamb8 tamb tamb | tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan |
%% the trick with the scaled duration and the shorter rest is neccessary for the correct ending of the trill-span!
}
}
Music for Tam-Tam (entered with "tt"):
#(define mydrums '(
(tamtam default #t 0) ) )
tamtamstaff = { \override Staff.StaffSymbol #'line-positions = #'( 0 )
\override Staff.BarLine #'bar-size = #3
\set DrumStaff.instrumentName="Tamtam"}
\new DrumStaff {
\tamtamstaff
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
\drummode { tt 1 \pp \laissezVibrer
}
}
Two different bells, entered with "cb" (cowbell) and "rb" (ridebell)"
%% bells are enterd with:
% "cb" (cowbell) and "rb" (ridebell)"
#(define mydrums '(
(ridebell default #t 3 )
(cowbell default #t -2)))
bellstaff = { \override DrumStaff.StaffSymbol #'line-positions = #'(-2 3)
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
\override Staff.BarLine #'bar-size = #3
\set DrumStaff.instrumentName="Different Bells"}
\new DrumStaff {
\bellstaff
\drummode {
\time 2/4
\repeat "unfold" 2 { rb 8 rb cb cb16 rb ~ -> | rb16 rb 8 rb 16 cb 8 cb | }
}
}
Here an short example by maestro Stravinsky (from "L'hostire du Soldat")
#(define mydrums '(
(bassdrum default #t 4 )
(snare default #t -4 )
(tambourine default #t 0) ) )
global = { \time 3/8 s 4. \time 2/4 s 2 *2 \time 3/8 s 4. \time 2/4 s 2 }
drumsA = { \context DrumVoice << { \global }
{\drummode {
\autoBeamOff
\stemDown sn 8 \stemUp tamb s8 |
sn4 \stemDown sn4 |
\stemUp tamb 8 \stemDown sn8 \stemUp sn16 \stemDown sn \stemUp sn8 |
\stemDown sn 8 \stemUp tamb s8 |
\stemUp sn4 s8 \stemUp tamb |
} } >> }
drumsB = { \drummode { s 4 bd 8 s 2*2 s 4 bd8 s 4 bd8 s 8 } }
\layout {
indent = #40
}
\score {
\new StaffGroup
<<
\new DrumStaff
{ \set DrumStaff.instrumentName= \markup { \column { "Tambourine" "et" "caisse claire s. timbre" } }
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \drumsA }
\new DrumStaff
{ \set DrumStaff.instrumentName= "Grosse Caisse"
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \drumsB }
>>
}
Snippets: Percussion.
Internals Reference: DrumStaff, DrumVoice.
Diese Seite ist für LilyPond-2.11.58 (Entwicklungszweig).
Fehler bitte an http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs melden.
Ihre Vorschläge für die Dokumentation sind willkommen.