Spheren
Muziek van
Paul Merkus
MUSIC Tool Help File

                             M U S I C    H e l p

 +------+------+------+------+-------+--------+------+------+-------+--------+
 |  F1  |  F2  |  F3  |  F4  |   F5  |   F6   |  F7  |  F8  |  F9   |  F10   |
 |------+------+------+------+-------+--------+------+------+-------+--------|
 | Help | Save | Load | Play | Print | Transp | Goto | Copy | Check |        |
 +------+------+------+------+-------+--------+------+------+-------+--------+
  Alt:   SaveAs Insert                                 Move

                                  /---------\
                          Select  | XX   XX | Add note
                                  | XX   XX |
                                  |         |
        z : Zoom in               |M o u s e|     Space bar : Add text
                                  \--+---+--/
                                     \-+-/
                                       |      Alt Space bar : Add chord symbol
                                       |

          Arrow keys navigate : Up, Down, Left, Right, Home, End

          Note entering : Use C, D, E, F, G, A, B, C keys

==============================================================================

          M U S I C   P r o g r a m   D o c u m e n t a t i o n

Table of Contents
-----------------
       * Positioning
       * Overview of all commands
       * Selection
       * File formats
       * Program invocation
       * Menus and Forms
       * Global details
       * The MIDI domain
       * Tracks
       * Text Syllables
       * Chord Symbols
       * Semantic checking
       * Summary of MUSIC features

Positioning
-----------
Welcome to MUSIC, a symbolic MIDI file editor. MUSIC allows to edit a MIDI
file as a truely musical representation of a musical piece and read it, edit
it, play it and print it. Obviously, MUSIC is fully MIDI compliant, i.e.
standard MIDI format files can be read in and scored. MUSIC runs under DOS
(and as with any DOS program) it can be invoked from MS-Windows.
MUSIC is not a sequencer, it only has file access, both with its own MFx file
format and with standard MIDI files. Hence, it can work fine in conjunction
with any sequencing program that supports standard MIDI files.
MUSIC is particularly suited as a song editor, because it provides support
of syllables of lyrics in addition to the notes. The entered text is well
positioned, as well as checked and extracted. Additionally, MUSIC has the
notion of chord symbols (in guitar style). It does not regard these as mere
strings of text, but instead interpretes these, checks and improves them.
As a result of this a musical piece can be transposed very easily. i.e. with
the push of a single button. Not only will the tonality of the piece be
adapted, the guitar chord symbols are tranposed as well !
MUSIC has a special philosophy regarding musical notation. MUSIC is not a
graphical package in the sense that it allows the user to draw a nice picture.
The user is supposed to enter musical information, which is processed by the
MUSIC program which determines what the optimal musically graphical
representation of the musical constructs is.
As an example, the beaming of multiple quavers and semiquavers is done fully
transparant. The MUSIC program, knowing the time setting of a piece, determines
automatically how notes are grouped and subgrouped. The user does not need to
worry, everything is updated automatically on the fly, i.e. while editing.
Hence, there are no commands needed to influence it !
The same holds for the difficult question of "spelling": must an accidental
be a sharp or a flat. MUSIC performs several analyses (statistical, harmonic
and melodic) in order to determine the musically correct representation of a
note. The user cannot influence on this. This all should lead to a situation
where the user is occupied by the musical aspects of a piece, and not by the
notational aspects. These are handled by the MUSIC program.
As a last example, consider enlarging and reduction of a musical piece or part
of it. If the user wants to change a quaver note into a crotchet, he does not
need to erase a flag, but simply enlarges the 16th into an 8th, and the MUSIC
programs determines the number of flags, as well as the question of how the
beaming should be adapted to the new situation.

