SPEAK.M(V)                   5/30/74                   SPEAK.M(V)


     speak.m - voice synthesizer vocabulary


     struct {

             int n;

             struct {

                     int key;

                     int phon;

             } entry[vocab.n];

             int m;

             char strings[vocab.m];

     } vocab


     This type of file is created and used only  by  speak.   The

     keys  are  the  words,  word  fragments  and  letters of the


     The ith  key  is  stored  as  a  null-terminated  string  at

     &vocab.strings[entry[i].key].    Its   phonetic   string  is

     similarly stored at &vocab.strings[entry[i].phon].  The keys

     are  ordered  lexicographically.   The  contents  of certain

     parts  of  vocab   are   invariant:   vocab.entry[0].key   =

     vocab.entry[0].phon = vocab.strings[0] = 0.

     Each key is maintained exactly as  entered  into  speak,  so

     that  fragments are recognized by an initial `%' and letters

     by an initial `*'.

     Each phoneme of a phonetic string is maintained in vs  code.

     A  `%' in a phonetic string is represented as octal 001, and

     all following characters are kept literally.


     speak (VI), vs (VII)


     The coding 001 for `%' precludes the  use  of  phoneme  3-1,

     which is no particular loss on the model 5 Vortrax, but will

     pinch on the model 6.  0200 would be a safe choice.