Note: graphic images are not available

12 DARMS: The Note-Processor Dialect

J. Stephen Dydo

DARMS, in contrast to systems developed to utilize sound information from an electronic musical keyboard, represents all elements of musical notation alphanu-merically. The efficiency of DARMS code is facilitated by a syntax that is highly sensitive to the order and function of individual elements. Codes that fail to appear in a prescribed position may be misinterpreted or ignored.

12.1 Global Specifiers [!]

DARMS codes are of three kinds--global specifiers, local codes, and comments. Attributes that are normally global include instrument numbers, clefs, key signatures, and time signatures. These items are introduced by the exclamation point (!) and terminated by a dollar sign ($).

Comments are introduced by the letter K and terminated by a dollar sign.

The delimiter for code elements that are horizontally segmented (e.g., key signatures, bar lines, and clusters of attributes pertaining to one note) is a blank space. The delimiter for elements that are vertically segmented (e.g., clef designations for treble and bass staves in a piano part) is a comma (,).

12.1.1 Instrument Numbers [!In]

Every file must begin with an instrument number in the format !In. Each instrument can later be printed as a stand-alone part and as a part in a score. If stand-alone parts are not required, it is possible to encode music for a number of instruments in the same file, so long as the encodings for each instrument begin with a unique instrument number.

12.1.2 Clef Specifications [!G, !F, !C]

The most common clef specifications are !G (G clef), !F (F clef), and !C (C clef). A separate clef specification is required for each line of music(1) common to a single instrument. Multiple clef indications must be separated by commas. Some examples of multiple staves within a common file are these:

a grand staff for the piano !G,!F

a string quartet !G,!G,!C,!F

a part for six solo violins !G,!G,!G,!G,!G,!G

The complete header information for the three oboe parts of the first Brandenburg Concerto would be:

Oboe 1: !I2 !G !K1- !MC

Oboe 2: !I4 !G !K1- !MC

Oboe 3: !I5 !G !K1- !MC

while the header information for all three parts combined into one file would be:

Oboes 1, 2, 3: !I2 !G,!G,!G !K1- !MC

DARMS makes provision for a number of special staves. The code !T is used to produce a "tablature"--a staff without any clef sign; the code !P produces a percussion staff. Staves with unusual numbers of lines (1-25) may be produced by suffixing to the clef code the sign # and a number; e.g., !T#6 would produce a 6-line tablature staff; !P#1 would produce a 1-line drum staff.

12.1.3 Key Signatures [!K]

The key signature is specified by !K followed by the number of sharps, flats, or naturals. If no number is given, one accidental is assumed. Accidentals are indicated by the same symbols used for notes: sharps by #, flats by -, naturals by *. Cancellations (naturals) may be combined with the new signature; however, if one wishes to indicate a compound key signature, two separate key signatures must be specified. Thus:

!K2- = 2 flats

!K# = 1 sharp

!K4*1# = 3 cancelled sharps

12.1.4 Time Signatures [!M]

All time signatures begin with !M followed by the upper part (number of beats), a colon, and the beat unit. Thus, !M4:4 indicates 4/4 time; !M12:8 indicates 12/8; and !M13:16 indicates 13/16. Two exceptions are !MC (common time) and !M or !MC/ (cut time), where the correct character is printed and the 4/4 time signature is assumed.

The situation which occurs in Baroque music, where the signature is merely a "2" or a "3", must be handled by completing the implicit time signature (e.g., !M2:2, !M3:2, !M3:4) and revising the graphical situation with the screen editor.

12.2 Local Codes

A "note" often will require only one or two elements of information--typically a vertical space code and a duration code. When other parameters are needed, the codes for each must be presented in the following order:

A. vertical space code (for pitch)

B. pitch alteration code

C. notehead (rest) code

D. duration code

E. horizontal space code

F. tie code

G. stem code

H. beam code

I. codes for performance: slurs,

articulations, dynamics, extended

character sets, etc.

No intervening spaces may separate these note attributes. These nine types and related topics are discussed below.

12.2.1 Vertical Space Codes [0..9]

As a language designed exclusively for music printing, DARMS uses space codes for controlling vertical and horizontal placement. Pitch is therefore represented not explicitly but instead as a vertical position relative to a staff, which is in turn controlled by a specified clef. DARMS also relies heavily on space codes to indicate positioning for rests, bar lines, articulation marks, ornaments, text underlay and other symbols that require exact placement relative to a musical staff, actual or imaginary. In general, 1 indicates the lowest line in the staff (or an equivalent vertical position), 0 the space below it, 9 the highest line, 10 the space above it, and so forth. In this context, Middle C would be represented as -1 on the G clef, as 11 on the F clef, and as 5 on the (alto) C clef.

