The meter filter extracts metric information from a score, in particular beat positions of notes within the active time signature.


Basic example

Without any additional options, the meter filter extracts beat positions of notes according to the active time signature:

In 4/4 time signatures, each quarter note is a beat. For the second measure in 2/2, the beat is at the half-note level, so the second quarter note is halfway between beats 1 and 2. This is notated as 1+1/2 by default, but can be displayed as a floating-point number (see next section below). In 8/8, each quarter note is equivalent to two eighth-note beats, so the four quarter notes are interpreted as being on beats 1, 3, 5 and 7.

Floating-point beats

Off-beat positions are displayed as rational numbers by default. This can be changed to floating-point values by using the -f option:

Now beat positions such as 1+1/2 and 2+1/2 are expressed as 1.5 and 2.5.

For floating-point values, the -D option can control the number of digits after the decimal point. Give a value of 1 to 15 after the -D option, such as -D 8 for up to eight digits after the decimal point:

Another styling option for fractional beat positions is -c which displays a comma instead of a decimal point:

Explicit beat size encoding

Time signatures such as 6/8, 9/8, and 12/8 are assumed to be compound meters containing 2, 3 and or 4 beats respectively. To switch to a simple metric interpretation of such meters, us *beat:8 to define the beat as an eighth note rather than a dotted quarter note. Using *beat:4. will redefine the beat as a dotted quarter note. Note that the beat definition will be cleared whenever there is a new time signature found in the active staff/spine.

Time signatures with a bottom number of 4 or smaller are always treated automatically as a simple meter. Here is an example of converting 6/4 into a compound meter using a dotted half note as the beat:

Fixed-size metric units

By default metric positions are given in beats according to the active time signature. For example beats are quarter notes in 4/4, but half notes in 2/2. The following options can be used to extract metric positions in a fixed duration unit:

Options Meaning
-w whole note units
-h half note units
-q quarter note units
-e eighth note units
-s sixteenth note units

Including rests in metric analysis

By default, rests are ignored when doing beat analysis of the music:

Adding the -r option will include beat positions for rests, adding “r” after the position value to distinguish it from notes:


Each staff (kern spine) can have an independent time signature, and beat positions will be calculated based on the active time signature for each staff:

Zero indexed beats

The -z option will start metric cycles with beat “0” rather than beat “1”:

Time-signature data extraction

The active time signature can be extracted for each note by using the -t option. The first line of data under the staff is the beat positions, and the second line displays the active time signature for the note.

The time signature information can be displayed without showing the beat positions of notes by using the -B option:

Time-signature components

The top and bottom parts of time-signatures can be extracted into separate tandem spines. The -n option can be used to extract the “numerator” (top number of the time signature, and -d option can extract the “denominator” (bottom number) of the time signature.

Joining time-signature and beats

The -j option can join the time signature and beat position data into a single spine:

By default the complete time signature will be included, but using -n or -d will add either the top or bottom numbers of the time signatures. Here is an example using -n:

Suppressing analysis spine labels

By default, output analysis spines are given labels such as “beat:” for beat analysis spines:

These labels can be suppressed by adding the -L option:

To label some spines and not others, multiple passes through the meter filter can be made:

Subspine behavior

When there are subspines for a given **kern spine, the analysis data will interleave data of the subspines into a single analysis spine:

Pickup measures

Pickup measures at the start of music are interpreted as being at the end of a metric cycle rather than the start:

Split measures

Metric cycles split by a barline, such as for repeat barlines, will be completed across the non-metric barline: