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 occurring musical events. This results often in unrealistic small grid widths, since the grid has to comprise the least common multiple of all occurring 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.
To reflect this conception of meter, the class hierachy comprises the following classes (cf. Fig. 3: Class hierarchy for representing meter.).
MetricalPosition. This is the central object as used in
MetricalEvent. It comprises contextual metrical information as well as “coordinates” in a metrical grid. The coordinates are
beatNumber, where M is the number of beats in the current metrical context,
tatumNumber, with T the number of tatums in the surrounding beat,
subtatumNumber, where S is the number of subtatums in a given tatum.
subtatumNumberis 0 if there is no subdivision of the current tatum. The concept of a subtatum number models the phenomenon that for a set of (very short events) no division in a metrical sense can be given, but still some order information is perceivable.
MetricalContext. The metrical context of a
MetricalPositionobject provides the necessary information of the local beat grouping (
MeterInfo) and the surrounding beat (
BeatInfoholds the information of the current beat the
MetricalPositionrefers to. It comprises a beat duration in seconds, the number of tatums of these beats as well as the tatum proportions, if the tatums are not isochronous.
MeterInfocomprises the number of beats grouped into one bar (
beats) as well as the (idealised) proportions of beat lengths for anisochronous beats. The idealisation consists in assuming a common smaller unit (not necessarily identical with the tatums of the involved beats) with which the (idealised) beat-lengths can be expressed. E.g., a 7/8 meter is often played as a 2+2+3/8 meter. This would be modeled in a 3-beat grouping with beat proportions (2,2,3). If no beat proportions are given, isochronicity is assumed. Moreover,
MeterInfoderives from the Signature class, to keep the associated information, as often given in classical scores, from which classical meter is derived.
Signature. A classical Western signature consisting of a
denominator, last of which has to be power of 2.
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,
<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.
220.127.116.11.1: 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.
18.104.22.168.2: 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.