Overview of all commands :
------------------------
           Up arrow       : Move system up
           Down arrow     : Move system down
           Left arrow     : Select previous
           Right arrow    : Select next
           Home           : To first system or entity
           End            : To last system or entity
           PgDn           : One screen down
           PgUp           : One screen up
      Ctrl PgUp           : Transpose selection an octave up
      Ctrl PgDn           : Transpose selection an octave down
      Ctrl Right          : To next bar
      Ctrl Left           : To previous bar
           Tab            : To next bar
     Shift Tab            : To previous bar
           Return         : Return to transcript
      Ctrl Return         : Main menu
           Insert         : Insert menu
           Delete         : Delete entity
     Shift Delete         : Delete menu
           Space          : Add, edit or delete syllable of text
       Alt Space          : Add, edit or delete chord symbol
           BackSpace      : Undo modification
      Ctrl BackSpace      : Redo modification
      Ctrl L, _           : Set note to legato
      Ctrl P, ^           : Set note to portato
      Ctrl S, '           : Set note to staccato
      Ctrl T, "           : Set note to staccatissimo
      Ctrl W              : Refresh entire screen
       Alt C              : Alternate color selection
       Alt M              : Maximum dot count and multiplet resolution
       Alt S              : Alternate stave type (incl. ancient clefs)
       Alt T              : Alternate tonality
       Alt X              : Leave program and save if necessary
       Alt 3              : Set value to triplet
       Alt 2              : Set value to doublet
       Alt 1              : Set value to singlet

           *, x : Enlarge selection a factor two (make longer)
     Shift *, x : Enlarge all a factor two (make longer)
           /, \ : Reduce selection a factor two (make shorter)
     Shift /, \ : Reduce all a factor two (make shorter)
           -    : Transpose selection one semi-tone down (make lower)
     Shift -    : Transpose all one semi-tone down (make lower)
           +    : Transpose selection one semi-tone up (make higher)
     Shift +    : Transpose all one semi-tone up (make higher)
           |    : Insert bar line
           r, R : Insert rest
           c..g,
           a..b : Insert note in front of (in current tonality)
     Shift C..G,
     Shift A..B : Add note above (in current tonality)
     Ctrl  C..G,
     Ctrl  A..B : Add note below (in current tonality)
           h    : Insert Bes note
           i    : Insert menu
           m    : Insert marker
           q    : Quantise all notes (= derive duration from note value)
           s    : Insert Es note
           t    : Inspect track info
     ! ==> z    : Zoom into details and modify
     Shift Z    : Zoom into global settings
           .    : Increment dot count
           ,    : Decrement dot count
           >    : Repeat last search forward
           <    : Repeat last search backward

           F1  : Show this help file    : Browse through help
           F2  : Save                   : Save in .MF3 file
       Alt F2  : Save As                : Export to MIDI file
      Ctrl F2  : Dump song text to file : Save song text in .TXT file
           F3  : Load                   : Load piece from file
       Alt F3  : Insert                 : Insert file in piece
      Ctrl F3  : Merge                  : Merge file with piece
           F4  : Play                   : Use beeper to play
           F5  : Print                  : Print screen or entire piece
           F6  : Transpose              : Transpose selection menu
     Shift F6  : Transpose all          : Transpose piece menu
           F7  : Goto                   : Goto some location
       Alt F7  : Goto note              : Goto some note
           F8  : Copy entity            : Copy selection
       Alt F8  : Move entity            : Move selection
           F9  : Check                  : Check piece for consistency
           F10 :
           Ins : Insert menu
           Del : Delete entity
     Shift Del : Delete menu
     Shift right mouse button : Add rest to chord

Selection
---------
A musical piece is composed of so called entities. This can be a note, rest,
chord, time setting, tempo setting, bar line, etc. One entity is always
selected, which helps in navigating through the musical piece. This selection
can be seen as the equivalent of the cursor in a text processing program.

All operations are performed on the selection. However, there are also global
command like "transpose all". For example, '+' transposes the note under the
selection, but Shift '+' transposes the entire piece one semitone up.
Note that the selection is always on screen.

File formats
------------
The MUSIC prgram has its own proprietary file format, the "MFx" format. Here,
the "x" stands for the version number (1..9). Currently, only MF3 and the
older MF2 and MF1 formats are used. A piece can always be read and written in
all versions of the MFx format, although not all information may be stored.
In case of MF1, for example, it does not contain chord symbols and the MF2
format does not support track information.

Additionally, the standard MIDI file format is supported. MIDI files of type 0
as well as type 1 can both be read and written. The MUSIC program attempts to
parse as much as it can from the MIDI data. Although most MIDI data is
processed, reading and writing MIDI data may result in loss of certain codes.

