[icon]

GNU LilyPond

-- --

What is LilyPond
Home
Examples
Templates
Download
GNU/Linux binaries
Windows binaries
Source code
Documentation
Tutorial
Manual
Glossary
Index

Support
Mailing lists
Search
WikiWiki

External sites
lilypond.org/stable
lilypond.org/development
savannah.gnu.org
ftp.lilypond.org
Mutopia
Other music online

Clusters

In musical terminology, a 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.

     \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
                 }
             }
         >
     }
     
[picture of music]

Note that the second voice differs from the first one only by the additional keywords \startCluster and \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 < { g8 e8 } a4 > is illegal; in such a case, you can instead use the expression < 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 padding and shape. 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 0.0, this possibly results in an invisible shape, if you,for example, say \startCluster c d e \endCluster. The default value for padding therefore is 0.25, such that a single pitch roughly shows the same height as a note head. Property shape controls how the overall shape of the cluster is constructed from the set of notes. Currently supported values are leftsided-stairs, rightsided-stairs, centered-stairs, and ramp.

Go back to index of LilyPond.

Please send GNU LilyPond questions and comments to lilypond-user@gnu.org.

Please send comments on these web pages to (address unknown)

Copyright (c) 1997--2002 Han-Wen Nienhuys and Jan Nieuwenhuizen.

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.


This page was built from LilyPond-1.7.14 (development-branch) by

Buchan Milne <(address unknown)>, Thu Mar 6 21:11:35 2003 CET.