]> 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
 
     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
 
 @node Percussion
 @section Percussion
 
 @menu
-* Common notation for percussion::  
+* Common notation for percussion::
 @end menu
 
 @node 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
 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
 @end menu
 
 @node References for percussion
-@subsubsection References for percussion
+@unnumberedsubsubsec References for percussion
 
 TODO add more.
 
 
 TODO add more.
 
@@ -47,8 +47,8 @@ discussed in @ref{Showing melody rhythms}, and
 
 @end itemize
 
 
 @end itemize
 
-@seealso
 
 
+@seealso
 Notation Reference:
 @ref{Showing melody rhythms},
 @ref{Instantiating new staves}.
 Notation Reference:
 @ref{Showing melody rhythms},
 @ref{Instantiating new staves}.
@@ -58,7 +58,7 @@ Snippets: @rlsr{Percussion}.
 
 
 @node Basic percussion notation
 
 
 @node Basic percussion notation
-@subsubsection Basic percussion notation
+@unnumberedsubsubsec Basic percussion notation
 
 @cindex percussion
 @cindex drums
 
 @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}.
 
 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}
 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
 
 
 @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,
 
 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
 
 }
 @end lilypond
 
-@seealso
 
 
+@seealso
 Snippets: @rlsr{Percussion}.
 
 
 @node Pitched percussion
 Snippets: @rlsr{Percussion}.
 
 
 @node Pitched percussion
-@subsubsection Pitched percussion
+@unnumberedsubsubsec Pitched percussion
 
 Certain pitched percussion instruments (e.g. xylophone,
 
 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.
 
 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
 @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
 
 
 @node Percussion staves
-@subsubsection Percussion staves
+@unnumberedsubsubsec Percussion staves
 
 @cindex percussion
 @cindex drums
 
 @cindex percussion
 @cindex drums
@@ -227,7 +227,7 @@ mus = \drummode {
        \remove Bar_engraver
        \remove Time_signature_engraver
        \override Stem #'transparent = ##t
        \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
        \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
     \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)
     \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
     %% 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
   } \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
     %% 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
   } \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 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
   } \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
 
 
 @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.
 
 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]
 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}.
 
 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}.
 
 delicate things have a look at @ref{Staff symbol}.
 
-
-A tambourine, entered with "tamb":
+A tambourine, entered with @q{tamb}:
 
 @lilypond[quote,verbatim]
 
 @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]
 
 @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
 
 @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]
 
 @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
 
 }
 @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]
 
 @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 {
 \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
 
 @end lilypond
 
-@seealso
 
 
+@seealso
 Snippets: @rlsr{Percussion}.
 
 Internals Reference: @rinternals{DrumStaff}, @rinternals{DrumVoice}.
 
 
 Snippets: @rlsr{Percussion}.
 
 Internals Reference: @rinternals{DrumStaff}, @rinternals{DrumVoice}.
 
 
-
 @c TODO: check name -gp
 @node Ghost notes
 @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}.
 
 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"
 @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
   \drummode {
     <<
       {
         hh8[ hh] <hh sn> hh16
         < \parenthesize sn > hh
         < \parenthesize sn > hh8 <hh sn> hh
-      } \\ {
+      } \\
+      {
         bd4 r4 bd8 bd r8 bd
       }
     >>
         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.
 
 Also note that you must add chords (@code{< >} brackets)
 around each @code{\parenthesize} statement.
 
-@seealso
 
 
+@seealso
 Snippets: @rlsr{Percussion}.
 Snippets: @rlsr{Percussion}.
-
-