Program invocation
------------------
The command line syntax of the MUSIC program is as follows :

   music [PieceName[.MF?|.MID]]

The 'music' command can be followed by the name of the piece to load from disk.
Note that in this respect that the extension is not required. If you leave it
out, MUSIC will look for a file with the given name and extension MF3, MF2,
MF1 or MID respectively. The first unique match will be loaded.

Moreover, wildcards are allowed. For instance, specifying 'music lov*' will
start the MUSIC program loading the file starting with 'lov', as long as this
is unambiguous. Thus, if there are two .MF3 files starting with 'lov' and only
one such .MF2 file, the latter will be loaded. (Trying .MF3's did not succeed,
the next extension .MF2 is tried).

If the 'music' command is entered with a name of a non-existing file that
does not contain any wildcards, the name is used for an empty piece.
If the 'music' command is entered without any parameters, an empty piece is
also created that can be completed by editing. Using the Load key F3, another
file can be opened, enabling you to switch from piece to piece without
leaving the MUSIC environment.

Another musical piece can also be inserted into the existing piece (at the
current selection), appended to the existing piece or be merged with the
existing piece (from the current selection onwards). The latter allows to
write separate voices (possibly tracks) in separate files and merge them into
a single polyphonic piece. A stand-alone merger is also available.

Handy keyboard shortcuts
------------------------
Some keystrokes are very popular when editing a musical piece.
Notes can be entered by simply pressing the key names, e.g. 'c', 'd', 'e'.
Transposing a semitone up or down goes simply by pressing '-' or '+'.
The default note value is a quaver, but pressing 'x' or '/' can make the
value the next larger or the next smaller value respectively.
Adding a dot means pressing the '.' key, and the comma key ',' allows
to remove a dot. If long sequences of note have the same value (like
a coloratura) this can easily be achieved by typing the subsequent note
names. Leave wrong note values for a moment and keep typing. Then, take
the mouse in the left hand, click the wrong note values and correct
them by pressing 'x' or '/' with the left hand.

The note height is taken as close as possible to the previous note.
If jumps are over half an octave (i.e. a fourth up or a fifth down) then
you need to correct this (before proceeding !) by pressing ^PgUp or ^PgDn.
Control-PageUp and Control-PageDown are the shortcuts for octavation.
Further refinements are made by pressing the zoom key 'z' (left hand!)
and editing one of the subfields (possibly with the mouse).

Triplets and doublets
---------------------
Special note values like triplets and doublets have a somewhat limited
support. Pressing Alt-3 sets the value to the triplet version of it,
and an italic '3' symbol is shown above the note or staff. Three consecutive
triplet notes each get their '3' symbols and are NOT grouped.
Pressing Alt-2 set a note to doublet, but not always a '2'sign is shown.
This depends on the time setting at hand.

In order to appreciate that, let's have a look on how a note value is set.
The duration of a note or rest is defined by its duration field, an integer.
This is mapped onto the musical "value" of a note or rest, which is a complex
type. If you select a note, press 'z' and select the "note value" sub-menu
you see three fields : "Face value", "Dot Count" and Multiplet".
The values of these tree fields is the first choice that comes closest to
the actual value. "The first choice" implies that there are multiple
solutions here and doublets are chosen last. So it you set a value to doublet
(by pressing Alt-2) you might get a dot instead, if the dotted version is just
as good an approximation as the doublet representation.

The usage of triplets and doublets can be limited by the "resolution" option
in the globals details menu (press capital-Z). If triplets are forbidden
there, the nearest singlet value is chosen instead.

Menus and Forms
---------------
Menus and forms have their own help. Use F1 !
The popup form that comes up when a text string is required has several
features :
- Full mouse support
- Using the arrow keys the boxes can be moved
- Arrow up or down shows a history menu from which one can choose
- Zooming in and out : Use the + or - key
- Take-it-or-leave-it strategy : When text is highlighted accept,
                                 edit or start all over
- Alternate character support : Use the Alt key for characters with accents,
                                e.g. Alt-E pops a menu with 7 variants of 'E'

Global details
--------------
The global details menu (Press capital 'Z') shows several global aspects of
the piece. Pressing  allows to change one of these settings and then
escape to leave the menu.

