SPEAK(VI)                    8/15/73                    SPEAK(VI)


     speak - word to voice translator


     speak [ -epsv ] [ vocabulary [ output ] ]


     Speak turns a stream of words into  utterances  and  outputs

     them  to  a  voice  synthesizer,  or to the specified output

     file.  It has facilities for maintaining a  vocabulary.   It

     receives, from the standard input

       -   working lines: text of words separated by blanks

       -   phonetic lines:  strings  of  phonemes  for  one  word

          preceded  and separated by commas.  The phonemes may be

          followed by comma-percent then a `replacement  part'  -

          an  ASCII  string with no spaces.  The phonetic code is

          given in bs (VII).

       -   empty lines

       -   command  lines:  beginning  with  !.   The   following

          command lines are recognized:

          !r file    replace coded vocabulary from file

          !w file    write coded vocabulary on file

          !p         print phonetics for working word

          !l         list  vocabulary  on  standard  output  with


          !c  word    copy  phonetics  from   working   word   to

                    specified word

          !d         print decomposition into substrings

     Each working line replaces its predecessor.  Its first  word

     is  the  `working  word'.   Each  phonetic line replaces the

     phonetics stored for the working  word.   In  particular,  a

     phonetic  line  of  comma  only  deletes  the  entry for the

     working word.  Each working line,  phonetic  line  or  empty

     line  causes  the  working  line to be uttered.  The process

     terminates at the end of input.

     Unknown words are pronounced by rules, and failing that, are

     spelled.   Spelling  is done by taking each character of the

     word, prefixing it with `*', and looking it up.  Unspellable

     words burp.

     Speak is initialized with a coded vocabulary stored in  file

     /usr/lib/speak.m.    The  vocabulary  option  substitutes  a

     different file for /usr/lib/speak.m.

     A set of single letter  options  may  appear  in  any  order

     preceded by -.  Their meanings are:

         -e   suppress English preprocessing

         -p   suppress pronunciation by rule

         -s   suppress spelling

         -v   suppress voice output

     The following input will reconstitute  a  coded  vocabulary,

     `speak.m',  from  an  ascii  listing,  `speak.v',  that  was

     created using !l.  `Null'  names  a  nonexistent  vocabulary


             cat speak.v - | speak -v null

             !w speak.m




     M.  D.  McIlroy,  ``Synthetic  English  Speech  by   Rule,''

     Computing  Science  Technical Report #14, Bell Laboratories,


     vs (VII), vs (IV)


     Excessively long words cause dumps.

     Space is not reclaimed from changed entries; use !w  and  !r

     to effect reclamation.

     The first phoneme is sometimes dropped when !p is used after