                  F r e e P h o n e
                  =================

           Stephen Isard and Alistair Conkie
    (stepheni@cstr.ed.ac.uk, adc@cstr.ed.ac.uk)


This is an alpha release of the text-to-phonetic transcription part of the
FreeSpeech text-to-speech program.  It produces a British English
transcription intended for use with the MBROLA British English synthesis
available from http://tcts.fpms.ac.be/synthesis . We have tested it on the
following platforms: SunOS 4, Solaris 2, FreeBSD and Linux.

Copyright
=========

Please read the Copyright and distribution notice in the file Copying.

Installation
============

The file INSTALLATION describes what is required to use the program.

Outline Description of Program
==============================

The program goes through several stages to convert English text to phonetic
input for a synthesiser. First, input text is examined and cut into sentences
made up of individual words. A crude attempt is made to identify whether these
words are content or function words. Then a phonetic transcription is
constructed, either based on dictionary lookup, or, if that fails, according
to a set of letter to sound rules. Once the word level transcriptions are
established a sentence level prosodic contour is calculated. This is based on
a very simple algorithm, but provides more satisfying output than a flat
pitch contour. The phoneme list, a set of durations and a set of prosodic
targets are then output in a format suitable as input for the MBROLA English
synthesiser.

The use of a dictionary is optional but highly recommended.  The fallback
letter-to-sound rules make lots of mistakes.  The file text710.edin in this
distribution contains a pronunciation dictionary derived from the
Computer Usable Version of the Oxford Advanced Learner's Dictionary
(CUVOALD).  There are a few minor additions and modifications.
Text710.edin can be recreated from the publically available version of
the CUVOALD by running the perl script read_ox_dict in the lib
sub-directory of the distribution.

Running the Program
===================

First create a runnable program, and optionally the pronunciation dictionary,
as described in the INSTALLATION file.  By default, the program takes
text from the standard input and writes its phonetic transcription to the
standard output.  Alternatively, an input file can be specified with
an optional "-i <input filename>" and and/or an output file with
"-o <output filename>".  If you are using a pronunciation dictionary, the
location of the database constructed during installation should be specified
with a -h flag.  For example, if the program is in your current directory, and
the database files lexicon.dir and lexicon.pag are in a directory ../lib,
the command

freephone -h ../lib/lexicon

will take input from the keyboard and print phonetic transcription on the
screen.  If you have a program called mbrola that takes phonetic transcription
as input and gives sound output, then

freephone -h ../lib/lexicon | mbrola

will take text from the keyboard and produce sound output.

Related Work
============

The diphones used by MBROLA were developed at CSTR, the University of
Edinburgh, Scotland as part of the Festival project.

http://www.cstr.ed.ac.uk/projects/festival

The Festival synthesiser can do everything this program can do, and much, much
more.  It is also much, much larger.

Bugs
====

There are doubtless several.