* Title
  By default the title is set to "NoTitle". When saving a piece for the first
  time, a title string is requested, to derive the DOS file name from.
  Alternatively, the title is derived from the MIDI file name. Unlike the DOS
  limited file name, the title can have mixed-case and has a maximum length
  of 32 characters.

* SubTitle
  An optional second title to be printed in italics below the title at the head
  of the piece. It is not shown on screen. As the title, it has a maximum
  length of 32 characters.

* File name
  The DOS file name, unlike the title, this is always in uppercase and
  is at most 8 characters long.

* Location
  The location is the directory from where the piece has been read in. All
  output files will be produced in that directory, unless otherwise specified.

* Composer
  The composer field allows entering a name that will be printed in the right
  upper corner of the paper. It is not shown on screen.

* Tonality
  The tonality field shows the first tonality that the MUSIC program has
  determined automatically. The tonality can be changed here, and these
  changes will be reflected in the accidentals that are shown at the clef.
  Moreover, the enharmonic "spelling" (cis/des settings and the like) will
  be reoptimised. After you have entered a first tonality here, it will be
  "fixed". This means that the tonality is no longer analysed but taken for
  granted. The only way that the tonality then gets changed is by transposing
  the entire piece. If you do not touch the tonality field, the MUSIC program
  will continu to analyse the tonality that all the notes make up together.
  Subsequent tonalities can be introduced by inserting a Tonal Setting entity.

* BarNoStyle
  With the aid of the BarNoStyle field the frequency with which bar numbers are
  shown can be set. This can be from every single bar upto every 10 bars.
  Omitting the bar numbers is also possible. Note that it is then still
  possible to search for a certain bar number.

* FirstBarNo
  The FirstBarNo field allows the piece to be an excerpt of a larger piece in
  terms of bar numbers. This means that if you set FirstBarNo on 64, for
  example, all bars in the piece will be numbered from 64 onwards. The first
  bar number is shown at the very start of the excerpt that MUSIC 'sees'.
  If nothing has been entered in this field, it will be set to 0 or 1,
  depending on whether or not there is an upbeat.

* Chord occ.
  The chord occurence field shows where chord symbols are required and/or
  allowed. Setting this field allows the checker to verify that a song adheres
  to a certain regularity, e.g. a chord symbol at the start of every bar. This
  can be handy when pieces are intended to be played on guitar, using chords
  only. By default, chord symbols are allowed everywhere and required nowhere.

* Chord vis.
  The last global field is concered with the visibility of chord symbols. By
  default all chord symbols are shown, both the user-defined ones (the hard
  ones) and the program-generated ones (the soft ones). This field allows to
  shown one of these types only, or both or none.

* Division
  The division shows the so called PPQ value that has been read in from the
  file. The PPQ value refers to the number of pulses-per-quater note and is
  an indication of the resolution with which the computer works.

* Resolution
  The resolution allows the user to limit the accuracy with which note and
  rest values are symbolised. Both the maximum dot count and the maximum
  multiplet value (singlet, doublet or triplet) can be entered.
  For instance, if you know the MIDI file you loaded no double dotted notes,
  forbidding them causes the value mapper to represent the notes that seemed
  to need them as the closest musical value without two dots.
  This is powerful together with the quantisation (press 'Q').

The MIDI domain
---------------
MIDI stands for Musical Intruments Digital Interface.
The MIDI association has specified both the MIDI communication protocol and
the standard MIDI file format. Note that only the latter is of concern for the
MUSIC program. It is not a sequencer !
The concept of a musical piece is different for the MUSIC program and for the
MIDI world. In the MIDI "domain" one talks about "events" and considers a note
not to be a basic entity. Instead, a note is thought to be built up from two
events : note-on and note-off. However, traditional musical notation writes
notes and not events ! Therefore, the MUSIC program makes the translation from
events to notes and back.

Tracks
------
The MIDI file format specification describes how a musical piece can be
considered to be consist of multiple tracks. This is fully supported by the
MUSIC program, although it is rather hidden. If you don't want to work with
multiple tracks, you can simply ignore it. MUSIC will then never show you
its track support.
Unlike traditional music notation software, MUSIC does not show multiple
tracks on separate staves. Instead, it uses different colors to illustrate the
different tracks. This is a more compact form where you can see the voices
in one system. By default all notes are allocated to track 1. However, you
can allocate notes to specific tracks by pressing the track number and then
pointing the note with the mouse. Leave the track allocation mode by pressing
the escape key.
Pressing the 'T' key will bring up the track menu, allowing the selection of
a single track. Subsequently, all track related information can be inspected
and/or modified. Leave the track menu by pressing the escape key.

