|
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:
|
|
The next three parameters on each line (P2, P3 & P4) have a fixed meaning for all objects:
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 (;):
tr | Treble clef | |
3 4 | 3/4 time signature | |
e4 | E4 pitch, where C4 is middle C. | |
m | barline (measure). | |
c5 | C5 pitch, an octave above middle C. | |
pa | 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. | |
c5 | 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. | |
eu | 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. | |
fs | F-sharp. | |
r | Rest. | |
ml | Measure Left: a barline with repeat sign on its left side. |
z[...] | 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. | |
@z | Apply the z macro a second time. | |
q | Quarter note (4 is equivalent to q). | |
h | Half note (2 is equivalent to h). | |
ex4 | Insert four e rhythms (eighth notes, equivalent to 8). Expands to e/e/e/e/ which is the same as 8/8/8/8/ or 8x4. |
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):