                          Yamaha TX81Z Archive Format
                          ---------------------------


Overall Structure
-----------------

The archive is a single ASCII text file, containing  voice  descriptions
and the ASCII encoded  binary which  implements  the voice.  If the file
gets too big, it can be split into several  smaller  files (if you don't
split up a  voice),  but they can still  logically  be  thought  of as a
"single archive file".

Each  "voice" in the archive is  separated  from other  voices by one or
more blank lines.  There are no blank lines within a voice.


Individual Voice Structure
--------------------------

A voice consists of one or more comments, followed by the voice data.

A comment begins with an asterisk  ('*') in column 1.  Forgiving  reader
programs  would  treat any  characters  after an  asterisk  and before a
newline as comment material.

Some comments  have special  formats, to allow  automated  querys of the
archive.  These  comments  begin  with  two  asterisks  ("**"),  and are
described in "Database Comments" below.  Comments which are not intended
as database comments must only start with a single asterisk.

The voice  data  consists  of 128  bytes, in the order and  format  of a
system bulk voice dump.  These 128 bytes have been encoded in hex ASCII,
for ease in  manipulation  and  transport.  Each byte is separated  from
it's neighbors by white space (space, tab, or newline).  By  convention,
there  are 5 lines of 25  bytes,  and 1 line of 3 bytes,  but  forgiving
reader programs should accept any layout arrangement.


Database Comments
-----------------

Certain  comments in the  database are in a particular  format, to allow
automated queries of the voice database.

The format of the first part of these  comments, from the first asterisk
to the  terminating  colon must be exactly  as  specified.  All have two
asterisks, one space, a field name, and a following colon.

The database  comments  could occur in any order, but the order they are
defined here is suggested.  In addition, experience has shown that it is
very useful for the "** Name:"  comment to occur  first.  The  following
of this  convention  makes writing tools to manipulate  the archive much
easier.

The following are defined:

** Name:

    This is the voice  name, as it would  appear on the  display  of the
    synthesizer.  Each voice must have one of these, since it is also in
    the binary data.  This comment must fit on one line.  It is strongly
    recommended that this comment be the first line of a new voice.

** Long_name:

    If a person wants a longer, more descriptive  name, this is where it
    goes.  Whenever available, reader software should use this name when
    interacting  with the user.  This comment is optional,  and must fit
    on one line.

** Description:

    This is a wordy  description  of the  sound of the  voice.  It might
    also include  what it's good for.  This comment is optional.  It can
    continue over more than one line.  (See comment continuation below.)

** Controls:

    This lists the external controls which affect the sound of the voice.
    The controls and their meanings are:

    KV                  Key  velocity  changes the gain of the  operator
                        envelope
    MW (LFO pitch)      Modulation  wheel  changes the effect of the LFO
                        on the voice pitch
    MW (LFO amplitude)  Modulation  wheel  changes the effect of the LFO
                        on the voice amplitude
    BC (LFO pitch)      Breath controller  changes the effect of the LFO
                        on the voice pitch
    BC (LFO amplitude)  Breath controller  changes the effect of the LFO
                        on the voice amplitude
    BC (EG amplitude)   Breath  controller   changes  the  gain  of  the
                        operator envelope
    BC (voice pitch)    Breath controller changes the pitch of the voice
    FC (LFO pitch)      Foot controller changes the effect of the LFO on
                        the voice pitch
    FC (LFO amplitude)  Foot controller changes the effect of the LFO on
                        the voice amplitude

    The  overall  volume and pitch wheel  settings  will also affect the
    sound of the voice, but are not noted in this comment.

    This comment is optional.  It can continue  over more than one line.
    (See comment continuation below.)

** Usage:

    This is helpful  hints on how to use the voice, not so much in terms
    of musical  arrangement,  but more from the  standpoint  of  "breath
    controller  will make the voice sound more whatever".  It is helpful
    to know how the voice reacts to the various control sources, without
    having to dig into its  internals  to see how it is  wired.  Another
    good thing to include here is  reasonable  voice range.  Many voices
    only  sound  good over a limited  range of notes.  This  comment  is
    optional.  It can  continue  over more than one line.  (See  comment
    continuation below.)

** Source:

    This is where  the voice  came  from.  It's an  opportunity  to give
    credit  where  credit is due.  If this  voice is a  modification  of
    another, it would also be nice to credit or at least  reference  the
    original  source.  This  comment is optional.  It can continue  over
    more than one line.  (See comment continuation below.)

The above  database  comments  are all that are defined at the  present.
Reader programs should ignore (or do something reasonable) with database
comments which they don't  understand.  Obviously,  since almost all are
optional, they shouldn't depend on any voice having these fields.

Some  database  comments  can  extend  over  more  than  one  line.  The
extending  lines must be successive,  must begin with two asterisks, and
must  have  something  other  than a single  space  character  after the
asterisks.  This  allows  reader  programs  to  distinguish   between  a
continuation  (more than one space) and a new database  comment (exactly
one space).  An example is:

** Usage: This voice works only if you get the breath controller max'ed
**        out, and are playing note C5.  Otherwise it causes your
**        speakers to blow up.