* Track number
  First of all, the track number is shown. By means of modifying this into a
  non-existing track number, the tracks can be reordered. Modifying the number
  into another track number that is already in use implies merging two tracks.
  You are alerted that this operation cannot be undone.

* Track name
  The track name field shows the name of the track as will be stored in the
  MIDI file. Any sequencer will probably show this name too.

* Note count
  The third field shows the number of notes that is contained in this
  particular track. This can elucidate that a track is a control track not
  containing any notes.

* Patch number
  The patch number refers to the program control code that MIDI uses.
  The number specified implies that a program change event be generated in
  the MIDI domain. Legal range : 0..127.

* Patch name
  The patch name field is an optional description of the patch that is
  supposed to be used for this track. Note that multiple translation tables
  exist that specify how a patch number should be interpreted.
  General MIDI is one example. The MUSIC program is not specific to any such
  table.

* Channel
  The channel field refers to the default MIDI channel that MIDI will use
  when sending events. This value is used when the channel value on the note
  is set to "ChannelFromTrack", as is done whenever possible, when loading the
  MIDI file. If notes in a certain track are sent on different channels, then
  MUSIC will display a track/channel relation table and set the default
  channel for the track to the channel value that is used the most frequent.

* Port number
  The port number is something that will lead to a certain code being
  transmitted in the MIDI domain. This can be interpreted by a sequencer to
  know where to send the MIDI data to. Legal range : 1..8.

* Color
  Finally, the color field allows a certain track to be shown in a specific
  color. This is very handy when inspecting a multi-track MIDI file.
  Upon loading a MIDI file, all note-containing tracks are set to a
  decreasing color, so first white, then yellow, then magenta, red, cyan,
  green, blue, etc. This way, you can easily recognise the various tracks by
  the respective colors.

Note that a track can be deleted using the delete menu (Shift Del).

Text syllables
--------------
It is possible to attach a syllable of text to a chord or name entity.
There are two meta characters, i.e. characters that are not taken literally,
but that are interpreted instead. The first is the underscore, which acts as
a continuation character when used as the first or last character of a
syllable. The second is the hyphen, which is the concatenation character
when used as the first or last character.
There is a subtle difference between continuation and concatenation:

1. The '_' sign (underscore) enables you to indicate that a note of music needs
   to be continued. This facilitates the support of melismatic music, where one
   syllable stretches over several notes. The syllable should then be attached
   to the first note, ending with an underscore as continuation sign. The
   subsequent notes on which that syllable should sound need only have the
   continuation sign, but can have an additional comma or dot.
   The last note with the continuation sign is not concatenated to the next
   syllable (which belongs to another word). Depending on the musical context,
   continuation signs are shown as a straight line (a long underscore).
2. The '-' sign (hyphen) enables you to indicate that a syllable of text that
   is attached to a note is not the full word, but needs being concatenated
   with the succeeding syllable of the same word (on another note).
   When a syllable ends with a hyphen, the hyphen itself will not be shown and
   the syllable will be concatenated with the next syllable. If however, the
   one syllable is streched over multiple notes, a single hyphen attached to a
   note allows both continuation and concatenation.
   Depending on the musical context, continuation signs are shown as a straight
   line (a long hyphen).

Summarising, continuation comes from the fact that a syllable (a vocal) can be
spread out over multiple notes, whereas concatenation comes from the fact that
a word can be spread out over multiple syllables. Obviously, the two effects
can occur together, because a word can consist of multiple syllables, each
consisting of multiple notes.

As an example imagine a piece with the text "Amen, Amen.".
Each syllable is spread over three notes:

   6  Note Note Note Note   Note  Note | Note Note Note Note   Note   Note
   8  "A-" "-"  "-"  "men_" "_"   "_,"   "A-" "-"  "-"  "men_" "_"    "_."

