+@c . {Contemporary notation}
+@node Contemporary notation
+@section Contemporary notation
+
+@menu
+* Clusters::
+@end menu
+
+@node Clusters
+@subsection Clusters
+
+@cindex cluster
+
+In musical terminology, a @emph{cluster} denotes a range of
+simultaneously sounding pitches that may change over time. The set of
+available pitches to apply usually depends on the accoustic source.
+Thus, in piano music, a cluster typically consists of a continous range
+of the semitones as provided by the piano's fixed set of a chromatic
+scale. In choral music, each singer of the choir typically may sing an
+arbitrary pitch within the cluster's range that is not bound to any
+diatonic, chromatic or other scale. In electronic music, a cluster
+(theoretically) may even cover a continuous range of pitches, thus
+resulting in coloured noise, such as pink noise.
+
+Clusters can be notated in the context of ordinary staff notation by
+engraving simple geometrical shapes that replace ordinary notation of
+notes. Ordinary notes as musical events specify starting time and
+duration of pitches; however, the duration of a note is expressed by the
+shape of the note head rather than by the horizontal graphical extent of
+the note symbol. In contrast, the shape of a cluster geometrically
+describes the development of a range of pitches (vertical extent) over
+time (horizontal extent). Still, the geometrical shape of a cluster
+covers the area in wich any single pitch contained in the cluster would
+be notated as an ordinary note. From this point of view, it is
+reasonable to specify a cluster as the envelope of a set of notes. This
+is exactly how to construct a cluster with lilypond.
+
+@lilypond[singleline,verbatim]
+\score {
+ \context PianoStaff <
+ \context Voice = voiceI { % same as voiceII, but with ordinary notes
+ \notes \relative c' {
+ c4 f4
+ a4 <e4 d'4> | \break
+ < g8 a8 > < e8 a8 > a4 c1 < d4 b4 > e4 |
+ c4 a4 f4 g4 a4
+ }
+ }
+ \context Voice = voiceII { % same as voiceI, but with cluster notation
+ \notes \relative c' {
+
+ % hide notes, accidentals, etc.
+ \property Thread.NoteHead \set #'transparent = ##t
+ \property Voice.Stem \set #'transparent = ##t
+ \property Voice.Beam \set #'transparent = ##t
+ \property Staff.Accidental \set #'transparent = ##t
+
+ \property Voice.Cluster \set #'padding = #0.01
+ \property Voice.Cluster \set #'shape = #'ramp
+
+ c4 f4
+ \startCluster
+ a4 <e4 d'4> | \break
+ < g8 a8 > < e8 a8 > a4 c1 < d4 b4 > e4 |
+ c4 \stopCluster a4 f4 g4 a4
+ }
+ }
+ >
+}
+@end lilypond
+
+Note that the second voice differs from the first one only by the
+additional keywords @code{\startCluster} and @code{\stopCluster} and the
+fact that notes, accidentals, etc. are hidden. A future version of
+lilypond may automatically hide notes, accidentals, etc. within the
+scope of clusters.
+
+Also note that a music expression like @code{< @{ g8 e8 @} a4 >} is
+illegal; in such a case, you can instead use the expression @code{< g8
+a8 > < e8 a8 >}.
+
+By default, cluster engraver is in the voice context. This allows
+putting ordinary notes and clusters together in the same staff, even
+simultaneously. However, in such a case no attempt is made to
+automatically avoid collisions between ordinary notes and clusters.
+
+The geometrical shape can be further controlled with grob properties
+@code{padding} and @code{shape}. @code{padding} adds to the vertical
+extent of the shape (top and bottom) and is expressed in units of
+staffspace. Since the pitch range of a single pitch is infinitely
+small, if padding is set to @code{0.0}, this possibly results in an
+invisible shape, if you,for example, say @code{ \startCluster c d e
+\endCluster}. The default value for @code{padding} therefore is
+@code{0.25}, such that a single pitch roughly shows the same height as a
+note head. Property @code{shape} controls how the overall shape of the
+cluster is constructed from the set of notes. Currently supported
+values are @code{leftsided-stairs}, @code{rightsided-stairs},
+@code{centered-stairs}, and @code{ramp}.
+