Specifying chords

Staff and voice

The description of the music for one voice begins with the staff and voice number, followed by a colon. For example:

3 1:

indicates that the remainder of the line contains musical information for voice 1 of staff 3. If the "voice" number is omitted, voice 1 is assumed. Thus
3:

is equivalent to the previous example. Both the staff and voice can be given as a list. This may be useful if several staffs have the same notes, or both voices on a staff have the same notes. For example:
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:

will cause the music to go to voice 1 of staff 1 as well as to voice 2 of staff 3. Various styles can be combined:
// 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.

Chord duration information

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.

Notes, rests, or spaces

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

Picture of Mup output

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.

Measure duration

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

Picture of Mup output

Accidentals

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.

Octave

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

Shorthand notations

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+;

Picture of Mup output

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.


Mup User's Guide Table of Contents