The first note has a text syllable ending with a hyphen, indicating that the
word is textually not finished yet. The second and third note have only the
hyphen, indicating they are within the word. The fourth note contains the
second (and last) syllable of the word, appended with an underscore to indicate
that although the word is textually finished now, it is musically continued.
The fifth note has only the underscore, indicating it is within the vocal that
is still sounding. The last note of the first bar indicates that the
continuation stops here, Although, this syllable ("_,") starts with an
underscore (it is a continuation), it does not end with one (it is not
continued itself).

Pressing Ctrl-F2 dumps all text to an ASCII file, where all metacharacters are
left out. Moreover, it is attempted to recognise line boundaries by means
of punctuation marks (i.e. , . : ; ! ?).

Chord Symbols
-------------
Guitar like chord symbols can be added to a chord or name entity.
A chord has a root note, a third, a fifth, a seventh and optionally a bass
note that differs from the root note. Note that chord symbols are transposed
along with the note, chord or piece.
Two sorts of chords are distinguished : 'Regular' and 'Dim' chords.
Dim chords consist of a prime, a minor third, a diminished fifth and a
diminished seventh. Instead of 'Cm-6', 'Cdim' is shown.

Two chord types are very special because they are symmetric.
These are the 'dim' chord and the '+' chord. Because an octave has 12
semitones two symmetrical divisions are possibles (12 = 3 * 4 = 4 * 3).
Regarding the 'dim' chord, note that Cdim, Esdim, Fisdim and Adim are all
the same chord. For instance, if you enter 'Adim/es', the MUSIC program will
optimise this to a more compact notation and display 'Esdim'. Similarly,
'F#dim/c' is shown as 'Cdim'.
The augmented chord is the other symmetrical one : C+ = E+ = Gis+, ignoring
the basses. More precisely, C+/e = E+, G+/dis = Esdim, B+/g = G+, etc.
Here too, the program will optimise the Chord symbol representation.

Another optimisation is obvious : 'Cm/c' => 'Cm', i.e. redundant bass notes
are not shown.

Examples    : C, Em, Gis7, Fdim,   Besmaj7, Es9, F#m7,  A+,   Dm2, F6, ...
Entry forms : C, em, GIS7, bdim/F, bbj7,    es9, fism7, F+/a, ...

