X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fuser%2Fpercussion.itely;h=f182b78a9ac80c0f0ee332199fe05bd8e16dda39;hb=a8c9e8a7ca320ab0df5fd32e717fd62cd7635ce6;hp=12577dfbdb84010207c21d4222f50d424c8a6b04;hpb=06b97882e7b1a3fa21baa7a77f3df96a7f6d6df2;p=lilypond.git diff --git a/Documentation/user/percussion.itely b/Documentation/user/percussion.itely index 12577dfbdb..f182b78a9a 100644 --- a/Documentation/user/percussion.itely +++ b/Documentation/user/percussion.itely @@ -6,7 +6,7 @@ version that you are working on. See TRANSLATION for details. @end ignore -@c \version "2.11.51" +@c \version "2.12.0" @node Percussion @section Percussion @@ -24,90 +24,105 @@ also be used to show the rhythms of melodies. @menu * References for percussion:: * Basic percussion notation:: +* Drum rolls:: +* Pitched percussion:: * Percussion staves:: +* Custom percussion staves:: * Ghost notes:: @end menu @node References for percussion -@subsubsection References for percussion +@unnumberedsubsubsec References for percussion -@c TODO Add refs -TBC +TODO add more. + +@itemize + +@item Some percussion may be notated on a rhythmic staff; this is +discussed in @ref{Showing melody rhythms}, and +@ref{Instantiating new staves}. + +@item MIDI output is discussed in a separate section; please see +@ref{Percussion in MIDI}. + +@end itemize @seealso +Notation Reference: +@ref{Showing melody rhythms}, +@ref{Instantiating new staves}. +@ref{Percussion in MIDI}. -Internals Reference: @rinternals{RhythmicStaff}. +Snippets: @rlsr{Percussion}. @node Basic percussion notation -@subsubsection Basic percussion notation +@unnumberedsubsubsec Basic percussion notation @cindex percussion @cindex drums - Percussion notes may be entered in @code{\drummode} mode, which is -similar to the standard mode for entering notes. Each piece of -percussion has a full name and an abbreviated name, and both can -be used in input files. The simplest way to enter percussion notes -is to use the @code{\drums} command, which creates the correct -context and entry mode for percussion: +similar to the standard mode for entering notes. The simplest way +to enter percussion notes is to use the @code{\drums} command, +which creates the correct context and entry mode for percussion: -@lilypond[quote,ragged-right,verbatim] +@lilypond[quote,verbatim] \drums { - hihat hh bassdrum bd + hihat4 hh bassdrum bd } @end lilypond This is shorthand for: -@lilypond[quote,ragged-right,verbatim] +@lilypond[quote,verbatim] \new DrumStaff { \drummode { - hihat hh bassdrum bd + hihat4 hh bassdrum bd } } @end lilypond -Note, that percussion clefs are added automatically in a -@code{DrumStaff} context. But it is possible to use other clefs -if you want. -If You find it too much work to input Your music with these not easy to recognize shortcuts, You could input first -the music with "normal" pitches and later You can change these -to percussion pitches witch the search and select function of Your favorite text editor. But please use letters that You don't use -in Your commands! Otherwise everything gets confused. -You can find the complete list of drum names and there abbreviations is in the init file -@rinternals{Appendix B} -Later on, right in this section, You will find some examples, wich show You how You can enter music for the most important percussion intruments. -Note that the normal notation of pitches (like e.g. cis 4) in a @code{DrumStaff} context will cause an error message! -These notes will be also correctly played by midi. -But You should be aware, that some percussion sounds cannot be reached via the @code{DrumStaff} context. Pitched percussion sounds, like -Xylophone, Marimaphone, Vibraphone, Timpani, etc. are treated like "normal" instruments and You should input music for these -instruments in a @code{Staff} context, not in a @code{DrumStaff} context. -Too make it more complicated: -some non pitched percussion sounds of the general midi standard, like "melodic-tom", "taiko-drum" "synth drum", etc. cannot -be reached via midi-channel 10, so You should also use for them a @code{ Staff} context, with "normal" pitches. And, last but not least, -it should be mentioned, that there are lots of percussion instruments, which are note part of the general midi standard. -If You want to write for e.g. castanets, You have to find a substitution for this sound (or have a good sampler). -But let us forget for this moment the limitations of midi and let us go on with some more examples, that show You how to write -for percussion instruments with Lilypond: -Drum rolls are indicated with three slashes across the stem. -For quarter notes or longer the three slashes are shown explicitly, -eighth notes are shown with two slashes (the beam being the third), -and drum rolls shorter than eighths have one stem slash to +Each piece of percussion has a full name and an abbreviated name, +and both can be used in input files. The full list of percussion +note names may be found in @ref{Percussion notes}. + +Note that the normal notation of pitches (such as @code{cis4}) in +a @code{DrumStaff} context will cause an error message. +Percussion clefs are added automatically to a @code{DrumStaff} +contex, but other clefs may also be used. + +There are a few issues concerning MIDI support for percussion +instruments; for details please see @ref{Percussion in MIDI}. + + +@seealso +Notation Reference: @ref{Percussion in MIDI}, @ref{Percussion notes}. + +File: @file{ly/@/drumpitch@/-init@/.ly} + +Snippets: @rlsr{Percussion}. + + +@node Drum rolls +@unnumberedsubsubsec Drum rolls + +Drum rolls are indicated with three slashes across the stem. For +quarter notes or longer the three slashes are shown explicitly, +eighth notes are shown with two slashes (the beam being the +third), and drum rolls shorter than eighths have one stem slash to supplement the beams. This is achieved with the tremolo notation, -@code{:32}, see @ref{Tremolo repeats}. Here's an example of -some snare rolls: +@code{:32}, as described in @ref{Tremolo repeats}. Here is an +example of some snare rolls: -@lilypond[quote,ragged-right,verbatim] -\new DrumStaff -\drummode { +@lilypond[quote,verbatim] +\drums { \time 2/4 - sn16 sn8 sn16 sn8 sn8:32~ | - sn8 sn8 sn4:32~ | - sn4 sn8 sn16 sn16 | - sn4 r4 | + sn16 sn8 sn16 sn8 sn8:32 ~ + sn8 sn8 sn4:32 ~ + sn4 sn8 sn16 sn16 + sn4 r4 } @end lilypond @@ -115,68 +130,90 @@ Sticking can be indicated by placing @code{^"R"} or @code{^"L"} after the note. The @code{staff-padding} property may be overridden to achieve a pleasing baseline. -@lilypond[quote,ragged-right,verbatim] +@lilypond[quote,verbatim] \drums { - \repeat "unfold" 2 { sn16 ^"L" sn^"R" sn^"L" sn^"L" sn^"R" sn^"L" sn^"R" sn^"R" } - + \repeat unfold 2 { + sn16 ^"L" sn^"R" sn^"L" sn^"L" sn^"R" sn^"L" sn^"R" sn^"R" + } } @end lilypond @seealso +Snippets: @rlsr{Percussion}. + + +@node Pitched percussion +@unnumberedsubsubsec Pitched percussion + +Certain pitched percussion instruments (e.g. xylophone, +vibraphone, and timpani) are written using normal staves. +This is covered in other sections of the manual. + + +@seealso +@c TODO: possibly link to an alternate section of NR 3.5, if +@c "percussion in MIDI" gets a separate subsubsection for +@c pitched percussion sounds. -gp +Notation Reference: @ref{Percussion in MIDI}. + +Snippets: @rlsr{Percussion}. + -Internals Reference: @rinternals{note-event}. -@seealso @file{ly/@/drumpitch@/-init@/.ly} @node Percussion staves -@subsubsection Percussion staves +@unnumberedsubsubsec Percussion staves + @cindex percussion @cindex drums 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 -@rinternals{DrumStaff} and @rinternals{DrumVoice} contexts +multiline staff where each position in the staff refers to one +piece of percussion. To typeset the music, the notes must be +interpreted in @code{DrumStaff} and @code{DrumVoice} context. -@lilypond[quote,ragged-right,verbatim] -up = \drummode { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat } -down = \drummode { bassdrum4 snare8 bd r bd sn4 } - \new DrumStaff << - \new DrumVoice { \voiceOne \up } - \new DrumVoice { \voiceTwo \down } - >> +@lilypond[quote,verbatim] +up = \drummode { + crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat +} +down = \drummode { + bassdrum4 snare8 bd r bd sn4 +} +\new DrumStaff << + \new DrumVoice { \voiceOne \up } + \new DrumVoice { \voiceTwo \down } +>> @end lilypond The above example shows verbose polyphonic notation. The short polyphonic notation, described in @rlearning{I'm hearing Voices}, -can also be used if the @rinternals{DrumVoice}s are instantiated -by hand first. For example, +can also be used if the voices are instantiated by hand first. +For example, -@lilypond[quote,ragged-right,fragment,verbatim] +@lilypond[quote,verbatim] \new DrumStaff << - \new DrumVoice = "1" { s1 *2 } - \new DrumVoice = "2" { s1 *2 } + \new DrumVoice = "1" { s1*2 } + \new DrumVoice = "2" { s1*2 } \drummode { bd4 sn4 bd4 sn4 - << - { \repeat unfold 16 hh16 } - \\ - { bd4 sn4 bd4 sn4 } - >> + << { + \repeat unfold 16 hh16 + } \\ { + bd4 sn4 bd4 sn4 + } >> } >> @end lilypond - There are also other layout possibilities. To use these, set the -property @code{drumStyleTable} in context @rinternals{DrumVoice}. -The following variables have been predefined +property @code{drumStyleTable} in context @code{DrumVoice}. The +following variables have been predefined: +@c FIXME: decide what to do about this table. (ie verbatim or not) @table @code + @item drums-style -This is the default. It typesets a typical drum kit on a five-line staff +This is the default. It typesets a typical drum kit on a +five-line staff: @lilypond[quote,line-width=10.0\cm] nam = \lyricmode { @@ -190,7 +227,7 @@ mus = \drummode { \remove Bar_engraver \remove Time_signature_engraver \override Stem #'transparent = ##t - \override Stem #'Y-extent-callback = ##f + \override Stem #'Y-extent = ##f \override VerticalAxisGroup #'minimum-Y-extent = #'(-4.0 . 5.0) } \mus \new Lyrics \nam @@ -205,13 +242,13 @@ mus = \drummode { } @end lilypond -The drum scheme supports six different toms. When there are fewer toms, -simply select the toms that produce the desired result, i.e., to get toms -on the three middle lines you use @code{tommh}, @code{tomml}, and -@code{tomfh}. +The drum scheme supports six different toms. When there are fewer +toms, simply select the toms that produce the desired result. For +example, to get toms on the three middle lines you use +@code{tommh}, @code{tomml}, and @code{tomfh}. @item timbales-style -This typesets timbales on a two line staff +This typesets timbales on a two line staff: @lilypond[quote,ragged-right] nam = \lyricmode { timh ssh timl ssl cb } @@ -222,7 +259,7 @@ mus = \drummode { timh ssh timl ssl cb s16 } \remove Bar_engraver \remove Time_signature_engraver \override Stem #'transparent = ##t - \override Stem #'Y-extent-callback = ##f + \override Stem #'Y-extent = ##f \override StaffSymbol #'line-count = #2 \override StaffSymbol #'staff-space = #2 \override VerticalAxisGroup #'minimum-Y-extent = #'(-3.0 . 4.0) @@ -236,7 +273,7 @@ mus = \drummode { timh ssh timl ssl cb s16 } @end lilypond @item congas-style -This typesets congas on a two line staff +This typesets congas on a two line staff: @lilypond[quote,ragged-right] nam = \lyricmode { cgh cgho cghm ssh cgl cglo cglm ssl } @@ -252,7 +289,7 @@ mus = \drummode { cgh cgho cghm ssh cgl cglo cglm ssl s16 } %% this sucks; it will lengthen stems. \override StaffSymbol #'staff-space = #2 \override Stem #'transparent = ##t - \override Stem #'Y-extent-callback = ##f + \override Stem #'Y-extent = ##f } \mus \new Lyrics { \override LyricText #'font-family = #'typewriter @@ -262,7 +299,7 @@ mus = \drummode { cgh cgho cghm ssh cgl cglo cglm ssl s16 } @end lilypond @item bongos-style -This typesets bongos on a two line staff +This typesets bongos on a two line staff: @lilypond[quote,ragged-right] nam = \lyricmode { boh boho bohm ssh bol bolo bolm ssl } @@ -278,7 +315,7 @@ mus = \drummode { boh boho bohm ssh bol bolo bolm ssl s16 } %% this sucks; it will lengthen stems. \override StaffSymbol #'staff-space = #2 \override Stem #'transparent = ##t - \override Stem #'Y-extent-callback = ##f + \override Stem #'Y-extent = ##f } \mus \new Lyrics { \override LyricText #'font-family = #'typewriter @@ -288,7 +325,7 @@ mus = \drummode { boh boho bohm ssh bol bolo bolm ssl s16 } @end lilypond @item percussion-style -To typeset all kinds of simple percussion on one line staves. +To typeset all kinds of simple percussion on one line staves: @lilypond[quote,ragged-right] nam = \lyricmode { tri trio trim gui guis guil cb cl tamb cab mar hc } @@ -301,7 +338,7 @@ mus = \drummode { tri trio trim gui guis guil cb cl tamb cab mar hc s16 } \override StaffSymbol #'line-count = #1 \remove Time_signature_engraver \override Stem #'transparent = ##t - \override Stem #'Y-extent-callback = ##f + \override Stem #'Y-extent = ##f } \mus \new Lyrics { \override LyricText #'font-family = #'typewriter @@ -311,10 +348,14 @@ mus = \drummode { tri trio trim gui guis guil cb cl tamb cab mar hc s16 } @end lilypond @end table -If you do not like any of the predefined lists you can define your own -list at the top of your file. -@lilypond[quote,ragged-right,verbatim] +@node Custom percussion staves +@unnumberedsubsubsec Custom percussion staves + +If you do not like any of the predefined lists you can define your +own list at the top of your file. + +@lilypond[quote,verbatim] #(define mydrums '( (bassdrum default #f -1) (snare default #f 0) @@ -330,161 +371,214 @@ down = \drummode { bd4 sn bd toml8 toml } \new DrumVoice { \voiceTwo \down } >> @end lilypond -You should use this possbility, if You want to write e.g. for an custom made setup of percussion instruments. -In contemporary music different percussion instruments, even played by only one highly skilled player, will not be written on one but -on many staves. If You have something like this in mind, You have to define Your own drum (or better expressed: percussion) tables. + + +@snippets + +FIXME: MOVE ALL THESE TO LSR! -gp + Here are some examples: + Two Woodblocks, entered with wbh (high woodblock) and wbl (low woodblock) - @lilypond - #(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 | - } + +@lilypond[quote,verbatim] +% 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. +#(define mydrums '((hiwoodblock default #t 3) + (lowoodblock default #t -2))) + +woodstaff = { + % This defines a staff with only two lines. + % It also defines the positions of the two lines. + \override Staff.StaffSymbol #'line-positions = #'(-2 3) + + % This is neccessary; if not entered, the barline would be too short! + \override Staff.BarLine #'bar-size = #3 +} + +\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 wbh8-> wbl | + wbl8 wbl16 wbh-> ~ wbh wbl16 r8 | + } } @end lilypond -@seealso -Note that in this special case the length of the barline must altered with @code{ \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 @internals{ Staff symbol} -A tambourine, entered with "tamb": -@lilypond - % 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 - \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! - } - } - -@end lilypond -Music for Tam-Tam (entered with "tt"): -@lilypond - #(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 - } - } + +Note that in this special case the length of the barline must +altered with @code{\override Staff.BarLine #'bar-size #number}. +Otherwise it would be too short. And you have also to define the +positions of the two stafflines. For more information about these +delicate things have a look at @ref{Staff symbol}. + +A tambourine, entered with @q{tamb}: + +@lilypond[quote,verbatim] +#(define mydrums '((tambourine default #t 0))) + +tambustaff = { + \override Staff.StaffSymbol #'line-positions = #'( 0 ) + \override Staff.BarLine #'bar-size = #3 + \set DrumStaff.instrumentName = #"Tambourine" +} + +\new DrumStaff { + \tambustaff + \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) + + \drummode { + \time 6/8 + tamb8. tamb16 tamb8 tamb tamb tamb | + tamb4. tamb8 tamb tamb | + % the trick with the scaled duration and the shorter rest + % is neccessary for the correct ending of the trill-span! + tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan | + } +} +@end lilypond + +Music for Tam-Tam (entered with @q{tt}): + +@lilypond[quote,verbatim] +#(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 + } +} @end lilypond -Two different bells, entered with "cb" (cowbell) and "rb" (ridebell)" -@lilypond -%% 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 | } - } + +Two different bells, entered with @q{cb} (cowbell) and @q{rb} (ridebell) + +@lilypond[quote,verbatim] +#(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 + rb8 rb cb cb16 rb-> ~ | + rb16 rb8 rb16 cb8 cb | + } } @end lilypond -Here an short example by maestro Stravinsky (from "L'hostire du Soldat") -@lilypond - #(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 } } - + +Here an short example by maestro Stravinsky (from @q{L'histoire du Soldat}) + +@lilypond[quote,verbatim] +#(define mydrums '((bassdrum default #t 4) + (snare default #t -4) + (tambourine default #t 0))) + +global = { + \time 3/8 s4. + \time 2/4 s2*2 + \time 3/8 s4. + \time 2/4 s2 +} + +drumsA = { + \context DrumVoice << + { \global } + { \drummode { + \autoBeamOff + \stemDown sn8 \stemUp tamb s8 | + sn4 \stemDown sn4 | + \stemUp tamb8 \stemDown sn8 \stemUp sn16 \stemDown sn \stemUp sn8 | + \stemDown sn8 \stemUp tamb s8 | + \stemUp sn4 s8 \stemUp tamb + } + } + >> +} + +drumsB = { + \drummode { + s4 bd8 s2*2 s4 bd8 s4 bd8 s8 + } +} + \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 } - >> - - } + 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 } + >> +} @end lilypond -Init files: @file{ly/@/drumpitch@/-init@/.ly}. -With some tricks it is even possible to create symbols for percussion beaters: -%%% I'm waiting for the mail of Valentin, the link to his example has broken. -Internals Reference: @rinternals{DrumStaff}, @rinternals{DrumVoice}. -@knownissues +@seealso +Snippets: @rlsr{Percussion}. -Because general MIDI does not contain rim shots, the sidestick is used -for this purpose instead. +Internals Reference: @rinternals{DrumStaff}, @rinternals{DrumVoice}. @c TODO: check name -gp @node Ghost notes -@subsubsection Ghost notes +@unnumberedsubsubsec Ghost notes Ghost notes for drums and percussion may be created using the -@code{\parenthesize} command detailed in @ref{Parentheses}. However, -the default @code{\drummode} does -not include the @code{Parenthesis_engraver} plugin which allows -this. +@code{\parenthesize} command detailed in @ref{Parentheses}. +However, the default @code{\drummode} does not include the +@code{Parenthesis_engraver} plugin which allows this. @lilypond[quote,ragged-right,verbatim,fragment] \new DrumStaff \with { \consists "Parenthesis_engraver" -} << - \context DrumVoice = "1" { s1 *2 } - \context DrumVoice = "2" { s1 *2 } +} +<< + \context DrumVoice = "1" { s1 } + \context DrumVoice = "2" { s1 } \drummode { << { hh8[ hh] hh16 - < \parenthesize sn > hh < \parenthesize - sn > hh8 hh - } \\ { + < \parenthesize sn > hh + < \parenthesize sn > hh8 hh + } \\ + { bd4 r4 bd8 bd r8 bd } >> @@ -497,4 +591,5 @@ Also note that you must add chords (@code{< >} brackets) around each @code{\parenthesize} statement. - +@seealso +Snippets: @rlsr{Percussion}.