<-- previous page Table of Contents Index next page -->
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 40 staffs and 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 no more than the time signature. Time values are given as follows:
Input | Meaning |
1/8 | octuple whole |
1/4 | quadruple whole |
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.
It is also possible to specify time as two or more times to be added together. For example, 2+8 would indicate the time of a half note plus the time of an eighth note, or in other words, a half note tied to an eighth note. The expression can also include subtractions, like 2.-16. When subtractions are present, it isn't clear what time values you want Mup to use, so it will start with the largest possible time value and add enough additional chords to add up to the total. For example, if you were to use 1-4, indicating a whole note minus a quarter note, Mup will use a dotted half note, even though there are a number of other ways to represent that total time, such as a half note tied to a quarter note.
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. Space 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 uncollapsible space. For MIDI, normal space is squeezed out to take no time, whereas uncollapsible space essentially becomes a rest.
If a given voice is omitted for a particular measure, Mup normally defaults to a measure of space, but you can make it default to something else (most commonly a measure of rest) by setting the emptymeas parameter.
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;
A measure rest looks like a whole rest, but is centered in the measure.
It should be used when an entire 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
It is also possible to specify "dbl m rpt" for a double measure repeat, or "quad m rpt" for a quad measure repeat. The subsequent measures that are part of a multi-measure repeat must be either all spaces ("ms" or "mus") or not specified at all. There must, of course, be at least two measures of music before a dbl and at least four before a quad, as well as at least one measure after a dbl and at least three measures after a quad.
The measures associated with a mprt are not allowed to contain changes in time signature, key, clef, transpose, addtranspose, or vscheme, and the number of staffs cannot be reduced to eliminate the staff with the mrpt. For the purposes of counting measures, invisbar counts just like visible ones. Bar types of repeatstart, repeatend, or repeatboth are not allowed.
Each pitch letter in a chord may be followed by up to 4 accidentals, although typically no more than one is used. (Probably the most common uses of more than one would be either something like n# to remind the user that the note had had a double sharp earlier, or when using non-standard tunings.) The standard accidentals are:
Input | Meaning |
# | sharp |
& | flat |
x | double sharp |
&& | double flat |
n | natural |
Note that a double flat or double sharp counts as a single accidental, so this is one place where the use of spaces matters: & & with a space between is two flat accidentals, whereas && with no space between is one double flat accidental. It is possible to define your own custom accidentals, which is covered in the chapter on Custom Accidentals and Alternate Tunings. The accidental(s) can be placed inside parentheses if you want them to be printed within parentheses. All accidentals have to be within a single set of parentheses in that case; you can't put just a subset in parentheses.
An octave indicator may be specified after the pitch letter
or optional accidentals.
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 |
soprano | 4 |
mezzosoprano | 4 |
alto | 4 |
8bass | 4 |
treble8 | 3 |
tenor | 3 |
baritone | 3 |
bass | 3 |
bass8 | 2 |
subbass | 2 |
If a chord is omitted, then most of the values for the previous chord are reused. This includes duration, pitch/rest/space, and octave, as well as notehead size and shape (which are described in the next section). 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.
If you have several notes in a chord, it is generally convenient to input
them in order, either top-down, or bottom-up, as you prefer. If you like to
always use a particular order, there is an alternate input mode, set via the
noteinputdir parameter,
that may save some typing. If this is set to "up" or "down" then the octave
of each note in a chord after the first is determined relative to the
previous note in that chord. If a note letter is an octave or less from
the previous, you list it without any octave specified. Mup will then use
the next instance of that letter in the appropriate direction.
If it is farther than that,
you use plus signs (when noteinputdir=up) or minus signs
(when noteinputdir=down) to say how many octaves away it should be.
Here is an example:
score noteinputdir=up music 1: ceg;ece;a-a;a-e+; bar 1: acfc;c+c;2cgec; bar