File:  addttp4-1.1/README.txt
Date:  5/25/00

This directory contains the source code, documentation, and
example/test data for my software to create Pronlex entries
using text-to-phone (TTP) rules.

The main program, "addttp4" (compiled from "addttp4_export.c"),
first reads in TTP rule-set and syllabification parameters
from their files and then reads vocabulary items from stdin,
writing out corresponding Pronlex entries to stdout.

All of the functions and data structures are made available here
so that you can package it differently if you want to.  The code
was written in ANSI C on a SUN Workstation and checked for
errors using Purify (TM).

The installation procedure is basic: just execute

   gcc -lm -o addttp4 addttp4_export.c

To test the program, execute the batch procedure "test1.bat".
It will create Pronlex entries in CMU format in file "test1.cmu",
based on the words in file "test1.voc". When it has run successfully,
you can look at its output file, and compare it with the
version produced here at NIST ("test1_nist.cmu") to see if
identical results were produced.

The algorithm used to create and apply the TTP rules is
documented in the paper referenced below.  In addition, in
order to correctly spell out certain acronyms like "fbi", the
program checks the output of the TTP rules for pronounceability
by trying to syllabify it; if it can't be syllabified without
phones left over, even at the slowest, most formal rate of speech,
then it fails the test, and is spelled out.  If you should want
to eliminate this last feature, delete or comment-out lines 53
thru 56 in function "./fcns/gp/ttp3s_prot.c" and re-compile.

Each program or function has a header of comment lines
explaining it, at least somewhat.  In addition, the
code contains instrumentation in the form of numerous
"debug print-out" lines that can be switched on to print
intermediate results to aid debugging or to help you understand
what the code is doing.  The last command-line parameter for
addttp4 is a numerical de-bug level: 0 will give you none of
these debug print-outs; 1 will give you some; and 2 will give
you more.  Among the debug print-outs are reports of when each
function is entered and exited, indented according to the depth
of call.

For a few more details, see:

"A Statistical Text-to-Phone Function Using Ngrams and Rules",
 by William M. Fisher,  IEEE International Conference on
 Acoustics, Speech, and Signal Processing 1999, pp. II-649-652.

 - Bill Fisher / NIST (william.fisher@nist.gov)	