Irrespective of the clef involved, odd numbers are always positions on lines and even numbers are positions in spaces:

A rest is represented by the character R in lieu of a space code. If vertical placement other than in the middle of the staff is desired, an appropriate space code may be prefixed to this character.

One may indicate a sequence of bars of rest (notated with whole rests) with code of the form RnW, where n is the number of bars of rest. Software commands determine whether these appear as physically separate bars:

or in the abbreviated format normally used for parts:

12.2.2 Staff Transposition

If one "instrument" involves multiple staves or if one part uses more than one staff, movement from one staff to another may be accomplished by staff transposition. Staff transpositions go in increments of 50, rather than 1.

Global staff transposition is introduced by an exclamation point (!) concatenated with a number that is a multiple of 50. Its effect is to transpose all the music following it.

Local staff transposition is written as an ordinary space code arithmetically added to the space code for the staff change (e.g., 51 indicates the lowest line of the staff above the present one). Local transposition affects only the character (with no intervening delimiters) immediately following. The following example shows both local (-40 [i.e., 10 on the -50 scale]) and global (!-50) space encoding:

A space code may be used (with implicit + or explicit -) to indicate relative positions of such non-pitch elements as tempo and dynamics indications and text underlay. While !C is a default indication for the alto clef, 5!C is a more explicit indication; 3!C would indicate the mezzo-soprano clef, 7!C the tenor clef, and so forth. The tenor G or guitar clef is indicated as !G-8 or 3!G-8.

12.2.3 Pitch Alteration Codes [#, -, *]

Single and double accidentals are supported. The complete list of accidental codes is:

# sharp

## double sharp

- flat

-- double flat

* natural

*- natural followed by flat

*# natural followed by sharp

Since the aim of DARMS is to reproduce conventional musical notation, accidentals are not repeated within the bar nor are chromatic inflections implied by the key signature explicitly stated in the encoding.

Transposition by one (?' = 8va) or two (?" = 15ma) octaves is handled by adding the appropriate sign for printing, while the space code remains unaltered. Transposition by key obviously requires a change in all space codes and may require a change in some stem directions. These changes are implemented by software. Transposing instruments are represented by DARMS at their written pitch.

12.2.4 Notehead Codes [Nn]

DARMS makes provision for unconventional notehead types (e.g., asterisks for drum notation, diamonds for harmonics, and squares for chant). These are supported as numeric modifiers to the duration code, with an N (= notehead) preceding the number. A stemless notehead is indicated by the code 1; a stemless half is written N1H. Currently supported notehead types are these:

N0 notehead missing

N1 stem missing

N2 double notehead

N3 triangle notehead

N4 square notehead

N6 "X" notehead

N7 diamond notehead, stem centered

N8 diamond notehead, stem to side

NR rest in place of notehead 12.2.5 Duration Codes [W, H, Q, E, ...]

Duration codes are identical for notes and rests; the distinction between them is that an R must precede a rest's duration code. The following list gives the durations supported by The Note Processor:

WWW long

WW breve

W whole (semibreve)

H half (minim)

Q quarter (crotchet)

E eighth (quaver)

S sixteenth (semiquaver)

T thirty-second (demisemiquaver)

X sixty-fourth (hemidemisemiquaver)

Y 128th

Z 256th

G grace note

Any duration except that of a grace note (G) may be dotted by simply adding a period (.) to the duration code. Double and triple dots are supported. Thus, a dotted eighth is written E., a dotted eighth rest is RE., a triple-dotted half is H..., etc.

Tuplets are encoded by showing the rhythmic ratio which they produce. The ratio is written by first writing !R, then how many beats are written, then a colon, and finally how many beats of the basic tempo the first number of beats takes up. The table below shows the most common examples:

!R3:2 triplets

!R6:4 sextuplets (like triplets)

!R2:3 duplets

!R5:4 quintuplets

!R7:8 septuplets (usual)

!R7:4 septuplets (alternative)

All durations encoded after the tuplet indication will be interpreted as being within that ratio. The signal to return to normal durations is $R. If one is going from one tuplet directly to another, the $R is not necessary.

12.2.6 Horizontal Space Codes [}]

When it is necessary to override horizontal spacing defaults, for example in a song with some long syllables, the use of a special code for minimum horizontal space will prevent one syllable from being written over another. The code for minimum space is the right curly bracket (}) followed by a number indicating the amount of space. The unit of measure is the amount of space from one staff line to the next. This unit will be proportionally enlarged or compressed with larger and smaller staff sizes. An example of its use is shown below:

12.2.7 Ties [J]

Ties between two adjacent notes are indicated by the code J (= join) given after the duration of the note on which the tie begins. The tie will extend to the next note.

If a tie extends beyond the next note or rest, identifiers must be used to indicate the starting and ending note positions for the tie. The beginning of the tie may be indicated with any odd number less than 256. The end of the tie is indicated by the next higher even number. The example below connects the ties from the first two measures to the downbeat of the third:

5RQ,11WJ1,1RH \Q,6H.J3 1HJ5D / 11WJ2,6J4,1J6 /

12.2.8 Stem Codes [U, D]

The stem direction is ordinarily calculated by The Note Processor, but one may override this by specifying U for an ascending stem and D for a descending stem.

It may be useful at times to adjust stem length. The stem-length specifier follows either U or D immediately and indicates the length of the stem in half-spaces. A stem is normally 7 half-spaces in length; flag placement or beam tilt may alter that length. The following example shows the effect of stem-length specifiers:

12.2.9 Beam Codes [( , )]

Beams are indicated by where they start and where they end. Parentheses are used to indicate both: "(" means "start a beam from this note," while ")" means "end a beam at this note." For instance, E( E) represents a pair of beamed eighths, while S(( S S S)) produces four beamed sixteenths. Some examples of various beam groupings follow:

Short beams which are attached to only one note are specified by a semicolon [;] preceding the parenthesis. The parenthesis itself shows whether the short beam starts at the note (and thus goes off to the right) or ends at the note (and thus goes off to the left). All beams after the semicolon are interpreted as short beams. Therefore, if full and short beams are indicated at the same note, all of the full beams must precede all of the short ones. Some examples are:

12.2.10 Slurs [L]

Slurs are encoded almost identically to ties, except that they do not usually end at the same vertical position as that at which they started. To encode slurs between two adjacent notes place an L (= link) after the note where the slur begins; the slur will automatically extend to the next note. As with ties, if the slur extends beyond the next note or rest, the note at which the slur ends will also need an L following the other codes.