Syntax
------
  Note : '[ ]' means optional, '|' indicates alternatives

  ChSymbol =  [ | ] [/ ]
  RootNote =  []
  Note     = ( c | d | e | f | g | a | b )
  Accid    = [ # | is | b | es ]
  Regular  = [  ] [  ] [  ]
  Third    = [ m | sus[4] | 4 ]
  Fifth    = [ + | - ]
  Seventh  = [ 2 | 6 | (ma[j] | j)(7 | 9[-] )
  Dimmed   = dim
  BassNote =  []

Semantic corrections and checking
----------------------------------
When pressing F9, the entire piece is corrected and checked. This means that
it is verified whether or not the musical piece can be made to adhere to
certain semantic rules. This is for your convenience only. If the piece gets
an error, this means it violates one or more of the semantic rules as listed
below. You can still save, play or print the piece.
Because much of the rules relate to time settings, the checker may ask for
the initial time setting.
If the error would be that a bar line is required, the checker simply inserts
a soft bar line, instead of issuing the error message. Soft bar lines are
deleted whenever necessary in a subsequent run. Bar lines that the user enters
are 'hard', which implies that they are never deleted by the program.

The rules :

- Each bar (except the first one) must contain a total amount of value
  corresponding the time setting active.
  The first bar is an exception to this rule, it may contain less total value
  (not more) which then implies an upbeat.
- If the piece starts with an upbeat, the final bar must be either complete
  or it must lack just the duration of the upbeat.
- A time setting must be placed at the beginning of a bar, before any note
  or rest.
- A time setting must be different from its previous one.
  If two consecutive time settings are identical, the second one is removed.
- A tonality setting must be different from its previous one. If two
  consecutive tonality settings are identical, the second one is removed.
- A tempo setting must be different from its previous one.
  If two consecutive tempo settings are identical, the second one is removed.
- Hard chord symbols must be present according to the global chord occurence
  setting.
- If the song text contains brackets or braces, the characters (..), [..]
  and {..} should be balanced, i.e. the number of open brackets should match
  the number of closing brackets (of all three kinds separately).
- The number of double quotes (") in the song text should be even, i.e. the
  quotes should be balanced.
- If the song text word (or syllable) ends with a dot (.), question mark (?)
  or exclamation mark (!), the next word (or syllable) must start with a
  capital character (start of new sentence), except when the word is only two
  characters long (in case of an abbreviation).
- If a syllable is a continuation (i.e. it starts with an underscore), the
  previous syllable must request continuation (i.e. end with an underscore).
- If the piece is configured to have a chord symbol on certain bars, beats, or
  counts this must be obeyed.

Summary of MUSIC features
=========================
1. Recognised entities
   Note          : In note height from C Sub Sub Contra to b''''
                   In note value from 64th to Maxima, with triplet or doublet
                   In four articulations : legato, portato,
                                           staccato or staccatissimo
   Rest          : In rest value from 64th to Maxima
   Chord         : Unlimited number of concurrently starting notes
   Name          : Something to add a text syllable and/or chord symbol to
   Bar Line      : In three flavours : Split (per stave), Long and Double
   Time Setting  : 191 different time settings possible
   Tempo Setting : Free name related to M.M. figure (beat/minute)
   Marker        : Short label to mark a location in the piece
   Syllable      : Single piece of text attached to a note or chord
   Chord Symbol  : Guitar Chord Symbol attached to a note or chord

2. Automatic analyses
   Statistical analysis  : Tonality determination
   Harmonic analysis     : Correct chord notes "spelling"
                           Chord name addition
                           Special dim chord treatment
   Melodic analysis      : Correct leading note representation
   Range analysis        : Staff type selection
   Rest analysis         : Correct rest distribution / Implied rest support
   Accentuation analysis : Correct measure distribution representation
   Clustering analysis   : Correct note clustering for beam placement

3. Browsing facilities
   System Up / System Down
   Page Up / Page Down
   To Start / To End
   To next bar / To previous bar
   Go to bar number
   Go to system number
   Go to text syllable or word
   Go to name object
   Go to next time setting
   Go to next tempo setting via menu
   Go to next marker via menu
   Go to first highest note
   Go to first lowest note
   Search for note or chord : value, duration, kind, channel, articulation
   Search for chord symbol, lyric, time-, tonality-, tempo-setting or marker
   Repeating last search forward or backward

4. Editing facilities
   Entity selection
   Insertion of all entities :
     Note, Chord, Rest, Name, Bar line, Time setting, Tempo setting and Marker
   Merging, Inserting and Appending (MIDI) files
   Addition or editing of Lyric Syllable and Chord Symbol
   Fixing of the tonality
   Deletion of any entity
   Deletion of large parts of the piece
   Copy any entity
   Move any entity
   Transposition of notes, chords or the entire piece at any interval
   Enlargement of notes, chord, rests or the entire piece
   Reduction of notes, chord, rests or the entire piece
   Dot addition or substraction of notes, rests and/or chords
   Syllable addition, modification or removal
   Articulation setting to legato, portato, staccato or staccatissimo
   Entity zooming with modification possibility
   Automatic bar line insertion
   Unlimited Undo of (nearly) all modifications
   Unlimited Redo of (nearly) all modifications

5. Checking and compilation facilities
   Automatic checking of
     Bar duration
     Upbeat versus final beat coherence checking
     Time setting placement at start of bar
     Redundant time settings
     Redundant tempo settings
     Chord occurence checking
     Balancing characters in text : (..), [..] and {..}
     Even double quote (") count in text

6. Input facilities
   Proprietary .MFx file format input
   Standard MIDI file input,
   - Both single type 'type-0' MIDI files and
          multi-track 'type-1' MIDI files
   - Channel/Track relation analysis
   - Support of text syllables
   - Support of markers

7. Output facilities
   Proprietary .MFx file format output
   Standard MIDI file format output (two types)
   Song text dump in ASCII file
   Real-time beeper playing with animation
   Epson FX-80 and Star LC-10 direct printing facility
   HP DeskJet/LaserJet direct printer support
   PostScript file output
   Multiple Encapsulated PostScript files, including preview
   Multiple X-Window bitmap files with internet HTML "piece home page"