A description of how to encode mensural music.

Mensural music notation can be encoded in Humdrum using the **mens exclusive interpretation:

Also see the kern2mens filter to convert **kern data into **mens data.


**mens pitch derives its pitch representation from **kern. The letters a–g represent diatonic pitches, with duplicating of letters and change of case controlling the octave:


Accidentals are also similar to **kern data:

Symbol Meaning
- flat sign
n natural sign
# sharp sign

The treatment of accidentals in **mens data is subtly different than in **kern data. In **mens data, accidentals are treated as visual signs by default, while in **kern data, they are treated as performance accidentals that may or may not be printed accidentals.

Compare to an analogous encoding in **kern data, where the second note is also a C-natural, but modern conventions for displaying chromatic states of notes forces an automatic natural on the note. And the last note has a suppressed sharp since the previous notes set the chromatic state for that diatonic pitch to a sharp.

Editorial accidentals

Editorial accidentals are used to clarify the performance accidentals to be applied to the music. There are four levels of editorial accidentals, which are indicated by adding the following characters after an accidental:

Accidental qualifier Meaning
y The accidental is strongly implied by the music notation. This typically means that the accidental is derived from the key signature.
yy The accidental is weakly implied by the music notation. This is typically used to indicate the cancellation of a visual accidental. Roughly equivalent to a cautionary accidental.
Y A performance accidental. The accidental is not directly implied by the music notation, but would be inferred by a performer, such as to create a leading tone before a cadence note.
YY A editorial intervention due to a suspected scribal error. There is a suspected missing visual accidental on the note which is missing.

Here is a typical use of the y qualifier to indicate that a B pitch in the music is flat event hough the note does not have a flat in front of it since the flat is from the key signature:

Such an accidental can be displayed as an editorial accidental above the note by placing *acclev:y somewhere before the note. This means that the editorial accidental level starts at y (and also includes yy, Y, and YY levels as well). By default, only the YY level of accidentals will be displayed as editorial accidentals. To also suppress this level of accidental being displayed as editorial, use *Xacclev.

Mensuration key signatures only affect the pitches of a particular diatonic pitch, unlike modern keys signatures that apply to the diatonic pitch class. An example use of the yy qualifier is to caution that a pitch should be natural when the key signature has a flat in another octave:

To view this cautionary accidental, either *acclev:y or *acclev:yy must be used.

The Y level for accidentals is used to indicate an unwritten accidental that a performer would be expected to sing based on performance practice, such as creating a leading tone before a cadence:

By default, these accidentals will be hidden in the rendering to graphical notation. Use *acclev:Y to display these accidentals as editorial ones, or use either of the more generous levels *acclev:yy or *acclev:y which will also show performance accidentals as visible editorial ones.

Note stems

Note stems are similar to those in **kern data. / means stem up and \ means stem down:

Automatic stem directions

In general, up-stems are more common in mensural music, so the *stem interpretation can be used to set the stems in the music to a fixed direction. *stem:/ will force stems up on all subsequence notes, while *stem:\ will force them down. To allow automatic stem directions again, use *stem:X:


Note rhythms are represented by letters:

Character Meaning Character Meaning
X maxima (octuple whole note)
L longa (quadruple whole note)
S Breve (double whole note) s semi-breve (whole note)
M Minima (half note) m semi-minim (quarter note)
U Fusa (eighth note) u semi-fusa (sixteenth note)


Dots representing either augmentation dots or dots of division are encoded as the character :. This dot does not directly affect the duration of notes, instead use p to perfect notes. In the future this dot character could be used to automatically determine if notes are perfect or imperfect, based on the prevailing mensuration and surrounding notes.

Mensural signs

Mensural signs are indicated by the pattern *met(X) where X is the description of the mensuration sign given in the table below. Common mensurations are *met(O) for circle mensuration, and *met(C|) for Cut-C mensuration. Here is a table of some of the possible mensurations:

Mensuration Graphical representation Mensuration Graphical representation
*met(C|) *met(O)
*met(C) *met(3)
*met(C2) *met(O|)
*met(C|3) *met(O/3)
*met(O2) *met(C3)
*met(C.) *met(O.)
*met(3/2) *met(O3)
*met(C|2) *met(2)
*met(O|3) *met(C.|)
*met(Cr) *met(C|/3)
*met(C|/2) *met(C|r)

Try out the above mensuration signs in this example:


Ligatures are indicated with square brackets for recta ligatures, and angle brackets for obliqua ligatures.

[Need to prevent < and > for oblique ligatures from being interpreted as HTML brackets].


Barlines behave the same as in **kern data. Currently barlines are required in the data in order to break lines of music across multiple systems. Add a dash character (-) to the barline to make it invisible. Barlines should be placed at breve boundaries.


Colored notes are marked indicated by adding ~ to each note that is colored.

Example in white notation:

Example in black notation:


The letter p appended to the basic rhythmic value means that the note/rest is perfected. In modern notation this is equivalent to adding an augmentation dot after a note, such as a dotted half note. The letter i indicates an imperfect rhythm. In modern notation all notes are imperfect unless there is an augmentation dot after it to make it perfect.

The p and i rhythmic qualifiers are not required unless you are creating a polyphonic score. In that case the exact duration of the notes are required to align the parts.


To be implemented/described