12.2.11 Articulation [>, ']

The types of articulations which are recognized without any other special symbol are:

> Accent

^ Sharp accent

_ Tenuto

' Staccato

" Staccatissimo

The following example gives instances of all of the above:

Although it is not possible to give a vertical space code for individual articulations, one may give a global space code for all articulations.

DARMS and its extensions provide a host of other articulation marks via special character combinations (introduced by a question mark [?]). These are some extensions used in The Note Processor:

?P pedal

?* pedal up

?U organ heel

?< organ toe

?D down bow

?V up bow

?O harmonic circle

?Q Bartók pizzicato

?G segno 1

?% segno 2

?/ stress sign

?- unstressed sign A global vertical position may be indicated by the code !A and cancelled by the code $A.

12.2.12 Dynamics [V]

Dynamics (p, f, mf, etc.) are indicated by the code V followed by the letter or letters of the dynamic, which may be any of the following: P, F, M, R, S, Z, or -. The actual dynamic may be of any length. A global vertical position may be introduced by the code !V and cancelled by the code $V.

12.2.13 Extended Character Sets [?]

DARMS makes provision for the creation of a dictionary of new symbols. These are indicated by ASCII characters which are attached to notes and rests and are treated in the same way as articulations for purposes of syntactical order. These codes are introduced by a question mark [?] and completed by a number from a table. The number assignments used by the Note Processor are given in Table 12.1. For example, the code 1Q?124 will produce a quarter note on the first line with a mordent below it. While some symbols can be produced by other means, these codes offer the best approach to encoding such performance information as ornamentation and basso continuo figuration, score mark-up such as rehearsal numbers, frames for ukelele and guitar chords, and grace notes.


34 quarter-note head

35 half-note head

36 whole-note head

37 breve head

38 double-whole head

39 grace-note head ( quarter note)

40 grace-note head ( half note)

41 white diamond (harmonic)

42 black diamond (harmonic)

Accidental signs:

43 sharp

44 flat

45 natural

46 double sharp

47 small editorial sharp

48 small editorial flat

49 small editorial natural

50 small editorial double sharp

51 | stem


52 G clef

53 F clef

54 C clef

55 percussion clef

56 small G clef

57 small F clef

58 small C clef

59 small percussion clef


60 eighth-note flag up

61 eighth-note flag down

62 sixteenth-note flag up

63 sixteenth-note flag down

64 32nd-note flag up

65 64th..256th-note flag up

66 32nd-note flag down

67 64th..256th-note flag down

68 grace-note flag up

69 grace-note flag down

70 grace-note eighth flag up

71 grace-note eighth flag down

72 grace-note sixteenth flag up

73 grace-note 32nd..256th flag up

74 grace-note sixteenth flag down

75 grace-note 32nd..256th flag down


76 whole-note rest

77 half-note rest

78 quarter-note rest

79 eighth-note rest

80 sixteenth-note rest

81 32nd-note rest

82 64th..256th-note rest

83 dot of prolongation

Meter numerals:

84 1 1

85 2 2

86 3 3

87 4 4

88 5 5

89 6 6

90 7 7

91 8 8

92 9 9

93 0 0

94 C common time


95 p p

96 m m

97 f f

98 s s

99 r r

100 z z

Articulation and ornamentation marks:

101 > accent

102 hard accent, up

103 hard accent, down

104 . staccato

105 staccatissimo, up

106 staccatissimo, down

107 tenuto

108 ' breath mark

109 fermata, up

110 fermata, down

111 trill

112 trill curl

113 arpeggio curl

114 bar repeat

115 quarter repeat

116 half repeat

117 up bow

118 down bow

119 heel (organ)

120 toe (organ)

121 Ped. pedal depress (piano)

122 pedal release (piano)

123 harmonic

124 mordent

125 inverted mordent

126 mordent, variant

127 mordent, variant

128..160 [unassigned]

161 mordent, variant

162 turn

163 inverted turn

164 vertical turn (arpeggio)

165 coule

166 inverted coule

Tuplet numerals:

167 1 1

168 2 2

169 3 3

170 4 4

171 5 5

172 6 6

173 7 7

174 8 8

175 9 9

176 0 0

177 : colon for tuplet ratios

Notes for metronome indications:

178 whole note

179 half note

180 quarter note

181 eighth note

182 sixteenth note

183 32nd note

Octave specifiers:

184 8 8va (1-octave transposition)

185 15 15ma (2-octave transposition)

Fingering and figured bass numerals :

186 0 0

187 1 1

188 2 2

189 3 3

190 4 4

191 5 5

192 6 6

193 7 7

194 8 8

195 9 9

196 2, altered

197 4, altered

198 5, altered

199 6, altered

200 7, altered

Bar lines and braces:

201 bar line

202 heavy bar line

203 dashed bar line

204 dotted bar line

205 straight brace, top

206 straight brace, bottom

207 rehearsal letter box, left

208 rehearsal letter box, right

209 curly brace, top

210 curly brace, middle

211 curly brace, bottom

212 curly brace, body

213 8 clef 8va sign

214 : bar repeat dots

215 tremolando

Other lines, signs, and symbol components:

216 + sign for time signatures

217 ( left parenthesis

218 ) right parenthesis

219 [ left bracket

220 ] right bracket

221 vertical slash

222 horizontal slash

223 stressed syllable

224 unstressed syllable

225 horizontal bracket, left

226 horizontal bracket, right

227 - bracket extender

228 H Hauptstimme

229 N Nebenstimme

230 Bartok pizzicato

231 chord frame

232 chord-frame extension

233 up arrow

234 down arrow

235 left arrow

236 right arrow

237 O perfect time (mensural notation)

238 C imperfect time (mensural notation)

239 prolation dot for 237-8

240 - dash for dynamics

241 segno, type 1

242 segno, type 2 Table 12.1 Dictionary character assignments in Note-Processor DARMS. Positions 128-160 are not used for downloading characters.

12.2.14 Bar-Line Codes [/]

Bar lines are represented normally with a slash [/]. Many encoders prefer to allocate one line in a file to one measure in a part as an aid to proofreading the file. DARMS is actually indifferent to the arrangement of bars within a file.

Different types of bar lines require modifiers following or preceding the slash. Below are the symbols for various types of bar lines:

/ normal bar line

// double (thin) bar line

/| thin and thick bar line (end)

/: beginning of repeat

:/ end of repeat

:/: end one repeat, begin another

/. dotted bar line

/= dashed bar line

/* non-printing bar line

/+ intermediate bar line

Below are examples of some of the bar-line types:

Bar lines are automatically numbered by the DARMS interpreter, with the first bar numbered 1. If one does not wish the DARMS code to start at Bar 1, then when one encodes the first bar line in each line of music, one must follow the bar-line symbol immediately with the appropriate number for the bar following.

To specify a bar line which marks a metrical division within the bar, one follows the bar line with a +, to indicate that the full measure is the music following the previous bar line plus the music about to follow. Such intermediate bar lines are not used in calculating measure numbers; rather, they are given a measure number of -1. The DARMS interpreter will ignore them when figuring the number of beats in the full measure.

One may specify any kind of bar line as an intermediate bar line; the restrictions are that the total number of symbols to specify the bar line be no more than four, and that the + must be the last symbol. The following are all valid intermediate bar lines:

/+ /:+ :/:+ /=+

The format for specifying bar-line position is !/<high>|<low>, where <high> is the space code for the top of the bar line and <low> is the space code for the bottom. For example, !/11|-1 indicates that the bar lines are to start one full space above a five-line staff and end one full space below it.

12.3 Example

The encoding of the Mozart trio appears below. All five parts are encoded as one "instrument"; alternatively, this passage could also have been encoded in five separate files. The format, which places most measures on a seperate line, is purely stylistic.

Comments encoded between a K and a $ are comments that are ignored by the DARMS compiler. Beam beginnings and endings are encoded here by left and right parentheses, but in most instances they can be correctly generated automatically. What might logically be represented as a tie (J) in Bars 11-12 of the viola part is here represented as a slur (L) because of its slanted positioning.

!I1 !G,!G,!G,!C,!F

K Begin clarinet part $

!M3:4,15@Clarinet in A$ 6E(L1VP 8) /

10( 8) 13QL2 10E(L1 8) /

7( 9) 11QL2 9E(L1 7) /

6( 5 8 7 10 9)L2 /

7#QL1 8L2 6E(L1 8) /

10( 8) 13QL2 10E(L1 8) /

7*( 9) 11QL2 RQ / RW /

RQ RQ !R3 0E(L1 -3 -5) /

$R -3E(L2 0' 2' 4' 7' 9)' /

11(L1 10 9 8 9 7)L2 /

6HL1 8E( 7)L2 / 6Q RQ :/: !-50

K Begin first violin $

!K3# !M3:4,14@Violin I$ RQ /


RQ Q Q /

RQ 3 3 /

RQ 4 4 /

RQ 4 4 /

2 RQ 6E(L1 4#) /

5( 7) 9QL2 6E(L1 4#) /

5( 7) 9QL2 RQ / RW / RW /

-1E(L1 1 -1 1 0 1)L2 / -1Q RQ :/: !-50

K Begin second violin $

!K3# !M3:4,14@Violin II$ RQ /


RQ 2 2 /

RQ 0 0 /

RQ -1 -1 /

RQ 1 1 /

0 RQ 3*L1 /

2H 3*Q /

2HL2 RQ / RW / RW /

-3HL1 -4#QL2 / -3 RQ :/: !-50

K Begin viola $

!K3# !M3:4,13@Viola$ RQ /

RQ 5VP 5 /

RQ 4 4 /

RQ 4 4 /

RQ 3 3 /

RQ 5 5 /

4 RQ 7L1 /

6H 7Q /

6HL2 RQ / RW / RW /

0H.L1 / QL2 RQ :/: !-50

K Begin cello $

!K3# !M3:4,12@Violoncello$ RQ /


5 RQ RQ /

6 RQ RQ /

7 RQ RQ /

4 RQ RQ /

5 RQ RQ /

RW / RW / RW / RW /

-1L1' -1' -1L2' / 2 RQ :/:

Example 12.1. N-P DARMS encoding of the Mozart trio.

12.4 Special Features of DARMS

12.4.1 Repetitive Information Codes

DARMS has two provisions for reducing the encoding of repetitive information. These are the carry feature, which operates only within the bar and on only one attribute at a time, and the pattern repetition specification, which can facilitate the transcription of long passages of musical sequences.

A. The Carried-Space Code

The carry feature permits the encoder the liberty of not reiterating within the bar elements of information that remain constant. If a measure in common time contains 8 eighth notes, it is necessary to give the duration code (E) only once. Similarly, if the note on the second space occurs multiple times within a measure, its space code (4) may be given only once. If in a series of notes the pitch and duration parameters are identical, the encoding of either attribute (but not both simultaneously) may take advantage of the carry feature. The example below gives some examples of carried space codes:

The longer the passage, the greater the benefit of using the carry feature. Consider the following example from Bach:


B. The Pattern-Repetition Code [!X]

For phrases in which the same pattern of pitches and durations occurs over and over, the more formal repetition marker !X may be used. The format is !Xn <code> $X, where n is a number specifying how many repeats are to be done and <code> is the DARMS code to be repeated. Everything up until the $X will be repeated n times. Any valid DARMS symbols may be repeated. Repeated measures will be incremented in the interpreted file. The following fragment is an example of a one-measure phrase repeated 12 times:

2Q. 3E / !X12 4E( 1 -1 1) / $X -3H. //

12.4.2 Text Underlay [a..$]

A text syllable to be appended to a note is introduced by the commercial @ sign and terminated by the dollar sign ($). A simple example of text, to be printed as lyrics, is:

-1Q@Do$ 0@re$ 1@mi$ 2@fa$ / 3H@sol$ 4Q@la$ 5@ti$ / 6W@do$ /

This will be printed as:

Text can be attached to any printable symbol, except for some global symbols (such as a clef or instrument number). When attaching text to a note no comma is used, since the text is regarded as a part of the note structure. However, for all other symbols, one must insert a comma between the symbol and the text. In The Note Processor the default base line of the text syllable is -6. This may be altered by an explicit space code with global effect, e.g., -10!@.

12.4.3 Push Codes [\]

Push codes are non-printing rests indicated by the backslash (\). There is no carry feature for push codes, and pushing beyond a bar line is not allowed. One may attach other symbols to a push code, such as text or dynamics. The code \2H will push to a horizontal position two half notes to the right. (Note that this represents more space than a whole note.) Push codes provide one way to place symbols between notes. They can also be used to show unmeasured notation, as in this harmonic analysis:

!I1 !G !K2# 0H(D,7N1Q !N1 \E,1H,6Q \E,5Q \E,4H,8Q \E,10Q $N 0H)D,9N1Q //

The printed copy is then:

12.4.4 Chordal Representation [,]

Chords are created by connecting a series of notes with each other by commas. All of the essential elements of each note (space code, accidental, duration, if needed) must be specified before the comma. In chords, things such as beams, dynamics, articulations, etc., will ordinarily be specified only once.

12.4.5 Linear Decomposition [!&..$&]

Linear decomposition, a method for representing multiple voices or strands of infor-mation on a single staff, addresses one of the significant difficulties encountered in the encoding of Western music. It is useful for such tasks as the following:

the breaking up of polyphonic music into its individual lines;

the breaking up of Baroque bass parts into the bass line notes and figured bass symbols;

the separation of vocal music into the melody and its lyrics; and

the differentiation in piano music of fingering information and the musical score.

Linear decomposition is initiated with the code !& and terminated by the code $&. Entrances of new voices are indicated with the code &. A simple case of two-part counterpoint appears below:

This passage can be represented without linear decomposition, by using push codes to create correct horizontal spacing, as the DARMS code below illustrates:

!I1 !G !K2# 3HU,0D 2QU,-2HD 5QU / 5HU,1H.D \Q,4Q. \E,-3QD 3E / 2W;,-3 //

With linear decomposition, the same passage appears as:

!I1 !G !K2# !& !U 3H 2Q 5 / H 4Q. 3E / 2W; // & !D 0H -2 / 1. -3Q / W // $&

Here decomposition often provides an easier or clearer way of representing the music. In other instances, such as that shown below, decomposition may provide the only way of representing the music:

!I2 !F !MC !& !U 11RE 11E( E 12) 13( 11 13 14) /

15Q 13 14 11E( 12) / 13 /*

& !D 1RE 9E( E 10) 13( 11 13 14) /

15( 6 9 8) 7Q 6E( 5) / \E,4H /* $&

The above example could not be input without linear decomposition, due to the fact that it contains simultaneous beam systems.

12.4.6 Import and Export of Musical Examples

The Note Processor supports the export of music files to text and graphics documents through utilities to create TIFF, EPS, and other graphics file formats. The optical recognition program MusicReader(2) by William McGee and Paul Merkley creates N-P DARMS as well as Standard MIDI Files.

1. Up to a maximum of 12.

2. Described in the glossary.