Texas Instruments Speak & Spell:
be cheap (ZX-81)
Speak-2-Me-2 TM PC Card (TRS-80)
Talk can be cheap
© Copyright: L. Dighera, 1983 - 2010; All Rights Reserved
- Talk can be cheap by Larry Dighera, published in Computers &
Electronics, Februari 1983
- Hundreds of words can be "spoken" by a Sinclair or Timex computer
when adding an interface and a "Speak & Spell"
- A "talking" computer is not necessarily expensive - not if you mate
one of the low-cost computers (Sinclair ZX-80, ZX-81, or Timex 1000)
with Texas Instruments popularly priced "Speak & Spell" learning
device. The combination give you several hundred clearly articulated
words that expand the usefulness of the small computer. All you need to
make it happen inexpensively is a simple interface and some software,
all described here. Using these ideas, you might design a lowcost
security/firealarm that vocalizes the nature of a problem ("Fire",
"Theft", etc). You could also enhance your computer's portability by
making its output audible instead of displaying it on a video screen;
write educational programs with truly meaningful student/teacher
interaction; spice up computer video games with synthesized speech;
create useful programs for the visually impaired; etc. Here's how it can
The Speak & Spell consists of a pushbutton keyboard, microprocessor,
display, ROM (contains speech data), voice synthesizer, and
loudspeaker. A block diagram of the system is shown in Fig. 1. The
microprocessor communicates with the speech units through a 6-line bus
with CNTL 1, 2, 4, and 8 forming a 4-bit data bus and PDC (processor
data clock) and CS (chip select) forming a control bus. The control
commands used in the Speak & Spell are listed in Table I.
The ROM contains the binary-coded speech data for synthesis of the
spoken word. Each word has a specific starting address. When it is
desired to output a particular word, the ROM address of the beginning of
the word is sent to the voice synthesizer in five 4-bit nybbles,
preceded by the LOAD ADDRESS (code
2) command. The data is then clocked into the voice synthesizer by the
PDC signal. Once the 5-nybble word address is loaded, READ ROM (code 8)
and SPEAK (code 10) commands are sent to cause speech to be generated.
If the BUSY SPEAKING? (code 14) command is now sent, the voice
synthesizer will raise the CNTL 1 line high until it finishes
A schematic of the interface circuit between the computer and Speak
& Spell is shown in Fig. 2. The microprocessor in the Speak &
Spell uses PMOS devices that operate at -21 V. (A typical I/O line is
shown within the processor.) Because PMOS uses passive pulldown
resistors, output current is limited. If ground potential is impressed
on these lines, no harm will result, regardless of their state.
The Z80A Parallel Input/Output (PlO) chip in the interface used for IC1
provides two bidirectional I/O ports: port A uses CMOS inverters (IC2)
and open-collector pnp driver transistors (QI through Q6) as the
outputs. The emitters of these drivers are connected to the + 5-volt
line, which is also connected to the positive (COM) of the Speak &
Spell. Thus, when a transistor is conducting, the S&S MPU "sees" a
logic 1 (0 V); when the transistor is off, the PMOS pulldown resistors
bring the line to logic 0.
Port B of the PlO is used for input and receives its signal from R7
through R12, which limit the incoming signal from the Speak & Spell.
In addition to interfacing with the Speak & Spell, with appropriate
software, the PlO can propability for the computer, allowing use of
joysticks and such functions as music, control, and process monitoring.
Fig. 1 Blockdiagram of the Speak & Spell
with the interface and ZX-81-computer
The circuit can be built on a dual 22-contact card similar to the Radio
Shack No. 276-154. If you use the same edge-contact arrangement as in
the coniputer, except for the clock line, the card is compatible with ZX
bus expansion cards currently available. Use of sockets for the ICs and
a miniature phone jack to interconnect the power supply are
recommended. The Speak & Spell draws about 200 mA and the interface
about 70 mA at 5 V. If you are using a 16K RAM extension, the larger
power supply can handle the extra load. Arrange switching so that both
computer and interface power up at the same time. If you elect to use
batteries in the Speak & Spell, disconnect the ground line by
opening the jumper (see Fig. 2). Recheck the interface circuit before
connecting it to the computer. To make the connections to the Speak
& Spell, carefully remove the back plate and locate the 40-pin
microprocessor immediately below the display. Pin 1 is in the lower
righthand corner. Connections are made to pins 10 through 14, 36, 38,
and the negative terminal of the bat- (Continued on page 47)
(Continued from page 40)
tery. Use fine insulated wire to make these connections and work very
carefully to avoid creating short circuits. The nine leads can be
terminated in a 14-pin DIP socket, with the cable brought out through
the battery compartment. Slip a short length of heatshrinkable tubing
over each wire before soldering it to the DIP socket. Then shrink it
over the soldered connection. The interface is wired to the Z80
microprocessor in the computer as shown in Fig. 2.
Fig. 2 Schematic diagram, Table III Machine Code
and Parts List
Because it is necessary to supply the voice synthesizer with data at a
rate beyond the capability of the BASIC interpreter built into the
computer, machine language must be used during programming. The
programming code given in Table II covers six program modules. The
first, labelled PIO, is the initialization routine for the Z80 PIO chip
(IC1). When power is first applied to the system, the PIO is in an
inactive state and must be initialized (told what to do) before it can
be used. The listing in Table II can be entered into the computer using
the BASIC program shown in Table III. The three lines without numbers at
the beginning of the program are keyed directly into the machine to
reserve the top 6K of RAM for the remainder of the program. After
entering Table III, run it and enter each number shown in the decimal
code column of Table II, referring to the check sum as you go. If an
error is detected, use B to move back. Moving forward without altering
the data that has already been entered may be accomplished by entering S
Table II-Machine Code List
Table I-voice synthesizer control commands
Code Use Input/Output
0 RESET Input
2 LOADADDRESS Input
4 PLACE VOICE DATA Output
6 SPEAK SLOWLY Output
8 READVOICEDATA Input
10 SPEAK Output
12 BRANCH Input
14 BUSY SPEAKING? Output
At this point, it is possible to test operation of the PlO by
entering the following:
POKE 26624.62 ;LD A, data
POKE 26626,211 ;OUT port A,A
POKE 26628,201 ;return
1000 PRINT USR 16514
1010 INPUT A
1020 POKE 26625,A
1030 PRINT USR 26624
1040 GOTO 1OOO
Table IV-Basic Program ZX-Speak
By entering a number between 0 and 63, the six low-order bits of port A
are controlled. These can be metered at the outputs of IC2. After
testing, delete the BASIC programs. At this point, the listing in Table
II should still be in the machine; it can be SAVED on cassette for
future use. Not all Speak & Spell ROMs are programmed with the same
word addresses. Hence, it is necessary to construct a "word map" for
your particular device. One way to fmd the starting address of a word
would be to send the voice synthesizer successive addresses and note
which produce usable speech output. However, this tedious method is not
necessary since the interface can be used as a form of logic analyzer
that allows you to monitor the bus and capture the addresses sent by the
microprocessor. This can be accomplished by entering the BASIC program
shown in Table IV. The REM at line 1 reminds you that the machine code
of Table II should be in the machine.
To locate the address of a particular word, use the DETERMINE WORD
ADDRESS routine and press the Go key until you hear that word.
Hit any key to start recording (which calls STODATA of Table II) and
then operate the REPEAT key to put the address on the bus. The STODATA
routine allows taking "snapshots" of the voice synthesizer bus at
approximately 12-microsecond intervals and storing this data in the top
5K of RAM. (See RAM Memory Map in Table V.) This data can be graphically
displayed via the LOGIC DISPLAY routine in Table IV. Successive frames
can be viewed by hitting ENTER, or specific frames can be selected by
hitting the appropriate key. You can also choose numerical readout by
using the PRINT WORD ADDRESS portion of Table IV
The machine-code module SPEAK (Table II) is the software driver for
speech production. Because Speak & Spell uses CNTL 1, 2, 4, and 8 to
turn on the display segments and convey data, there are always
extraneous signals on the bus. This "noise" can be minimized by pressing
ON, ON, GO. This leaves only the cursor on, which causes CNTL S to
periodically go high. Because of this, SPEAK contains a trap that waits
for the bus to clear before sending data. Once clear, five nybbles,
stored in the 1K above RAMTOP, are clocked into the voice synthesizer.
Then the READ ROM, SPEAK, and BUSY SPEAKING? control words are clocked
in. When finished speaking, the voice synthesizer causes the CNTL 1 line
to go low to allow the RESET control code to be clocked in. Finally,
PIO port A is configured with all lines low via the OFF program module.
PDC is the machine-code module that clocks in the data presented by
SPEAK. When called, it waits approximately 124 microseconds, brings the
processor data clock high for 124 microseconds, then holds the data for
124 Us before returning. The 124 Us timing is effected by the delay loop
at 16645 of Table II.
If sentences rather than individual words are required, RAM address
16542 can be POKEd with the location of the next word to be spoken, then
SPEAK called again. This is repeated until all words are vocalized. It
is possible to store more than 200, 5-nybble word addresses in the 1K
space above RAMTOP.
Operation of the BASIC program of Table IV is straightforward. You will
be prompted whenever an input is required. To return to the menu, enter
M. When your word map is complete, you can delete all but the REM
statement containing the machine code and write your own programs for
speech production. To output speech, POKE the addresses of the words you
want spoken into the area above RAMTOP, by adding a loop to the SPEAK
WORD routine (line 1400) and let the loop increment variable AS by five
for each word.
When all words are stored, delete all but the first REM statement. Then
write a subroutine that calls PIO at 16514. Then, after Pokeing 16542
and 16543 with the location of the word to be spoken, call SPEAK at
16541. Or, if desired, you can arrange the words in the proper sequence;
and, after calling SPEAK initially, call 16341 (SPEAK + 3) for the next
Only the basics of using the Speak & Spell vocalizer with Sinclair
and Timex computers have been discussed here. There are many things you
can do with the system beyond what we've presented. For example, you can
locate the addresses of individual word sounds (phonemes) contained in
ROM and string them together to make words that don't exist in the ROM's
vocabulary, making it possible to build an almost unlimited dictionary
of words. You might trim the prefix from the word "anything" to obtain
"thing" simply by locating and using the starting address of the suffix.
Another approach to obtaining a larger vocabulary is by adding more
ROMs to the system. Currently, as many as l6ROMs can be connected into
the system, each individually accesssed through the address-decoded ROM
chip select. Access to data output from the ROMs is available at the
Speak & Spell's edge connector. The more you use the system, the
more you're likely to learn about it. As you experiment with it, you may
discover many features of the Speak & Spell we haven't covered
here. You may even crack the word-encoding scheme.
Infosheet by PERCOM DATA COMPANY, INC.
Give your TRS-8O* computer the gift of speech.
Speak-2-Me-2 TM: The Inexpensive PC Card that Makes
a TI Speak & Spell the Voice of Your Computer.
Install Speak-2-Me-2 TM in a Speak & Spell. Hook up your computer.
And like a transplanted larynx Speak & Spell becomes your computer's
Now you can add the ultimate to your business and game programs: the
incredible dimension of near-human speech.
Listen as your system instructs, commands, implores as it articulates
phrases and whole sentences composed from the extensive vocabulary of
Speak & Spell.
And think of the applications! In the classroom, for example,
suggesting, persuading . . . praising to reward a correct response.Or in
a manufacturing environment where clear, crisp commands prompt and
warn. Or maybe in a customer-stopping voice-visual display? And of
course the possibilities for enlivening your computer games with snappy
remarks are endless.
The "built-in" vocabulary of a Speak & Spell includes well over 200
words plus phrases such as 'say it' and "you win" as well as letter and
number pronunciations. Moreover, Speak & Spell is designed to
accommodate snap-in speech modules that enhance the built-in word list.
The speech driver program provided with Speak-2-Me-2 TM lets you inject
any of these expressions, or whole sentences composed of Speak &
SpelI vocabulary words, at any point in your application program.
But that's not all. An optional advanced speech driver lets you create
new, non-vocabulary words by joining parts of words from the Speak &
SpelIt word list. For example, "Percom" may be formed from the phrase
perfect score and the word comfort: You can also modulate the speed that
words are spoken with the advanced driver.
And as a bonus, the advanced speech driver diskette includes eight
talking game programs. Just a sample of what can be done when your
The advanced speech driver works with the TRS-80* computer.
The bottom line? For a small fraction of what you would otherwise have
to pay you can add not just speech capability but an exceptional,
near-human sounding voice to that dumb box of electronics called a
Listed in the Speak-2-Me-2 TM users manual is a 28-line Level II BASIC
program for the TRS-80* computer that installs a utility-level speech
driver as a Disk BASIC user (USR) function. Key in this short program
and you can output whole sentences with a few BASIC lines. However, for
more versatility in speech. composition, we also offer an advanced
speech driver (ASD). This optional, self-loading program, which is
supplied on diskette, extends a Speak & SpelIt vocabulary by
allowing you to form words from the word parts of the Speak & Spell
word lists. The ASD program also lets you output words at half the
normal enunciation speed. Besides these functions, the ASD provides a
speech driver comparable to the utility-level driver installed by the
BASIC program listed in the users manual. All of the ASD routines are
implemented as callable drivers, that is, control is passed from your
Level II BASIC application program via a user (USR) function.
Included on the ASD diskette are eight "talking" games. There's the old
standby, Hangman. Games of chance A perfidious SimonSays. And more.
Still, these are just a hint of the potential of your "talking
You install it. Or, we do.
The Speak-2-Me-2 TM printed circuit module installs in the battery
compartment of a Speak & Spell, and some user modification of the
Speak & Spell is required. Although the installation is
straightforward, if you are not "into" electronics, or don't have a
friend who is, we will install a Speak-2-Me-2 TM in a Speak & Spell
that you provide. The Speak & Spell must be unmodified and
functioning properly. The installation fee is $25.
Includes interconnecting cable
An interconnecting cable for a TRS80* Model I or Model III computer is
supplied with Speak-2-Me-2 TM. The cable plugs into the Speak-2-Me-2 TM
module and exits the Speak & Spell via the battery access opening it
connects to the cornputer. The Speak-2-Me-2 TM interconnecting cable
may be modified for other computers
Speak-2-Me-2 TM costs only $69.95, including the interconnecting cable
and a comprehensive users manual with BASIC source listings of the
utility-level speech driver and application examples.The price does not
include a Speak & Spell, which you must furnish, and since the
Speak-2-Me-2 TM module installs in the Speak & Spell battery
compartment, you also must provide an external power source. Most
calculator power paks are suitable. Or, you can use a battery.The
advanced speech driven games diskette sells for just $29.95.
To use the Speak-2-Me-2 TM as configured, you will need a TRS~80* Model I
computer with Level II BASIC, at least 4-Kbytes of memory and an
Expansion Interface, or a similarly configured TRS~80* Model III
computer (interface is included).
John P. Cater
Remember the HAL-9000 in Kubrik's "2001 - A SPACE ODDESEY" when it sang
(Bicycle Built for Two)? Have you ever heard that again on a computer?
That's because the technology for independently generating speech and
pitch has been beyond the capabilities of even the most advanced
The capabilities of the TI "Speak and Spell" , and Speak Up Software
give your computer not only the ability of speech, but also (in a
fashion), the musical qualities of song which you can hear on the
demonstration cassette. And while you may not really be interested in
making your home computer sing, the important fact is that you have
independent control of pitch and voice. This allows you complete
control over intonation and voice pitch.
The method of speech generation in the Speak Up System is phonetic
speech synthesis. This means you type in ASCII symbols corresponding to
the sounds of speech. An example is given in the letterhead logo: To
make the computer say "Speak" you simply type in S.PEE.K on your
Speak Up Software does not now sell any hardware for this system. This
hardware may be purchased from:
These companies supply the necessary hardware to allow your Speak Up
Software to generate phonetically syntbesized speech. Memory
requirements for the Speak Up Software are about 2K bytes of RAM. This
includes all phonetic storage.and the phonetic drivers. These may be
accessed through your own machine language programs or BASIC.
If you're interested in hearing phonetic speech by LPC synthesis, send
$4.95 to Speak Up Software for the demonstration cassette. Programs are
currently available for 6502 systems and in the near future for the
TRS-80 . Updates will be published on the TRS-80** program status.
- Act now to get in on the ground floor of Linear Predictive Coding
phonetically synthesized speech. Your computer will thank you for the
gift of speech!
* Trademark of Texas Instruments
** Trademark of Radio Shack