The description of the music for one voice begins with the staff and voice
number, followed by a colon. For example:
3 1:
3:
1-4 2: // voice 2 of staffs 1, 2, 3, and 4 1,2,4: // voice 1 of staffs 1, 2, and 4, 1,3,6-7 1-2: // voices 1 and 2 on staffs 1, 3, 6 and 7 5-8 1,2: // voices 1 and 2 on staffs 5, 6, 7, and 8
If you want notes to go to one voice on some staffs
and a different voice on others,
this can be specified using an ampersand. For example:
1 1 & 3 2:
// Voices 1 and 2 on staff 2, // as well as voice 2 on staff 4 // and voice 1 on staffs 6, 7, and 9 2 1-2 & 4 2 & 6-7,9 1:
It is possible to have up to three voices per staff. While there can be voice crossings, in general voice 1 should be the "top" voice, voice 2 the "bottom" voice, and voice 3 the "middle" or "extra" voice. With the first two voices, Mup tries hard to avoid any "collisions" between notes, rests, and other things. Since voice 3 is an extra voice, there are some cases when overlap with the other voices is basically unavoidable, but there are some techniques discussed later that let you tweak placement when necessary.
As an alternative to this voice-at-a-time input style, there is also a chord-at-a-time input style, which will be covered later.
The rest of the line contains a list of chords, with a semicolon at the end of each chord. Each chord has a time value. The time values of all the chords in the line must add up to the time signature. Time values are given as follows:
Input Meaning 1/4 quadruple whole (not valid for notes) 1/2 double whole 1 whole 2 half 4 quarter 8 eighth 16 sixteenth 32 thirty-second 64 sixty-fourth 128 128th 256 256th
Any of these time values can be followed by one or more dots, to indicate a dotted note. Each dot increases the time value by 50% of the preceding note or dot.
If a time value is not specified for the first chord in a measure for a given voice, the default timeunit value is used. You can set the default value using the "timeunit" parameter as described in the "Parameters" section. If that parameter is not set, the default is the denominator (bottom number) of the time signature. For chords after the first, if a time value is not specified, the time value for the previous chord is used.
There are three kinds of "chords."
The first type consists of one or more
pitches, given by the letters "a" through "g".
Parentheses
can be placed around the pitch if you want
the note to be printed in parentheses.
(If the pitch is modified by an
accidental
or
octave,
which will be
discussed later, those must also be included inside the parentheses.)
The second is a rest, which
is designated by the letter "r". The third type is a "space," designated
by the letter "s." This is basically
a placeholder that takes up time, but doesn't print anything. It is useful
when a certain voice only has notes during part of the measure. It can also
be useful for specifying "pickup" measures to account for the time before
the first note in the measure. For example:
// a pickup measure 1: 2.s;8.c;16d; bar 1: e;g;e;c; endbar
If all voices contain spaces, no space is actually taken up on output. Most of the time, this will be what you want. For example, when you are using space for a pickup, the space is just to add up to a measure, and you don't want any actual blank space at the beginning of the piece. Once in a while, however, you may want space to actually be allocated on output, perhaps to be able to allow space for some special notation. In that case, you prefix the 's' with a 'u' to indicate an uncompressible space.
There is a special duration of "m," which means an entire measure.
It can only be used with a rest, space, or "rpt" (repeat). For example:
1 1: mr; 1 2: ms;
If a given voice is omitted for a particular measure, Mup defaults to a measure of space.
A measure rest looks like a whole rest, but is centered in the measure.
It should be used when a whole measure is a rest, regardless of the time
signature.
However, if you want to force use of a symbol other than the whole rest
symbol, you can specify a duration before the mr, and the rest symbol for that
duration will be drawn instead.
4mr; // use a quarter rest symbol 1/4mr; // use a quadruple whole rest symbol 2.. mr; // use a double-dotted half rest
Using "m rpt" will cause the
measure repeat symbol to be printed, indicating
the measure is just like the previous measure. Measures repeats
will automatically be numbered, unless the
numbermrpt parameter
is set to n. If there is more than one voice, you only need to
specify the mrpt on voice 1. If you do specify other voices as well,
they must be either a mrpt or ms.
1: c;d;e;f; bar // another measure just like the first 1: m rpt; bar // the space between m and rpt is optional 1: mrpt; bar
Each pitch letter in a chord may be followed by an accidental. Valid accidentals are:
Input Meaning # sharp & flat x double sharp && double flat n natural
The accidental can be placed inside parentheses if you want it to be printed within parentheses.
An octave indicator may be specified after the pitch letter
or optional accidental.
The octave can be specified in either of two ways:
absolute or relative. A number from 0 to 9 is
used to specify an absolute octave. Octaves run from C up to B. Octave 4 is
the octave starting on middle C. Octave 3 is the octave below that, etc.
A relative octave is specified by one or more plus or minus signs, and
indicates that number of octaves above or below the default octave. For
example:
c // c in the default octave e++ // e two octaves above default octave f#--- // f# three octaves below default octave b&6 // b flat in octave 6
The default octave can be set using the "defoct" parameter, which is described in the "Parameters" section. If that parameter is not set, the default octave is the octave containing the note associated with the middle line of the staff, based on the current clef. In other words, the default octaves are:
Clef Octave frenchviolin 5 8treble 5 treble 4 treble8 3 soprano 4 mezzosoprano 4 alto 4 tenor 3 baritone 3 bass 3
If a chord is omitted, the values for the previous chord are reused. This works for pitches, rests, and spaces. For normal, 5-line staffs, the pitches for the first chord of every measure must always be specified, since there is no previous chord.
Putting all these things together, here are some examples:
// Two eighth notes, each b#, followed by an eighth // note d, eighth note e, and half note e, with the // last 3 notes being in the next higher octave. 1 1: 8b#; ; d+; e+; 2; // Whole note C-E-G chord in default octave // for voice 2 of staff 1 1 2: 1ceg; // Four quarter notes on staff 2, voice 1. // The last is in the octave above the default octave. 2: 4g; a; b; c+;
For 1-line staffs, it is never necessary to specify a pitch, since all notes go on the single staff line. You can, however, specify a pitch if you wish. The pitch will be ignored for the purposes of printing, but will be used for MIDI output. If you don't specify a pitch, it is arbitrarily set to middle C.