Humdrum Representation for Metric Hierarchy¶
**metpos – position in metric hierarchy
The **metpos representation consists of simply a set of numerical values indicating the order of events. Normally, a **metpos spine simply encodes a set of ascending integers marking the succession of events:
**metpos 1 2 3 4 5 *-
The **metpos representation also recognizes **kern-like **barlines**. The presence of an equals-sign `` (=)`` in the first column of a **metpos spine is used to denote a barline. Immediately after the equals sign there may follow an optional integer value indicating the measure number (e.g. `` =107`` – for measure 107). In addition, a lower-case alphabetic character may be appended to the measure number – as in: `` =14b.`` This convention permits the user to distinguish measure numbers for first and second endings. Measure numbers refer to the information immediately following the barline, thus the token `` =23`` occurs just prior to the encoded beats for measure 23.
Double barlines are indicated by using two or more successive equals signs `` (==).`` Several consecutive equals signs may be encoded in order to enhance readability (e.g. `` =======).`` An additional attribute for barlines is the pause – which is represented by the– icolon (;). Thus the token `` =4;`` means that the barline starting measure number 4 has a pause written above or below it, while the token `` =====;`` means that a double barline contains a pause indication.
It is recommended that files containing predominantly **metpos data should be given names with the distinguishing `.mtp’ extension.
The following table summarizes the **metpos mappings of signifiers and signifieds.
0-9 decimal values . fractional delimiter; null token = barlines == double barline
Summary of ***metpos** Signifiers*
A sample document is given below:
**kern **metpos *M4/4 *M4/4 *tb16 *tb16 *c: * =1 =1 8r 1 . 5 16cc 4 16bn 5 8cc 3 . 5 8g 4 . 5 8a- 2 . 5 16cc 4 16b 5 8cc 3 . 5 8dd 4 . 5 =2 =2 *- *-
The following Humdrum commands accept **metpos encoded data as inputs:
The following Humdrum command produces **metpos data as output:
**metpos** generate metric position values for timebase-formatted **kern or **recip inputs
The following tandem interpretations can be used in conjunction with **metpos:
MIDI channel *Ch1 meter signatures *M6/8 tempo *MM96.3 timebase *tb32
Tandem interpretations for ***metpos***