Beyond MIDI: The Handbook of Musical Codes

MuseData §2: Organization of Data Records

Walter B. Hewlett

     MuseData utilizes character spacing of data within each line, since the meaning of many elements of the system are inferred from column placement. An 80-column row is assumed. The first character in each record uses a control key to identify the record type. There are currently 23 valid control keys. In alphabetical order they are:

Table 1: MuseData record control keys.

A regular note record a append to previous line
B regular note record b backspace in time
C regular note record c cue size note
D regular note record f figured harmony
E regular note record g grace note
F regular note record i invisible rest
G regular note record m bar line
P print suggestions r regular rest
S sound directions $ musical attribute record
" " extra note in chord & comment mode toggle switch
/ end of music or end of file @ single line comment
* musical directions

2.1 Regular Note Records: Sound Information [A..G, r]

    The most common type of record is the regular note or rest record. This is really the heart of the representation. This type of record can be identified by one of the seven key names A, B, C, D, E, F, G or the letter r (for rest) in Column 1. Complete sound information for pitch and duration is provided in Columns 1-9. Information pertaining to printing and interpretation is stored in Columns 13-80. Columns 10-12 are always left blank.

    A. Pitch Information [Columns 1-4]

    Pitch notation requires three parameters pitch name (A . . G), chromatic inflection (sharp, flat, natural), and octave number. The first and third parameters are given explicitly for every note in MuseData. Chromatic (or enharmonic) inflection is also explicit for every note, because this facilitates accurate conversion to sound information. The complete pitch specification given in Columns 1-4 is thus of variable length, taking only two columns if there is no altered chromatic inflection. Pitch name is specified in Column 1 by the relevant capital letter (A..G) or an r for a rest.

    Chromatic inflection is indicated in Columns 2-3. The codes are # (sharp), ## (double sharp), f (flat), and ff (double flat). Naturals are never indicated here; when graphically necessary, they are signalled by a flag in Column 19 (actual notated accidental).

    An octave number in the range 0..9 is given in Column 2, 3, or 4 as the final element of the pitch specification. Middle C initiates Octave 4, the next higher octave is Octave 5, and the next lower octave is Octave 3. Thus Middle C = C4, while Bf3 (A#3) is the whole step below it. The whole step above it may be designated as D4 (also as C##4 and Eff4). The maximum range in current use extends from Cff0 to B##9.

    Column 5 is left blank.

    B. Duration Information [Columns 6-9]

    Duration is specified in units called divisions. The number of divisions per quarter note is specified initially in a musical attribute record. The number of these divisions pertaining to the note or rest is specified, with right justification, in Columns 6-8. If a quarter note has four divisions, a sixteenth note will have one division. Column 9 is reserved for a tie flag (-), which is appended to the initiating note.

    Duration means the complete logical duration of a pitch as opposed to the shortened or articulated duration that might be appropriate in a sound file. When the notated duration of a pitch is different from the intended duration, it is the intended duration that is represented. This favors appropriate results in the conversion to a sound file.

    From the data in Columns 1 to 9 it is possible to construct sound output of the musical part. Here is the score for a common children's folk song ("Three Blind Mice"), in which each quarter note has two divisions:

    Figure 2.1: Sample MuseData records for opening
    measures of Three Blind Mice.

       
      measure 1
      E4 2
      D4 2
      C4 2
      rest 2
      measure 2
      E4 2
      D4 2
      C4 2
      rest 2
      measure 3
      G4 2
      F4 1
      F4 1
      E4 4
      measure 4
      G4 2
      F4 1
      F4 1
      E4 4
      

    C. Chords [" "]

    A regular note may be followed by additional chord tones. A chord is thus made up of one regular note and one or more extra chord notes. The control key for an extra chord note is a blank space (" "). The format for this type of record is as follows:

    Column 1: blank
    Columns 2-5: pitch (for content, see 27.2.1.A)
    Columns 6-8: duration or blanks (see 27.2.1.B)
    Column 9: tie flag
    Columns 10-42: same as for regular note

    N.B. If the duration field (Columns 6-8) is blank, it is understood that the extra chord note has the same duration as the regular note. The duration of the extra notes need not be the same as that of the regular note, but must not exceed that of the regular note. If all durations in the chord are the same, the pitches may be encoded in any order; any of the pitches may be encoded as the regular note. For purposes of analysis, it is possible to assign different notes of a chord to different tracks (Column 15).

    D. Cue Notes and Grace Notes [c, g]

    There are three types of small-size notes: small-size regular notes (treated as explained above), cue notes, and grace notes. Small-size regular notes and cue notes line up timewise with regular notes in a score, whereas grace notes have space of their own and are attached to a following regular note or to the end of a measure. Small size regular notes should be used to represent accompaniments and other musical material which is intended to be played. Cue notes should be used to represent notes that show in one part what is going on in another part or to represent a variant to regular notes.

    An instrumental cadenza, expressed as small notes in a score and executed essentially in free time, would probably be represented with grace notes. If, on the other hand, the cadenza extended for several measures and were executed basically in measured time, it would probably be represented with regular notes, at either small or full size.

    The control keys for grace notes and cue notes are g and c respectively. The formats for these records are as follows:

    Column 1: g (grace note) or
    c (cue note)
    Columns 2-5: pitch/rest identification
    Columns 6-7: blank
    Column 8: note type:
      0 eighth note with slash
      1 256th note
      2 128th note
      3 64th note
      4 32nd note
      5 16th note
      6 8th note
      7 quarter note
      8 half note
      9 whole note
      A breve (double whole note)
    Column 9: blank
    Columns 10-80: same as regular notes

    Grace notes and cue notes may include extra chord tones. In this case the same keys g and c are used as control keys but the records have the following formats:

    Column 1: g or c (same as for single notes)
    Column 2: blank
    Columns 3-6: pitch (see regular note)
    Column 7: blank
    Column 8: note type (same as for single notes)
    Column 9: blank
    Columns 10-80: same as other grace and cue notes

2.2 Regular Note Records: Graphic and Interpretive Information

    All remaining columns (13-80) are related to information pertinent to printing and data interpretation. A blank in any column reserved for a specific purpose means that no information is required. Columns 10-12 are also left blank.

    A. Footnote, Level, and Track Information [Columns 13-15]

    These columns are used as follows:

    Column 13: footnote flag (" " = none) toggle
    Column 14: level number (optional) integer
    Column 15: track number (optional) integer

    Where more than one musical line is represented in a printed part, it is essential for purposes of analysis to know for each note (or chord) the musical line or track to which the note belongs. In some cases this is interpretive information, provided as a service by the encoder in Column 15. Column 16 is left blank. Columns 17 to 43 extend the information given in Columns 1 9 with details about the notation of the pitch and duration. Occasionally this information will conflict with the information in Columns 1 to 9, since it is concerned with attributes related to correct printing, analysis, and interpretation.

    B. Graphic Note Type [Column 17]

    The graphic note types, ranging from a long (longa) to a 256th note, and their full- and cue-size codes, are shown in the following listing:

    Note Type Full-size Cue-size
    long
    L
    B
    breve
    b
    A
    whole
    w
    9
    half
    h
    8
    quarter
    q
    7
    eighth
    e
    6
    sixteenth
    s
    5
    32nd
    t
    4
    64th
    x
    3
    128th
    y
    2
    256th
    z
    1

    C. Dots of Prolongation [Column 18]

    Column 18 is reserved for a dot flag (.). A double dot is represented as a colon (:). If this column is unfilled, there is no dot.

    D. Actual Notated Accidentals [Column 19]

    Although all pitches are given explicitly in Columns 1-4, accidentals are signalled by a flag in Column 19. The codes are these:

    # sharp
    n natural
    f flat
    x double sharp
    X sharp-sharp
    & flat-flat
    S natural-sharp
    F natural-flat

    E. Time Modification [Columns 20-22]

    Two digits, separated by a colon (:), are used to indicate unusual durational relationships. For standard cases, such as triplets (3:2), the colon and the second digit are usually omitted. The numbers 10-35 are represented by the letters A-Z.

    F. Stem Direction and Staff Assignment [Columns 23-24]

    Stem direction is indicated explicitly in Column 23 for every note with the following codes:

    d down
    u up
    " " no stem

    For parts requiring one staff, Column 24 is left blank. For music on the grand staff, Column 24 indicates on which of the two staves a note should be placed. Column 25 is left blank.

    G. Beam Codes [Columns 26-31]

    Codes for as many as six concurrent beams (through the 256th-note level) can be represented by concatenating the follow codes:

    [start beam
    =continue beam
    ]end beam
    /forward hook
    \backward hook

    Codes for eighth-note beams are placed in Column 26, those for sixteenth-note beams in Column 27, and so forth.

    H. Additional Notations [Columns 32-43]

    Discrepancies between content originating with a composer and that provided by an editor or encoder can be differentiated in the encoding scheme through the use of a wide range of codes in Columns 32-43. The character & in any of these columns, followed by a digit (1..9, A..Z), is used to indicate a specified editorial level. All codes to the left of the first & belong to the lowest (least edited) editorial level.

    The following codes, which have been chosen for representing common elements of musical notation for Western music from the sixteenth through the nineteenth centuries, are somewhat arbitrary, since the encoding scheme is not complete and may be augmented and/or altered to meet the special requirements of the music being encoded.

    1. Ties, Slurs, and Tuplets.

    The following codes extend the representation of ties, slurs, and tuplets:

    - tie
    ( open slur1
    ) close slur1
    [ open slur2
    ] close slur2
    { open slur3
    } close slur3
    z open slur4
    x close slur4
    * start tuplet
    ! stop tuplet

    The designations slur1, slur2, slur3, and slur4 are arbitrary. It is possible for slurs to overlap timewise in a part (e.g., in piano music) and therefore necessary to have several open-slur, close-slur pairs available. Tuple numbers are not printed unless specified by an asterisk (*) in the first record of the group and an exclamation point (!) in the last record of the group.

    2. Ornaments.

    The following codes are used for ornaments:

    t tr
    r turn
    ~ wavy line (trill)
    c continue wavy line
    k delayed turn
    M mordent
    w shake
    j slide

    3. Technical Indications.

    Performance information for string and keyboard instruments is represented as follows:

    v up bow
    n down bow
    o harmonic
    0 open string
    Q thumb position
    1,2,3,4,5 fingering indicators
    : next fingering is a substitution

    4. Articulations and Accents.

    The following codes are used for articulations and accents:

    A vertical accent up
    V vertical accent down
    > horizontal accent
    . staccato
    _ tenuto or marcato
    = detached legato
    i spiccato
    , breath mark

    Accidentals on ornaments, for which the codes are listed below, must follow directly after the ornament code:

    s sharp
    ss double sharp
    h natural
    b flat
    bb double flat
    u

    next accidental is below rather
    than above ornament

    5. Other Indications and Codes.

    S arpeggiate (chords)
    F upright fermata
    E inverted fermata
    p piano ( p, pp, etc.)
    m mezzo ( mp, mf )
    f forte ( f, ff, fp, etc.)
    Z sfz
    Zpsfp
    R rfz
    ^ editorial accidental written above note
    + cautionary/written out accidental

    I. Text Underlay [Columns 44-80]

    In Columns 44-80 multiple lines of text may be set off by the verticule (|) character. For the carol "Deck the Halls with Boughs of Holly," which has three verses, the text for the first note would be indicated as Deck|See|Fast.

    J. Information not Represented

    All graphical information described in preceding sections can be represented in MuseData using print suggestion records, which are discussed in a later section. In most cases, however, this is not necessary. Intelligent software can deduce this type of information correctly most of the time. Print suggestions are generally reserved for those cases where software might not place graphical elements correctly.

    Other than specifying basic pitch and duration, regular note records contain no specific sound information. Dynamics (ff, pp, etc.) are encoded but not quantified. Ornaments are specified, but their execution is not. Articulation information is present in the form of slurs, dots, etc., but no quantitative information is given. MuseData does provide a means for including specific information for sound realization, but this information takes the form of suggestions and is not considered part of the primary data (see section on sound records below).

2.3 Other Record Types

    The creation of scores from parts inevitably involves the coordination of parts at every turn. Certain situations involve an additional level of interdependency. For example, in the figuration of a basso continuo part (represented by a stream of numbers that represent possible harmonic realizations), each figure relates to a particular note but not necessarily in a 1:1 manner. One harmony may extend over several notes; several harmonies may occur in conjunction with one note; some tones within the realization may be sustained while others are changed, and so forth. A similar degree of complexity can pertain to parts that are sometimes combined and sometimes divided, e.g., the Oboe I/Oboe II situations discussed in preceding sections.

    A. Basso Continuo Figuration [f]

    The MuseData system supports the representation of numerals and other cyphers for basso continuo figuration with a record that uses the control key f. The format is as follows:

    Column 1: f
    Column 2: number of figure fields
    Columns 3-5: blanks
    Columns 6-8: figure division pointer advancement

    Figures take their position from the first regular note that follows the figure record(s). In the case where the figures change during the duration of a note, the advancing parameter (Columns 6-8) is used to indicate the elapsed time between changes. In the case where a figure appears after a note has sounded, the blank space is used as a place holder to advance the figure division pointer.

    Columns 9-12: blanks
    Columns 13-15: footnote and level information
    Column 13: footnote flag (" " = none)
    Column 14: level number (optional)
    Column 15: blank
    Column 16: blank
    Columns 17-: figure fields

    The figure fields are set off by one or more blanks. Figure numbers may extend from 1 to 19. They may be prefixed by the characters #, n, f, and x. They may be followed by the suffixes #, n, f, +, \, and x. The #, n, f, and x signs may stand alone as figures. A b indicates a blank figure. This is used as a place holder in a list and also to start a continuation line with no figure. The first figure field is for the top of the figure list. For example, in the figure list:

     
          6     
         #4     
          2     
    
    the 6 would be represented in the first field.

    The figures, signs, and modifiers are these:

    1..19 figure numbers
    # sharp
    n natural
    f flat
    x double sharp
    + augment (used with figure nos. 2, 4, and 5 )
    \ augment (used with figure nos. 6 and 7)
    - short line in
    _ long line from previous figure
    b blank

    B. Combined/Divided Parts [b, i]

    In order to represent two musical parts simultaneously on one staff, and also to represent music on the grand staff (keyboard music) in a single data file (i.e., as a single musical part), it is necessary for the representation to have a backup command. This command essentially subtracts a specified number of divisions from the division counter in a measure, thereby allowing simultaneous musical tracks to be represented.

    If it is possible to decrease the division counter by means of the backup command, then we must also have a means for increasing it without printing a rest. This is accommodated with an invisible rest record type. The control keys for these commands are b and i respectively. The format is as follows:

    Columns 1-5: back backspace
    irestforward space (invisible rest)
    Columns 6-8: duration to skip forward or back up
    Columns 9-12: blanks
    Columns 13-15: footnote and level information
          Column 13: footnote flag (" " = none)
          Column 14: level number (optional)
          Column 15: blank
    Column 16: blank
    Column 17: pass number (optional)

    The final length of a measure (in divisions) is given by the furthest extent of the division counter. It is good encoding practice to advance the division counter to the end of the measure, if it is not already there when the final note in the measure has been encoded.

    C. Measure Lines [m]

    Measure breaks (also measure lines or bar lines) have their own record type in MuseData. The control key is m, and the format is as follows:

    Column 1: m
    Columns 2-7: easure regular bar line
    dotted dotted bar line
    double (light) double bar line
    heavy1 heavy bar line
    heavy2 light-heavy double bar
    heavy3 heavy-light double bar
    heavy4 heavy-heavy double bar
    Column 8: empty
    Columns 9-12: optional bar number for this bar (left justified)
    Columns 13-15: footnote and level information
          Column 13: footnote flag (" " = none)
          Column 14: level number (optional)
          Column 15: blank
    Column 16: blank
    Columns 17-80: flags:
      * non-controlling bar line
      ~ continue wavy line trill across bar line
      A segno sign at bar
      F fermata sign over bar line
      E fermata sign under bar line
      start-endn start ending n
      stop-endn stop ending n
      disc-endn discontinue ending n line
      :| repeat backward
      |: repeat forward

    Bar lines are divided into two types controlling and non-controlling. These are defined as follows:

    • Controlling bar lines are lines which run vertically through an entire score. They mark the beginning of a new global measure.

    • Non-controlling bar lines need not have this property. Non-controlling bar lines may not serve for line breaks or page breaks.

    The designation of a bar line as non-controlling is to some extent left to the discretion of the encoder.

    D. Generalized Musical Directions [*]

    Musical directions which are not attached to specific notes such things as rehearsal numbers, text instructions, crescendos and diminuendos, dynamics, piano pedal indications, and octave transpositions have their own record type. The control key is *, and the format is as follows:

    Column 1: *
    Columns 2-5: blank
    Columns 6-8: optional forward offset, measured in units of duration and right justified in the field. Use of this field allows the encoder to place a musical direction at a division that does not otherwise contain a musical record.
    Columns 9-12: blank
    Columns 13-15: footnote and level information
          Column 13: footnote flag (" " = none)
          Column 14: level number (optional)
          Column 15: track number (necessary if there are two or more wedges, sets of dashes, 8va transpositions, etc.)
    Column 16: blank
    Columns 17-18: type of direction [see explanation after Column 25]
    Column 19: location flag (optional)
    " "   indication below line
    +      indication above line (may be used by types A, B, C, D, E, F, G, H)
    Column 20: blank
    Columns 21-23: numerical parameter (optional)
    for types E and F: wedge spread
    for types U and V: shift size (when not 8va)
    for types A, B, C, D, G: optional font designator
    Column 24: staff number (" " = 1)
    Columns 25-: ASCII word string (used in A, B, C, D, and G)

      Example 1.     cresc. - - - - - - - - ff
        Starting record:
        DH      cresc. 
        Ending record:
        JG      ff 

      Example 2.     f <decreasing wedge> p

        Starting record:
        GE  15  f 
        Ending record:
        FG   0  p 

      Example 3.     <increasing wedge> p

        Starting record:
        E    0 
        Ending record:
        FG  15  p 

    Direction types (Columns 17-18) are specified by a one- or two-letter code. Currently used direction types are these:

    1. rehearsal numbers/letters
        A segno sign
    2. directions expressed in words
        B right justified ASCII string
        C centered ASCII string
        D left justified ASCII string (may be combined with types E, F, G, H, J)
    3. wedges
        E begin wedge
        F end wedge (may be combined with types B, C, D, G)
    4. letter dynamics
        G letter dynamics (given as ASCII string; may be combined with types B, C, D, E, F, H, J)
    5. dashes ( - - - - - )
        H begin dashes (after words)
        J end dashes (may be combined with types B, C, D, G)
    6. pedal (pianoforte)
        P begin pedal [Ped.]
        Q release pedal [ * ]
    7. octave shifts (in the printing process)
        U shift notes up (usually by 8va)
        V shift notes down (usually by 8va)
        W stop octave shift

    E. Mixed Fonts and Text Diacritical Marks

    In the verbal markings of a musical score or part it is occasionally necessary to change a font in the middle of an ASCII string. For example, the direction più f might call for the word più to be in italics and the sign f to be the forte character from the music font.

    This example also illustrates the necessity of being able to represent accents and other diacritical marks over letters. Since the ASCII character set is reliable only for seven-bit values in the range of 32 to 127, we must use an escape sequence to represent these other characters. We use the backslash character to initiate the sequence. This is followed by a number, and then by the letter being affected. The table below shows the escape sequences for various letter/diacritical mark combinations. All combinations except \2s also apply to capital letters.

       Figure 4: Escape codes for diacritical marks.    

    \1n = ñ \7e = é
    \1o = õ \7i = í
    \2c = ç \7o = ó
    \2o = ø \7u = ú
    \2s = ß \8a = à
    \3a = ä \8e = è
    \3e = ë \8i = ì
    \3i = ï \8o = ò
    \3o = ö \8u = ù
    \3u = ü \9a = â
    \4a = å \9e = ê
    \5s = s with v accent \9i = î
    \7a = á \9o = ô

    Because it is sometimes hard to remember whether the number or the letter comes first after the back- slash escape character (\), we have defined the sequences both ways: \1n = \n1; \1o = \o1; \2s = \s2; etc. The back-slash character itself is represented by two back-slashes (\\).

    F. Comments [@, &]

    There are two ways to include comments in a MuseData file. They are (1) with a single line comment, initiated by the control key @, or (2) with the comment toggle switch, indicated by the control key &.

    G. Record Length Extender [a]

    Although the normal maximum length of a MuseData record is 80 columns, if more columns are needed, these may be added with a continuation record, whose control key is a. This means to append the current line to the previous line.

    H. The End-of-File Record [/]

    The end of musical data and the end of a file are specified by an end-type record, whose control key is /. The format is as follows:

    Column 1: /
    Columns 2-5: FINE    end of musical data
    END      end of file

    Following the end of music data (i.e., the /FINE record), it is possible to include footnote data. In the case where there is no footnote section, the /FINE record may be omitted.

    I. Print Suggestion Records [P]

    Suggestions for printing that may be ignored by the user without jeopardizing the logical coherence of the music are called print suggestion records. Print suggestions concern such matters as positioning of beams and slurs, orientation of ties, local positioning of notes to avoid collisions with other objects, and other matters requiring prioritization or accommodation in a particular graphic context. The control key is P and the various formats are explained below.

    Column 1: P

    A print suggestion record can follow any record that contributes to the printed output of the music. This includes musical directions, bar lines, regular notes and rests, extra notes in a regular chord, grace notes and cue notes, extra grace/cue notes in a chord, and figured harmony.

    Print suggestions use a multiple-field system. Each field is introduced by a capital C, followed immediately by a number and a colon, e.g., C8: or C23:. The data following this designation (all columns up to the next field or to the end of the record) will apply to the item in the specified column of the previous (non-sound) record. A print suggestion which has a code C0: is a general suggestion and is not related to any specific column in a previous record. At the present time, we can offer print suggestions in the following situations:

    1. Position of slurs
        Field designator: C32: to C43: (depends on location of the slur)
        Data elements: o place slur over the note in question
        u place slur under the note in question

      These suggestions are needed only when the standard algorithms fail to place the slur properly, as sometimes happens with multiple parts on a staff or with double stops in the strings.

    2. Orientation of ties
        Field designator: C32: to C43: (depends on location of the tie)
        Data elements: o overhand tie (tips down)
        u underhand tie (tips up)

      These suggestions are needed only when the standard algorithms fail to place the tie properly, as sometime happens with multiple parts on a staff or with double stops in the strings.

    3. Suggestions for modifying the printing of note, rest and figure objects
        Field designator: C1:
        Data elements: x<n> shift default x position
          n > 0: to the right
          n < 0: to the left
        y<n> shift default y position
          n > 0: down
          n < 0: up
        X<n> x position relative to default position
        Y<n> y position relative to top staff line
        p<n> printout modifier
          n = 0: (default)
        Suggestions for not printing the note:
          n = 1: leave space, do not print object
          n = 2: leave space, print a dot
        Suggestions extending note length:
          n = 3: print object, no dot
          n = 4: print object, add extension dot
          n = 5: double note length, no dot
          n = 6: double note length, print dot
          n = 7: quadruple note length, no dot

    4. Suggestions for location of notations attached to notes
        Field designator: C32: to C43: (depends on column location of the notation)
        Data elements: x<n> shift default x position
          n > 0: to the right
          n < 0: to the left
        y<n> shift default y position
          n > 0: down
          n < 0: up
        X<n> x position relative to note
        Y<n> y position relative to note
        a place notation above note (i.e., override default)
        b place notation below note (i.e., override default)
    5. Suggestions for representing beamed notes with repeaters
        Field designator: C26: or C27:
        Data elements: a use repeater for next beam only
        A use repeaters for all beams which follow
        b return to normal beaming (used to cancel A)

      Print suggestions for beams normally precede the beginning of beams. If the field designator is C26:, this indicates that the maximum use of repeaters is desired; if the field designator is C27:, then the top beam should not be represented as a repeater.

    6. Suggestions for musical directions
        Field designator: C17: or C18: (depends on location of the musical direction)
        Data elements: f<n> font number, for musical direction types A, B, C, D, G

      The use of this suggestion will remove the need to place the font number in the numerical parameter field (Columns 21-23) of the musical direction, thus freeing this field for the exclusive use of wedges and transpositions.

        x<n> shift default x position
              n > 0: right ->
              n < 0: left <-
        y<n> shift default y position
              n > 0: down
              n < 0: up
        X<n> x position relative to default position
        Y<n> y position relative to top staff line


    7. General print suggestions
        Field designator: C0:
        Suggestion codes: p<n> minimum distance between notes (expressed as percentage of the default)
        q<n> duration which is assigned the minimum distance
              0    recompute default from this point onward
              1    whole notes
              . . .    
              8    eighth notes
              16    sixteenth notes, etc.
        s<n> space between grand staffs measured in multiples of staff lines times 10; e.g., 100 = 10 staff lines
        t<n> global tuplet placement
          n = 0: use default
          n = 1: place tuplets near note heads
          n = 2: place tuplets near note stems (beams)
          n = 3: place all tuplets above notes
          n = 4: place all tuplets below notes

    J. Sound Records [S]

    Sound records are used for communicating suggestions for compiling sound (MIDI) files. The control key is S and the various formats are explained below.

    Column 1: S

    A sound record can follow any record that produces a sound or influences time in some way. This includes regular notes and rests, extra notes in a regular chord, grace notes and cue notes, extra grace/cue notes in a chord, and figured harmony.

    Sound information can be given for a variety of attributes connected with a note. Since sound directions may apply to a wide variety of musical attributes, e.g., the attack and dynamic envelope of a note, the time of attack and length of a note (or rest), and directions for performing ornaments, it makes sense to use a multiple-field system, similar to the one used for print suggestions.

    To illustrate this with an example, suppose in the previous note record there were a trill indicated by a t in Column 33. In this case we would use C33: in a sound record to introduce information on how that trill should be executed in a sound file. Of course, each ornament or pitch or duration will have a different set of needs regarding its sound specification. At the present time, sound information can be provided for the following situations:

    1. Onset and length of grace notes

      Field designator: C1:
      Data elements: p steal time from previous note
      f steal time from following note (default)
      m don't steal time; make time (free cadenzas, etc.)
      t<n>
      Case 1: stealing time
      where n = percentage (0 to 100) of time to steal for this note.
      Case 2: making time
      where n = number of real-time divisions for this note.

    2. Onset and length of trills, turns, shakes, and wavy lines
      Field designator: C32: to C43: (depends on where the ornament is indicated)
      Data elements: u start on upper note (default)
      m start on main note
      w whole-step trill (default)
      h half-step trill
      j unison trill
      e include a two-note turn at the end of the trill (whole step)
      f include a two-note turn at the end of the trill (half step)
      a accelerate trill slightly
      n<n> number of beats (minimum = 2, default = 4)
      s<n> percentage point for landing on second beat of trill (default = 25)
      t<n> percentage point for landing on last beat of trill (default = 75)

      Example: The default trill uwn4s25t75 is a four-note trill starting on the upper whole step and having four equal beats.

    3. Onset and length of (inverted) mordents
      Field designator: C32: to C43: (depends on where the ornament is indicated)
      Data elements: m start on main note (default)
      b start on note below main note
      w whole-step mordent (default)
      h half-step mordent
      a accelerate mordent slightly
      n<n> number of beats (minimum = 2, default = 3)
      s<n> percentage point for landing on second beat of mordent (default = 12)
      t<n> percentage point for landing on last beat of mordent (default = 24)

      Example: The default mordent mwn3s12t24 is a three-note snap starting on the main note and going down a whole step.

    4. Alternating sound (e.g., string pizzicato)

      Field designator: C2: (to distinguish it from grace note information)
      Data elements: apizzicato for this note (this designation must be contained in a sound record which follows directly after the note in question)
      Apizzicato for this note and every regular note that follows in the file, until cancelled
      barco (used to cancel A)

    5. Da capo direction, segno sign, and implied repeat (|:)

      Field designator: C0:
      Data elements: d da capo to beginning of movement or to segno sign. Normally this record would directly precede the /END or /FINE record
      S<n> segno sign: da capo to this point in the file
        n = divisions per quarter (information for sound and MIDI generating programs)
      |> implied forward repeat dots (usually follows a bar line)

    6. Fine signs (written or implied)

      Field designator: C8:
      Data elements: F<n> Fine sign (written or implied)

      This record should follow any final note or rest in a movement which has a da capo direction. The variable represented by the sign n indicates the actual duration of the final note or rest. This is needed because some fines are indicated only by a fermata, and these can occur simultaneously over notes of different durations in different parts! In the case where there is more than one active track in the measure with the Fine (i.e., there is a backspace command in the measure), all final notes must have their durations specified by a Fine sound record. In the case of chords, the Fine sound record should follow the last chord tone record.

    7. Tempo changes

      Field designator: C0:
      Data elements: W<n> new tempo in quarter notes per minute. If parameter = 0, the sound-generating programs must ask the user for a value at the time of compiling a sound (MIDI) file.

    8. Changes in dynamics

      Field designator: C0:
      Data elements: V<n> dynamic level (velocity) measured as a percentage of the default (which is forte).