]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/percussion.itely
Merge commit 'origin' into beamlets2
[lilypond.git] / Documentation / user / percussion.itely
index 717e924df397bcccadb5861fa5d3038f5e321127..d89a2e1a816ab70a051a31db174a2c9ffee07afc 100644 (file)
@@ -6,13 +6,13 @@
     version that you are working on.  See TRANSLATION for details.
 @end ignore
 
-@c \version "2.11.51"
+@c \version "2.11.65"
 
 @node Percussion
 @section Percussion
 
 @menu
-* Common notation for percussion::  
+* Common notation for percussion::
 @end menu
 
 @node Common notation for percussion
@@ -22,17 +22,17 @@ Rhythmic music is primarily used for percussion and drum notation, but it can
 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::                 
+* 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
 
 TODO add more.
 
@@ -47,8 +47,8 @@ discussed in @ref{Showing melody rhythms}, and
 
 @end itemize
 
-@seealso
 
+@seealso
 Notation Reference:
 @ref{Showing melody rhythms},
 @ref{Instantiating new staves}.
@@ -58,7 +58,7 @@ Snippets: @rlsr{Percussion}.
 
 
 @node Basic percussion notation
-@subsubsection Basic percussion notation
+@unnumberedsubsubsec Basic percussion notation
 
 @cindex percussion
 @cindex drums
@@ -96,8 +96,8 @@ 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
 
+@seealso
 Notation Reference: @ref{Percussion in MIDI}, @ref{Percussion notes}.
 
 File: @file{ly/@/drumpitch@/-init@/.ly}
@@ -106,7 +106,7 @@ Snippets: @rlsr{Percussion}.
 
 
 @node Drum rolls
-@subsubsection 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,
@@ -138,20 +138,20 @@ overridden to achieve a pleasing baseline.
 }
 @end lilypond
 
-@seealso
 
+@seealso
 Snippets: @rlsr{Percussion}.
 
 
 @node Pitched percussion
-@subsubsection Pitched percussion
+@unnumberedsubsubsec Pitched percussion
 
 Certain pitched percussion instruments (e.g. xylophone,
-vibraphone, and timpani) are written using with normal staffs.
+vibraphone, and timpani) are written using normal staves.
 This is covered in other sections of the manual.
 
-@seealso
 
+@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
@@ -161,7 +161,7 @@ Snippets: @rlsr{Percussion}.
 
 
 @node Percussion staves
-@subsubsection Percussion staves
+@unnumberedsubsubsec Percussion staves
 
 @cindex percussion
 @cindex drums
@@ -227,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
@@ -259,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)
@@ -289,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
@@ -315,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
@@ -338,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
@@ -350,7 +350,7 @@ mus = \drummode { tri trio trim gui guis guil cb cl tamb cab mar hc s16 }
 
 
 @node Custom percussion staves
-@subsubsection 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.
@@ -382,145 +382,182 @@ Here are some examples:
 Two Woodblocks, entered with wbh (high woodblock) and wbl (low woodblock)
 
 @lilypond[quote,verbatim]
-#(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 |
-        }
+% 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
 }
-@end lilypond
 
-@seealso
+\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
 
 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
+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 "tamb":
+A tambourine, entered with @q{tamb}:
 
 @lilypond[quote,verbatim]
- % 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!
-                                }
-                                        }
-
-@end lilypond 
-Music for Tam-Tam (entered with "tt"):
+#(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 
-                                } 
-                                        }
+#(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)" 
+Two different bells, entered with @q{cb} (cowbell) and @q{rb} (ridebell)
 
 @lilypond[quote,verbatim]
-%% 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 | }
-        }
+#(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")
+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 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 } }
-        
+#(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
 
-@seealso
 
+@seealso
 Snippets: @rlsr{Percussion}.
 
 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}.
@@ -530,16 +567,18 @@ However, the default @code{\drummode} does not include the
 @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] <hh sn> hh16
         < \parenthesize sn > hh
         < \parenthesize sn > hh8 <hh sn> hh
-      } \\ {
+      } \\
+      {
         bd4 r4 bd8 bd r8 bd
       }
     >>
@@ -551,8 +590,6 @@ However, the default @code{\drummode} does not include the
 Also note that you must add chords (@code{< >} brackets)
 around each @code{\parenthesize} statement.
 
-@seealso
 
+@seealso
 Snippets: @rlsr{Percussion}.
-
-