Each line of numeric data represents a graphical musical object.
Data in this format is called PMX (parameter matrix) data.
The first number on the line (called P1, for "parameter 1")
indicates the type of object:
|| Graphical object
|| Time signature
The next three parameters on each line (P2, P3 & P4) have a fixed meaning for
|| Staff number. Each staff on the page is numbered from 1 on
the bottom of the page.
Since there is only one staff, all objects are placed on staff 1 in the
above PMX data.
|| Horizontal position. The left margin is 0.0 and the right margin
is 200.0. Notice that the above PMX data is sorted by the P3 column which
represents the music from left to right.
|| Vertical position. The bottom line of a staff is 3, each
space or line above that increments by one:
The meaning of parameter 5 and higher depends on the type of object
specified in P1. For beams and slurs and other objects which are described by
a starting point and an ending point, P5 represents the vertical position
of the right side of the object and P6 represents the horizontal position
of the right side of the object. For notes, P5 represents multiple
sub-parameters which are stored in the 100's, 10's, 1's, and fractional
digits of the P5 number:
Higher parameters have less in common between different objects types.
For example P11 for slurs represents dashing, for beams it represents
the left horizontal position of secondary beams, and for notes P11
represents the type of articulation attached to the note:
Contrasting with PMX data which would be difficult for people to type in
directly, The same music can be expressed as a user-input macro:
Input data consists of five stages, each ending in a semi-colon (;):
- Note pitches, barlines, clefs, key and time signatures.
Note durations. z[q/h/q/h/q/q/ex4/q/q]/@z;
This example contains two data-entry shortcuts: an expansion macro
and an element multiplier. Both of these shortcuts can be used
in the pitch stage of music entry as well.
3/4 time signature
E4 pitch, where C4 is middle C.
C5 pitch, an octave above middle C.
The p prefix means switch from the octave mode of
pitch selection to the proximity mode. In proximity mode,
the octave of the pitch (a in this case) is decided by which
A above or below the previous note (C5) is closer to C5. In this case A4 is
closer to C5, so the final pitch is A4.
F4. Proximity mode is still active (prefix a pitch with o to
switch back to octave mode), and F4 is the closest F to A4.
Using e by itself would select E3 since proximity mode is
still active. To temporarily override the octave selection
(both in proximity and octave modes), post fix u to indicate
that the current pitch is above (up) the previous pitch.
Measure Left: a barline with repeat sign on its
Marks. p 1; place a piano dyanmic under the first
note on the line of music.
Beams. 2b; This is automatic beaming: beam notes
by quarter notes (2 eighth notes). Beams can also be created by explicitly
listing the starting and ending note, similar to the slur stage.
Slurs. 2 3/4 5/7 10/11 12/14 15/16 17/19 22; Place
a slur from note 2 to 3, 4 to 45, 7 to 10, etc.
Define an expansion macro (and apply it the first time). The contents
within  can be repeated by using @z. Up to 26
macro expansions can be defined at any time, using any letter for
the macro name.
Apply the z macro a second time.
Quarter note (4 is equivalent to q).
Half note (2 is equivalent to h).
Insert four e rhythms (eighth notes, equivalent to 8).
Expands to e/e/e/e/ which is the same as 8/8/8/8/
Notice in the previous example that the notes are not very well
spaced. By default, the notes are spaced according to their durations
without consideration for other musical elements such as barlines or
accidentals when entered in User Input mode. Use the LJ command to
space the music properly on the line.
Object data can be arranged into any order. Objects will be printed
in the order in which they occur. Here is an example of sorting by
P1 codes (object type) rather than by P3 (horizontal position):