Radio Shack Hardware Manual VS100 Voice Synthesizer 19xx Alpha Products Text

User Manual: manual pdf -FilePursuit

Open the PDF directly: View PDF PDF.
Page Count: 40

VSlt §§
USER MANUAL
ALPHA [Pcrmlhm&s
79-04 Jamaica Ave., Woodhaven, NY 11421
Alpha Products
VS-100 Voice Synthesizer
User Manual
Table of contents
1. Try out your VS-100 without reading the manual. ..2
2
.
Introduction 5
3
.
Features 6
4
.
How does it work? 7
5. Detailed installation 9
6
.
Text to speech hints ..15
7. Adding speech to your programs. 17
8. Pitch control 26
9. Machine language programming. 2d
10. Future releases. 29
11. Troubleshooting guide ....30
12
.
Customer support 31
13. Phoneme list 32
14. Applications ,.34
15
.
Warranty 35
16
.
Contest Rules 36
17. Trademarks and other credits 38
IS. Bibliography 39
COPYRIGHT 1983
Jto ALPHA (212)296-5916
Page 1
1-Try out your VS-1 00 without
reading the manual
We know that you would like to hear your VS-100 right
away. If you have atwo disk system, here are three quick
steps to get speech: (If you have atape or single drive
system, please refer to the detailed instructions) .
Step 1:Transferring the programs to your disk
Step 2:Connecting the hardware
Step 3:Running the demonstration software
If you have any problems with the quick shortcut
instructions described below, refer to the "Detailed
instal la tion" chapter
.
IDPSTEP lj :Transferring the disk files.
Do NOT plug the VS-100 in yet!
First we must transfer the files from your VS-100 master
disk to your own disk. The software is supplied on an 18
track Model Idata diskette. Your DOS will read this disk
just as easily as a35 track diskette. Tracks 18 and up
are locked out
.
&*> Model III users must use the CONVERT utility. (Please
refer to your DOS manual if you are not familiar with this
utility)
.
®o Model Tusers with two or more drives: insert the
VS-100 master disk in drive 1then use the COPY command
(Example COPY VS48/CMD:i TO VS48/CMD:0) for each file.
The files that you are going to transfer are:
VS48/CMD -- Text to speech for 48K computers
VS32/CMD -- Text to speech for 32K computers
VSEDIT/BAS -- Phoneme editor
VSDEMO/BAS -- Introduction and test program
PRTSTAR/TXT -- PRINT* pokes for aMERGE
QUIET/CMD -- To silence the VS-100
When the six files are transferred to your system
Page 2
disk, remove your VS-100 master disk from drive 1and store
it safely.
fosTEP 2TI Installing the VS-100.
Turn the computer off
Plug the speaker into the VS-100
Plug the power pack into awall outlet or preferably
apower strip with the rest of your equipment.
-"•-Plug the power pack into the VS-100
—"Plug the VS-100 into your computer.
Bt> Model I:Plug it into left side of expansion
interface in the 40-pin bus located in front of
the parallel printer port. (Since this bus is
rarely used, please clean both sides of the carH
edge with apencil eraser) .If this port is
already used you will need an "X2 Expandabus"
cable.
5X> Model III :Plug it into the 50-pin bus located
underneath the computer in the middle towards the
back. Insert the small black plastic shaft into
the long lucite shaft. Peel off the adhesive on
the small bracket. Firmly, but gently, insert
the shaft assembly into the potentiometer on the
VS board .Hold the potentiometer while pushing
the shaft in. Press the bracket against the
bottom right side of the computer case.
Power up your computer.
Some continuous tone might be heard. Type QUIET
from DOS READY. The VS-100 will also quiet when you
load VS48 or VS32
NOTE 1;The VS-100 must be powered at the same
time as, or before the computer. The computer
may lock up until the VS-100 is powered.
NOTE 2: At power up, the VS-100 may produce some
sound (continuous tone). Turn the volume control
Page 3
down or from DOS type QUIET <enter> to execute
GUIET/CMD. You may also load BASIC and execute
the command OUT 11,3:
Model I: type OUT 11,3 then press the ENTER key.
Model III: type OUT 236,16 :OUT 11,3 then press
the ENTER key. (The OUT 236,16 is needed to
enable the I/O bus)
.
•NOTE 3: If you turn the computer off and leave
the VS-100 on, you might hear acontinuous tone.
Just unplug the VS-100 power pack. If possible,
try to power the VS-100 and the computer from the
same master switch
.
IQSTEP 3:) Loading and running the demonstration software*
Under DOS, type VS48 for a48K system or type VS32
for a32K system. This is the text to speech driver. It
loads in high memory and protects itself. NEWDOS+ ver. 2.1
users: you must set memory to 60666 for VS48 or 44277 for
VS32.
Load BASIC (the memory size is already set), and from
the READY prompt type RUN"VSDEM0/BAS" .You should hear a
short introductory message. Menu option 1lets you type any
message you want and press the enter key to hear it. Press
the enter key again to hear the message again.
Adjust the volume control to acomfortable level and
enjoy. To get an idea of the capabilities of the text to
speech algorithm, try the following sentence:
On March 3rd, Mrs McRuff bought 12.45 ozs. of #4
screws 849$ per lb. +&% tax, from J&KCo.
Or type: 12,345,678,901,234.56789
To get the best results, read the section titled "Text
to speech hints"
.
By now, anyone in earshot wants to try.it too. It's
time to retreat and read the real manual which follows.
Page 4
THE REAL MANUAL
2. Introduction
We thank you for your purchase of the VS-100. We hope
that you will be pleased with its performance and
versatility
.
For the longest time, speech has been the most natural
means of communication between people. Although computer
speech synthesis has been in existence for several years,
it's only very recently that it has become affordable.
Alpha Products is proud of the achievement in price
and performance that the VS-100 represents. This is our
first attempt .The result is by no means final The
VS-100 project is acontinuing one. Alot of time and
effort has been devoted to it, and every reasonable attempt
has been made to assure compatibility with the many
operating systems available. We know from past experience
that some of you will have difficulty anyway. If this is
the case, we will help you; refer to section titled
"Troubleshooting Guide"
«
Page 5
3. Features
The VS-100 is capable of producing unlimited
vocabulary speech. Words are created by combining basic
sounds, such as Ms" or Mth" .These sounds, called
"phonemes" can be combined in many ways to reproduce the
sounds in any word. Note, however, that the sixty four
phonemes in the Votrax chip were designed for the English
language
.
Some of the earlier synthesizer chips had astrictly
monotonic voice. The VS-100 has automatic inflection which
varies the tone of some sounds (phonemes) when they are
combined in different ways, resulting in amore natural
sounding voice.
In addition, you can also vary the base pitch of the
voice under software control. There are four pitch levels.
One of the major features of the VS-100 is its "low
data rate requirement". In plain English this means that,
compared to other methods of storing and digitizing speech,
the VS-100 is very efficient. It only uses about twelve
bytes of memory per second of speech, compared to several
thousand bytes for some other methods. This means that you
could store roughly an hour of continuous speech in memory
in a48K system or five hours on adouble density diskette.
Adding speech to your existing programs is very
simple. For instance, in IK, you could add forty messages
of about two seconds, (that's five to eight words each).
The VS-100 is easy to operate. You will see later how
your computer can say anything by simply typing
PRINT*"anything that you want".
Page 6
4. How does it work?
We will talk about "phonemes" ,but don't worry, as you
will see later, you don't have to know anything about them
to be able to use the full power of your VS-100. First,
let's see how the VS-100 works.
The hardware
•The heart of the hardware is the now famou3 Votrax
SC-C1 Phoneme Synthesizer. Aphoneme is one of the basic
sounds needed to create spoken English. Speech is
synthesj zed by combining the sixty four different phonemes
in the appropriate sequence.
Each of the sixty four phonemes has astandard Votrax
shorthand notation. For example Al is the code for the
sound "A" in MADE. In addition to the shorthand notation,
edch phoneme has acode used by the computer (a number from
to 63). There is acomplete phoneme table later in this
manua 1.
The computer sends the phoneme codes to the VS-100
using one c>f the 256 ports available. The VS-100 software
uses port 11, but the hardware will also respond to some
other port numbers.
•When the VS-100 receives the phoneme code, it creates
the proper audio waveform to reproduce the sound
corresponding to the phoneme. All the waveforms for the
sixty four phonemes are permanently stored in the Votrax
chip. The synthesizer output is then amplified and sent to
the speaker
.
The computer communicates with the VS-100 through the
8bit data bus. The lower six bits <bits 0-5) are used to
select the phonemes. The higher two bits (bits 6&7)
control the pitch level
.
Page 7
—••As you can see in the phoneme list, the phonemes have
various durations. The computer must know when the VS-100
is ready to accept the next phoneme. This is done on the
Model III by the use of a"status bit". Bit 7of port 11
is low only when the VS-100 is busy talking. On the Model
I,the VS-100 generates "wait" states.
|The Software]
•The programs on your disk are the key to the
simplicity of the system. The text to speech software
translates English words and numbers into the proper
sequence of phonemes. This machine language program (about
5K long) implements over FOUR HUNDRED pronunciation rules.
These rules take each letter and its context and decide
which phonemes are needed.
*»• The text to be spoken is processed by the algorithm,
and the codes are sent to the VS-100, which speaks almost
immediately. Considering the complexity of English
pronunciation, we think that you will be suprised by the
performance of this translator.
Page 8
5. Detailed installation
ISTE^)i: Transferring the disk files.
•Do NOT plug the VS-100 in yett
First let's transfer the disk files from your VS-100 master
disk to your own disk. The software is supplied on an 18
track Model Idata diskette. (Higher tracks are locked out;
your DOS should have no trouble reading the diskette).
MODEL IUSERS WITH MORE THAN ONE DRIVE:
Use the BACKUP or COPY command to move the files from
the master disk to another disk.
MODEL IUSERS WITH ONE DRIVE:
If you have -
•NEWDOS: use COPY with the "S Moption or the CBF option
Ex: COPY SVSEDIT/BAS:0 TO VSEDIT/BAS:0
•DOSPLUS: use the C0PY1 utility
•LDOS: use COPY with the "X" option
•TRSDOS: we have included on our disk, some TRSDOS
system files- We don't include much of it, and
we do not provide any documentation for it. This
is our effort to protect Tandy Corp.'s copyright.
Our program TRANSFER/BAS is included, which allows
you to copy the files onto aworking TRSDOS disk.
To transfer your files, do the following:
1- Boot up with your TRSDOSdisk. Go into BASIC.
2- Remove the TRSDOS disk and insert the VS-100 disk.
3- Type: RUN"TRANSFER/BAS** and hit <enter>
.
4* Specify one of the files that you want to transfer
The file will be read from the disk into memory.
5- You will be told to swap disks. When you do, your
TRSDOS disk should be in your drive. Hit <enter>.
6-The file will be written to your TRSDOS disk.
7- You will be told to swap disks again. When done,
the VS-100 disk will be in the drive. Hit <enter>.
8- Repeat steps 4to 7for each file.
Page 9
1flPPEL III USERS -WITH MORE THAN ONE DRIVE:
If you hav6 -
•TRSDOS: use the CONVERT utility.
Ex: CONVERT :1 :0 will copy the files on the
VS-lOO disk in drive 1to your TRSDOS disk in
drive
•DOSPLUS or MULTIDOS: If your disk has awrite protect
tab, you must remove it- Then from DOS type:
CONVERT :l (or whatever drive the VS-100 disk is
in). Now you can copy the files from the VS-100
disk with the COPY command
.
•NEWDOS: If your disk has awrite protect tab, you must
remove it. Then set the PDRIVE for amodel Idisk
<TD=A,TC=35,SPT=10). Then use the WRDIRP and COPY
commands. Atypical sequence would be:
1- put NEWDOS in drive 0, VS-100 disk in drive 1
2-type PDRIVE 0, 1,TD=A ,TC=35,SPT=10, A<enter>
3- type WRDIRP 1<enter>
4- type COPY 1,0, ,NFMT,NDMW,CBF, USR <enter>
5-type PDRIVE 0,1=0, A<enter>
Notes: The files are now on your NEWDOS disk
Your PDRIVE is back to normal
•LDOS: use the REPAIR ALIEN command, then COPY or
BACKUP by class
MODEL III USERS WITH ONLY ONE DISK DRIVE
If you have-
•TRSDOS, LDOS or NEWDOS: you have 3choices
1- visit afriend with more than one drive.
2- ask afriendly Radio Shack manager if you can
use his system
.
3- send your DOS to us, we will copy the files onto
it.
•DOSPLUS: use CONVERT and C0PY1 to move the files
TAPE USERS: Your software is recorded once on each side
of the tape.
Page 10
[EP^2: Installing the VS-100
To operate, the VS-100 needs three components: the
power supply, the speaker, and the VS-100 module- Follow
the step by step instructions below to install them.
Turn the computer off
.
Plug the speaker into the VS-100 (larger jack)
If you AREN'T using an Alpha Products speaker, you may
connect any small 8ohm speaker using a1/8" plug,
(Radio Shack part number 274-286). The VS-100 is not
designed to drive large stereo speakers.
Plug the power pack into awall outlet or preferably a
power strip with the rest of your computer equipment.
•U.S. version: The power pack takes standard 115V AC
and converts it to alow DC voltage <8-12 volts).
•Foreign: You will need to supply apower pack that
converts 220V AC to about 9V DC filtered. It must
supply at least 100 mill iAmperes .The power jack on
the VS-100 is either a2.5 mm or a3.5 mm plug
(depending on the power supply we are currently
using). The tip should be positive <+). Please be
careful, reversing the polarity may damage your unit.
Plug the VS-100 into your computer.
Before you do so, it is agood idea to carefully clean
the card edge on the computer. Radio Shack card edges
are not gold plated and some oxidation may create
contact problems. Use apencil eraser to rub both
sides of the board, then wipe them with acloth,
preferably one dampened with rubbing alcohol.
Model Iwith expansion interface! Plug the VS-100
on the left side of the expansion interface in the 40
pin bus located in front of the parallel printer port.
The board should extend downwards from the connector.
NOTE 1: Most expansion interfaces have large rubber
feet. If yours doesn't, you will have to raise it
Page 11
about 1/2". Radio Shack sella rubber feet (part
number 64-2346).
**NOT£ 2: If you are using aRadio Shack Model I
"System desk" you will need to either raise the
expansion interface or purchase an extender cable
(Order our special VS cable. $9.95 +$2.50 S&H)
•**- Model Ikeyboard only system
:
Plug the VS-100 into
the back left of the keyboard, hanging down
.
—. Model III :Plug the VS-100 into the 50-pin bus
located underneath the computer in the middle towards
the back. The board should extend towards the back,
away from the keyboard. Insert the small black shaft
into the long lucite shaft. Peel off the adhesive on
the small bracket. Firmly ,but gently, insert the
shaft assembly into the potentiometer on the VS board.
Hold the potentiometer while pushing the shaft in.
Press the bracket against the bottom right side of the
computer case.
»
Other "compatible" systems :Be very careful
,
compatibility sometimes covers only the software.
Refer to your manuals for more information
.
Limitations :The VS-100 is specified up to 4MHz,
faster systems may not operate reliably. If you have
aspeed up modification on your computer, you must
switch it back to the normal speed prior to sending
speech codes to the VS-100. Most "speed up mods" can
be turned on and off under software control (usually
using an OUT command) .Check their manual for the
proper code
.
Power up your computer.
NOTE 1: Some continuous tone might be heard .It
will quiet when you load VS48 or VS32 .If you want to
silence it right away, you just type QUIET from DOS.
This very short (15 bytes) command file will simply
output code 3(silence) to the VS-100, and return to
Page 12
DOS. You may also, under BASIC, execute the command
OUT 11,3.
•Model I: type OUT 11,3 and press ENTER.
•Model III: type OUT 236,16 :OUT 11,3 and press
ENTER. (The OUT 236,16 enables the I/O bus) .
**NOTE 2: The VS-100 must be powered at the same time
as, or prior to the computer. The computer may lock
up until the VS-100 is powered.
***NOTE 3:If you turn the computer off and leave the
VS-100 on, you might hear acontinuous tone. Just
unplug the VS-100 power pack. If possible, try to
power the VS-100 and the computer from the same master
switch
.
^Pj3: Loading and running the demonstration softwar e.
IDISK USERS:
•Under DOS, type VS48 for a48K system or type VS32
for a32 Ksystem. This is the text to speech driver. It
loads in high memory and protects itself. NEWD0S+ ver .2.
1
users must set memory to 60666 for VS48 or 44277 for VS32.
•Load BASIC (the memory size is already set), and from
the READY prompt type RUN"VSDEMQ/BAS" .You should hear a
short introductory message, then you can try out the
various capabilities of the system. Follow the
instructions in the program. Type 1to try the text to
speech demonstration, then you can type any message you
want and press the enter key to hear it. Press the enter
key again to hear the message again.
ITAPE USERS:
Model III users must use the "Low'* speed setting on
the cassette, (answer "L" to the Cass? question)
Note: One side of the cassette is for 16K machines, and the
other side is for 48K machines. The VOICE and "V" programs
Page 13
are each recorded twice on each side in the following
sequence: "VOICE*', "V", "VOICE", "V". Recordings start at
about 10 on the tape counter
.
Type SYSTEM <enter>
At the ?* type VOICE <enter>.
The VOICE program should load. Then you will see another
?* .Type /<enter>
.
•^**The text to speech software is now loaded. You could
at this point get speech with PRINT* or aUSR call .Afew
pokes (described later) are required. But now, for
demonstration purposes, let's load the "V" program.
-^This BASIC program is saved on your tape right after
the VOICE program.
Type CL0AD"V" <enter> .When the program loads type
RUN <enter>. You now have most of the commands of
VSEDIT/BAS. (see "Adding speech to your programs, Method
3") .
-^Type "I" to insert some words, then type "It works!".
The VS-100 will say "It works!", and you will see the
phonemes on the screen. If you want to try out another
phrase, type Kto clear, Yto confirm, and Ito insert
again. This part of the program uses aBASIC "INPUT"
statement, therefore don't use "," or ":" in your input. If
you do, you will get an EXTRA IGNORED message and the text
following the "," won't be pronounced.
-•-If you just want to try out alot of phrases without
going through the K-Y-I sequence each time, you can type in
the following one line program:
10 INPUT XS :PRINT* XS; :GOTO 10
(the POKES necessary for PRINT* to function were
automatically executed when you ran the editor program)
Page 14
6. Text to speech hints
The text to speech success rate is better than 90?i
.
By using the following methods, you will be able to get a
perfect score.
Misspell the word. If the word comes out wrong, try
spelling it phonetically. For example, the word "read" will
be pronounced like "reed", even if you want it to sound
like "red". If you want it to sound like "red", spell it
"red"
.
To say initials, such as TRS-80 or IBM, simply put a
space between the letters (that is TRS80 or IBM). For
amore natural sound, insert dashes instead of spaces
between letters. Each space adds apause. Dashes separate
words or letters for pronunciation rules, but do not add a
pause .Try T-R-S-80. Also compare "thank you" with
"thank-you"
.
Spaces, periods, commas, and exclamation points add
pauses. Other punctuation like ";:?<) do not. They are
treated as "word separators" for pronunciation rules.
Any number up to ninety nine trillion will be spoken
correctly. (You can use commas and decimals)
Example: 12,345,000.67
For ordinal numbers add the proper ending, i.e. 1st,
2nd, 3rd, 4th, 2,345th, etc.
Some abbreviations are supported: Mr., Mrs., Ms., Co.,
lb., oz., ft.. Dr., etc.
The following punctuation symbols are pronounced: #, $,
x, &, @, *, =, +, /
Frequently, you will use the "-" (dash or minus sign) to
link and split words to improve pronunciation. Use •"--" if
you mean "minus". Example: 49--43=6
The VS32 and VS48 programs accept 255 character strings
as input .Generally, this will mean roughly 255 phonemes
(about 25 seconds of speech) if you type only words. If
Page 15
you use numbers, abbreviations or symbols, you may create
very long phoneme lists. If the resulting phoneme list is
larger than 300 phonemes, it will overwrite some of the
rules .This is not aproblem as messages in practice will
rarely exceed 10-15 seconds
.
The VSEDIT program will accept up to 175 phonemes per
message. Excess phonemes will be spoken the first time you
hit enter, and then they will be lost.
Page 16
7. Adding speech to your programs
There are four methods to generate speech with your
VS-IOO, These methods evolved as we developed the system.
We will describe each below, starting with the latest
development -
METHOD l: PRINT* (pronounced "print star")
PRINT*"something that will be said"
This is anew BASIC command. BASIC will recognize the
PRINT*"any string" statement and say the string. In order
to do so, you must
:
•From DOS type VS48 for 48K systems (and press ENTER)
or type VS32 for 32K systems
This loads the text to speech program in high memory and
protects itself ,(except NEWDOS+ ver. 2.1)
.
VS43 resides from 60662 to 65535,
VS32 resides from 44278 to 49151
IMPORTANT
:
If you have a48K system and you need the
high memory, (For example: LDOS uses high memory for
drivers) you can use VS32. We are working on aself
relocatable version of VS (should be available February
1984)
.
•You must also add the following POKEs to your
program: (It need only be executed once and it will
remain intact until you exit from BASIC)
-For 48K systems:
5IF PEEK(16844)<>237 THEN POKE -4852, PEEK(16843) :
POKE -4851, PEEK(16844) :POKE 16843,9 :POKE 16844,237
-For 32K systems:
6IF PEEK(16844)<>173 THEN POKE -21236, PEEKC16843) :
POKE -21235, PEEK(16844) :POKE 16843,9 :POKE 16844,173
-For 16K tape systems:
7POKE 16842,195 :POKE 16843, 9:POKE 16844,109
If you really want to know, these pokes detour the
Page 17
DOS exit in ROM that checks for PRINT* to disk.
For your convenience, these lines are supplied on
your disk saved in ASCII format (the file name is
PRTSTAR/TXT) .To avoid typing error and save time, you
can MERGE"PRTSTAR/TXT" to your program. Make sure your
program doesn't already use line numbers 5or 6.
IMPORTANT: only one of the lines should be in your
program •48K systems: delete line 6(keep line 5)
•32K systems: delete line 5(keep line 6)
NOTE
:
This line can be renumbered anywhere, provided it
is executed once prior to using PRINT*
.
The following are examples of speech output commands that
become valid:
PRINT* "Hello"
PRINT* AS
PRINT* LEFT3(B£,3>
PRINT* "My name is "+AS
Like the PRINT command/ PRINT* can be abbreviated ?*. In
addition, any valid string expression can be used with
PRINT* and ?*.
NOTE 1
:
In some cases, PRINT* will cause aline feed on
your screen .To avoid this, simply add asemicolon (;)at
the end of your PRINT* statement. Example: PRINT* AS+BS;
•• NOTE 2: PRINT* is set to use pitch 2only.
Here are some more elaborate examples:
?* STRINGSC34, "E") 'long EEEE sound like abuzzer
?* MIDS(TIMES,10,5) 'the current time
?* STRS(X) 'say value of variable X
PRINT* can be used only with strings. Numeric expressions
must be converted to strings using the BASIC STRS function.
PRINT* is the easiest way to generate speech with your
VS-100.
Page 18
METHOD 2: USR call
You can use the VS text to speech program directly
from BASIC via aUSR call.
From DOS type VS48 for a48K system (and press ENTER)
or VS32 for a32K system
This loads the text to speech program in high memory it
protects xtself CEDOOH to FFFFH for 48K, ADOOH to BFFFH
for 32K, 6D00H to 7FFFH for 16K tape systems).
You don't need any pokes as with PRINT*. Instead aDEFUSR
is required:
DEFUSR0=&HED00 or DEFUSRO= -4864 for a48K system
DEFUSR0=&HAD00 or DEFUSR0=-21248 for a32K system
NOTE: It doesn't have to be USRO .In the examples below,
"USR" is used instead of "USRO*', as they are identical.
Tape systems: Nondisk BASIC (Level II) has no DEFUSR
command, instead the following line must be executed:
10 POKE 16526,0 :POKE 16527,109
Note: The POKES don't have to be line 10, they just have to
be executed before the first USR call
.
Once the USR is defined as above, asimple USR call,
such as B£-USR("any string") will produce speech.
Here is an example:
10 DEFUSR0=&HED00 'for 48K. Use DEFUSR=&HAD00 for 32K.
'for Level II 16K use POKE 16526,0 :POKE 16527,109
20 CLS: CLEAR 500 'clear some space for input string
30 LINE INPUT"Type something !"; AS
40 B£=USR<A£) 'speaks it
50 GOTO 30
When line 50 is executed, the content of A3 is spoken; A3
remains unchanged. (BS contains the list of the phoneme
codes just spoken. Each byte is the ASCII character for the
phoneme codes 64 to 127) .In the direct mode, aspeech
command could be
:
BS=USR("Good morning")
Page 19
METHOD 3: VSEDIT/BAS (disk) or V(tape)
••-Tape users: The "V" program is similar to the
VSEDIT/BAS program, except that the subroutine lines are
not created. (There is no way to MERGE them to your
program). You can use the "V" program to find the proper
phonemes.
VSEDIT/BAS is aBASIC program that allows you to
create short message subroutines which can be merged later
with your existing programs.
The advantage of this method is that once you have
created the subroutines, you do not need to keep the VS
text to speech program in high memory. You can also "fine
tune" the messages by editing the phonemes or trying
different spellings
.
•Each subroutine is one line long and self contained.
Once the message is developed, you only need that single
line to speak it. The line ends with aRETURN, so you just
use aGOSUB. The limitation is that you must have all the
messages pre-planned. Let's see it in action.
If it's not yet done, from DOS:
type VS48 for 48K systems (and press ENTER)
or VS32 for 32K systems
then enter BASIC and type RUN"V5EDIT/BA5"
.
You will see amenu on the bottom of the screen with the
following commands
:
I-Insert words. This is similar to the VSDEMO/BAS
program. Simply type the words you want to hear and press
ENTER; they will be spoken. In addition, the phonemes will
appear at the top of the screen. Each one is proceeded by
agraphic dot representing the pitch. (We will explain that
later)
.
*-»*By pressing "I" again, you can insert new words.
Press ENTER, and the addition will be spoken and the new
phonemes will be displayed.
Page 20
«—<ENTER> -Say all. Each time you press <ENTER>, the
whole text will be spoken,
«*S -Say one word. The word under the cursor is
pronounced
.
—ARROW KEYS -Move cursor. The four arrow keys let you
move the cursor in the four directions,
-—SHIFT LEFT or SHIFT RIGHT ARROWS -Move cursor back or
forth one word at atime. To say all the text one word at
atime, move the cursor to the top left, then use Sand
SHIFT RIGHT ARROW alternately.
R-Remove word. The word under the cursor is
deleted.
K-Clear all. You will be asked if you really want
to clear the whole text (as asafety precaution). Type Y
if you want to, Nif you don't. Remember to type Ito
enter new text.
A-Add phoneme. The program will ask you for avalid
Votrax phoneme. (See chart). Then you are asked for a
pitch level. We will explain that later; for now simply
press ENTER.
D-Delete- The phoneme under the cursor is deleted.
•-C -Change. The phoneme is deleted and you are asked
to put anew one in its place as in the "A" (Add phoneme)
command
.
—Now is the time to discuss pitch control. The VS-100
is capable of saying phonemes at one of four pitch levels.
The pitch is the frequency of the sound. For example, a
man' svoice has alower pitch than awoman's. To the base
pitch are added very small variations, called inflections.
Your VS-100 will automatically add these inflections,
making the speech sound more natural .
SHIFT UP or SHIFT DOWN ARROW -contols the base pitch.
(Note that SHIFT DOWN ARROW will not work on the Model .III
and on some Model I's).
Let's work with an example:
Page 21
Type Kto clear the screen,
Yto proceed,
and Ito insert text.
Type "Hello hello" and hit ENTER.
You will hear the VS-100 say hello twice, and the screen
will show twice the four phonemes required, followed by the
pause code PAO. You will also notice the graphic dot in
front of each phoneme. This dot is arepresentation of one
of the four pitch levels we can choose.
-••With the left arrow key, move the cursor to the first
"H" phoneme. Now hit shift up arrow four times. You will
see the graphic representation of the four levels.
Level l: no dot Level 2: Level 3: 9Level 4:
(lowest) (highest) I
The VS-100 automatically sets the phonemes at level 2.
•»• Use the shift up arrow to manually change the 4
phonemes of the first "Hello" to the highest pitch. Then
press ENTER to hear the result of the change. Now you ore
ready to try out different variations of pitches.
*-Save message (disk version only). This is a
powerful function, so we' 11 explain it in detail
.
The VSEDIT program allows you to save on disk as many
coded messages as vou want, each one up to 15 seconds long.
The purpose of the "Save message" command is to create a
single line of BASIC code. This line, when executed will
speak your message WITHOUT the help of the VS32 or VS48
text to speech programs. All the phonemes codes and the
BASIC commands needed to say them are stored within the
BASIC line. The line ends with a"RETURN", so it becomes a
simple subroutine
Example of line created by VSEDIT "*" command:
20000 0UT236,16:F0RVS*=1T06:0UT11,ASC<MIDS(" XFC",VSX) )
:
NEXTVS%: RETURN
NOTE l: 0UT236,16 is needed only on the model III to enable
the input/output bus. It has no effect on the model I.
Page 22
»» NQTE 2: "XFC" is the ASCII representation of the phoneme
code ixst
.
•The line is created by VSEDIT, which saves the line to
disk as an ASCII file. This file can later be added to
your program with the "MERGE" command. Simply make certain
that your program lines don't conflict with the new ones
created by VSEDIT.
Let's use an actual example:
We want to use alarge number of pre -set warning or welcome
messages. Each one will be created by the following
sequence
:
•Type your message and fine tune it.
•Type *.(Use shift key)
•The computer will ask you for the disk file name.
•Answer with any valid disk file that you AREN'T using
yet. Let's use VOICE/TXT (TXT is the standard extension
for ASCII files). You can of course specify any drive
number as well i.e. VOICE/TXT:!.
•Press enter, then you are asked for aline number.
•Pick aline number that isn't used in your program.
•When you press enter, VSEDIT will take afew seconds
to create the BASIC line, then it will save it to the disk
file you chose,
•After saving the file, VSEDIT asks if you want to
clear the phonemes. Answer "Y" or "N" .You then return to
the menu.
•You c^n create many messages and save them in the same
manner
.
NOTE 1: Except for TRSDOS on the model I, you can save more
than one subroutine in each file. (Be sure to use different
line numbers). If you are using TRSDOS on the Model I, use
different file names for each message
.
»» NOTE 2: If you are using NEWDOS/80 Version 2.0, then the
line numbers must be in ascending order .NEWDOS doesn 't
order the lines when you MERGE, other DOSes do.
Page 23
***NQTE 3: It's agood idea to keep track of the messages and
corresponding line numbers that you use. It will make it
easier to add them to your programs later.
&NOTE 4: NEWDOS+ 2.1 users: you will have to disable the
automatic conversion of lower case to upper case if you
want to use pitch 2.
IMPORTANT
:
There are some limitations involved in saving
messages with various pitches. Refer to the "Pitch
Control" section of this manual if you want to use pitches
other than the default pitch
.
1-Recall from disk (disk version only ).This lets
you get one of the messages that you saved to disk so that
you can change it .You are asked for the file name. Type
it in and press <enter>. The file must be an ASCII (text)
file for VSEDIT to work. You will then be asked for the
line number. Type the line corresponding to the message
you want to edit and press <enter>
.
NOTE :When you save the changed message, note that VSEDIT
will add the new line to the end of the existing file. It
will not overwrite the previous line with that number until
it is LOADed into BASIC (NEWDOS/80 version 2.0 will not
work if the lines aren't in order).
Page 24
IMETHOD 4: Phoneme direct output from BASIC
•~>This method is described for reference only.
Considering the convenience of the methods 1,2 and 3, we
don't see any reason to use it*
•You can use the phoneme table (later in this manual)
to create words by looking up the proper codes for each
sound in the word. For example, let's say you want to add
the word "daddy" .The first sound is "d" which is code
number 30. The "a" sounds like the "a" in "dad" (on the
table) therefore, the phoneme is "AE" which is number 46.
If you keep doing this you will get all the phonemes for
the "daddy": D,AE,D,D,E or codes 30,46,30,30,44.
Model I
•* To get speech, you must output each code to the
VS-100. Use the OUT 11,X statement, where "X" is the code
number. In our case, the following line will say "daddy":
10 0UT11,30 :0UT11,46 :0UT11,30 :0UT11,30 :0UT11,44
Note: This is asimple example. Generally you will use DATA
statements and FOR... NEXT loops to output the codes.
Model III
*The VS-100 for the Model III sends a"busy" signal
back othe computer while the VS is talking. The software
mustlook at this "status bit" before it sends the next
phoneme. Bit 7of port 11 is low while the VS is busy. If
you really want to use this method, you must use ashort
subroutine which checks the status bit prior to sending
each phoneme code.
Ex: 100 IF INP(11)>127 THEN RETURN ELSE 100
Also remember that you have to enable the Model III 1/0 bus
by with an OUT 236,16.
Our "Daddy" line above would be:
10 OUT 236,16 :G0SUB 100 :OUT 11,30 :G0SUB 100 :OUT
11,46 :G0SUB 100 :OUT 11,30 :G0SUB 100 :OUT 11,30 :
GOSUB 100 :OUT 11,44
Page 25
8. Pitch control
This paragraph is abit technical, but it should be
understandable
.
The computer communicates with the VS-100 via an eight
bit byte. The VS-100 Votrax chip uses the lower six bits
to select one of the sixty four phonemes. The remaining
two bits are used to select abase pitch. Two bits give us
four possibilities, so there are four base pitches. The
four pitches are numbered 1to 4. Phonemes with the lowest
pitch use numbers to 83. Phonemes with pitch 2use the
numbers 64 to 127, phonemes with pitch 3use numbers 128 to
191, and phonemes with pitch 4use numbers 192 to 255. Note
that phoneme codes 0,64,128 and 192 are the same sound,
only at different pitches. To select pitch 2,3 or 4, add
64, 128 or 192 to the phoneme code in the table.
—If you are using VSEDIT, keep in mind the following:
If you save messages with pitch 2(the default), you will
get ASCII codes 64-127 embedded in the message line. These
codes are amixture of upper and lower case and some other
characters. They will not affect your listing in any way.
If you use pitches 3or 4, you will see that your line is
filled with keywords (i.<*. F0RPRINTCHR£( INKEYS >because
codes above 127 are "tokens" for BASIC keywords. The line
will run correctly, however it will look odd in listings.
(There might be aproblem if the line gets longer than 255
characters on the screen .Everything will work fine unless
you try to EDIT the line or if you try to save it in a
ASCII file) .
—If you use pitch 1, the program line will contain
ASCII control characters, such as "clear screen" and "form
feed". This line will execute properly, but it will
produce strange effects on the screen, during listings.
This is because the control characters are executed when
that line is listed. Again, this has no effect on the
Page 26
execution cf the program. The same applies to LLIST, for
exa-.pie, the printer may skip apage if it receives a"form
feec" code.
Also, pitch 1phoneme codes 0, 13 and 34 are
automatically replaced with codes 1, 77 ,and 41. The
former cedes (which correspond to null, CR, and '* )cannot
be embedded in the BASIC line, so they are converted by
VSETIT to the closest equivalent phoneme.
Page 27
9. Machine language programming
••This section is only for machine language programmers.
To add VS48 or VS32 with machine language software, you
must do the following:
•Create athree byte pointer to astring containing the
words to be spoken, (first byte is the length; second and
third bytes are string location).
•Store the location of this pointer in 4121H.
•CALL OEDOOK for VS48 or OADOOH for VS32 (CALL OBDOOH for
1SK tape users)
.
•The VS-100 will speak &nd the phomeme codes will be
stored mstring. The location of the pointer to this
string will be in 4121H.
Example :You want the computer to say :"Good
norn ing"
.
The string "Good morning" is stored at SOOOH -800BH.
I'our pointer would be OC, 00,80. Let's say you stored this
pointer at 7F00H .Store 7F00H in 4121H and use the command
^ALL 0ED00H ;for VS48, or
:ALL OADOOH ;for VS32 or
:ALL 06D00H ;for 16K tape users
That's all that you have to do .All registers are saved
snd restored
.
Page 28
10. Future releases
"-'As we mentioned earlier, the VS-100 is an ongoing
project- We are preparing asuggestion/ satisfaction card
.
If this card isn't enclosed with this manual, you will
receive one shortly in the mail .We are gathering all
comments and criticisms. All improvements will be included
in subsequent releases of our text to speech programs.
Watch our ads for availability of new releases. When the
releases are ready, we will advertise them. If you are the
first user to find alegitimate bug and send us some
details, we will fix the software and update your disk with
the latest version free of charge.
-^Kany enhancements to the VSED1T and the VS programs
are being planned. (For example, variable pitch in PRINT*
statements, atext editor in VSEDIT etc. ).Your feedback is
appreciated
.
»-At the time of this printing, we have preliminary
versions of text to speech converters for the following
languages
:
Spanish
Italian
Esperanto
We have also begun research on:
Japanese
Latin
German
^Some languages, such as French, Portugese and some
Chinese dialects, use sounds that are not available in the
Votrax chip. Only crude pronunciation could be achieved,
so they will not be implemented.
-Soipe other languages, such as Russian, can be spoken
on the VS-100, however their use of adifferent alphabet
makes it difficult to implement on the TRS-80.
Page 29
11. Troubleshooting guide
Your VS-100 is fully tested before shipment. The
final inspection is done with the unit actually plugged
into aTRS-80 computer.
—^Before you return your VS-100 to us, please check if
the solution can be found below
.
A
.
Computer "locks up" -Is the power pack plugged in?
-Is it connected to the VS-100?
-Is the module plugged in upside
down?
B. No sound at all -Is volume turned up?
-Is speaker OK? Test it using a
radio or tape recorder "ear" jack.
-Clean the TRS-80 edge connector.
C. Continuous sound -This is usually normal. The VS-100
(at power up) will silence when you run VS32 or
VS48.
D
.
Continuous sound -This is normal .Your VS-100 should
(when TRS-80 off) be turned off with the computer.
E. Program crashes -Try to reproduce and note the
details and send them to us.
-Some DOSes (especially LDOS)
use high memory for drivers
.
Use VS32 instead of VS48, or
disable the drivers.
Remember ,opening the unit will void your warranty.
Page 30
12. Customer support
Alpha Products hopes that the software supplied with
your VS-100 is adequate and bug-free. If, however, you
have asuggestion, problem or complaint, we would really
like to know. Please do not call Alpha Products directly,
as the order-taking personnel will not be ai>ie to help you
with technical matters. The technical staff works at a
different location and is not available over the phone. We
would greatly appreciate it if you took the time to write
your comments and send them to us. Please include a
daytime and/or evening phone number, so that we can reach
you. It may take afew days to find asolution, but we
will get back to you with an answer. Send all
correspondence to:
ALPHA PRODUCTS
Technical Support
79-04 Jamaica Avenue
Woodhaven, NY 11421
Be sure to include the following:
•Computer Model
•DOS used
•VS-100 software version (stamped on disk label)
Page 31
13. Phoneme list
Ph. Code As in Duration Ph. Code As in Duration
A32 dSX 185mS ER 58 bird 146mS
Al 6made 103 F29 fast 103
A2 5enable 71 G28 c^et
hello 71
AE 46 dad 185 H27 71
AE1 47 after 103 I39 pin 185
AH 36 mop 250 11 11 inhibit 121
AH1 21 father 146 12 10 inhibit SO
AH2 8honest 71 13 9inhibit 55
AW 61 call 250 IU 54 you 59
AW1 19 lawful 146 26 judge
trick 47
AW2 48 sanity 90 K25 80
AY 33 jade 65 L24 land 103
B14 bag 71 M12 mat 103
CH* 16 chip 71 N13 sun 80
D30 paid 55 NG 20 thing 121
DT 4butter 46 38 cold 185
E44 meet 185 01 53 aboard 121
El 6>0 be 121 02 52 for 80
EH 59 get 185 00 23 book 185
EH1 2heavy 121 001 22 looking 103
EH2 1e_nlist 71 P37 past 103
EH3 jacket 59 PAO 3i)o sound 47
Codes are for pitch 1. For pitch 2,3 or 4add 64,128 or 192
«To produce the "CH" sound, Tmust precede CH.
To produce the "J" sound, Dmust precede J.
Page 32
Ph. Code As in Duration Ph. Code As in Duration
PA1 62 no sound 185mS UH 51 cup 185mS
R43 red 90 UH1 50 uncle 103
S31 pass 90 UH2 49 jabout 71
SH
STP 17
63 shop 121
no sound 47 UH3
V35
15 mission
van 47
71
T42 tap 71 W45 win 80
TH 57 thin 71 Y41 an103
THV 56 the 80 Yl 34 yard 80
U40 move 185 218 zoo 71
Ul 55 june 90 ZH 7pleasure 90
Note l:
Note 2:
The numbers in the phonemes (Ex: UH2> have no
effect on the sound, they only affect the duration.
Higher numbers mean shorter sounds
.
The phoneme duration is indicated in milliseconds.
They are shown for comparison purposes only.
DIPTHONG CHART
Al-AY-Y
UH3-AH2-Y
01-UH3-Y
AH1-02-U1
01-U1
AY-I1
maid, late
white, might
boy,3°v
now, found
tote, float
beer, fear
AH1-EH3-Y
AH1-I3-UH3-L
01-I3-UH3-L
UH3-AH2-U1
Y1-IU-U1
side, find
smile, mile
spoil, boil
house, joust
music, few
Page 33
14. Applications
As you will probably find out, the VS-100 will
generate alot of interest. For the first time, we noticed
that people who usually ignore the computer would gather
around, wanting to try their own message.
Here are some examples of possibilities to explore:
Talking party games
Typing tutor with voice feedback
Terminal for the blind
Talking adventure games
Speak and Spell emulation
Talking clock and appointment reminder
Program reader (for proofing)
Talking calculator
Language tutor
Reeducation for speech disorders
Intelligent alarm system
Communication for the disabled (with proper
interface)
-•The VS-100 invites many game and business
applications. If you create ahigh quality program,
please contact us for possible distribution. We are
particularly interested in developments involving help to
the handicapped since the VS-100's low cost opens up many
new and exciting possibilities.
Page 34
16. Contest rules
We are running asoftware contest for the best game
and the best "serious application". The entries will also
be used in different ways. With the consent of the author,
they might be used in magazine articles, newsletters, or
distributed with aroyalty agreement. We hope that you
will submit many entries, even simple applications might be
useful to others.
1. Entries must be sent on astandard TRSDOS Model I, III
or IV type DISK only. Label disk and jacket with: Name,
Address, Phone number, and Model
.
Include aprogram description, and startup and operating
instructions
.
2. Mail entries and inquiries to: Alpha Products,
Talking Software Contest, 79-04 Jamaica Ave., Woodhaven, NY
11421. Enter as often as you wish. All entries must be
postmarked by August 15, 1984 and received by August 31,
1984 .Alpha products is not responsible for late entries
or entries lost or stolen during shipping.
3. All entries will be judged on or before September 8,
1984. The decisions of the judges will be final.
4. All prizes will be awarded. Winners will be notified
by September 30, 1984. No duplicate prizes will be
awarded.
5. Game entries will be judged on originality,
playability, and creative use of the VS-100. Non-game
entries will be judged on originality, usefulness, and use
of the VS-100. Programs can be in BASIC or Machine
language, but they must work on most operating systems.
Page 36
6. Prizes: Write the best talking game and you win $1000
plus royalties. Write the best non-game applications
software to win SIOOO plus royalties
7. None of the entries will be returned.
8. This contest is limited to residents of the
continental U.S., Alaska and Hawaii. Employees of Alpha
Products and their families are not eligible. Void in
states where prohibited or restricted by law. All federal
state and local laws and regulations apply. All taxes, if
any, wall be the sole responsibility of the winner.
9. Winners will be notified by mail by September 30,
1984. Alist of winners will be available for examination,
Mail your request and aself addressed stamped envelope to
Alpha Products. Do not include requests with contest
entries.
Page 37
i*.11aucmai i\i> ana oiner credits
Votrax is atrademark of Federal Screw Works
TRSI>OS end TRS- 80 are trademarks of Tandy Corp.
LDOS is atrademark of Logical Systems Inc.
VS- 100 IE atrademark of Alpha Products.
Speak and Spell 1satrademark of Texas Instruments.
IBM is atrademark of International Business Machines.
We would like to thank the Naval Research Laboratory,
for their excellent research which served as the backbone
for our work on the text to speech translator.
We would also like to thank in advance ail our
customers for their comments and criticisms. Our
management reads all comments, and the suggestions will be
reflected in future releases.
Page 38
18. Bibliography
-If you want to know more about speech synthesis, we
highly recommend one of the latest works in the field:
J. Cater, Electronically Speaking: Computer Speech
Generation, Indianapolis: Howard W. Sams &Co, Inc., 1983.
»This book offers clear and complete overview of the
different techniques used in speech synthesis- It's an
excellent "next step" in this area. It's available from
Alpha Products ($14.95 +$2.50 S&H) or from Howard W. Sams
Be Co. ,Inc.
Below is alist of some books and articles on the
subject.
W.A. Ainsworth,"A System for Converting English Text into
Speech," IEEE Trans. Audio Electroacoust .,vol. AU-21 dd
288-290, June 1974. *w-
aJ. Allen, "Speech Synthesis from Unrestricted Text," IEEE
Convention Digest, 1971, pp. 108-109
N. Chomsky and K. Halle, The Sound Patterns of English.
New York: Harper &Row, 1968.
H. Elovitz, R, Johnson, A. WcHugh and J. Shore, "Letter
to Sound Rules for Automatic Translation of English Text to
Phonetics", IEEE Transactions on Acoustics, Speech, and
Signal Processing, Vol ASSP-24, No. 6, December 1976.
H. Elovitz, R. Johnson, A. HcHugh and J. Shore,
"Automatic Translation of English Text to Phonetics by
Means of Letter-to-Sound Rules," Naval Res. Lab.,
Washington, DC, NRL Rep. 7948, Jan. 1976.
BJ.L. Flanagan, Speech Analysis, Synthesis and Perception,
2nd edition, New York: Springer-Verlag, 1972.
D.L. Gilblom, "Applications of Text-to-Speech
Converters," Electro/82 Proceedings, Sesssion 11.
A. A. Hill, Introduction to Linguistic Structures, New
York: Harcourt, Brace and World, 1958.
Page 39

Navigation menu