Metrical System

The presentation of meter is quite elaborate in MeloSpy and builds upon some new concepts, which are designed to be psychological accurate and computational flexible. This of course comes to some cost in complexity of the representation. Meter is generally conceptualised here as a contextual variable for tone events. Meter cannot be seen as a fully global nor as a fully local phenomenon. A given metrical context is only partially constant. Moreover, since we are dealing with melodies which might be stemming from a musical performance where other instruments provide a metrical context, meter is not necessarily fully determined by the properties of the melody itself, which however might be still sometimes the case. Furthermore, meter is inherently a psychological phenomenon, which exists in the listeners mind (including the performer!). Hence, meter has the nature of something external to the musical surface. This thougts guided the modeling of metrical structure in the MeloSpy library.

The central concept of meter is the beat, which is defined as a sufficiently regular series of (point-like) events in time. Beats need not to be isochronous. First, they typically, show timing variation (however small compared to the inter-beat interval (IBI)). Second, there can be systematic irregularities (an-isochronous beats) as it can be found in ethnic music of Balcanies, for example. Third, the tempo (roughly the inverse of the IBI) can change during a performance.

Given a sequence of beats, meter is then conceived as a grouping of beats into psychological entities: measures (or bars). The number of beats in a bar is typically small (2 to 4) and often results in a hierarchy of perceptual weightings (accents) which makes some events psychologically more salient than others. However, salience and and structure of the metrical weights might differ with musical styles. We do not put metrical weights in the center of our conceptualisation, as other authors do, but conceive metrical weights as derivation from a given beat grouping modulated by specific musical contexts (e.g., style, listener experience etc.).

Besides the grouping of beats into bars, a beat itself can be divided into smaller psychological time points, for which we adopt the term tatum. Typically, conceptualisations of meter assume a global grid with a constant minimal division of beat that is able to represent all occuring musical events. This results often in unrealistic small grid widths, since the grid has to comprise the least common multiple of all occuring subdivision in a musical piece, which is obviously not reflecting actual cognitive mechanisms. Our approach, on the opposite, conceives tatum division as local to a given beat, i.e., the number of tatums can and will typically change from beat to beat. This is a more flexible and, as we believe, cognitively more adequate model for beat subdivision. The classical meter signatures mostly assume tacitly a “preferred” subdivision for a beat. E.g., in a 4/4 and a 12/8 timing 4 isochronous beats are grouped into one bar each, but in the 4/4 timing a binary (or quaternary) division is more likely to occur a than a ternary subdivision, which, on the other hand, is the standard or preferred subdivision for 12/8 meter. But it is easy to conceive (and to play) a 4-beat meter where the subdivision of beats are constantly alternating between binary and ternary divisions, which would make a conclusive mapping of this rhythmic model to either 4/4 or 12/8 meter rather difficult. This may seem a academic example but the musical forms of all times and regions are so rich and diverse that this or similar phenomenons actually occur. Hence, for true generality, a flexible representation of meter is needed.

To complicate things further, the subdivision of a beats needs not to be isochronous, e.g., swing in jazz, which referes to a systematic deviation from an isochronous binary subdivision of the beat. The MeloSpy library takes the approach that such a swing ratio is neither adequately conceived as a triplet with the middle event missing (x-0-x) nor as a dotted 8th note followed by a 16th (x-0-0-x), but it is inherently an an-isochronous binary subdivision. However, the border between both conceptions might be fluent.


Fig. 3: Class hierarchy for representing meter.

To reflect this conception of meter, the class hierachy comprises the following classes (cf. Fig. 3: Class hierarchy for representing meter.).

Metrical position notation

For output purposes MeloSpyLib uses a special dot-notation for metrical positions. The format is:


<period> is the number of beats in a bar. If beatProportions are set (hence, an-isochronous beats), beatProportions will be used instead of period in a “additive” notation, e.g. “(3+2+2)”. <division> is the number of tatums in the current beat. The other fields are self-explaining. If no subtatums are present (as it will be mostly be the case), the output of a trailing 0 will be surpressed for sake of brevity.


  • First beat of second bar, where the bar has a period of 4 (e.g., 12/8) and the first beat is also divided into 4 tatums.
  • Second beat in first bar on the second triplet position in bar with period 3 (e.g., 3/4), might be part of a 9/8-bar

Next part: Annotations.