5.0398 TRAN -- Phonetic Transcription SW (3/177)

Elaine Brennan & Allen Renear (EDITORS@BROWNVM.BITNET)
Thu, 17 Oct 1991 21:31:24 EDT

Humanist Discussion Group, Vol. 5, No. 0398. Thursday, 17 Oct 1991.

(1) Date: Sat, 12 Oct 1991 23:47 EST (29 lines)
From: Morgan Tamplin <MTAMPLIN@TrentU.ca>
Subject: Phonetic Transcription Programs

(2) Date: Sat, 12 Oct 1991 23:54 EST (527 lines)
From: Morgan Tamplin <MTAMPLIN@TrentU.ca>
Subject: TRAN Program Documentation

(3) Date: Sun, 13 Oct 1991 00:10 EST (327 lines)
From: Morgan Tamplin <MTAMPLIN@TrentU.ca>
Subject: SPEECH/SAY Program Documentation

(1) --------------------------------------------------------------------
Date: Sat, 12 Oct 1991 23:47 EST
From: Morgan Tamplin <MTAMPLIN@TrentU.ca>
Subject: Phonetic Transcription Programs

Someone recently asked about programs which created a phonetic
transcription of a text but unfortunately I deleted the question and the
reply. I recently received some public domain DOS speech synthesis
programs which, although somwhat primitive, may point the questioner to
similar studies.

I shall transmit the documentation for the programs as separate files
and let the editors decide whether they should be distributed to the
list or archived for retrieval. The programs are TRAN.EXE and a TSR
pair called SPEECH.COM and SAY.COM. They can be found on public domain
bulletin boards in compressed ZIP files called VOICE OR PCVOICE (for
TRAN) and SPEECH or VSPSYN (for SPEECH/SAY). I have copies but am not
confident they would survive my attempt at a binary file transmission
and I do not have any source code.

The programs are designed for English using only the standard upper or
lower case 26-letter ASCII alphabet and punctuation to create an
intermediate phonetic file for input to a speech synthesis program. The
latter produces poor quality sound as it predates the voice synthesizer
chips and runs through a PC/XT speaker. The intermediate phonetic
transcription rules may be of some interest as they are derived from
what appears to be a fundamental paper published in one of the IEEE (a
computer society) transactions.

Morgan Tamplin, Department of Anthropology/Computer Studies Programme
Trent University, Peterbough, Ontario, Canada, K9J 7B8
MTAMPLIN@TRENTU.CA Phone: (705) 748-1321, -1325, -1495, FAX: (705) 748-1246

(2) --------------------------------------------------------------536---
Date: Sat, 12 Oct 1991 23:54 EST
From: Morgan Tamplin <MTAMPLIN@TrentU.ca>
Subject: TRAN Program Documentation

This documentation is in two parts. The first is TRAN.DOC suppied with TRAN.EXE
and the second is a "rule list" file extracted from the program itself.

Morgan Tamplin, Department of Anthropology/Computer Studies Programme
Trent University, Peterbough, Ontario, Canada, K9J 7B8
MTAMPLIN@TRENTU.CA Phone: (705) 748-1321, -1325, -1495, FAX: (705) 748-1246


TRAN is a text-to-speech program for the IBM-PC. It can read ASCII text
files, translate normal English spelling to phonemes, and sound out each
phoneme through the speaker of the IBM-PC.

usage: tran [+/-flags] [-options] [filename]

The filename is an ASCII text file (with no word processor formatting
codes). If no filename is given TRAN reads input from the keyboard.
The flags and options control various features of the program. A '+'
turns the flag on and a '-' turns the flag off. Options can use either
'+' or '-'.

flags: + = on, - = off
p type output of phoneme translation [off]
r add rule no. to phoneme translation [off]
s say output [on]
t echo input to console [off]
T do phoneme translation [on]
v type other internal information [off]

c say the time of day [once]
C say the time of day [every 10 seconds]
d1 N use N for space rate timing [5]
d2 N use N for voice rate timing [1]
R print all pronunciation rules
? type usage

The following are example of ways to use the TRAN program. You can have
tran type out and read this file with the command:

tran +t tran.doc

If you also want to see the phoneme translation add the +p flag:

tran +p +t tran.doc

You can save the phoneme translation in a file by typing:

tran -s +p tran.doc > tran.phn

and listen to the phoneme at some other time file by typing:

tran -T tran.phn

The TRAN program will say the time once if you type:

tran +t +c

or will continue to say the time every 10 seconds if you type:

tran +t +C

There are two timing parameters, d1 and d2, that control the rate that
TRAN speaks. Making d1 larger increases the pauses between words and
making d2 larger lowers the pitch of the voice phonemes. Both d1 and d2
must have a value of 1 or greater. On an IBM-PC/XT, good values for the
timing parameters are d1=2 and d2=1. If these parameters are not set
explicitly, the program will try to determine acceptable values
automatically. Setting these values, will let TRAN by-pass the
automatic setting, which save a second or two starting the program.
These values can be set on the command line:

tran -d1 2 -d2 1 ...

or by using the environment variable TRAN to pass these values as

set TRAN=2,1

On a 10 MHz IBM-PC/AT the timing prarameters need to be larger, d1=4

Most of the speech-to-text rules used in the tran program come from an
article in an IEEE journal:

Elovitz, H.S., Johnson, R., McHugh, A., and Shore, J.E. (1976).
"Letter-to-Sound Rules for Automatic Translation of English Text to
Phonetics," IEEE Transactions on Acoustics, Speech, and Signal
Processing, Vol. ASSP-24(6), 446-458.

The program contains a set of 35 phonemes, each encoded as a sequence of
bits controlling the position (in or out) of the PC speaker. The
phoneme codes come from the public domain program SPEECH by Andy

Send your comments and suggestions to:

Stephen Neely
11230 Ohio St.
Omaha, NE 68131

... [ material deleted -- ahr ]


[A complete version of this document is now available through the
fileserver, s.v. TRAN DOC. You may obtain a copy by issuing
the command -- GET filename filetype HUMANIST -- either interactively or
as a batch-job, addressed to ListServ@Brownvm. Thus on a VM/CMS system,
you say interactively: TELL LISTSERV AT BROWNVM GET filename filetype
HUMANIST; if you are not on a VM/CMS system, send mail to
ListServ@Brownvm with the GET command as the first and only line. For
more details see the "Guide to Humanist". Problems should be reported
to David Sitman, A79@TAUNIVM, after you have consulted the Guide and
tried all appropriate alternatives.]