| 1 | |
| 2 | MUP Overview |
| 3 | |
| 4 | 1. OVERVIEW OF THE MUP MUSIC PUBLICATION PROGRAM |
| 5 | |
| 6 | Mup is a shareware program for printing music. It takes an |
| 7 | input file containing ordinary (ASCII) text describing |
| 8 | music, and produces PostScript output for printing the |
| 9 | musical score described by the input. Arkkra Enterprises |
| 10 | was established to make Mup readily available at low cost to |
| 11 | anyone who would like to use Mup. |
| 12 | |
| 13 | A Mup input file can contains several kinds of sections or |
| 14 | contexts. The description of musical notes is given in the |
| 15 | "music" context. There are contexts for defining page |
| 16 | headers and footers. There are also several contexts used |
| 17 | for setting various parameters. For example, there is a |
| 18 | "score" context in which global aspects are listed, such as |
| 19 | the number of staffs, the time signature, page margins, etc. |
| 20 | It is also possible to set parameters for individual staffs |
| 21 | and even individual voices. (Each staff can have up to three |
| 22 | independent voices.) Any parameter that can be set for an |
| 23 | individual voice can also be set for a staff, and any |
| 24 | parameter that can be set for a staff can be set for the |
| 25 | score as a whole. The actual value used for a given |
| 26 | parameter is obtained by searching from the most specific |
| 27 | (i.e., voice), to the most general (i.e., score) until a |
| 28 | value is found. All values are given a default at the score |
| 29 | level, so that everything will always resolve to some value. |
| 30 | Parameters include items such as: |
| 31 | |
| 32 | - Number of staffs |
| 33 | |
| 34 | - Number of voices per staff |
| 35 | |
| 36 | - Time signature |
| 37 | |
| 38 | - Key signature |
| 39 | |
| 40 | - Clef |
| 41 | |
| 42 | - Transposition amount |
| 43 | |
| 44 | - Whether to use beams or flags on notes of 8th note |
| 45 | duration or shorter |
| 46 | |
| 47 | - Margins |
| 48 | |
| 49 | - Which staffs to group with braces or brackets, and what |
| 50 | labels to use |
| 51 | |
| 52 | - How tightly to pack output together, both horizontally |
| 53 | and vertically. |
| 54 | |
| 55 | - Whether to print measure numbers |
| 56 | |
| 57 | Mup can handle up to 40 parallel staffs. Each staff can have |
| 58 | a different key signature, clef, and transposition value. |
| 59 | Staffs can be 5-line, 1-line, or tablature (1 to 9 lines). |
| 60 | It is possible to print a subset of staffs or voices. |
| 61 | Guitar grids are supported. |
| 62 | |
| 63 | Music data is organized into measures. Each measure consists |
| 64 | of data for one or more voices followed by a bar line. Data |
| 65 | for each voice consists of one or more chords. Each chord |
| 66 | consists of a time value and one or more notes, and possibly |
| 67 | additional items associated with the chord. To minimize |
| 68 | input, an omitted time value defaults to being the same as |
| 69 | the previous time value, and if the notes are omitted, the |
| 70 | notes of the previous chord are used. There are also two |
| 71 | special kinds of "notes": rests and space. Time values from |
| 72 | double whole through 256th are supported, as well as |
| 73 | tuplets, and any number of dots. Notes are specified by a |
| 74 | letter 'a' to 'g', which may be followed by an accidental |
| 75 | (#, &, x, &&, or n for sharp, flat, double sharp, double |
| 76 | flat, and natural respectively), and an optional octave. The |
| 77 | octave can be an absolute number 0 to 9 or one or more + or |
| 78 | - signs to indicate one or more octaves above or below the |
| 79 | default octave. It is also possible to specify that octave |
| 80 | marks are to be printed. |
| 81 | |
| 82 | Individual notes or entire chords can be tied or slurred to |
| 83 | notes in the following chord. Slides, bends, and phrase |
| 84 | marks can also be specified. Mup takes care of all details |
| 85 | of drawing appropriate curves and splitting the curves |
| 86 | across scores or pages if necessary. |
| 87 | |
| 88 | Grace notes can be specified before any chord. It is also |
| 89 | possible to specify that notes are to be printed in "cue" |
| 90 | (small) size rather than regular size, or that "X" or |
| 91 | diamond shaped notes are to be used. Shaped note used in |
| 92 | "Sacred Harp" music are also supported. |
| 93 | |
| 94 | Each measure ends with a bar line. There are several types |
| 95 | of bars: an ordinary bar, a double bar, a heavy bar to end |
| 96 | the song, and bars with repeat signs. There is also an |
| 97 | "invisible bar" which allows for organizing the input into |
| 98 | bars without having the bar lines printed on the output. |
| 99 | |
| 100 | First and subsequent endings can be specified at bar lines. |
| 101 | Rehearsal marks can be requested at any bar line. |
| 102 | |
| 103 | Macros can be defined to minimize input or improve |
| 104 | readability. There is a generalized "if" clause that lets |
| 105 | you produce different outputs based on macro values. It is |
| 106 | also possible to "include" one file in another. |
| 107 | |
| 108 | Lyrics can be specified for zero or more verses, above, |
| 109 | below or between staffs. You can control the font and size |
| 110 | used for the lyrics. |
| 111 | |
| 112 | Music symbols or words can be placed relative to staffs and |
| 113 | notes. This may include musical marks such as fermatas and |
| 114 | accents, as well as words to indicate tempo or dynamics, |
| 115 | etc. |
| 116 | |
| 117 | Since both the input and output of Mup are ASCII text files, |
| 118 | it is easy to write programs to do various transformations. |
| 119 | For example, a program could be written to move voices from |
| 120 | one staff to another, or any sort of PostScript filter |
| 121 | program could be used on the output. |
| 122 | |
| 123 | Mup will optionally provide output in standard Musical |
| 124 | Instrument Digital Interface (MIDI) format, for performance |
| 125 | rather than PostScript output for printing. |
| 126 | |
| 127 | While Mup itself bucks the trend of graphical, mouse-driven |
| 128 | input, it has proven to be a very useful and powerful method |
| 129 | of capturing the complexities of musical notation, and there |
| 130 | is a companion program, called Mupmate, that provides a |
| 131 | graphical interface on top of Mup for those who are more |
| 132 | comfortable with that kind of interface. The use of ordinary |
| 133 | text input and PostScript output make it largely device |
| 134 | independent. Mup was designed and written by people who are |
| 135 | both musicians and computer programmers. The result is a |
| 136 | program that provides the capability to produce full- |
| 137 | featured, very high quality musical scores with a minimum of |
| 138 | effort. It is available ready-to-run for selected computer |
| 139 | operating systems, and source code is also available so that |
| 140 | it can be run on most platforms that have a C compiler. You |
| 141 | can get a copy of Mup to try out with no obligation, and if |
| 142 | you like it, the registration fee is far lower than the |
| 143 | price of most music publication software. |