Humdrum Representation for Beats


**recip -- beat-proportion representation


The **recip scheme is able to represent durations according to the traditional system of beat-proportions (rather than according to elapsed- or clock-time.) Durations are specified through the use of integer numbers and augmentation dots. With the exception of the value zero, durations are represented by reciprocal numerical values. For example:
0breve duration
1whole duration
2half duration
4quarter duration
8eighth duration
16sixteenth duration
32thirty-second duration
64sixty-fourth duration
Representations of Duration in **recip
The number zero (0) is reserved for the breve duration (i.e. a duration of twice the length of a whole note). Dotted durations are indicated by adding the period character (.) after the numerical value:
2.dotted half duration
8..doubly-dotted eighth duration
Representation of Dotted Durations in **recip
Any number of augmentation dots may follow the duration integer.§ § Notice that the period is used both to indicate Humdrum null tokens and **recip augmentation dots. In parsing **recip spines, there is never any confusion concerning the meaning of the period: as a null token, the period will appear isolated from all other characters (by tabs or carriage returns). As an augmentation dot, the period will always follow a number.

Triplet and other irregular durations are represented in a somewhat more arcane, though no less logical fashion. Consider, for example, the quarter-note triplet duration. Three quarter triplets occur in the time of four quarters or one whole duration. If we divide a whole duration ("1") into three equal parts, each part has a duration of one-third. The corresponding reciprocal integer for 1/3 is 3, hence **recip represents a quarter-note triplet as a "third-note" -- 3. Similarly, eighth-note triplets are represented by the integer 6 while sixteenth-note triplets are represented by the integer 12. Eighth-note quintuplets (5 in the time of 4) will be represented by the value 10 (a half duration divided by 5).

In general, the way to determine the **recip equivalent of an arbitrary "tuplet" duration is to multiply the number of tuplets by the total duration which they occupy. If 7 notes of equal duration occupy the duration of a whole-note ("1"), then each septuplet is represented by the value 7 (i.e. 1 x 7). A more extreme example is 23 notes in the time of a doubly-dotted quarter. The appropriate **recip duration can be found by multiplying 4 by 23 (equals 92) and adding the appropriate augmentation dots. Thus "92.." is the correct **recip encoding for a note whose duration is 23 notes in the time of a doubly-dotted quarter.

The **recip representation can be used to encode a sequence of time-spans or successive durations. The units are inverse time units.

Barlines are represented using the "common system" for barlines -- see barlines.


It is recommended that files containing predominantly **recip data should be given names with the distinguishing `.rcp' extension.


The following table summarizes the **recip mappings of signifiers and signifieds.
0-9decimal values
.dotted duration; null token
==double barline
Summary of **recip Signifiers


A sample document is given below:
!! Gustav Holst


The following Humdrum command accepts **recip encoded data as input:
timebasereformat **recip score with constant time-base
urrhythmcharacterize the rhythmic prototype in a passage


The following tandem interpretations can be used in conjunction with **recip:
MIDI channel*Ch1
meter signatures*M6/8
Tandem interpretations for **recip


barlines, **date, **metpos, **ordo, **recip, **takt, **time, timebase, **URrhythm, urrhythm, **Zeit